Repository: MonitorControl/MonitorControl Branch: main Commit: fc19ce2bd276 Files: 123 Total size: 1.1 MB Directory structure: gitextract_6yai_s7z/ ├── .bartycrouch.toml ├── .github/ │ ├── .dependabot.yml │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── discussion.yml │ │ ├── feature_request.yml │ │ ├── monitor-issue.yml │ │ └── question.yml │ ├── MonitorControl Icon.fig │ └── stale.yml ├── .gitignore ├── .swift-version ├── .swiftformat ├── .swiftlint.yml ├── License.txt ├── MonitorControl/ │ ├── Assets.xcassets/ │ │ ├── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Contents.json │ │ ├── onboarding_icon_checkmark.imageset/ │ │ │ └── Contents.json │ │ ├── onboarding_icon_keyboard.imageset/ │ │ │ └── Contents.json │ │ ├── onboarding_icon_person.imageset/ │ │ │ └── Contents.json │ │ ├── onboarding_keyboard.imageset/ │ │ │ └── Contents.json │ │ └── status.imageset/ │ │ └── Contents.json │ ├── Enums/ │ │ ├── Command.swift │ │ └── PrefKey.swift │ ├── Extensions/ │ │ ├── CGDirectDisplayID+Extension.swift │ │ ├── KeyboardShortcuts+Extension.swift │ │ ├── NSNotification+Extension.swift │ │ ├── NSScreen+Extension.swift │ │ └── Preferences+Extension.swift │ ├── Info.plist │ ├── InternetAccessPolicy.plist │ ├── Model/ │ │ ├── AppleDisplay.swift │ │ ├── Display.swift │ │ └── OtherDisplay.swift │ ├── MonitorControl.entitlements │ ├── MonitorControlDebug.entitlements │ ├── Support/ │ │ ├── AppDelegate.swift │ │ ├── Arm64DDC.swift │ │ ├── Bridging-Header.h │ │ ├── DisplayManager.swift │ │ ├── IntelDDC.swift │ │ ├── KeyboardShortcutsManager.swift │ │ ├── MediaKeyTapManager.swift │ │ ├── MenuHandler.swift │ │ ├── OSDUtils.swift │ │ ├── SliderHandler.swift │ │ └── UpdaterDelegate.swift │ ├── UI/ │ │ ├── Base.lproj/ │ │ │ └── Main.storyboard │ │ ├── cs.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── de.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── en.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── es.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── fr.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── hi.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── hu.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── it.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── ja.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── ko.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── nl.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── pl.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── pt-BR.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── pt-PT.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── ru.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── sk.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── tr.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ ├── zh-Hans.lproj/ │ │ │ ├── InternetAccessPolicy.strings │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ └── zh-Hant-TW.lproj/ │ │ ├── InternetAccessPolicy.strings │ │ ├── Localizable.strings │ │ └── Main.strings │ ├── View Controllers/ │ │ ├── Onboarding/ │ │ │ └── OnboardingViewController.swift │ │ └── Preferences/ │ │ ├── AboutPrefsViewController.swift │ │ ├── DisplaysPrefsCellView.swift │ │ ├── DisplaysPrefsViewController.swift │ │ ├── KeyboardPrefsViewController.swift │ │ ├── MainPrefsViewController.swift │ │ └── MenuslidersPrefsViewController.swift │ └── main.swift ├── MonitorControl.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── swiftpm/ │ │ └── Package.resolved │ └── xcshareddata/ │ └── xcschemes/ │ └── MonitorControl.xcscheme ├── MonitorControlHelper/ │ ├── Info.plist │ ├── MonitorControlHelper.entitlements │ └── main.swift └── README.md ================================================ FILE CONTENTS ================================================ ================================================ FILE: .bartycrouch.toml ================================================ [update] tasks = ["interfaces", "code", "normalize"] [update.interfaces] paths = ["."] defaultToBase = true ignoreEmptyStrings = true unstripped = true [update.code] codePaths = ["./MonitorControl"] localizablePaths = ["."] defaultToKeys = true additive = true unstripped = true plistArguments = true [update.transform] codePaths = ["./MonitorControl"] localizablePaths = ["."] transformer = "foundation" supportedLanguageEnumPath = "." typeName = "BartyCrouch" translateMethodName = "translate" [update.normalize] paths = ["."] sourceLocale = "en" harmonizeWithSource = true sortByKeys = true [lint] paths = ["."] duplicateKeys = true emptyValues = false ================================================ FILE: .github/.dependabot.yml ================================================ version: 2 updates: - package-ecosystem: "github-actions" directory: / schedule: interval: "weekly" ================================================ FILE: .github/FUNDING.yml ================================================ # These are supported funding model platforms open_collective: monitorcontrol ================================================ FILE: .github/ISSUE_TEMPLATE/bug_report.yml ================================================ name: Bug report description: Create a report to help us improve labels: ["Bug"] assignees: [] body: - type: checkboxes id: checklist attributes: label: Before opening the issue, have you...? description: This is to help us minimize the amount of duplicate issues, which allows us more time for actual development. options: - label: Searched for existing issues required: true - label: Looked through [the wiki](https://github.com/MonitorControl/MonitorControl/wiki) required: true - label: Updated MonitorControl to the latest version (if applicable) required: true - type: textarea id: description validations: required: true attributes: label: Describe the bug description: A clear and concise description of what the bug is. placeholder: "Example: When enabling the Show contrast slider in menu option, the application crashes when clicking on the menu icon." - type: textarea id: reproduction validations: required: true attributes: label: Steps to reproduce description: Please provide some steps on how we can reproduce the problem. This helps us resolve it faster. placeholder: | 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error - type: textarea id: expected validations: required: true attributes: label: Expected behavior description: A clear and concise description of what you expected to happen. placeholder: "Example: The app shows a contrast slider when clicking the icon in the menu bar and does not crash." - type: textarea validations: required: false attributes: label: Anything else? description: | Screenshots? Links? References? Anything that will give us more context about the issue you are encountering! Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. - type: textarea validations: required: true attributes: label: Environment Information (please complete the following information) description: | examples: - **macOS version**: 11.4 Big Sur - **Mac model**: MacBook Pro (16-inch, 2019) - **MonitorControl version**: v2.1.0 - **Monitor(s)**: LG 38GN950, LG 27UN83A - **Apple Silicon/M1 (yes or no)**: no value: | - macOS version: - Mac model: - MonitorControl version: - Monitor(s): - Apple Silicon/M1 (yes or no): no render: markdown ================================================ FILE: .github/ISSUE_TEMPLATE/config.yml ================================================ blank_issues_enabled: false ================================================ FILE: .github/ISSUE_TEMPLATE/discussion.yml ================================================ name: Discussion description: I want to discuss something that is related to this project labels: ["Other"] assignees: [] body: - type: checkboxes id: checklist attributes: label: Before opening the issue, have you...? description: This is to help us minimize the amount of duplicate issues, which allows us more time for actual development. options: - label: Searched for existing issues required: true - type: textarea id: discussion validations: required: true attributes: label: Discussion description: Feel free to type anything you want to discuss related to the project. Do note that we have a seperate template for questions. ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request.yml ================================================ name: Feature request description: Suggest an idea for this project labels: ["Feature Request"] assignees: [] body: - type: checkboxes attributes: label: Before opening the issue, have you...? description: This is to help us minimize the amount of duplicate issues, which allows us more time for actual development. options: - label: Searched for existing issues required: true - type: textarea validations: required: true attributes: label: Is your feature request related to a problem? Please describe description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - type: textarea validations: required: true attributes: label: Describe the solution you'd like description: A clear and concise description of what you want to happen. - type: textarea validations: required: true attributes: label: Describe alternatives you've considered description: A clear and concise description of any alternative solutions or features you've considered. - type: textarea validations: required: false attributes: label: Anything else? description: | Screenshots? Links? References? Anything that will give us more context about the issue you are encountering! Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. ================================================ FILE: .github/ISSUE_TEMPLATE/monitor-issue.yml ================================================ name: Monitor Issue description: MonitorControl is not working as expected on my monitor. labels: ["Monitor Issue"] assignees: [] body: - type: checkboxes attributes: label: Before opening the issue, have you...? description: This is to help us minimize the amount of duplicate issues, which allows us more time for actual development. options: - label: Searched for existing issues required: true - label: Read through [the Monitor-Troubleshooting Wiki](https://github.com/MonitorControl/MonitorControl/wiki/Monitor-Troubleshooting) required: true - label: Updated MonitorControl to the latest version (if applicable) required: true - type: textarea validations: required: true attributes: label: Describe the issue description: A clear and concise description of the problem. placeholder: Volume & Brightness controls are not working on my LG 38GN950. - type: textarea validations: required: true attributes: label: Expected behavior description: A clear and concise description of what you expected to happen. - type: textarea validations: required: false attributes: label: Anything else? description: | Screenshots? Links? References? Anything that will give us more context about the issue you are encountering! Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. - type: textarea validations: required: false attributes: label: Environment Information (please complete the following information) description: | examples: - **macOS version**: 11.4 Big Sur - **Mac model**: MacBook Pro (16-inch, 2019) - **MonitorControl version**: v2.1.0 - **Monitor(s)**: LG 38GN950, LG 27UN83A - **Monitor Cable(s)/Connection(s)**:   - Mac Mini -> DisplayPort 2.1 -> LG 38GN950   - Mac Mini -> Belkin Thunderbolt 3 Dock Core -> LG 27UN83A - **Apple Silicon/M1 (yes or no)**: no value: | - macOS version: - Mac model: - MonitorControl version: - Monitor(s): - Monitor Cable(s)/Connection(s): - Apple Silicon/M1 (yes or no): render: markdown ================================================ FILE: .github/ISSUE_TEMPLATE/question.yml ================================================ name: Question description: I have a question related to this project labels: ["Question"] assignees: [] body: - type: checkboxes attributes: label: Before opening the issue, have you...? description: This is to help us minimize the amount of duplicate issues, which allows us more time for actual development. options: - label: Searched for existing issues required: true - type: textarea validations: required: true attributes: label: Question description: Ask your question, be specific. The more info you provide, the easier it will be for someone to answer! ================================================ FILE: .github/stale.yml ================================================ # Number of days of inactivity before an issue becomes stale daysUntilStale: 365 # Number of days of inactivity before a stale issue is closed daysUntilClose: 7 # Issues with these labels will never be considered stale exemptLabels: - 'Priority: Major' - 'Priority: Critical' - 'Priority: Minor' - Information # Label to use when marking an issue as stale staleLabel: 'Status: Abandoned' # Comment to post when marking an issue as stale. Set to `false` to disable markComment: > Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require attention? This issue may be closed if no further activity occurs. Thank you for your contributions. # Comment to post when closing a stale issue. Set to `false` to disable closeComment: false ================================================ FILE: .gitignore ================================================ ### Carthage ### Carthage ### macOS ### .DS_Store ### Xcode ### xcuserdata/ ================================================ FILE: .swift-version ================================================ 5.5 ================================================ FILE: .swiftformat ================================================ --indent 2 --nospaceoperators --self insert --exponentcase lowercase --exclude Carthage ================================================ FILE: .swiftlint.yml ================================================ disabled_rules: - line_length - function_body_length - identifier_name - trailing_comma - large_tuple type_body_length: 500 file_length: 750 cyclomatic_complexity: ignores_case_statements: true opening_brace: allow_multiline_func: true excluded: - .build ================================================ FILE: License.txt ================================================ MIT License Copyright © 2017 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: MonitorControl/Assets.xcassets/AppIcon.appiconset/Contents.json ================================================ { "images" : [ { "filename" : "Icon-16.png", "idiom" : "mac", "scale" : "1x", "size" : "16x16" }, { "filename" : "Icon-33.png", "idiom" : "mac", "scale" : "2x", "size" : "16x16" }, { "filename" : "Icon-32.png", "idiom" : "mac", "scale" : "1x", "size" : "32x32" }, { "filename" : "Icon-64.png", "idiom" : "mac", "scale" : "2x", "size" : "32x32" }, { "filename" : "Icon-128.png", "idiom" : "mac", "scale" : "1x", "size" : "128x128" }, { "filename" : "Icon-257.png", "idiom" : "mac", "scale" : "2x", "size" : "128x128" }, { "filename" : "Icon-256.png", "idiom" : "mac", "scale" : "1x", "size" : "256x256" }, { "filename" : "Icon-513.png", "idiom" : "mac", "scale" : "2x", "size" : "256x256" }, { "filename" : "Icon-512.png", "idiom" : "mac", "scale" : "1x", "size" : "512x512" }, { "filename" : "Icon-1024.png", "idiom" : "mac", "scale" : "2x", "size" : "512x512" } ], "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: MonitorControl/Assets.xcassets/Contents.json ================================================ { "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: MonitorControl/Assets.xcassets/onboarding_icon_checkmark.imageset/Contents.json ================================================ { "images" : [ { "filename" : "checkmark.png", "idiom" : "mac", "scale" : "1x" }, { "filename" : "checkmark@2x.png", "idiom" : "mac", "scale" : "2x" } ], "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: MonitorControl/Assets.xcassets/onboarding_icon_keyboard.imageset/Contents.json ================================================ { "images" : [ { "filename" : "icon_keyboard.png", "idiom" : "mac", "scale" : "1x" }, { "filename" : "icon_keyboard@2x.png", "idiom" : "mac", "scale" : "2x" } ], "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: MonitorControl/Assets.xcassets/onboarding_icon_person.imageset/Contents.json ================================================ { "images" : [ { "filename" : "icon_person.png", "idiom" : "mac", "scale" : "1x" }, { "filename" : "icon_person@2x.png", "idiom" : "mac", "scale" : "2x" } ], "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: MonitorControl/Assets.xcassets/onboarding_keyboard.imageset/Contents.json ================================================ { "images" : [ { "filename" : "onboarding_keyboard.png", "idiom" : "mac", "scale" : "1x" }, { "appearances" : [ { "appearance" : "luminosity", "value" : "dark" } ], "filename" : "onboarding_keyboard_dark.png", "idiom" : "mac", "scale" : "1x" }, { "filename" : "onboarding_keyboard@2x.png", "idiom" : "mac", "scale" : "2x" }, { "appearances" : [ { "appearance" : "luminosity", "value" : "dark" } ], "filename" : "onboarding_keyboard_dark@2x.png", "idiom" : "mac", "scale" : "2x" } ], "info" : { "author" : "xcode", "version" : 1 } } ================================================ FILE: MonitorControl/Assets.xcassets/status.imageset/Contents.json ================================================ { "images" : [ { "filename" : "status.pdf", "idiom" : "universal", "scale" : "1x" }, { "filename" : "status@2x.pdf", "idiom" : "universal", "scale" : "2x" }, { "idiom" : "universal", "scale" : "3x" } ], "info" : { "author" : "xcode", "version" : 1 }, "properties" : { "template-rendering-intent" : "template" } } ================================================ FILE: MonitorControl/Enums/Command.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others enum Command: UInt8 { case none = 0 // Display Control case horizontalFrequency = 0xAC case verticalFrequency = 0xAE case sourceColorCoding = 0xB5 case displayUsageTime = 0xC0 case displayControllerId = 0xC8 case displayFirmwareLevel = 0xC9 case osdLanguage = 0xCC case powerMode = 0xD6 case imageMode = 0xDB case vcpVersion = 0xDF // Geometry case horizontalPosition = 0x20 case horizontalSize = 0x22 case horizontalPincushion = 0x24 case horizontalPincushionBalance = 0x26 case horizontalConvergenceRB = 0x28 case horizontalConvergenceMG = 0x29 case horizontalLinearity = 0x2A case horizontalLinearityBalance = 0x2C case verticalPosition = 0x30 case verticalSize = 0x32 case verticalPincushion = 0x34 case verticalPincushionBalance = 0x36 case verticalConvergenceRB = 0x38 case verticalConvergenceMG = 0x39 case verticalLinearity = 0x3A case verticalLinearityBalance = 0x3C case horizontalParallelogram = 0x40 case verticalParallelogram = 0x41 case horizontalKeystone = 0x42 case verticalKeystone = 0x43 case rotation = 0x44 case topCornerFlare = 0x46 case topCornerHook = 0x48 case bottomCornerFlare = 0x4A case bottomCornerHook = 0x4C case horizontalMirror = 0x82 case verticalMirror = 0x84 case displayScaling = 0x86 case windowPositionTopLeftX = 0x95 case windowPositionTopLeftY = 0x96 case windowPositionBottomRightX = 0x97 case windowPositionBottomRightY = 0x98 case scanMode = 0xDA // Miscellaneous case degauss = 0x01 case newControlValue = 0x02 case softControls = 0x03 case activeControl = 0x52 case performancePreservation = 0x54 case inputSelect = 0x60 case ambientLightSensor = 0x66 case remoteProcedureCall = 0x76 case displayIdentificationOnDataOperation = 0x78 case tvChannelUpDown = 0x8B case flatPanelSubPixelLayout = 0xB2 case displayTechnologyType = 0xB6 case displayDescriptorLength = 0xC2 case transmitDisplayDescriptor = 0xC3 case enableDisplayOfDisplayDescriptor = 0xC4 case applicationEnableKey = 0xC6 case displayEnableKey = 0xC7 case statusIndicator = 0xCD case auxiliaryDisplaySize = 0xCE case auxiliaryDisplayData = 0xCF case outputSelect = 0xD0 case assetTag = 0xD2 case auxiliaryPowerOutput = 0xD7 case scratchPad = 0xDE // Audio case audioSpeakerVolume = 0x62 case speakerSelect = 0x63 case audioMicrophoneVolume = 0x64 case audioJackConnectionStatus = 0x65 case audioMuteScreenBlank = 0x8D case audioTreble = 0x8F case audioBass = 0x91 case audioBalanceLR = 0x93 case audioProcessorMode = 0x94 // OSD/Button Event Control case osd = 0xCA // Image Adjustment case sixAxisHueControlBlue = 0x9F case sixAxisHueControlCyan = 0x9E case sixAxisHueControlGreen = 0x9D case sixAxisHueControlMagenta = 0xA0 case sixAxisHueControlRed = 0x9B case sixAxisHueControlYellow = 0x9C case sixAxisSaturationControlBlue = 0x5D case sixAxisSaturationControlCyan = 0x5C case sixAxisSaturationControlGreen = 0x5B case sixAxisSaturationControlMagenta = 0x5E case sixAxisSaturationControlRed = 0x59 case sixAxisSaturationControlYellow = 0x5A case adjustZoom = 0x7C case autoColorSetup = 0x1F case autoSetup = 0x1E case autoSetupOnOff = 0xA2 case backlightControlLegacy = 0x13 case backlightLevelWhite = 0x6B case backlightLevelRed = 0x6D case backlightLevelGreen = 0x6F case backlightLevelBlue = 0x71 case blockLutOperation = 0x75 case clock = 0x0E case clockPhase = 0x3E case colorSaturation = 0x8A case colorTemperatureIncrement = 0x0B case colorTemperatureRequest = 0x0C case contrast = 0x12 case displayApplication = 0xDC case fleshToneEnhancement = 0x11 case focus = 0x1C case gamma = 0x72 case grayScaleExpansion = 0x2E case horizontalMoire = 0x56 case hue = 0x90 case luminance = 0x10 case lutSize = 0x73 case screenOrientation = 0xAA case selectColorPreset = 0x14 case sharpness = 0x87 case singlePointLutOperation = 0x74 case stereoVideoMode = 0xD4 case tvBlackLevel = 0x92 case tvContrast = 0x8E case tvSharpness = 0x8C case userColorVisionCompensation = 0x17 case velocityScanModulation = 0x88 case verticalMoire = 0x58 case videoBlackLevelBlue = 0x70 case videoBlackLevelGreen = 0x6E case videoBlackLevelRed = 0x6C case videoGainBlue = 0x1A case videoGainGreen = 0x18 case videoGainRed = 0x16 case windowBackground = 0x9A case windowControlOnOff = 0xA4 case windowSelect = 0xA5 case windowSize = 0xA6 case windowTransparency = 0xA7 // Preset Operations case restoreFactoryDefaults = 0x04 case restoreFactoryLuminanceContrastDefaults = 0x05 case restoreFactoryGeometryDefaults = 0x06 case restoreFactoryColorDefaults = 0x08 case restoreFactoryTvDefaults = 0x0A case settings = 0xB0 // Manufacturer Specific case blackStabilizer = 0xF9 // LG 38UC99-W case colorPresetC = 0xE0 case powerControl = 0xE1 case topLeftScreenPurity = 0xE8 case topRightScreenPurity = 0xE9 case bottomLeftScreenPurity = 0xEA case bottomRightScreenPurity = 0xEB public static let brightness = luminance } ================================================ FILE: MonitorControl/Enums/PrefKey.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others enum PrefKey: String { /* -- App-wide settings -- */ // Sparkle automatic checks case SUEnableAutomaticChecks // Receive beta updates? case isBetaChannel // This is not added to Settings yet as it will be needed in the future only. // Build number case buildNumber // Was the app launched once case appAlreadyLaunched // Hide menu icon case menuIcon // Menu item style case menuItemStyle // Keys listened for case keyboardBrightness // Keys listened for case keyboardVolume // Don't listen to F14/F15 case disableAltBrightnessKeys // Hide brightness sliders case hideBrightness // Show volume sliders case showContrast // Show volume sliders case hideVolume // Lower via software after brightness case disableCombinedBrightness // Use separated OSD scale for combined brightness case separateCombinedScale // Do not show sliders for Apple displays (including built-in display) in menu case hideAppleFromMenu // Disable slider snapping case enableSliderSnap // Disable slider snapping case enableSliderPercent // Show tick marks for sliders case showTickMarks // Instead of assuming default values, enable read or write upon startup (according to readDDCInsteadOfRestoreValues) case startupAction // Show advanced options under Displays tab in Settings case showAdvancedSettings // Allow zero software brightness case allowZeroSwBrightness // Keyboard brightness control for multiple displays case multiKeyboardBrightness // Keyboard volume control for multiple devices case multiKeyboardVolume // Use fine OSD scale for brightness case useFineScaleBrightness // Use fine OSD scale for volume case useFineScaleVolume // Use smoothBrightness case disableSmoothBrightness // Synchronize brightness from sync source displays among all other displays case enableBrightnessSync // Sliders for multiple displays case multiSliders /* -- Display specific settings */ // Enable mute DDC for display case enableMuteUnmute // Hide OSD for display case hideOsd // Longer delay DDC for display case longerDelay // DDC polling mode for display case pollingMode // DDC polling count for display case pollingCount // Display should avoid gamma table manipulation and use shades instead (to coexist with other apps doing gamma manipulation) case avoidGamma // User assigned audio device name for display case audioDeviceNameOverride // Display disabled for keyboard control case isDisabled // Force software mode for display case forceSw // Software brightness for display case SwBrightness // Combined brightness switching point case combinedBrightnessSwitchingPoint // Friendly name case friendlyName /* -- Display+Command specific settings -- */ // Command value display case value // Was the setting ever changed by the user? case isTouched // Min command value display case minDDCOverride // Max command value display case maxDDC // Max user override command value display case maxDDCOverride // Max command value display case curveDDC // Is the specific control is set as unavailable for display? case unavailableDDC // Invert DDC scale? case invertDDC // Override DDC control command code case remapDDC } enum MultiKeyboardBrightness: Int { case mouse = 0 case allScreens = 1 case focusInsteadOfMouse = 2 } enum MultiKeyboardVolume: Int { case mouse = 0 case allScreens = 1 case audioDeviceNameMatching = 2 } enum StartupAction: Int { case doNothing = 0 case write = 1 case read = 2 } enum MultiSliders: Int { case separate = 0 case relevant = 1 case combine = 2 } enum PollingMode: Int { case none = -2 case minimal = -1 case normal = 0 case heavy = 1 case custom = 2 } enum MenuIcon: Int { case show = 0 case sliderOnly = 1 case hide = 2 case externalOnly = 3 } enum MenuItemStyle: Int { case icon = 0 case text = 1 case hide = 2 } enum KeyboardBrightness: Int { case media = 0 case custom = 1 case both = 2 case disabled = 3 } enum KeyboardVolume: Int { case media = 0 case custom = 1 case both = 2 case disabled = 3 } ================================================ FILE: MonitorControl/Extensions/CGDirectDisplayID+Extension.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa public extension CGDirectDisplayID { var vendorNumber: UInt32? { CGDisplayVendorNumber(self) } var modelNumber: UInt32? { CGDisplayModelNumber(self) } var serialNumber: UInt32? { CGDisplaySerialNumber(self) } } ================================================ FILE: MonitorControl/Extensions/KeyboardShortcuts+Extension.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import KeyboardShortcuts extension KeyboardShortcuts.Name { static let brightnessUp = Self("brightnessUp") static let brightnessDown = Self("brightnessDown") static let contrastUp = Self("contrastUp") static let contrastDown = Self("contrastDown") static let volumeUp = Self("volumeUp") static let volumeDown = Self("volumeDown") static let mute = Self("mute") static let none = Self("none") } ================================================ FILE: MonitorControl/Extensions/NSNotification+Extension.swift ================================================ import Cocoa extension NSNotification.Name { static let accessibilityApi = NSNotification.Name(rawValue: "com.apple.accessibility.api") } ================================================ FILE: MonitorControl/Extensions/NSScreen+Extension.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa public extension NSScreen { var displayID: CGDirectDisplayID { (self.deviceDescription[NSDeviceDescriptionKey("NSScreenNumber")] as? CGDirectDisplayID)! } var vendorNumber: UInt32? { switch CGDisplayVendorNumber(self.displayID) { case 0xFFFF_FFFF: return nil case let vendorNumber: return vendorNumber } } var modelNumber: UInt32? { switch CGDisplayModelNumber(self.displayID) { case 0xFFFF_FFFF: return nil case let modelNumber: return modelNumber } } var serialNumber: UInt32? { switch CGDisplaySerialNumber(self.displayID) { case 0x0000_0000: return nil case let serialNumber: return serialNumber } } var displayName: String? { var servicePortIterator = io_iterator_t() let status = IOServiceGetMatchingServices(kIOMasterPortDefault, IOServiceMatching("IODisplayConnect"), &servicePortIterator) guard status == KERN_SUCCESS else { return nil } defer { assert(IOObjectRelease(servicePortIterator) == KERN_SUCCESS) } while case let object = IOIteratorNext(servicePortIterator), object != 0 { let dict = (IODisplayCreateInfoDictionary(object, UInt32(kIODisplayOnlyPreferredName)).takeRetainedValue() as NSDictionary as? [String: AnyObject])! if dict[kDisplayVendorID] as? UInt32 == self.vendorNumber, dict[kDisplayProductID] as? UInt32 == self.modelNumber, dict[kDisplaySerialNumber] as? UInt32 == self.serialNumber { if let productName = dict["DisplayProductName"] as? [String: String], let firstKey = Array(productName.keys).first { return productName[firstKey]! } } } return nil } } ================================================ FILE: MonitorControl/Extensions/Preferences+Extension.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import Settings extension Settings.PaneIdentifier { static let main = Self("Main") static let menusliders = Self("Menu & Sliders") static let keyboard = Self("Keyboard") static let displays = Self("Displays") static let about = Self("About") } public extension SettingsWindowController { override func keyDown(with event: NSEvent) { if event.modifierFlags.intersection(.deviceIndependentFlagsMask) == .command, let key = event.charactersIgnoringModifiers { if key == "w" { self.close() } } } } ================================================ FILE: MonitorControl/Info.plist ================================================ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIconFile CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName $(PRODUCT_NAME) CFBundlePackageType APPL CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion 7141 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) LSUIElement NSHumanReadableCopyright MIT Licensed. 2017. NSPrincipalClass NSApplication SUEnableJavaScript SUFeedURL https://monitorcontrol.app/appcast2.xml SUPublicEDKey ITSTMp8AypsLawojJ+UR3tm2mN18AFoNMvXf1G3t62s= ================================================ FILE: MonitorControl/InternetAccessPolicy.plist ================================================ ApplicationDescription ApplicationDescription DeveloperName MonitorControl Website https://monitorcontrol.app Connections IsIncoming Host monitorcontrol.app NetworkProtocol TCP Port 443 Purpose SoftwareUpdatePurpose DenyConsequences SoftwareUpdateDenyConsequences IsIncoming Host github.com NetworkProtocol TCP Port 443 Purpose SoftwareUpdatePurpose DenyConsequences SoftwareUpdateDenyConsequences IsIncoming Host githubusercontent.com NetworkProtocol TCP Port 443 Purpose SoftwareUpdatePurpose DenyConsequences SoftwareUpdateDenyConsequences ================================================ FILE: MonitorControl/Model/AppleDisplay.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Foundation import os.log class AppleDisplay: Display { private var displayQueue: DispatchQueue override init(_ identifier: CGDirectDisplayID, name: String, vendorNumber: UInt32?, modelNumber: UInt32?, serialNumber: UInt32?, isVirtual: Bool = false, isDummy: Bool = false) { self.displayQueue = DispatchQueue(label: String("displayQueue-\(identifier)")) super.init(identifier, name: name, vendorNumber: vendorNumber, modelNumber: modelNumber, serialNumber: serialNumber, isVirtual: isVirtual, isDummy: isDummy) } public func getAppleBrightness() -> Float { guard !self.isDummy else { return 1 } var brightness: Float = 0 DisplayServicesGetBrightness(self.identifier, &brightness) return brightness } public func setAppleBrightness(value: Float) { guard !self.isDummy else { return } _ = self.displayQueue.sync { DisplayServicesSetBrightness(self.identifier, value) } } override func setDirectBrightness(_ to: Float, transient: Bool = false) -> Bool { guard !self.isDummy else { return false } let value = max(min(to, 1), 0) self.setAppleBrightness(value: value) if !transient { self.savePref(value, for: .brightness) self.brightnessSyncSourceValue = value self.smoothBrightnessTransient = value } return true } override func getBrightness() -> Float { guard !self.isDummy else { return 1 } if self.prefExists(for: .brightness) { return self.readPrefAsFloat(for: .brightness) } else { return self.getAppleBrightness() } } override func refreshBrightness() -> Float { guard !self.smoothBrightnessRunning else { return 0 } let brightness = self.getAppleBrightness() let oldValue = self.brightnessSyncSourceValue self.savePref(brightness, for: .brightness) if brightness != oldValue { os_log("Pushing slider and reporting delta for Apple display %{public}@", type: .info, String(self.identifier)) var newValue: Float if abs(brightness - oldValue) < 0.01 { newValue = brightness } else if brightness > oldValue { newValue = oldValue + max((brightness - oldValue) / 3, 0.005) } else { newValue = oldValue + min((brightness - oldValue) / 3, -0.005) } self.brightnessSyncSourceValue = newValue if let sliderHandler = self.sliderHandler[.brightness] { sliderHandler.setValue(newValue, displayID: self.identifier) } return newValue - oldValue } return 0 } } ================================================ FILE: MonitorControl/Model/Display.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import Foundation import os.log class Display: Equatable { let identifier: CGDirectDisplayID let prefsId: String var name: String var vendorNumber: UInt32? var modelNumber: UInt32? var serialNumber: UInt32? var smoothBrightnessTransient: Float = 1 var smoothBrightnessRunning: Bool = false var smoothBrightnessSlow: Bool = false let swBrightnessSemaphore = DispatchSemaphore(value: 1) static func == (lhs: Display, rhs: Display) -> Bool { lhs.identifier == rhs.identifier } var sliderHandler: [Command: SliderHandler] = [:] var brightnessSyncSourceValue: Float = 1 var isVirtual: Bool = false var isDummy: Bool = false var defaultGammaTableRed = [CGGammaValue](repeating: 0, count: 256) var defaultGammaTableGreen = [CGGammaValue](repeating: 0, count: 256) var defaultGammaTableBlue = [CGGammaValue](repeating: 0, count: 256) var defaultGammaTableSampleCount: UInt32 = 0 var defaultGammaTablePeak: Float = 1 func prefExists(key: PrefKey? = nil, for command: Command? = nil) -> Bool { prefs.object(forKey: self.getKey(key: key, for: command)) != nil } func removePref(key: PrefKey, for command: Command? = nil) { prefs.removeObject(forKey: self.getKey(key: key, for: command)) } func savePref(_ value: T, key: PrefKey? = nil, for command: Command? = nil) { prefs.set(value, forKey: self.getKey(key: key, for: command)) } func readPrefAsFloat(key: PrefKey? = nil, for command: Command? = nil) -> Float { prefs.float(forKey: self.getKey(key: key, for: command)) } func readPrefAsInt(key: PrefKey? = nil, for command: Command? = nil) -> Int { prefs.integer(forKey: self.getKey(key: key, for: command)) } func readPrefAsBool(key: PrefKey? = nil, for command: Command? = nil) -> Bool { prefs.bool(forKey: self.getKey(key: key, for: command)) } func readPrefAsString(key: PrefKey? = nil, for command: Command? = nil) -> String { prefs.string(forKey: self.getKey(key: key, for: command)) ?? "" } private func getKey(key: PrefKey? = nil, for command: Command? = nil) -> String { (key ?? PrefKey.value).rawValue + (command != nil ? String((command ?? Command.none).rawValue) : "") + self.prefsId } init(_ identifier: CGDirectDisplayID, name: String, vendorNumber: UInt32?, modelNumber: UInt32?, serialNumber: UInt32?, isVirtual: Bool = false, isDummy: Bool = false) { self.identifier = identifier self.name = name self.vendorNumber = vendorNumber self.modelNumber = modelNumber self.serialNumber = serialNumber self.isVirtual = DEBUG_VIRTUAL ? true : isVirtual self.isDummy = isDummy self.prefsId = "(\(name.filter { !$0.isWhitespace })\(vendorNumber ?? 0)\(modelNumber ?? 0)@\(self.isVirtual ? (self.serialNumber ?? 9999) : identifier))" os_log("Display init with prefsIdentifier %{public}@", type: .info, self.prefsId) self.swUpdateDefaultGammaTable() self.smoothBrightnessTransient = self.getBrightness() if self.isVirtual || self.readPrefAsBool(key: PrefKey.avoidGamma), !self.isDummy { os_log("Creating or updating shade for display %{public}@", type: .info, String(self.identifier)) _ = DisplayManager.shared.updateShade(displayID: self.identifier) } else { os_log("Destroying shade (if exists) for display %{public}@", type: .info, String(self.identifier)) _ = DisplayManager.shared.destroyShade(displayID: self.identifier) } self.brightnessSyncSourceValue = self.getBrightness() } func calcNewBrightness(isUp: Bool, isSmallIncrement: Bool) -> Float { var step: Float = (isUp ? 1 : -1) / 16.0 let delta = step / 4 if isSmallIncrement { step = delta } return min(max(0, ceil((self.getBrightness() + delta) / step) * step), 1) } func stepBrightness(isUp: Bool, isSmallIncrement: Bool) { guard !self.readPrefAsBool(key: .unavailableDDC, for: .brightness) else { return } let value = self.calcNewBrightness(isUp: isUp, isSmallIncrement: isSmallIncrement) if self.setBrightness(value) { OSDUtils.showOsd(displayID: self.identifier, command: .brightness, value: value * 64, maxValue: 64) if let slider = self.sliderHandler[.brightness] { slider.setValue(value, displayID: self.identifier) self.brightnessSyncSourceValue = value } } } func setBrightness(_ to: Float = -1, slow: Bool = false) -> Bool { if !prefs.bool(forKey: PrefKey.disableSmoothBrightness.rawValue) { return self.setSmoothBrightness(to, slow: slow) } else { return self.setDirectBrightness(to) } } func setSmoothBrightness(_ to: Float = -1, slow: Bool = false) -> Bool { guard app.sleepID == 0, app.reconfigureID == 0 else { self.savePref(self.smoothBrightnessTransient, for: .brightness) self.smoothBrightnessRunning = false os_log("Pushing brightness stopped for Display %{public}@ because of sleep or reconfiguration", type: .info, String(self.identifier)) return false } if slow { self.smoothBrightnessSlow = true } var stepDivider: Float = 6 if self.smoothBrightnessSlow { stepDivider = 16 } var dontPushAgain = false if to != -1 { os_log("Pushing brightness towards goal of %{public}@ for Display %{public}@", type: .info, String(to), String(self.identifier)) let value = max(min(to, 1), 0) self.savePref(value, for: .brightness) self.brightnessSyncSourceValue = value self.smoothBrightnessSlow = slow if self.smoothBrightnessRunning { return true } } let brightness = self.readPrefAsFloat(for: .brightness) if brightness != self.smoothBrightnessTransient { if abs(brightness - self.smoothBrightnessTransient) < 0.01 { self.smoothBrightnessTransient = brightness os_log("Pushing brightness finished for Display %{public}@", type: .info, String(self.identifier)) dontPushAgain = true self.smoothBrightnessRunning = false } else if brightness > self.smoothBrightnessTransient { self.smoothBrightnessTransient += max((brightness - self.smoothBrightnessTransient) / stepDivider, 1 / 100) } else { self.smoothBrightnessTransient += min((brightness - self.smoothBrightnessTransient) / stepDivider, 1 / 100) } _ = self.setDirectBrightness(self.smoothBrightnessTransient, transient: true) if !dontPushAgain { self.smoothBrightnessRunning = true DispatchQueue.main.asyncAfter(deadline: .now() + 0.02) { _ = self.setSmoothBrightness() } } } else { os_log("No more need to push brightness for Display %{public}@ (setting one final time)", type: .info, String(self.identifier)) _ = self.setDirectBrightness(self.smoothBrightnessTransient, transient: true) self.smoothBrightnessRunning = false } self.swBrightnessSemaphore.signal() return true } func setDirectBrightness(_ to: Float, transient: Bool = false) -> Bool { let value = max(min(to, 1), 0) if self.setSwBrightness(value) { if !transient { self.savePref(value, for: .brightness) self.brightnessSyncSourceValue = value self.smoothBrightnessTransient = value } return true } return false } func getBrightness() -> Float { if self.prefExists(for: .brightness) { return self.readPrefAsFloat(for: .brightness) } else { return self.getSwBrightness() } } func swUpdateDefaultGammaTable() { guard !self.isDummy else { return } CGGetDisplayTransferByTable(self.identifier, 256, &self.defaultGammaTableRed, &self.defaultGammaTableGreen, &self.defaultGammaTableBlue, &self.defaultGammaTableSampleCount) let redPeak = self.defaultGammaTableRed.max() ?? 0 let greenPeak = self.defaultGammaTableGreen.max() ?? 0 let bluePeak = self.defaultGammaTableBlue.max() ?? 0 self.defaultGammaTablePeak = max(redPeak, greenPeak, bluePeak) } func swBrightnessTransform(value: Float, reverse: Bool = false) -> Float { let lowTreshold: Float = prefs.bool(forKey: PrefKey.allowZeroSwBrightness.rawValue) ? 0.0 : 0.15 if !reverse { return value * (1 - lowTreshold) + lowTreshold } else { return (value - lowTreshold) / (1 - lowTreshold) } } func setSwBrightness(_ value: Float, smooth: Bool = false, noPrefSave: Bool = false) -> Bool { self.swBrightnessSemaphore.wait() let brightnessValue = min(1, value) var currentValue = self.readPrefAsFloat(key: .SwBrightness) if !noPrefSave { self.savePref(brightnessValue, key: .SwBrightness) } guard !self.isDummy else { self.swBrightnessSemaphore.signal() return true } var newValue = brightnessValue currentValue = self.swBrightnessTransform(value: currentValue) newValue = self.swBrightnessTransform(value: newValue) if smooth { DispatchQueue.global(qos: .userInteractive).async { for transientValue in stride(from: currentValue, to: newValue, by: 0.005 * (currentValue > newValue ? -1 : 1)) { guard app.reconfigureID == 0 else { self.swBrightnessSemaphore.signal() return } if self.isVirtual || self.readPrefAsBool(key: .avoidGamma) { _ = DisplayManager.shared.setShadeAlpha(value: 1 - transientValue, displayID: DisplayManager.resolveEffectiveDisplayID(self.identifier)) } else { let gammaTableRed = self.defaultGammaTableRed.map { $0 * transientValue } let gammaTableGreen = self.defaultGammaTableGreen.map { $0 * transientValue } let gammaTableBlue = self.defaultGammaTableBlue.map { $0 * transientValue } CGSetDisplayTransferByTable(self.identifier, self.defaultGammaTableSampleCount, gammaTableRed, gammaTableGreen, gammaTableBlue) } Thread.sleep(forTimeInterval: 0.001) // Let's make things quick if not performed in the background } } } else { if self.isVirtual || self.readPrefAsBool(key: .avoidGamma) { self.swBrightnessSemaphore.signal() return DisplayManager.shared.setShadeAlpha(value: 1 - newValue, displayID: DisplayManager.resolveEffectiveDisplayID(self.identifier)) } else { let gammaTableRed = self.defaultGammaTableRed.map { $0 * newValue } let gammaTableGreen = self.defaultGammaTableGreen.map { $0 * newValue } let gammaTableBlue = self.defaultGammaTableBlue.map { $0 * newValue } DisplayManager.shared.moveGammaActivityEnforcer(displayID: self.identifier) CGSetDisplayTransferByTable(self.identifier, self.defaultGammaTableSampleCount, gammaTableRed, gammaTableGreen, gammaTableBlue) DisplayManager.shared.enforceGammaActivity() } } self.swBrightnessSemaphore.signal() return true } func getSwBrightness() -> Float { guard !self.isDummy else { if self.prefExists(key: .SwBrightness) { return self.readPrefAsFloat(key: .SwBrightness) } else { return 1 } } self.swBrightnessSemaphore.wait() if self.isVirtual || self.readPrefAsBool(key: .avoidGamma) { let rawBrightnessValue = 1 - (DisplayManager.shared.getShadeAlpha(displayID: DisplayManager.resolveEffectiveDisplayID(self.identifier)) ?? 1) self.swBrightnessSemaphore.signal() return self.swBrightnessTransform(value: rawBrightnessValue, reverse: true) } var gammaTableRed = [CGGammaValue](repeating: 0, count: 256) var gammaTableGreen = [CGGammaValue](repeating: 0, count: 256) var gammaTableBlue = [CGGammaValue](repeating: 0, count: 256) var gammaTableSampleCount: UInt32 = 0 var brightnessValue: Float = 1 if CGGetDisplayTransferByTable(self.identifier, 256, &gammaTableRed, &gammaTableGreen, &gammaTableBlue, &gammaTableSampleCount) == CGError.success { let redPeak = gammaTableRed.max() ?? 0 let greenPeak = gammaTableGreen.max() ?? 0 let bluePeak = gammaTableBlue.max() ?? 0 let gammaTablePeak = max(redPeak, greenPeak, bluePeak) let peakRatio = gammaTablePeak / self.defaultGammaTablePeak brightnessValue = round(self.swBrightnessTransform(value: peakRatio, reverse: true) * 256) / 256 } self.swBrightnessSemaphore.signal() return brightnessValue } func checkGammaInterference() { let currentSwBrightness = self.getSwBrightness() guard !self.isDummy, !DisplayManager.shared.gammaInterferenceWarningShown, !(prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue)), !self.readPrefAsBool(key: .avoidGamma), !self.isVirtual, !self.smoothBrightnessRunning, self.prefExists(key: .SwBrightness), abs(currentSwBrightness - self.readPrefAsFloat(key: .SwBrightness)) > 0.02 else { return } DisplayManager.shared.gammaInterferenceCounter += 1 _ = self.setSwBrightness(1) os_log("Gamma table interference detected, number of events: %{public}@", type: .info, String(DisplayManager.shared.gammaInterferenceCounter)) if DisplayManager.shared.gammaInterferenceCounter >= 3 { DisplayManager.shared.gammaInterferenceWarningShown = true let alert = NSAlert() alert.messageText = NSLocalizedString("Is f.lux or similar running?", comment: "Shown in the alert dialog") alert.informativeText = NSLocalizedString("An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!", comment: "Shown in the alert dialog") alert.addButton(withTitle: NSLocalizedString("I'll quit the other app", comment: "Shown in the alert dialog")) alert.addButton(withTitle: NSLocalizedString("Disable gamma control for my displays", comment: "Shown in the alert dialog")) alert.alertStyle = NSAlert.Style.critical if alert.runModal() != .alertFirstButtonReturn { for otherDisplay in DisplayManager.shared.getOtherDisplays() { _ = otherDisplay.setSwBrightness(1) _ = otherDisplay.setDirectBrightness(1) otherDisplay.savePref(true, key: .avoidGamma) _ = otherDisplay.setSwBrightness(1) DisplayManager.shared.gammaInterferenceWarningShown = false DisplayManager.shared.gammaInterferenceCounter = 0 displaysPrefsVc?.loadDisplayList() } } else { os_log("We won't watch for gamma table interference anymore", type: .info) } } } func resetSwBrightness() -> Bool { self.setSwBrightness(1) } func isSwBrightnessNotDefault() -> Bool { guard !self.isVirtual, !self.isDummy else { return false } if self.getSwBrightness() < 1 { return true } return false } func refreshBrightness() -> Float { 0 } func isBuiltIn() -> Bool { if CGDisplayIsBuiltin(self.identifier) != 0 { return true } else { return false } } } ================================================ FILE: MonitorControl/Model/OtherDisplay.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import IOKit import os.log class OtherDisplay: Display { var ddc: IntelDDC? var arm64ddc: Bool = false var arm64avService: IOAVService? var isDiscouraged: Bool = false let writeDDCQueue = DispatchQueue(label: "Local write DDC queue") var writeDDCNextValue: [Command: UInt16] = [:] var writeDDCLastSavedValue: [Command: UInt16] = [:] var pollingCount: Int { get { switch self.readPrefAsInt(key: .pollingMode) { case PollingMode.none.rawValue: return 0 case PollingMode.minimal.rawValue: return 1 case PollingMode.normal.rawValue: return 5 case PollingMode.heavy.rawValue: return 20 case PollingMode.custom.rawValue: return prefs.integer(forKey: PrefKey.pollingCount.rawValue + self.prefsId) default: return PollingMode.none.rawValue } } set { prefs.set(newValue, forKey: PrefKey.pollingCount.rawValue + self.prefsId) } } override init(_ identifier: CGDirectDisplayID, name: String, vendorNumber: UInt32?, modelNumber: UInt32?, serialNumber: UInt32?, isVirtual: Bool = false, isDummy: Bool = false) { super.init(identifier, name: name, vendorNumber: vendorNumber, modelNumber: modelNumber, serialNumber: serialNumber, isVirtual: isVirtual, isDummy: isDummy) if !isVirtual, !Arm64DDC.isArm64 { self.ddc = IntelDDC(for: identifier) } } func processCurrentDDCValue(isReadFromDisplay: Bool, command: Command, firstrun: Bool, currentDDCValue: UInt16) { if isReadFromDisplay { var currentValue = self.convDDCToValue(for: command, from: currentDDCValue) if !prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue), command == .brightness { os_log("- Combined brightness mapping on DDC data.", type: .info) if currentValue > 0 { currentValue = self.combinedBrightnessSwitchingValue() + currentValue * (1 - self.combinedBrightnessSwitchingValue()) } else if currentValue == 0, firstrun, prefs.integer(forKey: PrefKey.startupAction.rawValue) != StartupAction.write.rawValue { currentValue = self.combinedBrightnessSwitchingValue() } else if self.prefExists(for: command), self.readPrefAsFloat(for: command) <= self.combinedBrightnessSwitchingValue() { currentValue = self.readPrefAsFloat(for: command) } else { currentValue = self.combinedBrightnessSwitchingValue() } } self.savePref(currentValue, for: command) if command == .brightness { self.smoothBrightnessTransient = currentValue } } else { var currentValue: Float = self.readPrefAsFloat(for: command) if !prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue), command == .brightness { os_log("- Combined brightness mapping on saved data.", type: .info) if !self.prefExists(for: command) { currentValue = self.combinedBrightnessSwitchingValue() + self.convDDCToValue(for: command, from: currentDDCValue) * (1 - self.combinedBrightnessSwitchingValue()) } else if firstrun, currentValue < self.combinedBrightnessSwitchingValue(), prefs.integer(forKey: PrefKey.startupAction.rawValue) != StartupAction.write.rawValue { currentValue = self.combinedBrightnessSwitchingValue() } } else { currentValue = self.prefExists(for: command) ? self.readPrefAsFloat(for: command) : self.convDDCToValue(for: command, from: currentDDCValue) } self.savePref(currentValue, for: command) if command == .brightness { self.smoothBrightnessTransient = currentValue } } } func getDDCValueFromPrefs(_ command: Command) -> UInt16 { self.convValueToDDC(for: command, from: (!prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue) && command == .brightness) ? max(0, self.readPrefAsFloat(for: command) - self.combinedBrightnessSwitchingValue()) * (1 / (1 - self.combinedBrightnessSwitchingValue())) : self.readPrefAsFloat(for: command)) } func restoreDDCSettingsToDisplay(command: Command) { if !self.smoothBrightnessRunning, !self.isSw(), !self.readPrefAsBool(key: .unavailableDDC, for: command), self.readPrefAsBool(key: .isTouched, for: command), prefs.integer(forKey: PrefKey.startupAction.rawValue) == StartupAction.write.rawValue, !app.safeMode { let restoreValue = self.getDDCValueFromPrefs(command) os_log("Restoring %{public}@ DDC value %{public}@ for %{public}@", type: .info, String(reflecting: command), String(restoreValue), self.name) self.writeDDCValues(command: command, value: restoreValue) if command == .audioSpeakerVolume, self.readPrefAsBool(key: .enableMuteUnmute) { let currentMuteValue = self.readPrefAsInt(for: .audioMuteScreenBlank) == 0 ? 2 : self.readPrefAsInt(for: .audioMuteScreenBlank) os_log("- Writing last saved DDC value for Mute: %{public}@", type: .info, String(currentMuteValue)) self.writeDDCValues(command: .audioMuteScreenBlank, value: UInt16(currentMuteValue)) } } } func setupCurrentAndMaxValues(command: Command, firstrun: Bool = false) { var ddcValues: (UInt16, UInt16)? var maxDDCValue = UInt16(DDC_MAX_DETECT_LIMIT) var currentDDCValue: UInt16 switch command { case .audioSpeakerVolume: currentDDCValue = UInt16(Float(DDC_MAX_DETECT_LIMIT) * 0.125) case .contrast: currentDDCValue = UInt16(Float(DDC_MAX_DETECT_LIMIT) * 0.750) default: currentDDCValue = UInt16(Float(DDC_MAX_DETECT_LIMIT) * 1.000) } if command == .audioSpeakerVolume { currentDDCValue = UInt16(Float(DDC_MAX_DETECT_LIMIT) * 0.125) // lower default audio value as high volume might rattle the user. } os_log("Setting up display %{public}@ for %{public}@", type: .info, String(self.identifier), String(reflecting: command)) if !self.isSw() { if prefs.integer(forKey: PrefKey.startupAction.rawValue) == StartupAction.read.rawValue, self.pollingCount != 0, !app.safeMode { os_log("- Reading DDC from display %{public}@ times", type: .info, String(self.pollingCount)) let delay = self.readPrefAsBool(key: .longerDelay) ? UInt64(40 * kMillisecondScale) : nil ddcValues = self.readDDCValues(for: command, tries: UInt(self.pollingCount), minReplyDelay: delay) if ddcValues != nil { (currentDDCValue, maxDDCValue) = ddcValues ?? (currentDDCValue, maxDDCValue) self.processCurrentDDCValue(isReadFromDisplay: true, command: command, firstrun: firstrun, currentDDCValue: currentDDCValue) os_log("- DDC read successful.", type: .info) } else { os_log("- DDC read failed.", type: .info) } } else { os_log("- DDC read disabled.", type: .info) } if self.readPrefAsInt(key: .maxDDCOverride, for: command) > self.readPrefAsInt(key: .minDDCOverride, for: command) { self.savePref(self.readPrefAsInt(key: .maxDDCOverride, for: command), key: .maxDDC, for: command) } else { self.savePref(min(Int(maxDDCValue), DDC_MAX_DETECT_LIMIT), key: .maxDDC, for: command) } if ddcValues == nil { self.processCurrentDDCValue(isReadFromDisplay: false, command: command, firstrun: firstrun, currentDDCValue: currentDDCValue) currentDDCValue = self.getDDCValueFromPrefs(command) } os_log("- Current DDC value: %{public}@", type: .info, String(currentDDCValue)) os_log("- Minimum DDC value: %{public}@ (overrides 0)", type: .info, String(self.readPrefAsInt(key: .minDDCOverride, for: command))) os_log("- Maximum DDC value: %{public}@ (overrides %{public}@)", type: .info, String(self.readPrefAsInt(key: .maxDDC, for: command)), String(maxDDCValue)) os_log("- Current internal value: %{public}@", type: .info, String(self.readPrefAsFloat(for: command))) os_log("- Command status: %{public}@", type: .info, self.readPrefAsBool(key: .isTouched, for: command) ? "Touched" : "Untouched") if command == .audioSpeakerVolume { self.setupMuteUnMute() } self.restoreDDCSettingsToDisplay(command: command) } else { self.savePref(self.prefExists(for: command) ? self.readPrefAsFloat(for: command) : Float(1), for: command) self.savePref(self.readPrefAsFloat(for: command), key: .SwBrightness) self.brightnessSyncSourceValue = self.readPrefAsFloat(for: command) self.smoothBrightnessTransient = self.readPrefAsFloat(for: command) os_log("- Software controlled display current internal value: %{public}@", type: .info, String(self.readPrefAsFloat(for: command))) } } func setupMuteUnMute() { guard !self.isSw(), !self.readPrefAsBool(key: .unavailableDDC, for: .audioSpeakerVolume), self.readPrefAsBool(key: .enableMuteUnmute) else { return } var currentMuteValue = self.readPrefAsInt(for: .audioMuteScreenBlank) == 0 ? 2 : self.readPrefAsInt(for: .audioMuteScreenBlank) if self.pollingCount != 0, !app.safeMode, prefs.integer(forKey: PrefKey.startupAction.rawValue) == StartupAction.read.rawValue { os_log("- Reading DDC from display %{public}@ times for Mute", type: .info, String(self.pollingCount)) let delay = self.readPrefAsBool(key: .longerDelay) ? UInt64(40 * kMillisecondScale) : nil if let muteValues: (current: UInt16, max: UInt16) = self.readDDCValues(for: .audioMuteScreenBlank, tries: UInt(self.pollingCount), minReplyDelay: delay) { os_log("- Success, current Mute setting: %{public}@", type: .info, String(muteValues.current)) currentMuteValue = Int(muteValues.current) } else { os_log("- Mute read failed", type: .info) } } self.savePref(Int(currentMuteValue), for: .audioMuteScreenBlank) } func setupSliderCurrentValue(command: Command) -> Float { (command == .audioSpeakerVolume && self.readPrefAsBool(key: .enableMuteUnmute) && self.readPrefAsInt(for: .audioMuteScreenBlank) == 1) ? 0 : self.readPrefAsFloat(for: command) } func stepVolume(isUp: Bool, isSmallIncrement: Bool) { guard !self.readPrefAsBool(key: .unavailableDDC, for: .audioSpeakerVolume) else { OSDUtils.showOsdVolumeDisabled(displayID: self.identifier) return } let currentValue = self.readPrefAsFloat(for: .audioSpeakerVolume) var muteValue: Int? let volumeOSDValue = self.calcNewValue(currentValue: currentValue, isUp: isUp, isSmallIncrement: isSmallIncrement) if self.readPrefAsInt(for: .audioMuteScreenBlank) == 1, volumeOSDValue > 0 { muteValue = 2 } else if self.readPrefAsInt(for: .audioMuteScreenBlank) != 1, volumeOSDValue == 0 { muteValue = 1 } let isAlreadySet = volumeOSDValue == self.readPrefAsFloat(for: .audioSpeakerVolume) if !isAlreadySet { if let muteValue = muteValue, self.readPrefAsBool(key: .enableMuteUnmute) { self.writeDDCValues(command: .audioMuteScreenBlank, value: UInt16(muteValue)) self.savePref(muteValue, for: .audioMuteScreenBlank) } if !self.readPrefAsBool(key: .enableMuteUnmute) || volumeOSDValue != 0 { self.writeDDCValues(command: .audioSpeakerVolume, value: self.convValueToDDC(for: .audioSpeakerVolume, from: volumeOSDValue)) } } if !self.readPrefAsBool(key: .hideOsd) { OSDUtils.showOsd(displayID: self.identifier, command: .audioSpeakerVolume, value: volumeOSDValue, roundChiclet: !isSmallIncrement) } if !isAlreadySet { self.savePref(volumeOSDValue, for: .audioSpeakerVolume) if let slider = self.sliderHandler[.audioSpeakerVolume] { slider.setValue(volumeOSDValue, displayID: self.identifier) } } } func stepContrast(isUp: Bool, isSmallIncrement: Bool) { guard !self.readPrefAsBool(key: .unavailableDDC, for: .contrast), !self.isSw() else { return } let currentValue = self.readPrefAsFloat(for: .contrast) let contrastOSDValue = self.calcNewValue(currentValue: currentValue, isUp: isUp, isSmallIncrement: isSmallIncrement) let isAlreadySet = contrastOSDValue == self.readPrefAsFloat(for: .contrast) if !isAlreadySet { self.writeDDCValues(command: .contrast, value: self.convValueToDDC(for: .contrast, from: contrastOSDValue)) } OSDUtils.showOsd(displayID: self.identifier, command: .contrast, value: contrastOSDValue, roundChiclet: !isSmallIncrement) if !isAlreadySet { self.savePref(contrastOSDValue, for: .contrast) if let slider = self.sliderHandler[.contrast] { slider.setValue(contrastOSDValue, displayID: self.identifier) } } } func toggleMute(fromVolumeSlider: Bool = false) { guard !self.readPrefAsBool(key: .unavailableDDC, for: .audioSpeakerVolume) else { OSDUtils.showOsdMuteDisabled(displayID: self.identifier) return } var muteValue: Int var volumeOSDValue: Float if self.readPrefAsInt(for: .audioMuteScreenBlank) != 1 { muteValue = 1 volumeOSDValue = 0 } else { muteValue = 2 volumeOSDValue = self.readPrefAsFloat(for: .audioSpeakerVolume) // The volume that will be set immediately after setting unmute while the old set volume was 0 is unpredictable. Hence, just set it to a single filled chiclet if volumeOSDValue == 0 { volumeOSDValue = 1 / OSDUtils.chicletCount self.savePref(volumeOSDValue, for: .audioSpeakerVolume) } } if self.readPrefAsBool(key: .enableMuteUnmute) { self.writeDDCValues(command: .audioMuteScreenBlank, value: UInt16(muteValue)) } self.savePref(muteValue, for: .audioMuteScreenBlank) if !self.readPrefAsBool(key: .enableMuteUnmute) || volumeOSDValue > 0 { self.writeDDCValues(command: .audioSpeakerVolume, value: self.convValueToDDC(for: .audioSpeakerVolume, from: volumeOSDValue)) } if !fromVolumeSlider { if !self.readPrefAsBool(key: .hideOsd) { OSDUtils.showOsd(displayID: self.identifier, command: volumeOSDValue > 0 ? .audioSpeakerVolume : .audioMuteScreenBlank, value: volumeOSDValue, roundChiclet: true) } if let slider = self.sliderHandler[.audioSpeakerVolume] { slider.setValue(volumeOSDValue) } } } func isSwOnly() -> Bool { (!self.arm64ddc && self.ddc == nil) || self.isVirtual || self.isDummy } func isSw() -> Bool { if prefs.bool(forKey: PrefKey.forceSw.rawValue + self.prefsId) || self.isSwOnly() { return true } else { return false } } let swAfterOsdAnimationSemaphore = DispatchSemaphore(value: 1) var lastAnimationStartedTime: CFTimeInterval = CACurrentMediaTime() func doSwAfterOsdAnimation() { self.lastAnimationStartedTime = CACurrentMediaTime() DispatchQueue.global(qos: .userInteractive).async { self.swAfterOsdAnimationSemaphore.wait() guard CACurrentMediaTime() < self.lastAnimationStartedTime + 0.05 else { self.swAfterOsdAnimationSemaphore.signal() return } for value: Int in stride(from: 1, to: 6, by: 1) { guard self.readPrefAsFloat(for: .brightness) <= self.combinedBrightnessSwitchingValue() else { self.swAfterOsdAnimationSemaphore.signal() return } OSDUtils.showOsd(displayID: self.identifier, command: .brightness, value: Float(value), maxValue: 100, roundChiclet: false) Thread.sleep(forTimeInterval: Double(value * 2) / 300) } for value: Int in stride(from: 5, to: 0, by: -1) { guard self.readPrefAsFloat(for: .brightness) <= self.combinedBrightnessSwitchingValue() else { self.swAfterOsdAnimationSemaphore.signal() return } OSDUtils.showOsd(displayID: self.identifier, command: .brightness, value: Float(value), maxValue: 100, roundChiclet: false) Thread.sleep(forTimeInterval: Double(value * 2) / 300) } OSDUtils.showOsd(displayID: self.identifier, command: .brightness, value: 0, roundChiclet: true) self.swAfterOsdAnimationSemaphore.signal() } } override func stepBrightness(isUp: Bool, isSmallIncrement: Bool) { if self.isSw() { super.stepBrightness(isUp: isUp, isSmallIncrement: isSmallIncrement) return } guard !self.readPrefAsBool(key: .unavailableDDC, for: .brightness) else { return } let currentValue = self.readPrefAsFloat(for: .brightness) var osdValue: Float = 1 if !prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue), prefs.bool(forKey: PrefKey.separateCombinedScale.rawValue) { osdValue = self.calcNewValue(currentValue: currentValue, isUp: isUp, isSmallIncrement: isSmallIncrement, half: true) _ = self.setBrightness(osdValue) if osdValue > self.combinedBrightnessSwitchingValue() { OSDUtils.showOsd(displayID: self.identifier, command: .brightness, value: osdValue - self.combinedBrightnessSwitchingValue(), maxValue: self.combinedBrightnessSwitchingValue(), roundChiclet: !isSmallIncrement) } else { self.doSwAfterOsdAnimation() } } else { osdValue = self.calcNewValue(currentValue: currentValue, isUp: isUp, isSmallIncrement: isSmallIncrement) _ = self.setBrightness(osdValue) OSDUtils.showOsd(displayID: self.identifier, command: .brightness, value: osdValue, roundChiclet: !isSmallIncrement) } if let slider = self.sliderHandler[.brightness] { slider.setValue(osdValue, displayID: self.identifier) self.brightnessSyncSourceValue = osdValue } } override func setBrightness(_ to: Float = -1, slow: Bool = false) -> Bool { self.checkGammaInterference() return super.setBrightness(to, slow: slow) } override func setDirectBrightness(_ to: Float, transient: Bool = false) -> Bool { let value = max(min(to, 1), 0) if !self.isSw() { if !prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue) { var brightnessValue: Float = 0 var brightnessSwValue: Float = 1 if value >= self.combinedBrightnessSwitchingValue() { brightnessValue = (value - self.combinedBrightnessSwitchingValue()) * (1 / (1 - self.combinedBrightnessSwitchingValue())) brightnessSwValue = 1 } else { brightnessValue = 0 brightnessSwValue = (value / self.combinedBrightnessSwitchingValue()) } self.writeDDCValues(command: .brightness, value: self.convValueToDDC(for: .brightness, from: brightnessValue)) if self.readPrefAsFloat(key: .SwBrightness) != brightnessSwValue { _ = self.setSwBrightness(brightnessSwValue) } } else { self.writeDDCValues(command: .brightness, value: self.convValueToDDC(for: .brightness, from: value)) } if !transient { self.savePref(value, for: .brightness) self.smoothBrightnessTransient = value } } else { _ = super.setDirectBrightness(to, transient: transient) } return true } override func getBrightness() -> Float { self.prefExists(for: .brightness) ? self.readPrefAsFloat(for: .brightness) : 1 } func getRemapControlCodes(command: Command) -> [UInt8] { let codes = self.readPrefAsString(key: PrefKey.remapDDC, for: command).components(separatedBy: ",") var intCodes: [UInt8] = [] for code in codes { let trimmedCode = code.trimmingCharacters(in: CharacterSet(charactersIn: " ")) if !trimmedCode.isEmpty, let intCode = UInt8(trimmedCode, radix: 16), intCode != 0 { intCodes.append(intCode) } } return intCodes } public func writeDDCValues(command: Command, value: UInt16) { guard app.sleepID == 0, app.reconfigureID == 0, !self.readPrefAsBool(key: .forceSw), !self.readPrefAsBool(key: .unavailableDDC, for: command) else { return } self.writeDDCQueue.async(flags: .barrier) { self.writeDDCNextValue[command] = value } DisplayManager.shared.globalDDCQueue.async(flags: .barrier) { self.asyncPerformWriteDDCValues(command: command) } } func asyncPerformWriteDDCValues(command: Command) { var value = UInt16.max var lastValue = UInt16.max self.writeDDCQueue.sync { value = self.writeDDCNextValue[command] ?? UInt16.max lastValue = self.writeDDCLastSavedValue[command] ?? UInt16.max } guard value != UInt16.max, value != lastValue else { return } self.writeDDCQueue.async(flags: .barrier) { self.writeDDCLastSavedValue[command] = value self.savePref(true, key: PrefKey.isTouched, for: command) } var controlCodes = self.getRemapControlCodes(command: command) if controlCodes.count == 0 { controlCodes.append(command.rawValue) } for controlCode in controlCodes { if Arm64DDC.isArm64 { if self.arm64ddc { _ = Arm64DDC.write(service: self.arm64avService, command: controlCode, value: value) } } else { _ = self.ddc?.write(command: controlCode, value: value, errorRecoveryWaitTime: 2000) ?? false } } } func readDDCValues(for command: Command, tries: UInt, minReplyDelay delay: UInt64?) -> (current: UInt16, max: UInt16)? { var values: (UInt16, UInt16)? guard app.sleepID == 0, app.reconfigureID == 0, !self.readPrefAsBool(key: .forceSw), !self.readPrefAsBool(key: .unavailableDDC, for: command) else { return values } let controlCodes = self.getRemapControlCodes(command: command) let controlCode = controlCodes.count == 0 ? command.rawValue : controlCodes[0] if Arm64DDC.isArm64 { guard self.arm64ddc else { return nil } DisplayManager.shared.globalDDCQueue.sync { if let unwrappedDelay = delay { values = Arm64DDC.read(service: self.arm64avService, command: controlCode, readSleepTime: UInt32(unwrappedDelay / 1000), numOfRetryAttemps: UInt8(min(tries, 255))) } else { values = Arm64DDC.read(service: self.arm64avService, command: controlCode, numOfRetryAttemps: UInt8(min(tries, 255))) } } } else { DisplayManager.shared.globalDDCQueue.sync { values = self.ddc?.read(command: controlCode, tries: tries, minReplyDelay: delay) } } return values } func calcNewValue(currentValue: Float, isUp: Bool, isSmallIncrement: Bool, half: Bool = false) -> Float { let nextValue: Float if isSmallIncrement { nextValue = currentValue + (isUp ? 0.01 : -0.01) } else { let osdChicletFromValue = OSDUtils.chiclet(fromValue: currentValue, maxValue: 1, half: half) let distance = OSDUtils.getDistance(fromNearestChiclet: osdChicletFromValue) var nextFilledChiclet = isUp ? ceil(osdChicletFromValue) : floor(osdChicletFromValue) let distanceThreshold: Float = 0.25 // 25% of the distance between the edges of an osd box if distance == 0 { nextFilledChiclet += (isUp ? 1 : -1) } else if !isUp, distance < distanceThreshold { nextFilledChiclet -= 1 } else if isUp, distance > (1 - distanceThreshold) { nextFilledChiclet += 1 } nextValue = OSDUtils.value(fromChiclet: nextFilledChiclet, maxValue: 1, half: half) } return max(0, min(1, nextValue)) } func getCurveMultiplier(_ curveDDC: Int) -> Float { switch curveDDC { case 1: return 0.6 case 2: return 0.7 case 3: return 0.8 case 4: return 0.9 case 6: return 1.3 case 7: return 1.5 case 8: return 1.7 case 9: return 1.88 default: return 1.0 } } func convValueToDDC(for command: Command, from: Float) -> UInt16 { var value = from if self.readPrefAsBool(key: .invertDDC, for: command) { value = 1 - value } let curveMultiplier = self.getCurveMultiplier(self.readPrefAsInt(key: .curveDDC, for: command)) let minDDCValue = Float(self.readPrefAsInt(key: .minDDCOverride, for: command)) let maxDDCValue = Float(self.readPrefAsInt(key: .maxDDC, for: command)) let curvedValue = pow(max(min(value, 1), 0), curveMultiplier) let deNormalizedValue = (maxDDCValue - minDDCValue) * curvedValue + minDDCValue var intDDCValue = UInt16(min(max(deNormalizedValue, minDDCValue), maxDDCValue)) if from > 0, command == Command.audioSpeakerVolume { intDDCValue = max(1, intDDCValue) // Never let sound to mute accidentally, keep it digitally to at digital 1 if needed as muting breaks some displays } return intDDCValue } func convDDCToValue(for command: Command, from: UInt16) -> Float { let curveMultiplier = self.getCurveMultiplier(self.readPrefAsInt(key: .curveDDC, for: command)) let minDDCValue = Float(self.readPrefAsInt(key: .minDDCOverride, for: command)) let maxDDCValue = Float(self.readPrefAsInt(key: .maxDDC, for: command)) let normalizedValue = ((min(max(Float(from), minDDCValue), maxDDCValue) - minDDCValue) / (maxDDCValue - minDDCValue)) let deCurvedValue = pow(normalizedValue, 1.0 / curveMultiplier) var value = deCurvedValue if self.readPrefAsBool(key: .invertDDC, for: command) { value = 1 - value } return max(min(value, 1), 0) } func combinedBrightnessSwitchingValue() -> Float { Float(self.readPrefAsInt(key: .combinedBrightnessSwitchingPoint) + 8) / 16 } } ================================================ FILE: MonitorControl/MonitorControl.entitlements ================================================ com.apple.security.cs.allow-jit ================================================ FILE: MonitorControl/MonitorControlDebug.entitlements ================================================ com.apple.security.cs.disable-library-validation ================================================ FILE: MonitorControl/Support/AppDelegate.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import AVFoundation import Cocoa import Foundation import MediaKeyTap import os.log import ServiceManagement import Settings import SimplyCoreAudio import Sparkle class AppDelegate: NSObject, NSApplicationDelegate { let statusItem: NSStatusItem = { let item = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) item.behavior = .removalAllowed return item }() var mediaKeyTap = MediaKeyTapManager() var keyboardShortcuts = KeyboardShortcutsManager() let coreAudio = SimplyCoreAudio() var accessibilityObserver: NSObjectProtocol! var statusItemObserver: NSObjectProtocol! var statusItemVisibilityChangedByUser = true var reconfigureID: Int = 0 // dispatched reconfigure command ID var sleepID: Int = 0 // sleep event ID var safeMode = false var jobRunning = false var startupActionWriteCounter: Int = 0 var audioPlayer: AVAudioPlayer? let updaterController = SPUStandardUpdaterController(startingUpdater: false, updaterDelegate: UpdaterDelegate(), userDriverDelegate: nil) var settingsPaneStyle: Settings.Style { if !DEBUG_MACOS10, #available(macOS 11.0, *) { return Settings.Style.toolbarItems } else { return Settings.Style.segmentedControl } } lazy var settingsWindowController: SettingsWindowController = .init( panes: [ mainPrefsVc!, menuslidersPrefsVc!, keyboardPrefsVc!, displaysPrefsVc!, aboutPrefsVc!, ], style: self.settingsPaneStyle, animated: true ) func applicationDidFinishLaunching(_: Notification) { app = self self.subscribeEventListeners() self.showSafeModeAlertIfNeeded() if !prefs.bool(forKey: PrefKey.appAlreadyLaunched.rawValue) { self.showOnboardingWindow() } else { self.checkPermissions() } self.setPrefsBuildNumber() self.setDefaultPrefs() self.setMenu() CGDisplayRegisterReconfigurationCallback({ _, _, _ in app.displayReconfigured() }, nil) self.configure(firstrun: true) DisplayManager.shared.createGammaActivityEnforcer() self.updaterController.startUpdater() } @objc func quitClicked(_: AnyObject) { os_log("Quit clicked", type: .info) menu.closeMenu() DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { NSApplication.shared.terminate(self) } } @objc func prefsClicked(_: AnyObject) { os_log("Settings clicked", type: .info) self.settingsWindowController.show() } func applicationShouldHandleReopen(_: NSApplication, hasVisibleWindows _: Bool) -> Bool { app.prefsClicked(self) return true } func applicationWillTerminate(_: Notification) { os_log("Goodbye!", type: .info) DisplayManager.shared.resetSwBrightnessForAllDisplays(noPrefSave: true) self.updateStatusItemVisibility(true) } private func setPrefsBuildNumber() { let currentBuildNumber = Int(Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as? String ?? "1") ?? 1 let previousBuildNumber: Int = (Int(prefs.string(forKey: PrefKey.buildNumber.rawValue) ?? "0") ?? 0) if self.safeMode || ((previousBuildNumber < MIN_PREVIOUS_BUILD_NUMBER) && previousBuildNumber > 0) || (previousBuildNumber > currentBuildNumber), let bundleID = Bundle.main.bundleIdentifier { if !self.safeMode { let alert = NSAlert() alert.messageText = NSLocalizedString("Incompatible previous version", comment: "Shown in the alert dialog") alert.informativeText = NSLocalizedString("Settings for an incompatible previous app version detected. Default settings are reloaded.", comment: "Shown in the alert dialog") alert.runModal() } prefs.removePersistentDomain(forName: bundleID) } prefs.set(currentBuildNumber, forKey: PrefKey.buildNumber.rawValue) } func setDefaultPrefs() { if !prefs.bool(forKey: PrefKey.appAlreadyLaunched.rawValue) { // Only settings that are not false, 0 or "" by default are set here. Assumes pre-wiped database. prefs.set(true, forKey: PrefKey.appAlreadyLaunched.rawValue) prefs.set(true, forKey: PrefKey.SUEnableAutomaticChecks.rawValue) } } @objc func displayReconfigured() { DisplayManager.shared.resetSwBrightnessForAllDisplays(noPrefSave: true) CGDisplayRestoreColorSyncSettings() self.reconfigureID += 1 self.updateMediaKeyTap() os_log("Bumping reconfigureID to %{public}@", type: .info, String(self.reconfigureID)) _ = DisplayManager.shared.destroyAllShades() if self.sleepID == 0 { let dispatchedReconfigureID = self.reconfigureID os_log("Display to be reconfigured with reconfigureID %{public}@", type: .info, String(dispatchedReconfigureID)) DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { self.configure(dispatchedReconfigureID: dispatchedReconfigureID) } } } func configure(dispatchedReconfigureID: Int = 0, firstrun: Bool = false) { guard self.sleepID == 0, dispatchedReconfigureID == self.reconfigureID else { return } os_log("Request for configuration with reconfigreID %{public}@", type: .info, String(dispatchedReconfigureID)) self.reconfigureID = 0 DisplayManager.shared.gammaInterferenceCounter = 0 DisplayManager.shared.configureDisplays() DisplayManager.shared.addDisplayCounterSuffixes() DisplayManager.shared.updateArm64AVServices() if firstrun && prefs.integer(forKey: PrefKey.startupAction.rawValue) != StartupAction.write.rawValue { DisplayManager.shared.resetSwBrightnessForAllDisplays(prefsOnly: true) } DisplayManager.shared.setupOtherDisplays(firstrun: firstrun) self.updateMenusAndKeys() if !firstrun || prefs.integer(forKey: PrefKey.startupAction.rawValue) == StartupAction.write.rawValue { if !prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue) { DisplayManager.shared.restoreSwBrightnessForAllDisplays(async: !prefs.bool(forKey: PrefKey.disableSmoothBrightness.rawValue)) } } displaysPrefsVc?.loadDisplayList() self.job(start: true) } func updateMenusAndKeys() { menu.updateMenus() self.updateMediaKeyTap() } func checkPermissions(firstAsk: Bool = false) { let permissionsRequired: Bool = [KeyboardVolume.media.rawValue, KeyboardVolume.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardVolume.rawValue)) || [KeyboardBrightness.media.rawValue, KeyboardBrightness.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardBrightness.rawValue)) if !MediaKeyTapManager.readPrivileges(prompt: false), permissionsRequired { MediaKeyTapManager.acquirePrivileges(firstAsk: firstAsk) } } private func subscribeEventListeners() { NotificationCenter.default.addObserver(self, selector: #selector(self.audioDeviceChanged), name: Notification.Name.defaultOutputDeviceChanged, object: nil) // subscribe Audio output detector (SimplyCoreAudio) DistributedNotificationCenter.default.addObserver(self, selector: #selector(self.displayReconfigured), name: NSNotification.Name(rawValue: kColorSyncDisplayDeviceProfilesNotification.takeRetainedValue() as String), object: nil) // ColorSync change NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(self.sleepNotification), name: NSWorkspace.screensDidSleepNotification, object: nil) // sleep and wake listeners NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(self.wakeNotification), name: NSWorkspace.screensDidWakeNotification, object: nil) NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(self.sleepNotification), name: NSWorkspace.willSleepNotification, object: nil) NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(self.wakeNotification), name: NSWorkspace.didWakeNotification, object: nil) _ = DistributedNotificationCenter.default().addObserver(forName: NSNotification.Name(rawValue: NSNotification.Name.accessibilityApi.rawValue), object: nil, queue: nil) { _ in DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { self.updateMediaKeyTap() } } // listen for accessibility status changes self.statusItemObserver = statusItem.observe(\.isVisible, options: [.old, .new]) { _, _ in self.statusItemVisibilityChanged() } } @objc private func sleepNotification() { self.sleepID += 1 os_log("Sleeping with sleep %{public}@", type: .info, String(self.sleepID)) self.updateMediaKeyTap() } @objc private func wakeNotification() { if self.sleepID != 0 { os_log("Waking up from sleep %{public}@", type: .info, String(self.sleepID)) let dispatchedSleepID = self.sleepID DispatchQueue.main.asyncAfter(deadline: .now() + 3.0) { // Some displays take time to recover... self.soberNow(dispatchedSleepID: dispatchedSleepID) } } } private func soberNow(dispatchedSleepID: Int) { if self.sleepID == dispatchedSleepID { os_log("Sober from sleep %{public}@", type: .info, String(self.sleepID)) self.sleepID = 0 if self.reconfigureID != 0 { let dispatchedReconfigureID = self.reconfigureID os_log("Displays need reconfig after sober with reconfigureID %{public}@", type: .info, String(dispatchedReconfigureID)) self.configure(dispatchedReconfigureID: dispatchedReconfigureID) } else if Arm64DDC.isArm64 { os_log("Displays don't need reconfig after sober but might need AVServices update", type: .info) DisplayManager.shared.updateArm64AVServices() self.job(start: true) } self.startupActionWriteRepeatAfterSober() self.updateMediaKeyTap() } } private func startupActionWriteRepeatAfterSober(dispatchedCounter: Int = 0) { let counter = dispatchedCounter == 0 ? 10 : dispatchedCounter self.startupActionWriteCounter = dispatchedCounter == 0 ? counter : self.startupActionWriteCounter guard prefs.integer(forKey: PrefKey.startupAction.rawValue) == StartupAction.write.rawValue, self.startupActionWriteCounter == counter else { return } os_log("Sober write action repeat for DDC - %{public}@", type: .info, String(counter)) DisplayManager.shared.restoreOtherDisplays() self.startupActionWriteCounter = counter - 1 if counter > 1 { DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { self.startupActionWriteRepeatAfterSober(dispatchedCounter: counter - 1) } } } private func job(start: Bool = false) { guard !(self.jobRunning && start) else { return } if self.sleepID == 0, self.reconfigureID == 0 { if !self.jobRunning { os_log("MonitorControl job started.", type: .info) self.jobRunning = true } var refreshedSomething = false for display in DisplayManager.shared.displays { let delta = display.refreshBrightness() if delta != 0 { refreshedSomething = true if prefs.bool(forKey: PrefKey.enableBrightnessSync.rawValue) { for targetDisplay in DisplayManager.shared.displays where targetDisplay != display { os_log("Updating delta from display %{public}@ to display %{public}@", type: .info, String(display.identifier), String(targetDisplay.identifier)) let newValue = max(0, min(1, targetDisplay.getBrightness() + delta)) _ = targetDisplay.setBrightness(newValue) if let slider = targetDisplay.sliderHandler[.brightness] { slider.setValue(newValue, displayID: targetDisplay.identifier) } } } } } let nextRefresh = refreshedSomething ? 0.1 : 1.0 DispatchQueue.main.asyncAfter(deadline: .now() + nextRefresh) { self.job() } } else { self.jobRunning = false os_log("MonitorControl job died because of sleep or reconfiguration.", type: .info) } } func handleListenForChanged() { self.checkPermissions() self.updateMediaKeyTap() } func settingsReset() { os_log("Resetting all settings.") if !prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue) { DisplayManager.shared.resetSwBrightnessForAllDisplays(async: false) } if let bundleID = Bundle.main.bundleIdentifier { prefs.removePersistentDomain(forName: bundleID) } app.updateStatusItemVisibility(true) self.setDefaultPrefs() self.checkPermissions() self.updateMediaKeyTap() self.configure(firstrun: true) } @objc func audioDeviceChanged() { if let defaultDevice = self.coreAudio.defaultOutputDevice { os_log("Default output device changed to “%{public}@”.", type: .info, defaultDevice.name) os_log("Can device set its own volume? %{public}@", type: .info, defaultDevice.canSetVirtualMainVolume(scope: .output).description) } self.updateMediaKeyTap() } func updateMediaKeyTap() { MediaKeyTap.useAlternateBrightnessKeys = !prefs.bool(forKey: PrefKey.disableAltBrightnessKeys.rawValue) self.mediaKeyTap.updateMediaKeyTap() } func setStartAtLogin(enabled: Bool) { let identifier = "\(Bundle.main.bundleIdentifier!)Helper" as CFString SMLoginItemSetEnabled(identifier, enabled) } func getSystemSettings() -> [String: AnyObject]? { var propertyListFormat = PropertyListSerialization.PropertyListFormat.xml let plistPath = NSString(string: "~/Library/Preferences/.GlobalPreferences.plist").expandingTildeInPath guard let plistXML = FileManager.default.contents(atPath: plistPath) else { return nil } do { return try PropertyListSerialization.propertyList(from: plistXML, options: .mutableContainersAndLeaves, format: &propertyListFormat) as? [String: AnyObject] } catch { os_log("Error reading system prefs plist: %{public}@", type: .info, error.localizedDescription) return nil } } func macOS10() -> Bool { if !DEBUG_MACOS10, #available(macOS 11.0, *) { return false } else { return true } } func playVolumeChangedSound() { guard let settings = app.getSystemSettings(), let hasSoundEnabled = settings["com.apple.sound.beep.feedback"] as? Int, hasSoundEnabled == 1 else { return } do { self.audioPlayer = try AVAudioPlayer(contentsOf: URL(fileURLWithPath: "/System/Library/LoginPlugins/BezelServices.loginPlugin/Contents/Resources/volume.aiff")) self.audioPlayer?.volume = 1 self.audioPlayer?.play() } catch { os_log("%{public}@", type: .error, error.localizedDescription) } } private func setMenu() { menu = MenuHandler() menu.delegate = menu self.statusItem.button?.image = NSImage(named: "status") self.statusItem.menu = menu } private func showSafeModeAlertIfNeeded() { if NSEvent.modifierFlags.contains(NSEvent.ModifierFlags.shift) { self.safeMode = true let alert = NSAlert() alert.messageText = NSLocalizedString("Safe Mode Activated", comment: "Shown in the alert dialog") alert.informativeText = NSLocalizedString("Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked.", comment: "Shown in the alert dialog") alert.runModal() } } private func showOnboardingWindow() { onboardingVc?.showWindow(self) onboardingVc?.window?.center() NSApp.activate(ignoringOtherApps: true) } private func statusItemVisibilityChanged() { if !self.statusItem.isVisible, self.statusItemVisibilityChangedByUser { prefs.set(MenuIcon.hide.rawValue, forKey: PrefKey.menuIcon.rawValue) } } func updateStatusItemVisibility(_ visible: Bool) { statusItemVisibilityChangedByUser = false statusItem.isVisible = visible statusItemVisibilityChangedByUser = true } } ================================================ FILE: MonitorControl/Support/Arm64DDC.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Foundation import IOKit let ARM64_DDC_7BIT_ADDRESS: UInt8 = 0x37 // This works with DisplayPort devices let ARM64_DDC_DATA_ADDRESS: UInt8 = 0x51 class Arm64DDC: NSObject { #if arch(arm64) public static let isArm64: Bool = true #else public static let isArm64: Bool = false #endif static let MAX_MATCH_SCORE: Int = 20 struct IOregService { var edidUUID: String = "" var manufacturerID: String = "" var productName: String = "" var serialNumber: Int64 = 0 var alphanumericSerialNumber: String = "" var location: String = "" var ioDisplayLocation: String = "" var transportUpstream: String = "" var transportDownstream: String = "" var service: IOAVService? var serviceLocation: Int = 0 var displayAttributes: NSDictionary? } struct Arm64Service { var displayID: CGDirectDisplayID = 0 var service: IOAVService? var serviceLocation: Int = 0 var discouraged: Bool = false var dummy: Bool = false var serviceDetails: IOregService var matchScore: Int = 0 } static func getServiceMatches(displayIDs: [CGDirectDisplayID]) -> [Arm64Service] { let ioregServicesForMatching = self.getIoregServicesForMatching() var matchedDisplayServices: [Arm64Service] = [] var scoredCandidateDisplayServices: [Int: [Arm64Service]] = [:] for displayID in displayIDs { for ioregServiceForMatching in ioregServicesForMatching { let score = self.ioregMatchScore(displayID: displayID, ioregEdidUUID: ioregServiceForMatching.edidUUID, ioDisplayLocation: ioregServiceForMatching.ioDisplayLocation, ioregProductName: ioregServiceForMatching.productName, ioregSerialNumber: ioregServiceForMatching.serialNumber, serviceLocation: ioregServiceForMatching.serviceLocation) let discouraged = self.checkIfDiscouraged(ioregService: ioregServiceForMatching) let dummy = self.checkIfDummy(ioregService: ioregServiceForMatching) let displayService = Arm64Service(displayID: displayID, service: ioregServiceForMatching.service, serviceLocation: ioregServiceForMatching.serviceLocation, discouraged: discouraged, dummy: dummy, serviceDetails: ioregServiceForMatching, matchScore: score) if scoredCandidateDisplayServices[score] == nil { scoredCandidateDisplayServices[score] = [] } scoredCandidateDisplayServices[score]?.append(displayService) } } var takenServiceLocations: [Int] = [] var takenDisplayIDs: [CGDirectDisplayID] = [] for score in stride(from: self.MAX_MATCH_SCORE, to: 0, by: -1) { if let scoredCandidateDisplayService = scoredCandidateDisplayServices[score] { for candidateDisplayService in scoredCandidateDisplayService where !(takenDisplayIDs.contains(candidateDisplayService.displayID) || takenServiceLocations.contains(candidateDisplayService.serviceLocation)) { takenDisplayIDs.append(candidateDisplayService.displayID) takenServiceLocations.append(candidateDisplayService.serviceLocation) matchedDisplayServices.append(candidateDisplayService) } } } return matchedDisplayServices } static func read(service: IOAVService?, command: UInt8, writeSleepTime: UInt32? = nil, numOfWriteCycles: UInt8? = nil, readSleepTime: UInt32? = nil, numOfRetryAttemps: UInt8? = nil, retrySleepTime: UInt32? = nil) -> (current: UInt16, max: UInt16)? { var values: (UInt16, UInt16)? var send: [UInt8] = [command] var reply = [UInt8](repeating: 0, count: 11) if Self.performDDCCommunication(service: service, send: &send, reply: &reply, writeSleepTime: writeSleepTime, numOfWriteCycles: numOfWriteCycles, readSleepTime: readSleepTime, numOfRetryAttemps: numOfRetryAttemps, retrySleepTime: retrySleepTime) { let max = UInt16(reply[6]) * 256 + UInt16(reply[7]) let current = UInt16(reply[8]) * 256 + UInt16(reply[9]) values = (current, max) } else { values = nil } return values } static func write(service: IOAVService?, command: UInt8, value: UInt16, writeSleepTime: UInt32? = nil, numOfWriteCycles: UInt8? = nil, numOfRetryAttemps: UInt8? = nil, retrySleepTime: UInt32? = nil) -> Bool { var send: [UInt8] = [command, UInt8(value >> 8), UInt8(value & 255)] var reply: [UInt8] = [] return Self.performDDCCommunication(service: service, send: &send, reply: &reply, writeSleepTime: writeSleepTime, numOfWriteCycles: numOfWriteCycles, numOfRetryAttemps: numOfRetryAttemps, retrySleepTime: retrySleepTime) } static func performDDCCommunication(service: IOAVService?, send: inout [UInt8], reply: inout [UInt8], writeSleepTime: UInt32? = nil, numOfWriteCycles: UInt8? = nil, readSleepTime: UInt32? = nil, numOfRetryAttemps: UInt8? = nil, retrySleepTime: UInt32? = nil) -> Bool { let dataAddress = ARM64_DDC_DATA_ADDRESS var success = false guard service != nil else { return success } var packet: [UInt8] = [UInt8(0x80 | (send.count + 1)), UInt8(send.count)] + send + [0] // Note: the last byte is the place of the checksum, see next line! packet[packet.count - 1] = self.checksum(chk: send.count == 1 ? ARM64_DDC_7BIT_ADDRESS << 1 : ARM64_DDC_7BIT_ADDRESS << 1 ^ dataAddress, data: &packet, start: 0, end: packet.count - 2) for _ in 1 ... (numOfRetryAttemps ?? 4) + 1 { for _ in 1 ... max((numOfWriteCycles ?? 2) + 0, 1) { usleep(writeSleepTime ?? 10000) success = IOAVServiceWriteI2C(service, UInt32(ARM64_DDC_7BIT_ADDRESS), UInt32(dataAddress), &packet, UInt32(packet.count)) == 0 } if !reply.isEmpty { usleep(readSleepTime ?? 50000) if IOAVServiceReadI2C(service, UInt32(ARM64_DDC_7BIT_ADDRESS), 0, &reply, UInt32(reply.count)) == 0 { success = self.checksum(chk: 0x50, data: &reply, start: 0, end: reply.count - 2) == reply[reply.count - 1] } } if success { return success } usleep(retrySleepTime ?? 20000) } return success } // DDC checksum calculator static func checksum(chk: UInt8, data: inout [UInt8], start: Int, end: Int) -> UInt8 { var chkd: UInt8 = chk for i in start ... end { chkd ^= data[i] } return chkd } static func ioregMatchScore(displayID: CGDirectDisplayID, ioregEdidUUID: String, ioDisplayLocation: String = "", ioregProductName: String = "", ioregSerialNumber: Int64 = 0, serviceLocation _: Int = 0) -> Int { var matchScore = 0 if let dictionary = CoreDisplay_DisplayCreateInfoDictionary(displayID)?.takeRetainedValue() as NSDictionary? { if let kDisplayYearOfManufacture = dictionary[kDisplayYearOfManufacture] as? Int64, let kDisplayWeekOfManufacture = dictionary[kDisplayWeekOfManufacture] as? Int64, let kDisplayVendorID = dictionary[kDisplayVendorID] as? Int64, let kDisplayProductID = dictionary[kDisplayProductID] as? Int64, let kDisplayVerticalImageSize = dictionary[kDisplayVerticalImageSize] as? Int64, let kDisplayHorizontalImageSize = dictionary[kDisplayHorizontalImageSize] as? Int64 { struct KeyLoc { var key: String var loc: Int } let edidUUIDSearchKeys: [KeyLoc] = [ // Vendor ID KeyLoc(key: String(format: "%04x", UInt16(max(0, min(kDisplayVendorID, 256 * 256 - 1)))).uppercased(), loc: 0), // Product ID KeyLoc(key: String(format: "%02x", UInt8((UInt16(max(0, min(kDisplayProductID, 256 * 256 - 1))) >> (0 * 8)) & 0xFF)).uppercased() + String(format: "%02x", UInt8((UInt16(max(0, min(kDisplayProductID, 256 * 256 - 1))) >> (1 * 8)) & 0xFF)).uppercased(), loc: 4), // Manufacture date KeyLoc(key: String(format: "%02x", UInt8(max(0, min(kDisplayWeekOfManufacture, 256 - 1)))).uppercased() + String(format: "%02x", UInt8(max(0, min(kDisplayYearOfManufacture - 1990, 256 - 1)))).uppercased(), loc: 19), // Image size KeyLoc(key: String(format: "%02x", UInt8(max(0, min(kDisplayHorizontalImageSize / 10, 256 - 1)))).uppercased() + String(format: "%02x", UInt8(max(0, min(kDisplayVerticalImageSize / 10, 256 - 1)))).uppercased(), loc: 30), ] for searchKey in edidUUIDSearchKeys where searchKey.key != "0000" && searchKey.key == ioregEdidUUID.prefix(searchKey.loc + 4).suffix(4) { matchScore += 1 } } if ioDisplayLocation != "", let kIODisplayLocation = dictionary[kIODisplayLocationKey] as? String, ioDisplayLocation == kIODisplayLocation { matchScore += 10 } if ioregProductName != "", let nameList = dictionary["DisplayProductName"] as? [String: String], let name = nameList["en_US"] ?? nameList.first?.value, name.lowercased() == ioregProductName.lowercased() { matchScore += 1 } if ioregSerialNumber != 0, let serial = dictionary[kDisplaySerialNumber] as? Int64, serial == ioregSerialNumber { matchScore += 1 } } return matchScore } static func ioregIterateToNextObjectOfInterest(interests: [String], iterator: inout io_iterator_t) -> (name: String, entry: io_service_t, preceedingEntry: io_service_t)? { var entry: io_service_t = IO_OBJECT_NULL var preceedingEntry: io_service_t = IO_OBJECT_NULL let name = UnsafeMutablePointer.allocate(capacity: MemoryLayout.size) defer { name.deallocate() } while true { preceedingEntry = entry entry = IOIteratorNext(iterator) guard IORegistryEntryGetName(entry, name) == KERN_SUCCESS, entry != MACH_PORT_NULL else { break } let nameString = String(cString: name) for interest in interests where entry != IO_OBJECT_NULL && nameString.contains(interest) { return (nameString, entry, preceedingEntry) } } return nil } static func getIORegServiceAppleCDC2Properties(entry: io_service_t) -> IOregService { var ioregService = IOregService() if let unmanagedEdidUUID = IORegistryEntryCreateCFProperty(entry, "EDID UUID" as CFString, kCFAllocatorDefault, IOOptionBits(kIORegistryIterateRecursively)), let edidUUID = unmanagedEdidUUID.takeRetainedValue() as? String { ioregService.edidUUID = edidUUID } let cpath = UnsafeMutablePointer.allocate(capacity: MemoryLayout.size) IORegistryEntryGetPath(entry, kIOServicePlane, cpath) ioregService.ioDisplayLocation = String(cString: cpath) if let unmanagedDisplayAttrs = IORegistryEntryCreateCFProperty(entry, "DisplayAttributes" as CFString, kCFAllocatorDefault, IOOptionBits(kIORegistryIterateRecursively)), let displayAttrs = unmanagedDisplayAttrs.takeRetainedValue() as? NSDictionary { ioregService.displayAttributes = displayAttrs if let productAttrs = displayAttrs.value(forKey: "ProductAttributes") as? NSDictionary { if let manufacturerID = productAttrs.value(forKey: "ManufacturerID") as? String { ioregService.manufacturerID = manufacturerID } if let productName = productAttrs.value(forKey: "ProductName") as? String { ioregService.productName = productName } if let serialNumber = productAttrs.value(forKey: "SerialNumber") as? Int64 { ioregService.serialNumber = serialNumber } if let alphanumericSerialNumber = productAttrs.value(forKey: "AlphanumericSerialNumber") as? String { ioregService.alphanumericSerialNumber = alphanumericSerialNumber } } } if let unmanagedTransport = IORegistryEntryCreateCFProperty(entry, "Transport" as CFString, kCFAllocatorDefault, IOOptionBits(kIORegistryIterateRecursively)), let transport = unmanagedTransport.takeRetainedValue() as? NSDictionary { if let upstream = transport.value(forKey: "Upstream") as? String { ioregService.transportUpstream = upstream } if let downstream = transport.value(forKey: "Downstream") as? String { ioregService.transportDownstream = downstream } } return ioregService } static func setIORegServiceDCPAVServiceProxy(entry: io_service_t, ioregService: inout IOregService) { if let unmanagedLocation = IORegistryEntryCreateCFProperty(entry, "Location" as CFString, kCFAllocatorDefault, IOOptionBits(kIORegistryIterateRecursively)), let location = unmanagedLocation.takeRetainedValue() as? String { ioregService.location = location if location == "External" { ioregService.service = IOAVServiceCreateWithService(kCFAllocatorDefault, entry)?.takeRetainedValue() as IOAVService } } } static func getIoregServicesForMatching() -> [IOregService] { var serviceLocation = 0 var ioregServicesForMatching: [IOregService] = [] let ioregRoot: io_registry_entry_t = IORegistryGetRootEntry(kIOMasterPortDefault) defer { IOObjectRelease(ioregRoot) } var iterator = io_iterator_t() defer { IOObjectRelease(iterator) } var ioregService = IOregService() guard IORegistryEntryCreateIterator(ioregRoot, "IOService", IOOptionBits(kIORegistryIterateRecursively), &iterator) == KERN_SUCCESS else { return ioregServicesForMatching } let keyDCPAVServiceProxy = "DCPAVServiceProxy" let keysFramebuffer = ["AppleCLCD2", "IOMobileFramebufferShim"] while true { guard let objectOfInterest = ioregIterateToNextObjectOfInterest(interests: [keyDCPAVServiceProxy] + keysFramebuffer, iterator: &iterator) else { break } if keysFramebuffer.contains(objectOfInterest.name) { ioregService = self.getIORegServiceAppleCDC2Properties(entry: objectOfInterest.entry) serviceLocation += 1 ioregService.serviceLocation = serviceLocation } else if objectOfInterest.name == keyDCPAVServiceProxy { self.setIORegServiceDCPAVServiceProxy(entry: objectOfInterest.entry, ioregService: &ioregService) ioregServicesForMatching.append(ioregService) } } return ioregServicesForMatching } static func checkIfDummy(ioregService: IOregService) -> Bool { if ioregService.manufacturerID == "AOC", ioregService.productName == "28E850" { return true } return false } static func checkIfDiscouraged(ioregService _: IOregService) -> Bool { false } } ================================================ FILE: MonitorControl/Support/Bridging-Header.h ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others #pragma once #import #import #import typedef CFTypeRef IOAVService; extern IOAVService IOAVServiceCreate(CFAllocatorRef allocator); extern IOAVService IOAVServiceCreateWithService(CFAllocatorRef allocator, io_service_t service); extern IOReturn IOAVServiceReadI2C(IOAVService service, uint32_t chipAddress, uint32_t offset, void* outputBuffer, uint32_t outputBufferSize); extern IOReturn IOAVServiceWriteI2C(IOAVService service, uint32_t chipAddress, uint32_t dataAddress, void* inputBuffer, uint32_t inputBufferSize); extern CFDictionaryRef CoreDisplay_DisplayCreateInfoDictionary(CGDirectDisplayID); extern int DisplayServicesGetBrightness(CGDirectDisplayID display, float *brightness); extern int DisplayServicesSetBrightness(CGDirectDisplayID display, float brightness); extern int DisplayServicesGetLinearBrightness(CGDirectDisplayID display, float *brightness); extern int DisplayServicesSetLinearBrightness(CGDirectDisplayID display, float brightness); extern void CGSServiceForDisplayNumber(CGDirectDisplayID display, io_service_t* service); bool CGSIsHDREnabled(CGDirectDisplayID display) __attribute__((weak_import)); bool CGSIsHDRSupported(CGDirectDisplayID display) __attribute__((weak_import)); @class NSString; @protocol OSDUIHelperProtocol - (void)showFullScreenImage:(long long)arg1 onDisplayID:(unsigned int)arg2 priority:(unsigned int)arg3 msecToAnimate:(unsigned int)arg4; - (void)fadeClassicImageOnDisplay:(unsigned int)arg1; - (void)showImageAtPath:(NSString *)arg1 onDisplayID:(unsigned int)arg2 priority:(unsigned int)arg3 msecUntilFade:(unsigned int)arg4 withText:(NSString *)arg5; - (void)showImage:(long long)arg1 onDisplayID:(unsigned int)arg2 priority:(unsigned int)arg3 msecUntilFade:(unsigned int)arg4 filledChiclets:(unsigned int)arg5 totalChiclets:(unsigned int)arg6 locked:(BOOL)arg7; - (void)showImage:(long long)arg1 onDisplayID:(unsigned int)arg2 priority:(unsigned int)arg3 msecUntilFade:(unsigned int)arg4 withText:(NSString *)arg5; - (void)showImage:(long long)arg1 onDisplayID:(unsigned int)arg2 priority:(unsigned int)arg3 msecUntilFade:(unsigned int)arg4; @end @class NSXPCConnection; @interface OSDManager : NSObject { id _proxyObject; NSXPCConnection *connection; } + (id)sharedManager; @property(retain) NSXPCConnection *connection; // @synthesize connection; - (void)showFullScreenImage:(long long)arg1 onDisplayID:(unsigned int)arg2 priority:(unsigned int)arg3 msecToAnimate:(unsigned int)arg4; - (void)fadeClassicImageOnDisplay:(unsigned int)arg1; - (void)showImageAtPath:(id)arg1 onDisplayID:(unsigned int)arg2 priority:(unsigned int)arg3 msecUntilFade:(unsigned int)arg4 withText:(id)arg5; - (void)showImage:(long long)arg1 onDisplayID:(unsigned int)arg2 priority:(unsigned int)arg3 msecUntilFade:(unsigned int)arg4 filledChiclets:(unsigned int)arg5 totalChiclets:(unsigned int)arg6 locked:(BOOL)arg7; - (void)showImage:(long long)arg1 onDisplayID:(unsigned int)arg2 priority:(unsigned int)arg3 msecUntilFade:(unsigned int)arg4 withText:(id)arg5; - (void)showImage:(long long)arg1 onDisplayID:(unsigned int)arg2 priority:(unsigned int)arg3 msecUntilFade:(unsigned int)arg4; @property(readonly) id remoteObjectProxy; // @dynamic remoteObjectProxy; @end ================================================ FILE: MonitorControl/Support/DisplayManager.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import CoreGraphics import os.log class DisplayManager { public static let shared = DisplayManager() var displays: [Display] = [] var audioControlTargetDisplays: [OtherDisplay] = [] let globalDDCQueue = DispatchQueue(label: "Global DDC queue") let gammaActivityEnforcer = NSWindow(contentRect: .init(origin: NSPoint(x: 0, y: 0), size: .init(width: DEBUG_GAMMA_ENFORCER ? 15 : 1, height: DEBUG_GAMMA_ENFORCER ? 15 : 1)), styleMask: [], backing: .buffered, defer: false) var gammaInterferenceCounter = 0 var gammaInterferenceWarningShown = false func createGammaActivityEnforcer() { self.gammaActivityEnforcer.title = "Monitor Control Gamma Activity Enforcer" self.gammaActivityEnforcer.isMovableByWindowBackground = false self.gammaActivityEnforcer.backgroundColor = DEBUG_GAMMA_ENFORCER ? .red : .black self.gammaActivityEnforcer.alphaValue = 1 * (DEBUG_GAMMA_ENFORCER ? 0.5 : 0.01) self.gammaActivityEnforcer.ignoresMouseEvents = true self.gammaActivityEnforcer.level = .screenSaver self.gammaActivityEnforcer.orderFrontRegardless() self.gammaActivityEnforcer.collectionBehavior = [.stationary, .canJoinAllSpaces] os_log("Gamma activity enforcer created.", type: .info) } func enforceGammaActivity() { if self.gammaActivityEnforcer.alphaValue == 1 * (DEBUG_GAMMA_ENFORCER ? 0.5 : 0.01) { self.gammaActivityEnforcer.alphaValue = 2 * (DEBUG_GAMMA_ENFORCER ? 0.5 : 0.01) } else { self.gammaActivityEnforcer.alphaValue = 1 * (DEBUG_GAMMA_ENFORCER ? 0.5 : 0.01) } } func moveGammaActivityEnforcer(displayID: CGDirectDisplayID) { if let screen = DisplayManager.getByDisplayID(displayID: DisplayManager.resolveEffectiveDisplayID(displayID)) { self.gammaActivityEnforcer.setFrameOrigin(screen.frame.origin) } self.gammaActivityEnforcer.orderFrontRegardless() } var shades: [CGDirectDisplayID: NSWindow] = [:] var shadeGrave: [NSWindow] = [] func isDisqualifiedFromShade(_ displayID: CGDirectDisplayID) -> Bool { if CGDisplayIsInHWMirrorSet(displayID) != 0 || CGDisplayIsInMirrorSet(displayID) != 0 { if displayID == DisplayManager.resolveEffectiveDisplayID(displayID), DisplayManager.isVirtual(displayID: displayID) || DisplayManager.isDummy(displayID: displayID) { var displayIDs = [CGDirectDisplayID](repeating: 0, count: 16) var displayCount: UInt32 = 0 guard CGGetOnlineDisplayList(16, &displayIDs, &displayCount) == .success else { return true } for displayId in displayIDs where CGDisplayMirrorsDisplay(displayId) == displayID && !DisplayManager.isVirtual(displayID: displayID) { return true } return false } return true } return false } func createShadeOnDisplay(displayID: CGDirectDisplayID) -> NSWindow? { if let screen = DisplayManager.getByDisplayID(displayID: displayID) { let shade = NSWindow(contentRect: .init(origin: NSPoint(x: 0, y: 0), size: .init(width: 10, height: 1)), styleMask: [], backing: .buffered, defer: false) shade.title = "Monitor Control Window Shade for Display " + String(displayID) shade.isMovableByWindowBackground = false shade.backgroundColor = .clear shade.ignoresMouseEvents = true shade.level = NSWindow.Level(rawValue: Int(CGShieldingWindowLevel())) shade.orderFrontRegardless() shade.collectionBehavior = [.stationary, .canJoinAllSpaces, .ignoresCycle] shade.setFrame(screen.frame, display: true) shade.contentView?.wantsLayer = true shade.contentView?.alphaValue = 0.0 shade.contentView?.layer?.backgroundColor = .black shade.contentView?.setNeedsDisplay(shade.frame) os_log("Window shade created for display %{public}@", type: .info, String(displayID)) return shade } return nil } func getShade(displayID: CGDirectDisplayID) -> NSWindow? { guard !self.isDisqualifiedFromShade(displayID) else { return nil } if let shade = shades[displayID] { return shade } else { if let shade = self.createShadeOnDisplay(displayID: displayID) { self.shades[displayID] = shade return shade } } return nil } func destroyAllShades() -> Bool { var ret = false for displayID in self.shades.keys { os_log("Attempting to destory shade for display %{public}@", type: .info, String(displayID)) if self.destroyShade(displayID: displayID) { ret = true } } if ret { os_log("Destroyed all shades.", type: .info) } else { os_log("No shades were found to be destroyed.", type: .info) } return ret } func destroyShade(displayID: CGDirectDisplayID) -> Bool { if let shade = shades[displayID] { os_log("Destroying shade for display %{public}@", type: .info, String(displayID)) self.shadeGrave.append(shade) self.shades.removeValue(forKey: displayID) shade.close() return true } return false } func updateShade(displayID: CGDirectDisplayID) -> Bool { guard !self.isDisqualifiedFromShade(displayID) else { return false } if let screen = DisplayManager.getByDisplayID(displayID: displayID) { if let shade = getShade(displayID: displayID) { shade.setFrame(screen.frame, display: true) return true } } return false } func getShadeAlpha(displayID: CGDirectDisplayID) -> Float? { guard !self.isDisqualifiedFromShade(displayID) else { return 1 } if let shade = getShade(displayID: displayID) { return Float(shade.contentView?.alphaValue ?? 1) } else { return 1 } } func setShadeAlpha(value: Float, displayID: CGDirectDisplayID) -> Bool { guard !self.isDisqualifiedFromShade(displayID) else { return false } if let shade = getShade(displayID: displayID) { shade.contentView?.alphaValue = CGFloat(value) return true } return false } func configureDisplays() { self.clearDisplays() var onlineDisplayIDs = [CGDirectDisplayID](repeating: 0, count: 16) var displayCount: UInt32 = 0 guard CGGetOnlineDisplayList(16, &onlineDisplayIDs, &displayCount) == .success else { os_log("Unable to get display list.", type: .info) return } for onlineDisplayID in onlineDisplayIDs where onlineDisplayID != 0 { let name = DisplayManager.getDisplayNameByID(displayID: onlineDisplayID) let id = onlineDisplayID let vendorNumber = CGDisplayVendorNumber(onlineDisplayID) let modelNumber = CGDisplayModelNumber(onlineDisplayID) let serialNumber = CGDisplaySerialNumber(onlineDisplayID) let isDummy: Bool = DisplayManager.isDummy(displayID: onlineDisplayID) let isVirtual: Bool = DisplayManager.isVirtual(displayID: onlineDisplayID) if !DEBUG_SW, DisplayManager.isAppleDisplay(displayID: onlineDisplayID) { // MARK: (point of interest for testing) let appleDisplay = AppleDisplay(id, name: name, vendorNumber: vendorNumber, modelNumber: modelNumber, serialNumber: serialNumber, isVirtual: isVirtual, isDummy: isDummy) os_log("Apple display found - %{public}@", type: .info, "ID: \(appleDisplay.identifier), Name: \(appleDisplay.name) (Vendor: \(appleDisplay.vendorNumber ?? 0), Model: \(appleDisplay.modelNumber ?? 0))") self.addDisplay(display: appleDisplay) } else { let otherDisplay = OtherDisplay(id, name: name, vendorNumber: vendorNumber, modelNumber: modelNumber, serialNumber: serialNumber, isVirtual: isVirtual, isDummy: isDummy) os_log("Other display found - %{public}@", type: .info, "ID: \(otherDisplay.identifier), Name: \(otherDisplay.name) (Vendor: \(otherDisplay.vendorNumber ?? 0), Model: \(otherDisplay.modelNumber ?? 0))") self.addDisplay(display: otherDisplay) } } } func setupOtherDisplays(firstrun: Bool = false) { for otherDisplay in self.getOtherDisplays() { for command in [Command.audioSpeakerVolume, Command.contrast] where !otherDisplay.readPrefAsBool(key: .unavailableDDC, for: command) && !otherDisplay.isSw() { otherDisplay.setupCurrentAndMaxValues(command: command, firstrun: firstrun) } if (!otherDisplay.isSw() && !otherDisplay.readPrefAsBool(key: .unavailableDDC, for: .brightness)) || otherDisplay.isSw() { otherDisplay.setupCurrentAndMaxValues(command: .brightness, firstrun: firstrun) otherDisplay.brightnessSyncSourceValue = otherDisplay.readPrefAsFloat(for: .brightness) } } } func restoreOtherDisplays() { for otherDisplay in self.getDdcCapableDisplays() { for command in [Command.contrast, Command.brightness] where !otherDisplay.readPrefAsBool(key: .unavailableDDC, for: command) { otherDisplay.restoreDDCSettingsToDisplay(command: command) } } } func normalizedName(_ name: String) -> String { var normalizedName = name.replacingOccurrences(of: "(", with: "") normalizedName = normalizedName.replacingOccurrences(of: ")", with: "") normalizedName = normalizedName.replacingOccurrences(of: " ", with: "") for i in 0 ... 9 { normalizedName = normalizedName.replacingOccurrences(of: String(i), with: "") } return normalizedName } func updateAudioControlTargetDisplays(deviceName: String) -> Int { self.audioControlTargetDisplays.removeAll() os_log("Detecting displays for audio control via audio device name matching...", type: .info) var numOfAddedDisplays = 0 for ddcCapableDisplay in self.getDdcCapableDisplays() { var displayAudioDeviceName = ddcCapableDisplay.readPrefAsString(key: .audioDeviceNameOverride) if displayAudioDeviceName == "" { displayAudioDeviceName = DisplayManager.getDisplayRawNameByID(displayID: ddcCapableDisplay.identifier) } if self.normalizedName(displayAudioDeviceName) == self.normalizedName(deviceName) { self.audioControlTargetDisplays.append(ddcCapableDisplay) numOfAddedDisplays += 1 os_log("Added display for audio control - %{public}@", type: .info, ddcCapableDisplay.name) } } return numOfAddedDisplays } func getOtherDisplays() -> [OtherDisplay] { self.displays.compactMap { $0 as? OtherDisplay } } func sortDisplays() { // Opsiyonel: sıralamadan önce log al let before = displays.map { $0.name } os_log("Displays before sorting: %{public}@", before) // In‑place sıralama displays.sort { lhs, rhs in lhs.name.localizedStandardCompare(rhs.name) == .orderedAscending } // Opsiyonel: sıralamadan sonra log al let after = displays.map { $0.name } os_log("Displays after sorting: %{public}@", after) } func sortDisplaysByFriendlyName() -> [Display] { return displays.sorted { lhs, rhs in let lhsTitle = lhs.readPrefAsString(key: .friendlyName).isEmpty ? lhs.name : lhs.readPrefAsString(key: .friendlyName) let rhsTitle = rhs.readPrefAsString(key: .friendlyName).isEmpty ? rhs.name : rhs.readPrefAsString(key: .friendlyName) return lhsTitle.localizedStandardCompare(rhsTitle) == .orderedDescending } } /// displays dizisini sıralar ve döner func getAllDisplays() -> [Display] { return displays } func getDdcCapableDisplays() -> [OtherDisplay] { self.displays.compactMap { display -> OtherDisplay? in if let otherDisplay = display as? OtherDisplay, !otherDisplay.isSw() { return otherDisplay } else { return nil } } } func getAppleDisplays() -> [AppleDisplay] { self.displays.compactMap { $0 as? AppleDisplay } } func getBuiltInDisplay() -> Display? { self.displays.first { CGDisplayIsBuiltin($0.identifier) != 0 } } func getCurrentDisplay(byFocus: Bool = false) -> Display? { if byFocus { guard let mainDisplayID = NSScreen.main?.displayID else { return nil } return self.displays.first { $0.identifier == mainDisplayID } } else { let mouseLocation = NSEvent.mouseLocation let screens = NSScreen.screens if let screenWithMouse = (screens.first { NSMouseInRect(mouseLocation, $0.frame, false) }) { return self.displays.first { $0.identifier == screenWithMouse.displayID } } return nil } } func addDisplay(display: Display) { self.displays.append(display) } func clearDisplays() { self.displays = [] } func addDisplayCounterSuffixes() { var nameDisplays: [String: [Display]] = [:] for display in self.displays { if nameDisplays[display.name] != nil { nameDisplays[display.name]?.append(display) } else { nameDisplays[display.name] = [display] } } for nameDisplayKey in nameDisplays.keys where nameDisplays[nameDisplayKey]?.count ?? 0 > 1 { for i in 0 ... (nameDisplays[nameDisplayKey]?.count ?? 1) - 1 { if let display = nameDisplays[nameDisplayKey]?[i] { display.name = "" + display.name + " (" + String(i + 1) + ")" } } } } func updateArm64AVServices() { if Arm64DDC.isArm64 { os_log("arm64 AVService update requested", type: .info) var displayIDs: [CGDirectDisplayID] = [] for otherDisplay in self.getOtherDisplays() { displayIDs.append(otherDisplay.identifier) } for serviceMatch in Arm64DDC.getServiceMatches(displayIDs: displayIDs) { for otherDisplay in self.getOtherDisplays() where otherDisplay.identifier == serviceMatch.displayID && serviceMatch.service != nil { otherDisplay.arm64avService = serviceMatch.service os_log("Display service match successful for display %{public}@", type: .info, String(serviceMatch.displayID)) if serviceMatch.discouraged { os_log("Display %{public}@ is flagged as discouraged by Arm64DDC.", type: .info, String(serviceMatch.displayID)) otherDisplay.isDiscouraged = true } else if serviceMatch.dummy { os_log("Display %{public}@ is flagged as dummy by Arm64DDC.", type: .info, String(serviceMatch.displayID)) otherDisplay.isDiscouraged = true otherDisplay.isDummy = true } else { otherDisplay.arm64ddc = DEBUG_SW ? false : true // MARK: (point of interest when testing) } } } os_log("AVService update done", type: .info) } } func resetSwBrightnessForAllDisplays(prefsOnly: Bool = false, noPrefSave: Bool = false, async: Bool = false) { for otherDisplay in self.getOtherDisplays() { if !prefsOnly { _ = otherDisplay.setSwBrightness(1, smooth: async, noPrefSave: noPrefSave) if !noPrefSave { otherDisplay.smoothBrightnessTransient = 1 } } else if !noPrefSave { otherDisplay.savePref(1, key: .SwBrightness) otherDisplay.smoothBrightnessTransient = 1 } if otherDisplay.isSw(), !noPrefSave { otherDisplay.savePref(1, for: .brightness) } } } func restoreSwBrightnessForAllDisplays(async: Bool = false) { for otherDisplay in self.getOtherDisplays() { if (otherDisplay.readPrefAsFloat(for: .brightness) == 0 && !prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue)) || (otherDisplay.readPrefAsFloat(for: .brightness) < otherDisplay.combinedBrightnessSwitchingValue() && !prefs.bool(forKey: PrefKey.separateCombinedScale.rawValue) && !prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue)) || otherDisplay.isSw() { let savedPrefValue = otherDisplay.readPrefAsFloat(key: .SwBrightness) if otherDisplay.getSwBrightness() != savedPrefValue { OSDUtils.popEmptyOsd(displayID: otherDisplay.identifier, command: Command.brightness) // This will give the user a hint why is the brightness suddenly changes. } otherDisplay.savePref(otherDisplay.getSwBrightness(), key: .SwBrightness) os_log("Restoring sw brightness to %{public}@ on other display %{public}@", type: .info, String(savedPrefValue), String(otherDisplay.identifier)) _ = otherDisplay.setSwBrightness(savedPrefValue, smooth: async) if otherDisplay.isSw(), let slider = otherDisplay.sliderHandler[.brightness] { os_log("Restoring sw slider to %{public}@ for other display %{public}@", type: .info, String(savedPrefValue), String(otherDisplay.identifier)) slider.setValue(savedPrefValue, displayID: otherDisplay.identifier) } } else { _ = otherDisplay.setSwBrightness(1) } } } func getAffectedDisplays(isBrightness: Bool = false, isVolume: Bool = false) -> [Display]? { var affectedDisplays: [Display] let allDisplays = self.getAllDisplays() var currentDisplay: Display? if isBrightness { if prefs.integer(forKey: PrefKey.multiKeyboardBrightness.rawValue) == MultiKeyboardBrightness.allScreens.rawValue { affectedDisplays = allDisplays return affectedDisplays } currentDisplay = self.getCurrentDisplay(byFocus: prefs.integer(forKey: PrefKey.multiKeyboardBrightness.rawValue) == MultiKeyboardBrightness.focusInsteadOfMouse.rawValue) } if isVolume { if prefs.integer(forKey: PrefKey.multiKeyboardVolume.rawValue) == MultiKeyboardVolume.allScreens.rawValue { affectedDisplays = allDisplays return affectedDisplays } else if prefs.integer(forKey: PrefKey.multiKeyboardVolume.rawValue) == MultiKeyboardVolume.audioDeviceNameMatching.rawValue { return self.audioControlTargetDisplays } currentDisplay = self.getCurrentDisplay(byFocus: false) } if let currentDisplay = currentDisplay { affectedDisplays = [currentDisplay] if CGDisplayIsInHWMirrorSet(currentDisplay.identifier) != 0 || CGDisplayIsInMirrorSet(currentDisplay.identifier) != 0, CGDisplayMirrorsDisplay(currentDisplay.identifier) == 0 { for display in allDisplays where CGDisplayMirrorsDisplay(display.identifier) == currentDisplay.identifier { affectedDisplays.append(display) } } } else { affectedDisplays = [] } return affectedDisplays } static func isDummy(displayID: CGDirectDisplayID) -> Bool { let vendorNumber = CGDisplayVendorNumber(displayID) let rawName = DisplayManager.getDisplayRawNameByID(displayID: displayID) if rawName.lowercased().contains("dummy") || (self.isVirtual(displayID: displayID) && vendorNumber == UInt32(0xF0F0)) { os_log("NOTE: Display is a dummy!", type: .info) return true } return false } static func isVirtual(displayID: CGDirectDisplayID) -> Bool { var isVirtual = false if !DEBUG_MACOS10, #available(macOS 11.0, *) { if let dictionary = (CoreDisplay_DisplayCreateInfoDictionary(displayID)?.takeRetainedValue() as NSDictionary?) { let isVirtualDevice = dictionary["kCGDisplayIsVirtualDevice"] as? Bool let displayIsAirplay = dictionary["kCGDisplayIsAirPlay"] as? Bool if isVirtualDevice ?? displayIsAirplay ?? false { isVirtual = true } } } return isVirtual } static func engageMirror() -> Bool { var onlineDisplayIDs = [CGDirectDisplayID](repeating: 0, count: 16) var displayCount: UInt32 = 0 guard CGGetOnlineDisplayList(16, &onlineDisplayIDs, &displayCount) == .success, displayCount > 1 else { return false } // Break display mirror if there is any var mirrorBreak = false var displayConfigRef: CGDisplayConfigRef? for onlineDisplayID in onlineDisplayIDs where onlineDisplayID != 0 { if CGDisplayIsInHWMirrorSet(onlineDisplayID) != 0 || CGDisplayIsInMirrorSet(onlineDisplayID) != 0 { if mirrorBreak == false { CGBeginDisplayConfiguration(&displayConfigRef) } CGConfigureDisplayMirrorOfDisplay(displayConfigRef, onlineDisplayID, kCGNullDirectDisplay) mirrorBreak = true } } if mirrorBreak { CGCompleteDisplayConfiguration(displayConfigRef, CGConfigureOption.permanently) return true } // Build display mirror var mainDisplayId = kCGNullDirectDisplay for onlineDisplayID in onlineDisplayIDs where onlineDisplayID != 0 { if CGDisplayIsBuiltin(onlineDisplayID) == 0, mainDisplayId == kCGNullDirectDisplay { mainDisplayId = onlineDisplayID } } guard mainDisplayId != kCGNullDirectDisplay else { return false } CGBeginDisplayConfiguration(&displayConfigRef) for onlineDisplayID in onlineDisplayIDs where onlineDisplayID != 0 && onlineDisplayID != mainDisplayId { CGConfigureDisplayMirrorOfDisplay(displayConfigRef, onlineDisplayID, mainDisplayId) } CGCompleteDisplayConfiguration(displayConfigRef, CGConfigureOption.permanently) return true } static func resolveEffectiveDisplayID(_ displayID: CGDirectDisplayID) -> CGDirectDisplayID { var realDisplayID = displayID if CGDisplayIsInHWMirrorSet(displayID) != 0 || CGDisplayIsInMirrorSet(displayID) != 0 { let mirroredDisplayID = CGDisplayMirrorsDisplay(displayID) if mirroredDisplayID != 0 { realDisplayID = mirroredDisplayID } } return realDisplayID } static func isAppleDisplay(displayID: CGDirectDisplayID) -> Bool { if #available(macOS 15.0, *) { if CGDisplayVendorNumber(displayID) != 1552, CGSIsHDRSupported(displayID), CGSIsHDREnabled(displayID) { return CGDisplayIsBuiltin(displayID) != 0 } } var brightness: Float = -1 let ret = DisplayServicesGetBrightness(displayID, &brightness) if ret == 0, brightness >= 0 { // If brightness read appears to be successful using DisplayServices then it should be an Apple display return true } return CGDisplayIsBuiltin(displayID) != 0 // If built-in display, it should be Apple } static func getByDisplayID(displayID: CGDirectDisplayID) -> NSScreen? { NSScreen.screens.first { $0.displayID == displayID } } static func getDisplayRawNameByID(displayID: CGDirectDisplayID) -> String { let defaultName = "" if !DEBUG_MACOS10, #available(macOS 11.0, *) { if let dictionary = (CoreDisplay_DisplayCreateInfoDictionary(displayID)?.takeRetainedValue() as NSDictionary?), let nameList = dictionary["DisplayProductName"] as? [String: String], let name = nameList["en_US"] ?? nameList.first?.value { return name } } if let screen = getByDisplayID(displayID: displayID) { return screen.displayName ?? defaultName } return defaultName } static func getDisplayNameByID(displayID: CGDirectDisplayID) -> String { let defaultName: String = NSLocalizedString("Unknown", comment: "Unknown display name") if !DEBUG_MACOS10, #available(macOS 11.0, *) { if let dictionary = (CoreDisplay_DisplayCreateInfoDictionary(displayID)?.takeRetainedValue() as NSDictionary?), let nameList = dictionary["DisplayProductName"] as? [String: String], var name = nameList[Locale.current.identifier] ?? nameList["en_US"] ?? nameList.first?.value { if CGDisplayIsInHWMirrorSet(displayID) != 0 || CGDisplayIsInMirrorSet(displayID) != 0 { let mirroredDisplayID = CGDisplayMirrorsDisplay(displayID) if mirroredDisplayID != 0, let dictionary = (CoreDisplay_DisplayCreateInfoDictionary(mirroredDisplayID)?.takeRetainedValue() as NSDictionary?), let nameList = dictionary["DisplayProductName"] as? [String: String], let mirroredName = nameList[Locale.current.identifier] ?? nameList["en_US"] ?? nameList.first?.value { name.append(" | " + mirroredName) } } return name } } if let screen = getByDisplayID(displayID: displayID) { // MARK: This, and NSScreen+Extension.swift will not be needed when we drop MacOS 10 support. if #available(macOS 10.15, *) { return screen.localizedName } else { return screen.displayName ?? defaultName } } return defaultName } } ================================================ FILE: MonitorControl/Support/IntelDDC.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others // Adapted from IntelDDC.swift, @reitermarkus import Foundation import IOKit.i2c import os.log public class IntelDDC { let displayId: CGDirectDisplayID let framebuffer: io_service_t let replyTransactionType: IOOptionBits var enabled: Bool = false deinit { assert(IOObjectRelease(self.framebuffer) == KERN_SUCCESS) } public init?(for displayId: CGDirectDisplayID, withReplyTransactionType replyTransactionType: IOOptionBits? = nil) { self.displayId = displayId guard let framebuffer = IntelDDC.ioFramebufferPortFromDisplayId(displayId: displayId) else { return nil } self.framebuffer = framebuffer if let replyTransactionType = replyTransactionType { self.replyTransactionType = replyTransactionType } else if let replyTransactionType = IntelDDC.supportedTransactionType() { self.replyTransactionType = replyTransactionType } else { os_log("No supported reply transaction type found for display with ID %u.", type: .error, displayId) return nil } } public func write(command: UInt8, value: UInt16, errorRecoveryWaitTime: UInt32? = nil, writeSleepTime: UInt32 = 10000, numofWriteCycles: UInt8 = 2) -> Bool { var success = false var data: [UInt8] = Array(repeating: 0, count: 7) data[0] = 0x51 data[1] = 0x84 data[2] = 0x03 data[3] = command data[4] = UInt8(value >> 8) data[5] = UInt8(value & 255) data[6] = 0x6E ^ data[0] ^ data[1] ^ data[2] ^ data[3] ^ data[4] ^ data[5] for _ in 1 ... numofWriteCycles { usleep(writeSleepTime) var request = IOI2CRequest() request.commFlags = 0 request.sendAddress = 0x6E request.sendTransactionType = IOOptionBits(kIOI2CSimpleTransactionType) request.sendBuffer = withUnsafePointer(to: &data[0]) { vm_address_t(bitPattern: $0) } request.sendBytes = UInt32(data.count) request.replyTransactionType = IOOptionBits(kIOI2CNoTransactionType) request.replyBytes = 0 if IntelDDC.send(request: &request, to: self.framebuffer, errorRecoveryWaitTime: errorRecoveryWaitTime) { success = true } } return success } public func read(command: UInt8, tries: UInt = 1, replyTransactionType _: IOOptionBits? = nil, minReplyDelay: UInt64? = nil, errorRecoveryWaitTime: UInt32? = nil, writeSleepTime: UInt32 = 10000) -> (UInt16, UInt16)? { var data: [UInt8] = Array(repeating: 0, count: 5) var replyData: [UInt8] = Array(repeating: 0, count: 11) data[0] = 0x51 data[1] = 0x82 data[2] = 0x01 data[3] = command data[4] = 0x6E ^ data[0] ^ data[1] ^ data[2] ^ data[3] for i in 1 ... tries { usleep(writeSleepTime) usleep(errorRecoveryWaitTime ?? 0) var request = IOI2CRequest() request.commFlags = 0 request.sendAddress = 0x6E request.sendTransactionType = IOOptionBits(kIOI2CSimpleTransactionType) request.sendBuffer = withUnsafePointer(to: &data[0]) { vm_address_t(bitPattern: $0) } request.sendBytes = UInt32(data.count) request.minReplyDelay = minReplyDelay ?? 10 request.replyAddress = 0x6F request.replySubAddress = 0x51 request.replyTransactionType = self.replyTransactionType request.replyBytes = UInt32(replyData.count) request.replyBuffer = withUnsafePointer(to: &replyData[0]) { vm_address_t(bitPattern: $0) } if IntelDDC.send(request: &request, to: self.framebuffer, errorRecoveryWaitTime: errorRecoveryWaitTime) { if replyData.count > 0 { let checksum = replyData.last! var calculated = UInt8(0x50) for i in 0 ..< (replyData.count - 1) { calculated ^= replyData[i] } guard checksum == calculated else { os_log("Checksum of reply does not match. Expected %u, got %u.", type: .info, checksum, calculated) os_log("Response was: %{public}@", type: .info, replyData.map { String(format: "%02X", $0) }.joined(separator: " ")) continue } } guard replyData[2] == 0x02 else { os_log("Got wrong response type for %{public}@. Expected %u, got %u.", type: .info, String(reflecting: command), 0x02, replyData[2]) os_log("Response was: %{public}@", type: .info, replyData.map { String(format: "%02X", $0) }.joined(separator: " ")) continue } guard replyData[3] == 0x00 else { os_log("Reading %{public}@ is not supported.", type: .info, String(reflecting: command)) return nil } if i > 1 { os_log("Reading %{public}@ took %u tries.", type: .info, String(reflecting: command), i) } let (mh, ml, sh, sl) = (replyData[6], replyData[7], replyData[8], replyData[9]) let maxValue = UInt16(mh << 8) + UInt16(ml) let currentValue = UInt16(sh << 8) + UInt16(sl) return (currentValue, maxValue) } } return nil } private static func supportedTransactionType() -> IOOptionBits? { var ioIterator = io_iterator_t() guard IOServiceGetMatchingServices(kIOMasterPortDefault, IOServiceNameMatching("IOFramebufferI2CInterface"), &ioIterator) == KERN_SUCCESS else { return nil } defer { assert(IOObjectRelease(ioIterator) == KERN_SUCCESS) } while case let ioService = IOIteratorNext(ioIterator), ioService != 0 { var serviceProperties: Unmanaged? guard IORegistryEntryCreateCFProperties(ioService, &serviceProperties, kCFAllocatorDefault, IOOptionBits()) == KERN_SUCCESS, serviceProperties != nil else { continue } let dict = serviceProperties!.takeRetainedValue() as NSDictionary if let types = dict[kIOI2CTransactionTypesKey] as? UInt64 { if (1 << kIOI2CDDCciReplyTransactionType) & types != 0 { os_log("kIOI2CDDCciReplyTransactionType is supported.", type: .info) return IOOptionBits(kIOI2CDDCciReplyTransactionType) } if (1 << kIOI2CSimpleTransactionType) & types != 0 { os_log("kIOI2CSimpleTransactionType is supported.", type: .info) return IOOptionBits(kIOI2CSimpleTransactionType) } } } return nil } static func send(request: inout IOI2CRequest, to framebuffer: io_service_t, errorRecoveryWaitTime: UInt32? = nil) -> Bool { if let errorRecoveryWaitTime = errorRecoveryWaitTime { usleep(errorRecoveryWaitTime) } var busCount: IOItemCount = 0 guard IOFBGetI2CInterfaceCount(framebuffer, &busCount) == KERN_SUCCESS else { os_log("Failed to get interface count for framebuffer with ID %u.", type: .error, framebuffer) return false } for bus: IOOptionBits in 0 ..< busCount { var interface = io_service_t() guard IOFBCopyI2CInterfaceForBus(framebuffer, bus, &interface) == KERN_SUCCESS else { os_log("Failed to get interface %u for framebuffer with ID %u.", type: .error, bus, framebuffer) continue } var connect: IOI2CConnectRef? guard IOI2CInterfaceOpen(interface, IOOptionBits(), &connect) == KERN_SUCCESS else { os_log("Failed to connect to interface %u for framebuffer with ID %u.", type: .error, bus, framebuffer) continue } defer { IOI2CInterfaceClose(connect, IOOptionBits()) } guard IOI2CSendRequest(connect, IOOptionBits(), &request) == KERN_SUCCESS else { os_log("Failed to send request to interface %u for framebuffer with ID %u.", type: .error, bus, framebuffer) continue } guard request.result == KERN_SUCCESS else { os_log("Request to interface %u for framebuffer with ID %u failed.", type: .error, bus, framebuffer) continue } return true } return false } static func servicePortUsingDisplayPropertiesMatching(from displayId: CGDirectDisplayID) -> io_object_t? { var portIterator = io_iterator_t() let status: kern_return_t = IOServiceGetMatchingServices(kIOMasterPortDefault, IOServiceMatching(IOFRAMEBUFFER_CONFORMSTO), &portIterator) guard status == KERN_SUCCESS else { os_log("No matching services found for display with ID %u.", type: .error, displayId) return nil } defer { assert(IOObjectRelease(portIterator) == KERN_SUCCESS) } while case let port = IOIteratorNext(portIterator), port != 0 { let dict = IODisplayCreateInfoDictionary(port, IOOptionBits(kIODisplayOnlyPreferredName)).takeRetainedValue() as NSDictionary let valueForKey = { (k: String) in (dict[k] as? CFIndex).flatMap { Int32(exactly: $0) }.flatMap { UInt32(bitPattern: $0) } ?? 0 } let portVendorId = valueForKey(kDisplayVendorID) let displayVendorId = CGDisplayVendorNumber(displayId) guard portVendorId == displayVendorId else { os_log("Service port vendor ID %u differs from display product ID %u.", type: .info, portVendorId, displayVendorId) continue } let portProductId = valueForKey(kDisplayProductID) let displayProductId = CGDisplayModelNumber(displayId) guard portProductId == displayProductId else { os_log("Service port product ID %u differs from display product ID %u.", type: .info, portProductId, displayProductId) continue } let portSerialNumber = valueForKey(kDisplaySerialNumber) let displaySerialNumber = CGDisplaySerialNumber(displayId) guard portSerialNumber == displaySerialNumber else { os_log("Service port serial number %u differs from display serial number %u.", type: .info, portSerialNumber, displaySerialNumber) continue } if let displayLocation = dict[kIODisplayLocationKey] as? NSString { // the unit number is the number right after the last "@" sign in the display location // swiftlint:disable:next force_try let regex = try! NSRegularExpression(pattern: "@([0-9]+)[^@]+$", options: []) if let match = regex.firstMatch(in: displayLocation as String, options: [], range: NSRange(location: 0, length: displayLocation.length)) { let unitNumber = UInt32(displayLocation.substring(with: match.range(at: 1))) guard unitNumber == CGDisplayUnitNumber(displayId) else { continue } } } os_log("Vendor ID: %u, Product ID: %u, Serial Number: %u", type: .info, portVendorId, portProductId, portSerialNumber) os_log("Unit Number: %u", type: .info, CGDisplayUnitNumber(displayId)) os_log("Service Port: %u", type: .info, port) return port } os_log("No service port found for display with ID %u.", type: .error, displayId) return nil } static func ioFramebufferPortFromDisplayId(displayId: CGDirectDisplayID) -> io_service_t? { if CGDisplayIsBuiltin(displayId) == boolean_t(truncating: true) { return nil } var servicePortUsingCGSServiceForDisplayNumber: io_service_t = 0 CGSServiceForDisplayNumber(displayId, &servicePortUsingCGSServiceForDisplayNumber) if servicePortUsingCGSServiceForDisplayNumber != 0 { os_log("Using CGSServiceForDisplayNumber to acquire framebuffer port for %u.", type: .info, displayId) return servicePortUsingCGSServiceForDisplayNumber } guard let servicePort = self.servicePortUsingDisplayPropertiesMatching(from: displayId) else { return nil } var busCount: IOItemCount = 0 guard IOFBGetI2CInterfaceCount(servicePort, &busCount) == KERN_SUCCESS, busCount >= 1 else { os_log("No framebuffer port found for display with ID %u.", type: .error, displayId) return nil } return servicePort } } ================================================ FILE: MonitorControl/Support/KeyboardShortcutsManager.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Foundation import KeyboardShortcuts import os.log class KeyboardShortcutsManager { var initialKeyRepeat = 0.21 var keyRepeat = 0.028 var keyRepeatCount = 0 var currentCommand = KeyboardShortcuts.Name.none var isFirstKeypress = false var currentEventId = 0 var isHold = false init() { KeyboardShortcuts.onKeyDown(for: .brightnessUp) { [self] in self.engage(KeyboardShortcuts.Name.brightnessUp) } KeyboardShortcuts.onKeyDown(for: .brightnessDown) { [self] in self.engage(KeyboardShortcuts.Name.brightnessDown) } KeyboardShortcuts.onKeyDown(for: .contrastUp) { [self] in self.engage(KeyboardShortcuts.Name.contrastUp) } KeyboardShortcuts.onKeyDown(for: .contrastDown) { [self] in self.engage(KeyboardShortcuts.Name.contrastDown) } KeyboardShortcuts.onKeyDown(for: .volumeUp) { [self] in self.engage(KeyboardShortcuts.Name.volumeUp) } KeyboardShortcuts.onKeyDown(for: .volumeDown) { [self] in self.engage(KeyboardShortcuts.Name.volumeDown) } KeyboardShortcuts.onKeyDown(for: .mute) { [self] in self.mute() } KeyboardShortcuts.onKeyUp(for: .brightnessUp) { [self] in self.disengage() } KeyboardShortcuts.onKeyUp(for: .brightnessDown) { [self] in self.disengage() } KeyboardShortcuts.onKeyUp(for: .contrastUp) { [self] in self.disengage() } KeyboardShortcuts.onKeyUp(for: .contrastDown) { [self] in self.disengage() } KeyboardShortcuts.onKeyUp(for: .volumeUp) { [self] in self.disengage() } KeyboardShortcuts.onKeyUp(for: .volumeDown) { [self] in self.disengage() } } func engage(_ shortcut: KeyboardShortcuts.Name) { self.initialKeyRepeat = max(15, UserDefaults.standard.double(forKey: "InitialKeyRepeat")) * 0.014 self.keyRepeat = max(2, UserDefaults.standard.double(forKey: "KeyRepeat")) * 0.014 self.currentCommand = shortcut self.isFirstKeypress = true self.isHold = true self.currentEventId += 1 self.keyRepeatCount = 0 self.apply(shortcut, eventId: self.currentEventId) } func disengage() { self.isHold = false self.isFirstKeypress = false self.currentCommand = KeyboardShortcuts.Name.none self.keyRepeatCount = 0 } func apply(_ shortcut: KeyboardShortcuts.Name, eventId: Int) { guard app.sleepID == 0, app.reconfigureID == 0, self.keyRepeatCount <= 100 else { self.disengage() return } guard self.currentCommand == shortcut, self.isHold, eventId == self.currentEventId else { if [KeyboardShortcuts.Name.volumeUp, KeyboardShortcuts.Name.volumeDown].contains(shortcut) { self.volume(isUp: true, isPressed: false) } return } if self.isFirstKeypress { self.isFirstKeypress = false DispatchQueue.main.asyncAfter(deadline: .now() + self.initialKeyRepeat) { self.apply(shortcut, eventId: eventId) } } else { DispatchQueue.main.asyncAfter(deadline: .now() + self.keyRepeat) { self.apply(shortcut, eventId: eventId) } } self.keyRepeatCount += 1 switch shortcut { case KeyboardShortcuts.Name.brightnessUp: self.brightness(isUp: true) case KeyboardShortcuts.Name.brightnessDown: self.brightness(isUp: false) case KeyboardShortcuts.Name.contrastUp: self.contrast(isUp: true) case KeyboardShortcuts.Name.contrastDown: self.contrast(isUp: false) case KeyboardShortcuts.Name.volumeUp: self.volume(isUp: true, isPressed: true) case KeyboardShortcuts.Name.volumeDown: self.volume(isUp: false, isPressed: true) default: break } } func brightness(isUp: Bool) { guard let affectedDisplays = DisplayManager.shared.getAffectedDisplays(isBrightness: true, isVolume: false), [KeyboardBrightness.custom.rawValue, KeyboardBrightness.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardBrightness.rawValue)) else { self.disengage() return } for display in affectedDisplays where !display.readPrefAsBool(key: .isDisabled) { var isAnyDisplayInSwAfterBrightnessMode = false for display in affectedDisplays where ((display as? OtherDisplay)?.isSwBrightnessNotDefault() ?? false) && !((display as? OtherDisplay)?.isSw() ?? false) && prefs.bool(forKey: PrefKey.separateCombinedScale.rawValue) { isAnyDisplayInSwAfterBrightnessMode = true } if !(isAnyDisplayInSwAfterBrightnessMode && !(((display as? OtherDisplay)?.isSwBrightnessNotDefault() ?? false) && !((display as? OtherDisplay)?.isSw() ?? false))) { display.stepBrightness(isUp: isUp, isSmallIncrement: prefs.bool(forKey: PrefKey.useFineScaleBrightness.rawValue)) } } } func contrast(isUp: Bool) { guard let affectedDisplays = DisplayManager.shared.getAffectedDisplays(isBrightness: true, isVolume: false), [KeyboardBrightness.custom.rawValue, KeyboardBrightness.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardBrightness.rawValue)) else { self.disengage() return } for display in affectedDisplays where !display.readPrefAsBool(key: .isDisabled) { if let otherDisplay = display as? OtherDisplay { otherDisplay.stepContrast(isUp: isUp, isSmallIncrement: prefs.bool(forKey: PrefKey.useFineScaleBrightness.rawValue)) } } } func volume(isUp: Bool, isPressed: Bool) { guard let affectedDisplays = DisplayManager.shared.getAffectedDisplays(isBrightness: false, isVolume: true), [KeyboardVolume.custom.rawValue, KeyboardVolume.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardVolume.rawValue)) else { self.disengage() return } var wasNotIsPressedVolumeSentAlready = false for display in affectedDisplays where !display.readPrefAsBool(key: .isDisabled) { if let display = display as? OtherDisplay { if isPressed { display.stepVolume(isUp: isUp, isSmallIncrement: prefs.bool(forKey: PrefKey.useFineScaleVolume.rawValue)) } else if !wasNotIsPressedVolumeSentAlready, !display.readPrefAsBool(key: .unavailableDDC, for: .audioSpeakerVolume) { app.playVolumeChangedSound() wasNotIsPressedVolumeSentAlready = true } } } } func mute() { guard app.sleepID == 0, app.reconfigureID == 0, [KeyboardVolume.custom.rawValue, KeyboardVolume.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardVolume.rawValue)), let affectedDisplays = DisplayManager.shared.getAffectedDisplays(isBrightness: false, isVolume: true) else { return } var wasNotIsPressedVolumeSentAlready = false for display in affectedDisplays where !display.readPrefAsBool(key: .isDisabled) { if let display = display as? OtherDisplay { display.toggleMute() if !wasNotIsPressedVolumeSentAlready, display.readPrefAsInt(for: .audioMuteScreenBlank) != 1, !display.readPrefAsBool(key: .unavailableDDC, for: .audioSpeakerVolume) { app.playVolumeChangedSound() wasNotIsPressedVolumeSentAlready = true } } } } } ================================================ FILE: MonitorControl/Support/MediaKeyTapManager.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import AudioToolbox import Cocoa import Foundation import MediaKeyTap import os.log class MediaKeyTapManager: MediaKeyTapDelegate { var mediaKeyTap: MediaKeyTap? var keyRepeatTimers: [MediaKey: Timer] = [:] func handle(mediaKey: MediaKey, event: KeyEvent?, modifiers: NSEvent.ModifierFlags?) { let isPressed = event?.keyPressed ?? true let isRepeat = event?.keyRepeat ?? false let isControl = modifiers?.isSuperset(of: NSEvent.ModifierFlags([.control])) ?? false let isCommand = modifiers?.isSuperset(of: NSEvent.ModifierFlags([.command])) ?? false let isOption = modifiers?.isSuperset(of: NSEvent.ModifierFlags([.option])) ?? false let isShift = modifiers?.isSuperset(of: NSEvent.ModifierFlags([.shift])) ?? false if isPressed, isCommand, !isControl, mediaKey == .brightnessDown, DisplayManager.engageMirror() { return } guard app.sleepID == 0, app.reconfigureID == 0 else { return } if isPressed, self.handleOpenPrefPane(mediaKey: mediaKey, event: event, modifiers: modifiers) { return } var isSmallIncrement = isOption && isShift let isContrast = isControl && isOption && isCommand if [.brightnessUp, .brightnessDown].contains(mediaKey), prefs.bool(forKey: PrefKey.useFineScaleBrightness.rawValue) { isSmallIncrement = !isSmallIncrement } if [.volumeUp, .volumeDown, .mute].contains(mediaKey), prefs.bool(forKey: PrefKey.useFineScaleVolume.rawValue) { isSmallIncrement = !isSmallIncrement } if isPressed, isControl, !isOption, mediaKey == .brightnessUp || mediaKey == .brightnessDown { self.handleDirectedBrightness(isCommandModifier: isCommand, isUp: mediaKey == .brightnessUp, isSmallIncrement: isSmallIncrement) return } let oppositeKey: MediaKey? = self.oppositeMediaKey(mediaKey: mediaKey) // If the opposite key to the one being held has an active timer, cancel it - we'll be going in the opposite direction if let oppositeKey = oppositeKey, let oppositeKeyTimer = self.keyRepeatTimers[oppositeKey], oppositeKeyTimer.isValid { oppositeKeyTimer.invalidate() } else if let mediaKeyTimer = self.keyRepeatTimers[mediaKey], mediaKeyTimer.isValid { // If there's already an active timer for the key being held down, let it run rather than executing it again if isRepeat { return } mediaKeyTimer.invalidate() } self.sendDisplayCommand(mediaKey: mediaKey, isRepeat: isRepeat, isSmallIncrement: isSmallIncrement, isPressed: isPressed, isContrast: isContrast) } func handleDirectedBrightness(isCommandModifier: Bool, isUp: Bool, isSmallIncrement: Bool) { if isCommandModifier { for otherDisplay in DisplayManager.shared.getOtherDisplays() { otherDisplay.stepBrightness(isUp: isUp, isSmallIncrement: isSmallIncrement) } for appleDisplay in DisplayManager.shared.getAppleDisplays() where !appleDisplay.isBuiltIn() { appleDisplay.stepBrightness(isUp: isUp, isSmallIncrement: isSmallIncrement) } return } else if let internalDisplay = DisplayManager.shared.getBuiltInDisplay() as? AppleDisplay { internalDisplay.stepBrightness(isUp: isUp, isSmallIncrement: isSmallIncrement) return } } private func sendDisplayCommand(mediaKey: MediaKey, isRepeat: Bool, isSmallIncrement: Bool, isPressed: Bool, isContrast: Bool = false) { self.sendDisplayCommandVolumeMute(mediaKey: mediaKey, isRepeat: isRepeat, isSmallIncrement: isSmallIncrement, isPressed: isPressed) self.sendDisplayCommandBrightnessContrast(mediaKey: mediaKey, isRepeat: isRepeat, isSmallIncrement: isSmallIncrement, isPressed: isPressed, isContrast: isContrast) } private func sendDisplayCommandVolumeMute(mediaKey: MediaKey, isRepeat: Bool, isSmallIncrement: Bool, isPressed: Bool) { guard [.volumeUp, .volumeDown, .mute].contains(mediaKey), app.sleepID == 0, app.reconfigureID == 0, let affectedDisplays = DisplayManager.shared.getAffectedDisplays(isBrightness: false, isVolume: true) else { return } var wasNotIsPressedVolumeSentAlready = false for display in affectedDisplays where !display.readPrefAsBool(key: .isDisabled) { switch mediaKey { case .mute: // The mute key should not respond to press + hold or keyup if !isRepeat, isPressed, let display = display as? OtherDisplay { display.toggleMute() if !wasNotIsPressedVolumeSentAlready, display.readPrefAsInt(for: .audioMuteScreenBlank) != 1, !display.readPrefAsBool(key: .unavailableDDC, for: .audioSpeakerVolume) { app.playVolumeChangedSound() wasNotIsPressedVolumeSentAlready = true } } case .volumeUp, .volumeDown: // volume only matters for other displays if let display = display as? OtherDisplay { if isPressed { display.stepVolume(isUp: mediaKey == .volumeUp, isSmallIncrement: isSmallIncrement) } else if !wasNotIsPressedVolumeSentAlready, !display.readPrefAsBool(key: .unavailableDDC, for: .audioSpeakerVolume) { app.playVolumeChangedSound() wasNotIsPressedVolumeSentAlready = true } } default: continue } } } private func sendDisplayCommandBrightnessContrast(mediaKey: MediaKey, isRepeat _: Bool, isSmallIncrement: Bool, isPressed: Bool, isContrast: Bool = false) { guard [.brightnessUp, .brightnessDown].contains(mediaKey), app.sleepID == 0, app.reconfigureID == 0, isPressed, let affectedDisplays = DisplayManager.shared.getAffectedDisplays(isBrightness: true, isVolume: false) else { return } for display in affectedDisplays where !display.readPrefAsBool(key: .isDisabled) { switch mediaKey { case .brightnessUp: if isContrast, let otherDisplay = display as? OtherDisplay { otherDisplay.stepContrast(isUp: mediaKey == .brightnessUp, isSmallIncrement: isSmallIncrement) } else { var isAnyDisplayInSwAfterBrightnessMode = false for display in affectedDisplays where ((display as? OtherDisplay)?.isSwBrightnessNotDefault() ?? false) && !((display as? OtherDisplay)?.isSw() ?? false) && prefs.bool(forKey: PrefKey.separateCombinedScale.rawValue) { isAnyDisplayInSwAfterBrightnessMode = true } if !(isAnyDisplayInSwAfterBrightnessMode && !(((display as? OtherDisplay)?.isSwBrightnessNotDefault() ?? false) && !((display as? OtherDisplay)?.isSw() ?? false))) { display.stepBrightness(isUp: mediaKey == .brightnessUp, isSmallIncrement: isSmallIncrement) } } case .brightnessDown: if isContrast, let otherDisplay = display as? OtherDisplay { otherDisplay.stepContrast(isUp: mediaKey == .brightnessUp, isSmallIncrement: isSmallIncrement) } else { display.stepBrightness(isUp: mediaKey == .brightnessUp, isSmallIncrement: isSmallIncrement) } default: continue } } } private func oppositeMediaKey(mediaKey: MediaKey) -> MediaKey? { if mediaKey == .brightnessUp { return .brightnessDown } else if mediaKey == .brightnessDown { return .brightnessUp } else if mediaKey == .volumeUp { return .volumeDown } else if mediaKey == .volumeDown { return .volumeUp } return nil } func updateMediaKeyTap() { var keys: [MediaKey] = [] if [KeyboardBrightness.media.rawValue, KeyboardBrightness.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardBrightness.rawValue)) { keys.append(contentsOf: [.brightnessUp, .brightnessDown]) } if [KeyboardVolume.media.rawValue, KeyboardVolume.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardVolume.rawValue)) { keys.append(contentsOf: [.mute, .volumeUp, .volumeDown]) } // Remove brightness keys if no external displays are connected, but only if brightness fine control is not active var disengageBrightness = true for display in DisplayManager.shared.getAllDisplays() where !display.isBuiltIn() { disengageBrightness = false } // Disengage brightness keys on sleep so MacBook native screen can be controlled meanwhile if app.sleepID != 0 || app.reconfigureID != 0 { disengageBrightness = true } if disengageBrightness, !prefs.bool(forKey: PrefKey.useFineScaleBrightness.rawValue) { let keysToDelete: [MediaKey] = [.brightnessUp, .brightnessDown] keys.removeAll { keysToDelete.contains($0) } } // Remove volume related keys if audio device is controllable if let defaultAudioDevice = app.coreAudio.defaultOutputDevice { let keysToDelete: [MediaKey] = [.volumeUp, .volumeDown, .mute] if prefs.integer(forKey: PrefKey.multiKeyboardVolume.rawValue) == MultiKeyboardVolume.audioDeviceNameMatching.rawValue { if DisplayManager.shared.updateAudioControlTargetDisplays(deviceName: defaultAudioDevice.name) == 0 { keys.removeAll { keysToDelete.contains($0) } } } else if defaultAudioDevice.canSetVirtualMainVolume(scope: .output) == true { keys.removeAll { keysToDelete.contains($0) } } } self.mediaKeyTap?.stop() // returning an empty array listens for all mediakeys in MediaKeyTap if keys.count > 0 { self.mediaKeyTap = MediaKeyTap(delegate: self, on: KeyPressMode.keyDownAndUp, for: keys, observeBuiltIn: true) self.mediaKeyTap?.start() } } func handleOpenPrefPane(mediaKey: MediaKey, event: KeyEvent?, modifiers: NSEvent.ModifierFlags?) -> Bool { guard let modifiers = modifiers else { return false } if !(modifiers.contains(.option) && !modifiers.contains(.shift) && !modifiers.contains(.control) && !modifiers.contains(.command)) { return false } if event?.keyRepeat == true { return false } switch mediaKey { case .brightnessUp, .brightnessDown: NSWorkspace.shared.open(URL(fileURLWithPath: "/System/Library/PreferencePanes/Displays.prefPane")) case .mute, .volumeUp, .volumeDown: NSWorkspace.shared.open(URL(fileURLWithPath: "/System/Library/PreferencePanes/Sound.prefPane")) default: return false } return true } static func acquirePrivileges(firstAsk: Bool = false) { if !self.readPrivileges(prompt: true), !firstAsk { let alert = NSAlert() alert.messageText = NSLocalizedString("Shortcuts not available", comment: "Shown in the alert dialog") alert.informativeText = NSLocalizedString("You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work", comment: "Shown in the alert dialog") alert.runModal() } } static func readPrivileges(prompt: Bool) -> Bool { let options: NSDictionary = [kAXTrustedCheckOptionPrompt.takeRetainedValue() as NSString: prompt] let status = AXIsProcessTrustedWithOptions(options) os_log("Reading Accessibility privileges - Current access status %{public}@", type: .info, String(status)) return status } } ================================================ FILE: MonitorControl/Support/MenuHandler.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import AppKit import os.log class MenuHandler: NSMenu, NSMenuDelegate { var combinedSliderHandler: [Command: SliderHandler] = [:] var lastMenuRelevantDisplayId: CGDirectDisplayID = 0 func clearMenu() { var items: [NSMenuItem] = [] for i in 0 ..< self.items.count { items.append(self.items[i]) } for item in items { self.removeItem(item) } self.combinedSliderHandler.removeAll() } func menuWillOpen(_: NSMenu) { self.updateMenuRelevantDisplay() app.keyboardShortcuts.disengage() } func closeMenu() { self.cancelTrackingWithoutAnimation() } func updateMenus(dontClose: Bool = false) { os_log("Menu update initiated", type: .info) if !dontClose { self.cancelTrackingWithoutAnimation() } let menuIconPref = prefs.integer(forKey: PrefKey.menuIcon.rawValue) var showIcon = false if menuIconPref == MenuIcon.show.rawValue { showIcon = true } else if menuIconPref == MenuIcon.externalOnly.rawValue { let externalDisplays = DisplayManager.shared.displays.filter { CGDisplayIsBuiltin($0.identifier) == 0 } if externalDisplays.count > 0 { showIcon = true } } app.updateStatusItemVisibility(showIcon) self.clearMenu() let currentDisplay = DisplayManager.shared.getCurrentDisplay() var displays: [Display] = [] if !prefs.bool(forKey: PrefKey.hideAppleFromMenu.rawValue) { displays.append(contentsOf: DisplayManager.shared.getAppleDisplays()) } displays.append(contentsOf: DisplayManager.shared.getOtherDisplays()) displays = DisplayManager.shared.sortDisplaysByFriendlyName() let relevant = prefs.integer(forKey: PrefKey.multiSliders.rawValue) == MultiSliders.relevant.rawValue let combine = prefs.integer(forKey: PrefKey.multiSliders.rawValue) == MultiSliders.combine.rawValue let numOfDisplays = displays.filter { !$0.isDummy }.count if numOfDisplays != 0 { let asSubMenu: Bool = (displays.count > 3 && !relevant && !combine && app.macOS10()) ? true : false var iterator = 0 for display in displays where (!relevant || DisplayManager.resolveEffectiveDisplayID(display.identifier) == DisplayManager.resolveEffectiveDisplayID(currentDisplay!.identifier)) && !display.isDummy { iterator += 1 if !relevant, !combine, iterator != 1, app.macOS10() { self.insertItem(NSMenuItem.separator(), at: 0) } self.updateDisplayMenu(display: display, asSubMenu: asSubMenu, numOfDisplays: numOfDisplays) } if combine { self.addCombinedDisplayMenuBlock() } } self.addDefaultMenuOptions() } func addSliderItem(monitorSubMenu: NSMenu, sliderHandler: SliderHandler) { let item = NSMenuItem() item.view = sliderHandler.view monitorSubMenu.insertItem(item, at: 0) if app.macOS10() { let sliderHeaderItem = NSMenuItem() let attrs: [NSAttributedString.Key: Any] = [.foregroundColor: NSColor.systemGray, .font: NSFont.systemFont(ofSize: 12)] sliderHeaderItem.attributedTitle = NSAttributedString(string: sliderHandler.title, attributes: attrs) monitorSubMenu.insertItem(sliderHeaderItem, at: 0) } } func setupMenuSliderHandler(command: Command, display: Display, title: String) -> SliderHandler { if prefs.integer(forKey: PrefKey.multiSliders.rawValue) == MultiSliders.combine.rawValue, let combinedHandler = self.combinedSliderHandler[command] { combinedHandler.addDisplay(display) display.sliderHandler[command] = combinedHandler return combinedHandler } else { let sliderHandler = SliderHandler(display: display, command: command, title: title) if prefs.integer(forKey: PrefKey.multiSliders.rawValue) == MultiSliders.combine.rawValue { self.combinedSliderHandler[command] = sliderHandler } display.sliderHandler[command] = sliderHandler return sliderHandler } } func addDisplayMenuBlock(addedSliderHandlers: [SliderHandler], blockName: String, monitorSubMenu: NSMenu, numOfDisplays: Int, asSubMenu: Bool) { if numOfDisplays > 1, prefs.integer(forKey: PrefKey.multiSliders.rawValue) != MultiSliders.relevant.rawValue, !DEBUG_MACOS10, #available(macOS 11.0, *) { class BlockView: NSView { override func draw(_: NSRect) { let radius = prefs.bool(forKey: PrefKey.showTickMarks.rawValue) ? CGFloat(4) : CGFloat(11) let outerMargin = CGFloat(15) let blockRect = self.frame.insetBy(dx: outerMargin, dy: outerMargin / 2 + 2).offsetBy(dx: 0, dy: outerMargin / 2 * -1 + 7) for i in 1 ... 5 { let blockPath = NSBezierPath(roundedRect: blockRect.insetBy(dx: CGFloat(i) * -1, dy: CGFloat(i) * -1), xRadius: radius + CGFloat(i) * 0.5, yRadius: radius + CGFloat(i) * 0.5) NSColor.black.withAlphaComponent(0.1 / CGFloat(i)).setStroke() blockPath.stroke() } let blockPath = NSBezierPath(roundedRect: blockRect, xRadius: radius, yRadius: radius) if [NSAppearance.Name.darkAqua, NSAppearance.Name.vibrantDark].contains(effectiveAppearance.name) { NSColor.systemGray.withAlphaComponent(0.3).setStroke() blockPath.stroke() } if ![NSAppearance.Name.darkAqua, NSAppearance.Name.vibrantDark].contains(effectiveAppearance.name) { NSColor.white.withAlphaComponent(0.5).setFill() blockPath.fill() } } } var contentWidth: CGFloat = 0 var contentHeight: CGFloat = 0 for addedSliderHandler in addedSliderHandlers { contentWidth = max(addedSliderHandler.view!.frame.width, contentWidth) contentHeight += addedSliderHandler.view!.frame.height } let margin = CGFloat(13) var blockNameView: NSTextField? if blockName != "" { contentHeight += 21 let attrs: [NSAttributedString.Key: Any] = [.foregroundColor: NSColor.textColor, .font: NSFont.boldSystemFont(ofSize: 12)] blockNameView = NSTextField(labelWithAttributedString: NSAttributedString(string: blockName, attributes: attrs)) blockNameView?.frame.size.width = contentWidth - margin * 2 blockNameView?.alphaValue = 0.5 } let itemView = BlockView(frame: NSRect(x: 0, y: 0, width: contentWidth + margin * 2, height: contentHeight + margin * 2)) var sliderPosition = CGFloat(margin * -1 + 1) for addedSliderHandler in addedSliderHandlers { addedSliderHandler.view!.setFrameOrigin(NSPoint(x: margin, y: margin + sliderPosition + 13)) itemView.addSubview(addedSliderHandler.view!) sliderPosition += addedSliderHandler.view!.frame.height } if let blockNameView = blockNameView { blockNameView.setFrameOrigin(NSPoint(x: margin + 13, y: contentHeight - 8)) itemView.addSubview(blockNameView) } let item = NSMenuItem() item.view = itemView if addedSliderHandlers.count != 0 { monitorSubMenu.insertItem(item, at: 0) } } else { for addedSliderHandler in addedSliderHandlers { self.addSliderItem(monitorSubMenu: monitorSubMenu, sliderHandler: addedSliderHandler) } } self.appendMenuHeader(friendlyName: blockName, monitorSubMenu: monitorSubMenu, asSubMenu: asSubMenu, numOfDisplays: numOfDisplays) } func addCombinedDisplayMenuBlock() { if let sliderHandler = self.combinedSliderHandler[.audioSpeakerVolume] { self.addSliderItem(monitorSubMenu: self, sliderHandler: sliderHandler) } if let sliderHandler = self.combinedSliderHandler[.contrast] { self.addSliderItem(monitorSubMenu: self, sliderHandler: sliderHandler) } if let sliderHandler = self.combinedSliderHandler[.brightness] { self.addSliderItem(monitorSubMenu: self, sliderHandler: sliderHandler) } } func updateDisplayMenu(display: Display, asSubMenu: Bool, numOfDisplays: Int) { os_log("Addig menu items for display %{public}@", type: .info, "\(display.identifier)") let monitorSubMenu: NSMenu = asSubMenu ? NSMenu() : self var addedSliderHandlers: [SliderHandler] = [] display.sliderHandler[.audioSpeakerVolume] = nil if let otherDisplay = display as? OtherDisplay, !otherDisplay.isSw(), !display.readPrefAsBool(key: .unavailableDDC, for: .audioSpeakerVolume), !prefs.bool(forKey: PrefKey.hideVolume.rawValue) { let title = NSLocalizedString("Volume", comment: "Shown in menu") addedSliderHandlers.append(self.setupMenuSliderHandler(command: .audioSpeakerVolume, display: display, title: title)) } display.sliderHandler[.contrast] = nil if let otherDisplay = display as? OtherDisplay, !otherDisplay.isSw(), !display.readPrefAsBool(key: .unavailableDDC, for: .contrast), prefs.bool(forKey: PrefKey.showContrast.rawValue) { let title = NSLocalizedString("Contrast", comment: "Shown in menu") addedSliderHandlers.append(self.setupMenuSliderHandler(command: .contrast, display: display, title: title)) } display.sliderHandler[.brightness] = nil if !display.readPrefAsBool(key: .unavailableDDC, for: .brightness), !prefs.bool(forKey: PrefKey.hideBrightness.rawValue) { let title = NSLocalizedString("Brightness", comment: "Shown in menu") addedSliderHandlers.append(self.setupMenuSliderHandler(command: .brightness, display: display, title: title)) } if prefs.integer(forKey: PrefKey.multiSliders.rawValue) != MultiSliders.combine.rawValue { self.addDisplayMenuBlock(addedSliderHandlers: addedSliderHandlers, blockName: display.readPrefAsString(key: .friendlyName) != "" ? display.readPrefAsString(key: .friendlyName) : display.name, monitorSubMenu: monitorSubMenu, numOfDisplays: numOfDisplays, asSubMenu: asSubMenu) } if addedSliderHandlers.count > 0, prefs.integer(forKey: PrefKey.menuIcon.rawValue) == MenuIcon.sliderOnly.rawValue { app.updateStatusItemVisibility(true) } } private func appendMenuHeader(friendlyName: String, monitorSubMenu: NSMenu, asSubMenu: Bool, numOfDisplays: Int) { let monitorMenuItem = NSMenuItem() if asSubMenu { monitorMenuItem.title = "\(friendlyName)" monitorMenuItem.submenu = monitorSubMenu self.insertItem(monitorMenuItem, at: 0) } else if app.macOS10(), numOfDisplays > 1 { let attrs: [NSAttributedString.Key: Any] = [.foregroundColor: NSColor.systemGray, .font: NSFont.boldSystemFont(ofSize: 12)] monitorMenuItem.attributedTitle = NSAttributedString(string: "\(friendlyName)", attributes: attrs) self.insertItem(monitorMenuItem, at: 0) } } func updateMenuRelevantDisplay() { if prefs.integer(forKey: PrefKey.multiSliders.rawValue) == MultiSliders.relevant.rawValue { if let display = DisplayManager.shared.getCurrentDisplay(), display.identifier != self.lastMenuRelevantDisplayId { os_log("Menu must be refreshed as relevant display changed since last time.") self.lastMenuRelevantDisplayId = display.identifier self.updateMenus(dontClose: true) } } } func addDefaultMenuOptions() { if !DEBUG_MACOS10, #available(macOS 11.0, *), prefs.integer(forKey: PrefKey.menuItemStyle.rawValue) == MenuItemStyle.icon.rawValue { let iconSize = CGFloat(18) let viewWidth = max(130, self.size.width) var compensateForBlock: CGFloat = 0 if viewWidth > 230 { // if there are display blocks, we need to compensate a bit for the negative inset of the blocks compensateForBlock = 4 } let menuItemView = NSView(frame: NSRect(x: 0, y: 0, width: viewWidth, height: iconSize + 10)) let settingsIcon = NSButton() settingsIcon.bezelStyle = .regularSquare settingsIcon.isBordered = false settingsIcon.setButtonType(.momentaryChange) settingsIcon.image = NSImage(systemSymbolName: "gearshape", accessibilityDescription: NSLocalizedString("Settings…", comment: "Shown in menu")) settingsIcon.alternateImage = NSImage(systemSymbolName: "gearshape.fill", accessibilityDescription: NSLocalizedString("Settings…", comment: "Shown in menu")) settingsIcon.alphaValue = 0.3 settingsIcon.frame = NSRect(x: menuItemView.frame.maxX - iconSize * 3 - 20 - 17 + compensateForBlock, y: menuItemView.frame.origin.y + 5, width: iconSize, height: iconSize) settingsIcon.imageScaling = .scaleProportionallyUpOrDown settingsIcon.action = #selector(app.prefsClicked) let updateIcon = NSButton() updateIcon.bezelStyle = .regularSquare updateIcon.isBordered = false updateIcon.setButtonType(.momentaryChange) var symbolName = prefs.bool(forKey: PrefKey.showTickMarks.rawValue) ? "arrow.left.arrow.right.square" : "arrow.triangle.2.circlepath.circle" updateIcon.image = NSImage(systemSymbolName: symbolName, accessibilityDescription: NSLocalizedString("Check for updates…", comment: "Shown in menu")) updateIcon.alternateImage = NSImage(systemSymbolName: symbolName + ".fill", accessibilityDescription: NSLocalizedString("Check for updates…", comment: "Shown in menu")) updateIcon.alphaValue = 0.3 updateIcon.frame = NSRect(x: menuItemView.frame.maxX - iconSize * 2 - 14 - 17 + compensateForBlock, y: menuItemView.frame.origin.y + 5, width: iconSize, height: iconSize) updateIcon.imageScaling = .scaleProportionallyUpOrDown updateIcon.action = #selector(app.updaterController.checkForUpdates(_:)) updateIcon.target = app.updaterController let quitIcon = NSButton() quitIcon.bezelStyle = .regularSquare quitIcon.isBordered = false quitIcon.setButtonType(.momentaryChange) symbolName = prefs.bool(forKey: PrefKey.showTickMarks.rawValue) ? "multiply.square" : "xmark.circle" quitIcon.image = NSImage(systemSymbolName: symbolName, accessibilityDescription: NSLocalizedString("Quit", comment: "Shown in menu")) quitIcon.alternateImage = NSImage(systemSymbolName: symbolName + ".fill", accessibilityDescription: NSLocalizedString("Quit", comment: "Shown in menu")) quitIcon.alphaValue = 0.3 quitIcon.frame = NSRect(x: menuItemView.frame.maxX - iconSize - 17 + compensateForBlock, y: menuItemView.frame.origin.y + 5, width: iconSize, height: iconSize) quitIcon.imageScaling = .scaleProportionallyUpOrDown quitIcon.action = #selector(app.quitClicked) menuItemView.addSubview(settingsIcon) menuItemView.addSubview(updateIcon) menuItemView.addSubview(quitIcon) let item = NSMenuItem() item.view = menuItemView self.insertItem(item, at: self.items.count) } else if prefs.integer(forKey: PrefKey.menuItemStyle.rawValue) != MenuItemStyle.hide.rawValue { if app.macOS10() { self.insertItem(NSMenuItem.separator(), at: self.items.count) } self.insertItem(withTitle: NSLocalizedString("Settings…", comment: "Shown in menu"), action: #selector(app.prefsClicked), keyEquivalent: ",", at: self.items.count) let updateItem = NSMenuItem(title: NSLocalizedString("Check for updates…", comment: "Shown in menu"), action: #selector(app.updaterController.checkForUpdates(_:)), keyEquivalent: "") updateItem.target = app.updaterController self.insertItem(updateItem, at: self.items.count) self.insertItem(withTitle: NSLocalizedString("Quit", comment: "Shown in menu"), action: #selector(app.quitClicked), keyEquivalent: "q", at: self.items.count) } } } ================================================ FILE: MonitorControl/Support/OSDUtils.swift ================================================ // Copyright © MonitorControl. @victorchabbert, @JoniVR, @theOneyouseek, @waydabber and others import Cocoa class OSDUtils: NSObject { enum OSDImage: Int64 { case brightness = 1 case audioSpeaker = 3 case audioSpeakerMuted = 4 case contrast = 0 } static func getOSDImageByCommand(command: Command, value: Float = 1) -> OSDImage { var osdImage: OSDImage switch command { case .audioSpeakerVolume: osdImage = value > 0 ? .audioSpeaker : .audioSpeakerMuted case .audioMuteScreenBlank: osdImage = .audioSpeakerMuted case .contrast: osdImage = .contrast default: osdImage = .brightness } return osdImage } static func showOsd(displayID: CGDirectDisplayID, command: Command, value: Float, maxValue: Float = 1, roundChiclet: Bool = false, lock: Bool = false) { guard let manager = OSDManager.sharedManager() as? OSDManager else { return } let osdImage = self.getOSDImageByCommand(command: command, value: value) let filledChiclets: Int let totalChiclets: Int if roundChiclet { let osdChiclet = OSDUtils.chiclet(fromValue: value, maxValue: maxValue) filledChiclets = Int(round(osdChiclet)) totalChiclets = 16 } else { filledChiclets = Int(value * 100) totalChiclets = Int(maxValue * 100) } manager.showImage(osdImage.rawValue, onDisplayID: displayID, priority: 0x1F4, msecUntilFade: 1000, filledChiclets: UInt32(filledChiclets), totalChiclets: UInt32(totalChiclets), locked: lock) } static func showOsdVolumeDisabled(displayID: CGDirectDisplayID) { guard let manager = OSDManager.sharedManager() as? OSDManager else { return } manager.showImage(22, onDisplayID: displayID, priority: 0x1F4, msecUntilFade: 1000) } static func showOsdMuteDisabled(displayID: CGDirectDisplayID) { guard let manager = OSDManager.sharedManager() as? OSDManager else { return } manager.showImage(21, onDisplayID: displayID, priority: 0x1F4, msecUntilFade: 1000) } static func popEmptyOsd(displayID: CGDirectDisplayID, command: Command) { guard let manager = OSDManager.sharedManager() as? OSDManager else { return } let osdImage = self.getOSDImageByCommand(command: command) manager.showImage(osdImage.rawValue, onDisplayID: displayID, priority: 0x1F4, msecUntilFade: 0) } static let chicletCount: Float = 16 static func chiclet(fromValue value: Float, maxValue: Float, half: Bool = false) -> Float { (value * self.chicletCount * (half ? 2 : 1)) / maxValue } static func value(fromChiclet chiclet: Float, maxValue: Float, half: Bool = false) -> Float { (chiclet * maxValue) / (self.chicletCount * (half ? 2 : 1)) } static func getDistance(fromNearestChiclet chiclet: Float) -> Float { abs(chiclet.rounded(.towardZero) - chiclet) } } ================================================ FILE: MonitorControl/Support/SliderHandler.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import os.log class SliderHandler { var slider: MCSlider? var view: NSView? var percentageBox: NSTextField? var displays: [Display] = [] var values: [CGDirectDisplayID: Float] = [:] var title: String let command: Command var icon: ClickThroughImageView? class MCSliderCell: NSSliderCell { let knobFillColor = NSColor(white: 1, alpha: 1) let knobFillColorTracking = NSColor(white: 0.8, alpha: 1) let knobStrokeColor = NSColor.systemGray.withAlphaComponent(0.5) let knobShadowColor = NSColor(white: 0, alpha: 0.03) let barFillColor = NSColor.systemGray.withAlphaComponent(0.2) let barStrokeColor = NSColor.systemGray.withAlphaComponent(0.5) let barFilledFillColor = NSColor(white: 1, alpha: 1) let highlightDisplayIndicatorColor = NSColor(white: 0.85, alpha: 1) // This is visible if there is more the 2 displays let tickMarkColor = NSColor.systemGray.withAlphaComponent(0.5) let inset: CGFloat = 3.5 let offsetX: CGFloat = -1.5 let offsetY: CGFloat = -1.5 let tickMarkKnobExtraInset: CGFloat = 4 let tickMarkKnobExtraRadiusMultiplier: CGFloat = 0.25 var numOfTickmarks: Int = 0 var isHighlightDisplayItems: Bool = false var displayHighlightItems: [CGDirectDisplayID: Float] = [:] var isTracking: Bool = false required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override init() { super.init() } override func barRect(flipped: Bool) -> NSRect { let bar = super.barRect(flipped: flipped) let knob = super.knobRect(flipped: flipped) return NSRect(x: bar.origin.x, y: knob.origin.y, width: bar.width, height: knob.height).insetBy(dx: 0, dy: self.inset).offsetBy(dx: self.offsetX, dy: self.offsetY) } override func startTracking(at startPoint: NSPoint, in controlView: NSView) -> Bool { self.isTracking = true return super.startTracking(at: startPoint, in: controlView) } override func stopTracking(last lastPoint: NSPoint, current stopPoint: NSPoint, in controlView: NSView, mouseIsUp flag: Bool) { self.isTracking = false return super.stopTracking(last: lastPoint, current: stopPoint, in: controlView, mouseIsUp: flag) } override func drawKnob(_ knobRect: NSRect) { guard !DEBUG_MACOS10, #available(macOS 11.0, *) else { super.drawKnob(knobRect) return } // This is intentionally empty as the knob is inside the bar. Please leave it like this! } override func drawBar(inside aRect: NSRect, flipped: Bool) { guard !DEBUG_MACOS10, #available(macOS 11.0, *) else { super.drawBar(inside: aRect, flipped: flipped) return } var maxValue: Float = self.floatValue var minValue: Float = self.floatValue if self.isHighlightDisplayItems { maxValue = max(self.displayHighlightItems.values.max() ?? 0, maxValue) minValue = min(self.displayHighlightItems.values.min() ?? 1, minValue) } let barRadius = aRect.height * 0.5 * (self.numOfTickmarks == 0 ? 1 : self.tickMarkKnobExtraRadiusMultiplier) let bar = NSBezierPath(roundedRect: aRect, xRadius: barRadius, yRadius: barRadius) self.barFillColor.setFill() bar.fill() let barFilledWidth = (aRect.width - aRect.height) * CGFloat(maxValue) + aRect.height let barFilledRect = NSRect(x: aRect.origin.x, y: aRect.origin.y, width: barFilledWidth, height: aRect.height) let barFilled = NSBezierPath(roundedRect: barFilledRect, xRadius: barRadius, yRadius: barRadius) self.barFilledFillColor.setFill() barFilled.fill() let knobMinX = aRect.origin.x + (aRect.width - aRect.height) * CGFloat(minValue) let knobMaxX = aRect.origin.x + (aRect.width - aRect.height) * CGFloat(maxValue) let knobRect = NSRect(x: knobMinX + (self.numOfTickmarks == 0 ? CGFloat(0) : self.tickMarkKnobExtraInset), y: aRect.origin.y, width: aRect.height + CGFloat(knobMaxX - knobMinX), height: aRect.height).insetBy(dx: self.numOfTickmarks == 0 ? CGFloat(0) : self.tickMarkKnobExtraInset, dy: 0) let knobRadius = knobRect.height * 0.5 * (self.numOfTickmarks == 0 ? 1 : self.tickMarkKnobExtraRadiusMultiplier) if self.numOfTickmarks > 0 { for i in 1 ... self.numOfTickmarks - 2 { let currentMarkLocation = CGFloat((Float(1) / Float(self.numOfTickmarks - 1)) * Float(i)) let tickMarkBounds = NSRect(x: aRect.origin.x + aRect.height + self.tickMarkKnobExtraInset - knobRect.height + self.tickMarkKnobExtraInset * 2 + CGFloat(Float((aRect.width - self.tickMarkKnobExtraInset * 5) * currentMarkLocation)), y: aRect.origin.y + aRect.height * (1 / 3), width: 4, height: aRect.height / 3) let tickmark = NSBezierPath(roundedRect: tickMarkBounds, xRadius: 1, yRadius: 1) self.tickMarkColor.setFill() tickmark.fill() } } let knobAlpha = CGFloat(max(0, min(1, (minValue - 0.08) * 5))) for i in 1 ... 3 { let knobShadow = NSBezierPath(roundedRect: knobRect.offsetBy(dx: CGFloat(-1 * 2 * i), dy: 0), xRadius: knobRadius, yRadius: knobRadius) self.knobShadowColor.withAlphaComponent(self.knobShadowColor.alphaComponent * knobAlpha).setFill() knobShadow.fill() } let knob = NSBezierPath(roundedRect: knobRect, xRadius: knobRadius, yRadius: knobRadius) (self.isTracking ? self.knobFillColorTracking : self.knobFillColor).withAlphaComponent(knobAlpha).setFill() knob.fill() if self.isHighlightDisplayItems, self.displayHighlightItems.count > 2 { for currentMarkLocation in self.displayHighlightItems.values { let highlightKnobX = aRect.origin.x + (aRect.width - aRect.height) * CGFloat(currentMarkLocation) let highlightKnobRect = NSRect(x: highlightKnobX + (self.numOfTickmarks == 0 ? CGFloat(0) : self.tickMarkKnobExtraInset), y: aRect.origin.y, width: aRect.height, height: aRect.height).insetBy(dx: (self.numOfTickmarks == 0 ? CGFloat(0) : self.tickMarkKnobExtraInset) + CGFloat(self.numOfTickmarks == 0 ? 6 : 3), dy: CGFloat(self.numOfTickmarks == 0 ? 6 : 6)) let highlightKnobRadius = highlightKnobRect.height * 0.5 * (self.numOfTickmarks == 0 ? 1 : self.tickMarkKnobExtraRadiusMultiplier) let highlightKnob = NSBezierPath(roundedRect: highlightKnobRect, xRadius: highlightKnobRadius, yRadius: highlightKnobRadius) let highlightDisplayIndicatorAlpha = CGFloat(max(0, min(1, (currentMarkLocation - 0.08) * 5))) self.highlightDisplayIndicatorColor.withAlphaComponent(self.highlightDisplayIndicatorColor.alphaComponent * highlightDisplayIndicatorAlpha).setFill() highlightKnob.fill() } } self.knobStrokeColor.withAlphaComponent(self.knobStrokeColor.alphaComponent * knobAlpha).setStroke() knob.stroke() self.barStrokeColor.setStroke() bar.stroke() } } class MCSlider: NSSlider { required init?(coder: NSCoder) { super.init(coder: coder) } override init(frame frameRect: NSRect) { super.init(frame: frameRect) self.cell = MCSliderCell() } func setNumOfCustomTickmarks(_ numOfCustomTickmarks: Int) { if let cell = self.cell as? MCSliderCell { cell.numOfTickmarks = numOfCustomTickmarks } } func setDisplayHighlightItems(_ isHighlightDisplayItems: Bool) { if let cell = self.cell as? MCSliderCell { cell.isHighlightDisplayItems = isHighlightDisplayItems } } func setHighlightItem(_ displayID: CGDirectDisplayID, value: Float) { if let cell = self.cell as? MCSliderCell { cell.displayHighlightItems[displayID] = value } } func removeHighlightItem(_ displayID: CGDirectDisplayID) { if let cell = self.cell as? MCSliderCell { if cell.displayHighlightItems[displayID] != nil { cell.displayHighlightItems[displayID] = nil } } } func resetHighlightItems() { if let cell = self.cell as? MCSliderCell { cell.displayHighlightItems.removeAll() } } // Credits for this class go to @thompsonate - https://github.com/thompsonate/Scrollable-NSSlider override func scrollWheel(with event: NSEvent) { guard self.isEnabled else { return } let range = Float(self.maxValue - self.minValue) var delta = Float(0) if self.isVertical, self.sliderType == .linear { delta = Float(event.deltaY) } else if self.userInterfaceLayoutDirection == .rightToLeft { delta = Float(event.deltaY + event.deltaX) } else { delta = Float(event.deltaY - event.deltaX) } if event.isDirectionInvertedFromDevice { delta *= -1 } let increment = range * delta / 100 let value = self.floatValue + increment self.floatValue = value self.sendAction(self.action, to: self.target) } } class ClickThroughImageView: NSImageView { override func hitTest(_ point: NSPoint) -> NSView? { subviews.first { subview in subview.hitTest(point) != nil } } } public init(display: Display?, command: Command, title: String = "", position _: Int = 0) { self.command = command self.title = title let slider = SliderHandler.MCSlider(value: 0, minValue: 0, maxValue: 1, target: self, action: #selector(SliderHandler.valueChanged)) let showPercent = prefs.bool(forKey: PrefKey.enableSliderPercent.rawValue) slider.isEnabled = true slider.setNumOfCustomTickmarks(prefs.bool(forKey: PrefKey.showTickMarks.rawValue) ? 5 : 0) self.slider = slider if !DEBUG_MACOS10, #available(macOS 11.0, *) { slider.frame.size.width = 180 slider.frame.origin = NSPoint(x: 15, y: 5) let view = NSView(frame: NSRect(x: 0, y: 0, width: slider.frame.width + 30 + (showPercent ? 38 : 0), height: slider.frame.height + 14)) view.frame.origin = NSPoint(x: 12, y: 0) var iconName = "circle.dashed" switch command { case .audioSpeakerVolume: iconName = "speaker.wave.2.fill" case .brightness: iconName = "sun.max.fill" case .contrast: iconName = "circle.lefthalf.fill" default: break } let icon = SliderHandler.ClickThroughImageView() icon.image = NSImage(systemSymbolName: iconName, accessibilityDescription: title) icon.contentTintColor = NSColor.black.withAlphaComponent(0.6) icon.frame = NSRect(x: view.frame.origin.x + 6.5, y: view.frame.origin.y + 13, width: 15, height: 15) icon.imageAlignment = .alignCenter view.addSubview(slider) view.addSubview(icon) self.icon = icon if showPercent { let percentageBox = NSTextField(frame: NSRect(x: 15 + slider.frame.size.width - 2, y: 17, width: 40, height: 12)) self.setupPercentageBox(percentageBox) self.percentageBox = percentageBox view.addSubview(percentageBox) } self.view = view } else { slider.frame.size.width = 180 slider.frame.origin = NSPoint(x: 15, y: 5) let view = NSView(frame: NSRect(x: 0, y: 0, width: slider.frame.width + 30 + (showPercent ? 38 : 0), height: slider.frame.height + 10)) view.addSubview(slider) if showPercent { let percentageBox = NSTextField(frame: NSRect(x: 15 + slider.frame.size.width - 2, y: 18, width: 40, height: 12)) self.setupPercentageBox(percentageBox) self.percentageBox = percentageBox view.addSubview(percentageBox) } self.view = view } slider.maxValue = 1 if let displayToAppend = display { self.addDisplay(displayToAppend) } } func addDisplay(_ display: Display) { self.displays.append(display) if let otherDisplay = display as? OtherDisplay { let value = otherDisplay.setupSliderCurrentValue(command: self.command) self.setValue(value, displayID: otherDisplay.identifier) } else if let appleDisplay = display as? AppleDisplay { if self.command == .brightness { self.setValue(appleDisplay.getAppleBrightness(), displayID: appleDisplay.identifier) } } } func setupPercentageBox(_ percentageBox: NSTextField) { percentageBox.font = NSFont.systemFont(ofSize: 12) percentageBox.isEditable = false percentageBox.isBordered = false percentageBox.drawsBackground = false percentageBox.alignment = .right percentageBox.alphaValue = 0.7 } func valueChangedOtherDisplay(otherDisplay: OtherDisplay, value: Float) { // For the speaker volume slider, also set/unset the mute command when the value is changed from/to 0 if self.command == .audioSpeakerVolume, (otherDisplay.readPrefAsInt(for: .audioMuteScreenBlank) == 1 && value > 0) || (otherDisplay.readPrefAsInt(for: .audioMuteScreenBlank) != 1 && value == 0) { otherDisplay.toggleMute(fromVolumeSlider: true) } if self.command == Command.brightness { _ = otherDisplay.setBrightness(value) return } else if !otherDisplay.isSw() { if self.command == Command.audioSpeakerVolume { if !otherDisplay.readPrefAsBool(key: .enableMuteUnmute) || value != 0 { otherDisplay.writeDDCValues(command: self.command, value: otherDisplay.convValueToDDC(for: self.command, from: value)) } } else { otherDisplay.writeDDCValues(command: self.command, value: otherDisplay.convValueToDDC(for: self.command, from: value)) } otherDisplay.savePref(value, for: self.command) } } @objc func valueChanged(slider: MCSlider) { guard app.sleepID == 0, app.reconfigureID == 0 else { return } var value = slider.floatValue self.updateIcon() if prefs.bool(forKey: PrefKey.enableSliderSnap.rawValue) { let intPercent = Int(value * 100) let snapInterval = 25 let snapThreshold = 3 let closest = (intPercent + snapInterval / 2) / snapInterval * snapInterval if abs(closest - intPercent) <= snapThreshold { value = Float(closest) / 100 slider.floatValue = value } } if self.percentageBox == self.percentageBox { self.percentageBox?.stringValue = "" + String(Int(value * 100)) + "%" } for display in self.displays { slider.setHighlightItem(display.identifier, value: value) if self.command == .brightness, let appleDisplay = display as? AppleDisplay { _ = appleDisplay.setBrightness(value) } else if let otherDisplay = display as? OtherDisplay { self.valueChangedOtherDisplay(otherDisplay: otherDisplay, value: value) } } slider.setDisplayHighlightItems(false) } func updateIcon() { // This looks hideous so I disable it for now. Maybe after a bit of tinkering it will look better /* if self.command == .audioSpeakerVolume { let value = self.slider?.floatValue ?? 0.5 if value > 2/3 { self.icon?.image = NSImage(systemSymbolName: "speaker.wave.3.fill", accessibilityDescription: "") } else if value > 1/3 { self.icon?.image = NSImage(systemSymbolName: "speaker.wave.2.fill", accessibilityDescription: "") } else if value != 0 { self.icon?.image = NSImage(systemSymbolName: "speaker.wave.1.fill", accessibilityDescription: "") } else { self.icon?.image = NSImage(systemSymbolName: "speaker.slash.fill", accessibilityDescription: "") } } */ } func setValue(_ value: Float, displayID: CGDirectDisplayID = 0) { if let slider = self.slider { if displayID != 0 { self.values[displayID] = value slider.setHighlightItem(displayID, value: value) } var sumVal: Float = 0 var maxVal: Float = 0 var minVal: Float = 1 var num = 0 for key in self.values.keys { if let val = values[key] { sumVal += val maxVal = max(maxVal, val) minVal = min(minVal, val) num += 1 } } // let average = sumVal / Float(num) slider.floatValue = value self.updateIcon() if abs(maxVal - minVal) > 0.001 { slider.setDisplayHighlightItems(true) } else { slider.setDisplayHighlightItems(false) } if self.percentageBox == self.percentageBox { self.percentageBox?.stringValue = "" + String(Int(value * 100)) + "%" } } } } ================================================ FILE: MonitorControl/Support/UpdaterDelegate.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Foundation import Sparkle class UpdaterDelegate: NSObject, SPUUpdaterDelegate { func allowedChannels(for _: SPUUpdater) -> Set { prefs.bool(forKey: PrefKey.isBetaChannel.rawValue) ? Set(["beta"]) : Set([]) } } ================================================ FILE: MonitorControl/UI/Base.lproj/Main.storyboard ================================================ Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only. Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays. Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating. Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user. + Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control. Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays. Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default. Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used. Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys. MonitorControl needs access to "accessibility" to use macOS native keys to control your display. You can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility. ================================================ FILE: MonitorControl/UI/cs.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl umožňuje ovládat jas a hlasitost externích displejů"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Pokud nepovolíte tato připojení, nebudete moct dostávat oznámení o nových verzích ani bezpečnostních aktualizacích. Bezpečnostní aktualizace jsou důležité na ochranu proti malwaru."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl kontroluje, zda nejsou k dispozici nové verze nebo bezpečnostní aktualizace."; ================================================ FILE: MonitorControl/UI/cs.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "O aplikaci"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Zdá se, že jas a barvy ovládá ještě nějaká další aplikace, což způsobuje problémy.\n\nBuďto jinou aplikaci ukončete, nebo v MonitorControl vypněte ovládání gamy pro Vaše displeje!"; /* Shown in the main prefs window */ "App menu" = "Nabídka"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Opravdu chcete zapnout delší prodlevu? Může dojít k zamrznutí systému, což by vyžadovalo restart. Volba \"Spustit po přihlášení\" se z bezpečnostních důvodů vypne."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Opravdu chcete obnovit všechna nastavení?"; /* Shown in menu */ "Brightness" = "Jas"; /* Build */ "Build" = "Build"; /* Shown in the Display Settings */ "Built-in Display" = "Vestavěný displej"; /* Shown in menu */ "Check for updates…" = "Zkontrolovat aktualizace..."; /* Shown in menu */ "Contrast" = "Kontrast"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Snížit"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Vypnout u mých displejů ovládání gamy"; /* Shown in the main prefs window */ "Displays" = "Displeje"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Povolit delší prodlevu?"; /* Shown in the Display Settings */ "External Display" = "Externí displej"; /* Shown in the main prefs window */ "General" = "Obecné"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Hardwarové (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Hardwarové (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Ukončím jinou aplikaci"; /* Shown in the alert dialog */ "Incompatible previous version" = "Nekompatibilní předchozí verze"; /* Shown in record shortcut box */ "Increase" = "Zvýšit"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "Neběží f.lux nebo něco podobného?"; /* Shown in the main prefs window */ "Keyboard" = "Klávesnice"; /* Shown in record shortcut box */ "Mute" = "Ztlumit"; /* Shown in the alert dialog */ "No" = "Ne"; /* Shown in the Display Settings */ "No Control" = "Bez ovládání"; /* Shown in the Display Settings */ "Other Display" = "Jiný displej"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Nalezena nastavení pro předchozí, nekompatibilní verzi aplikace. Načetla se výchozí nastavení."; /* Shown in menu */ "Settings…" = "Nastavení..."; /* Shown in menu */ "Quit" = "Ukončit"; /* Shown in the alert dialog */ "Reset Settings?" = "Obnovit nastavení?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Bezpečný režim aktivován"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Běhěm spuštění byl stisknutý Shift. MonitorControl běží v bezpečném režimu. Byla načtena výchozí nastavení; čtení DDC je zablokováno."; /* Shown in the alert dialog */ "Shortcuts not available" = "Zkratky nejsou k dispozici"; /* Shown in the Display Settings */ "Software (gamma)" = "Softwarové (gama)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Softwarové (gama, vynucené)"; /* Shown in the Display Settings */ "Software (shade)" = "Softwarové (stínování)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Software (stínování, vynucené)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Jas tohoto displeje lze ovládat softwarově – manipulací gamy nebo stínování, protože hardwarové ovládání nepodporuje. Důvodem může být připojení přes HDMI port na Macu Mini (který blokuje hardwarové ovládání DDC) nebo to, že displej patří na seznam nepodporovaných."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Tento displej má nespecifikovaný stav ovládání."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Tento displej by měl podporovat hardwarové DDC ovládání, ale současná nastavení umožňují ovládání jen softwarové ovládání."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Tento displej by měl podporovat hardwarové DDC ovládání. Pokud narazíte na problém, můžete hardwarové ovládání DDC vypnout a použít vynucené softwarové ovládání."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Tento displej podporuje nativní jasový protokol Apple. Díky tomu ho může macOS ovládat i bez MonitorControl."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Toto je virtuální displej (např. AirPlay, Sidecar, DisplayLink a podobně), který neumožňuje hardwarové, ani softwarové ovládání gamy. Jako náhrada slouží stínování, ale jen za předpokladu, že displej není nastaven na zrcadlení. Změny se neprojeví na ukazateli myši a můžou se objevit vizuální artefakty při přepínání režimu na celou obrazovku."; /* Unknown display name */ "Unknown" = "Neznámý"; /* Version */ "Version" = "Verze"; /* Shown in the Display Settings */ "Virtual Display" = "Virtuální displej"; /* Shown in menu */ "Volume" = "Hlasitost"; /* Shown in the alert dialog */ "Yes" = "Ano"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Abyste mohli používat klávesové zkratky, jděte do Předvoleb systému > Zabezpečení a soukromí > Zpřístupnění a tam zaškrtněte MonitorControl"; ================================================ FILE: MonitorControl/UI/cs.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Synchronizovat změny jasu z vestavěného displeje a z displejů Apple"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Předpokládat, že poslední uložená nastavení platí (doporučeno)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Standardní klávesy pro hlasitost a ztlumení"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min."; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Snížit hlasitost"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "V nabídce zobrazovat ovládání pro každý displej zvlášť"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Pro displej použít naposledy uložené hodnoty"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Vlastní klávesové zkratky"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Možnost s aktivním oknem nemusí fungovat správně u aplikací na celou obrazovku"; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Vítá vás MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Resetovat předvolby"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Vždy skrýt"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Chování posuvníku:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Zobrazovat značky na posuvníku"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "Posuvník se bude přitahovat na hodnoty 0 %, 25 %, 50 %, 75 % a 100 %, aby šly snadno nastavit. Pro přesnější ovládání můžete možnost vypnout."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Používat jemnější škálu pro jas a kontrast"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Začít používat MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Zvláštní poděkování našim přispěvatelům!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Vlastní klávesové zkratky"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Zkusit přečíst nastavení displeje"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Pro větší přesnost označí na posuvníku hodnoty 0 %, 25 %, 50 %, 75 % a 100 %."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Zachová jas, hlasitost a další nastavení od minula, nebo použije výchozí hodnoty. Nastavení se použijí na displej po první změně uživatelem."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Určit podle názvu zvukového zařízení"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Spouštět po přihlášení?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Zobrazovat posuvníky jen pro displej, na kterém je nabídka otevřená"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Jas:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Software->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Jen pro displeje ovládané hardwarem (DDC). Výsledky se mohou lišit."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "Vypnout systémový ukazatel hlasitosti"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "Škála OSD:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "Škála OSD:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Resetovat nastavení"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Povolit DDC příkaz ztlumení"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Zobrazovat v nabídce posuvník hlasitosti"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Vlastní"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Po zapnutí nebo probuzení:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Pozor! Změna těchto nastavení může způsobit zamrznutí systému nebo nečekané chování!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Alternativní klávesy jsou F14/F15 (Na PC klávesnicích ScrollLock a Pause/Break, na některých Logitech klávesnicích klávesy pro jas)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "Seznam VCP"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "V sekci Displeje (pokročilé) můžete ručně přejmenovat zvukové zařízení, pokud je třeba."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Pro přímé a okamžité ovládání můžete vypnout plynulé přechody."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Minimální"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Křivka mapování škály"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Ztlumit:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Normálně se klávesovými zkratkami přidává / ubírá vždy celý dílek, zatímco pro jemnější ovládání je třeba držet Shift+Option. Když ale zaškrtnete tuto možnost, jemnější ovládání bude tím výchozím."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Resetovat název"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Automaticky hledat aktualizace"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Ovládání jasu:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Hlasitost:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Povolit nulový jas při softwarovém nebo kombinovaném ztmívání"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Vestavěné a Apple displeje už mají svůj posuvník jasu v Ovládacím centru."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Žádné"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Jako ikony"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Jako text"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Obrátit"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Podle toho, kde je právě aktivní okno"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Posuvník jasu pro obrazovky ovládané hardwarově nebo softwarově."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Ručně přejmenovat zvukové zařízení:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Když menu v řádku nabídek není k dispozici, k nastavení se dostanete tak, že aplikaci ukončíte a znovu spustíte. K ukončení můžete použít tlačítko níže:"; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Získat aktuální"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Skrýt"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Dodatečná ovládání:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Jas:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Povolit plynulé změny jasu"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Používat jemnější škálu OSD pro hlasitost"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Spustit po přihlášení"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Přepnout ztlumení"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Ovládat všechny obrazovky"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Vyhledat aktualizace"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Spouštět MonitorControl po přihlášení"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Poznámka: Když během spouštění podržíte Shift, aktivuje se "Bezpečný režim" – načtou se výchozí hodnoty a z displejů se nebude nic číst ani zapisovat."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Povolit i pro vestavěný displej a pro monitory Apple"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "Pokud chcete ovládat displeje výchozími klávesami macOS, MonitorControl pořebuje přístup ke "zpřístupnění".\nMůžete ho udělit tím, že přidáte MonitorControl do sekce Předvolby systému > Zabezpečení a soukromí > Zpřístupnění."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Kterou obrazovku ovládat:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Podle toho, kde je kurzor myši"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Jeden posuvník pro všechny displeje"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Ovládání jasu a kontrastu:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Typ displeje:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Kterou obrazovku ovládat:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Ovládejte jas, kontrast a hlasitost svých externích displejů přímo z Vašeho Macu pomocí posuvníků v nabídce a/nebo kláves, včetně výchozích kláves Apple."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Povolit přichytávání posuvníku"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Vždy zobrazovat v nabídce"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Kontrast:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Hlasitost:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "V menu zobrazovat posuvník jasu"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Vyhnout se změnám gamy"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Spouští MonitorControl po přihlášení, aby byl vždy po ruce."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Zvýšit jas"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Oddělené škály pro hardwarové a pro softwarové ztmívání zvlášť"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Úplně vypnout"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Aplikace:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Standardní klávasy pro změnu jasu"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "počet:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Používejte normální klávesy jasu na Vaší Apple klávesnici. Přidržením klávesy Control můžete ovládat jen vestavěný displej, přidržením Control+Command jen externí displeje, pro jemnější ovládání použijte Shift+Option. Přidržením Control+Option+Command můžete měnit kontrast na kompatibilních DDC displejích."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Metoda ovládání:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Delší prodleva při čtení přes DDC"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC max."; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Otevřít Předvolby systému…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Ztmívat přes software jakmile hardwarový jas dosáhne nuly, pro širší rozsah. Funguje jen na displejích ovládaných přes DDC."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Snížit jas"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Standardní i vlastní zkratky"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Ukončit aplikaci"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "V menu zobrazovat posuvník kontrastu"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Ovládání hlasitosti (jen u DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Pro větší přesnost zobrazovat vedle posuvníku procenta."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Zkombinovat ztmívání přes hardware a přes software"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Povolit přístup k výchozím klávesám"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normální"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Styl položek v nabídce:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Ikona v řádku nabídek"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Zobrazit pokročilá nastavení"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Funguje u zvukových zařízení, která nemají vlastní ovládání hlasitosti."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Povolit ovládání displeje přes klávesnici"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Kontrast (DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Nepoužívat alternativní klávesy jasu"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Vysoké"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Více displejů:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "Režim dotazování při čtení DDC:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Obecné volby:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Užitečné pro displeje, které mají tendenci resetovat svá nastavení, jakmile usnou."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Změny způsobené senzorem okolního světla, Touch Barem, Ovládacím centrem nebo v Předvolbách systému se projeví na všech displejích."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Měnit hlasitost pro všechny obrazovky"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Načíst nastavení z displeje. Nemusí fungovat se všemi zařízeními."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Jen pokud je k dispozici alespoň jeden posuvník"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Pouze když je externí displej přítomen"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Standardní i vlastní zkratky"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Funguje nejlépe s různými nastaveními synchronizace, sjednoceného ovládání apod."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "K dispozici"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "Škála OSD pokryje celý rozsah hardwarového jasu – jakmile klesne až na nulu, displej se bude dál ztmívat softwarem."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Pozor! Pokud tuto možnost zapnete, můžete se dostat do situace, kdy na displeji není nic vidět. To může být frustrující, obzvlášť pokud máte zároveň vypnuté klávesové zkratky."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Identifikátor:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Podle toho, kde je kurzor myši"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Zvýšit hlasitost"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Používat DDC ovládání přes hardware"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Úplně vypnout"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Přispět"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Zobrazovat procenta"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Mezní bod pro kombinované ztmívání:"; ================================================ FILE: MonitorControl/UI/de.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl ermöglicht die Steuerung von Helligkeit und Lautstärke externer Monitore"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Wenn du diese Verbindungen nicht zulässt, wirst du nicht über neue Versionen und Sicherheitsaktualisierungen informiert. Sicherheitsaktualisierungen sind wichtig, um sich gegen Malware-Angriffe zu schützen."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl prüft auf neue Versionen und nach Sicherheitsupdates."; ================================================ FILE: MonitorControl/UI/de.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "Über"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Eine andere App scheint die Helligkeit oder die Farben zu verändern, was zu Problemen führt.\n\nUm dieses Problem zu lösen, musst du die andere App beenden oder die Gamma-Steuerung für Deine Monitore in MonitorControl deaktivieren!"; /* Shown in the main prefs window */ "App menu" = "App Menü"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Bist du sicher, dass du eine längere Verzögerung aktivieren willst? Wenn du dies tust, kann dein System einfrieren und einen Neustart erfordern. Der Start bei der Anmeldung wird als Sicherheitsmassnahme deaktiviert."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Bist du sicher, dass du alle Einstellungen zurücksetzen willst?"; /* Shown in menu */ "Brightness" = "Helligkeit"; /* Build */ "Build" = "Build"; /* Shown in the Display Settings */ "Built-in Display" = "Integrierter Monitor"; /* Shown in menu */ "Check for updates…" = "Nach Updates suchen…"; /* Shown in menu */ "Contrast" = "Kontrast"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Verringern"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Gamma-Steuerung für meine Monitore deaktivieren"; /* Shown in the main prefs window */ "Displays" = "Monitore"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Längere Verzögerung einschalten?"; /* Shown in the Display Settings */ "External Display" = "Externer Monitor"; /* Shown in the main prefs window */ "General" = "Allgemein"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Hardware (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Hardware (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Ich beende die andere App"; /* Shown in the alert dialog */ "Incompatible previous version" = "Inkompatible Vorgängerversion"; /* Shown in record shortcut box */ "Increase" = "Erhöhen"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "Läuft f.lux oder ähnliches?"; /* Shown in the main prefs window */ "Keyboard" = "Tastatur"; /* Shown in record shortcut box */ "Mute" = "Stummschalten"; /* Shown in the alert dialog */ "No" = "Nein"; /* Shown in the Display Settings */ "No Control" = "Keine Steuerung"; /* Shown in the Display Settings */ "Other Display" = "Anderer Monitor"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Einstellungen für eine inkompatible Vorgängerversion des Programms erkannt. Die Standardeinstellungen werden neu geladen."; /* Shown in menu */ "Settings…" = "Einstellungen…"; /* Shown in menu */ "Quit" = "Beenden"; /* Shown in the alert dialog */ "Reset Settings?" = "Einstellungen zurücksetzen?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Sicherer Modus Aktiviert"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Beim Start wurde die Umschalttaste gedrückt. MonitorControl wurde im abgesicherten Modus gestartet. Standardeinstellungen werden neu geladen, DDC-Lesen ist blockiert."; /* Shown in the alert dialog */ "Shortcuts not available" = "Kurzbefehle sind nicht verfügbar"; /* Shown in the Display Settings */ "Software (gamma)" = "Software (gamma)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Software (Gamma, Erzwungen)"; /* Shown in the Display Settings */ "Software (shade)" = "Software (Schattierung)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Software (Schattierung, erzwungen)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Dieser Monitor ermöglicht eine Software-Helligkeitssteuerung über Gammatabellenmanipulation oder Schattierung, da er keine Hardware-Steuerung unterstützt. Gründe dafür können die Verwendung des HDMI-Anschlusses eines Mac mini (der die Hardware-DDC-Steuerung blockiert) oder ein Monitor auf der schwarzen Liste sein."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Dieser Monitor hat einen nicht definierten Kontrollzustand."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Anscheinend unterstützt dieser Monitor die Hardware-DDC-Steuerung, aber die aktuellen Einstellungen erlauben nur die Software-Steuerung."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Dieser Monitor unterstützt anscheinend die Hardware-DDC-Steuerung. Wenn Probleme auftreten, kannst du die Hardware-DDC-Steuerung deaktivieren, um die Software-Steuerung zu erzwingen."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Dieser Monitor unterstützt das native Apple Helligkeitsprotokoll. Dies ermöglicht es macOS, diesen Monitor auch ohne MonitorControl zu steuern."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Dies ist ein virtueller Monitor (Beispiele: AirPlay, Sidecar, über ein DisplayLink-Dock o.ä. angeschlossener Monitor), der keine hardware- oder softwareseitig gammierbare Steuerung erlaubt. Schattierung wird als Ersatz verwendet, aber nur in Nicht-Spiegelungs-Szenarien. Der Mauszeiger wird nicht beeinflusst und es können Artefakte auftreten, wenn der Vollbildmodus aktiviert oder verlassen wird."; /* unknown display name unknown model unknown vendor */ "Unknown" = "Unbekannt"; /* Version */ "Version" = "Version"; /* Shown in the Display Settings */ "Virtual Display" = "Virtueller Monitor"; /* Shown in menu */ "Volume" = "Lautstärke"; /* Shown in the alert dialog */ "Yes" = "Ja"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Du musst MonitorControl in Systemeinstellungen > Sicherheit > Datenschutz > Bedienungshilfen aktivieren, damit die Kurzbefehle funktionieren."; ================================================ FILE: MonitorControl/UI/de.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Helligkeitsänderungen von internen und Apple Monitoren synchronisieren"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Annehmen, dass die zuletzt gespeicherten Einstellungen gültig sind (empfohlen)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Standardtasten für Lautstärke und Stummschaltung"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Leiser"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Separate Steuerung für jeden Monitor im Menü anzeigen"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Zuletzt gespeicherte Werte auf den Monitor anwenden"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Benutzerdefinierte Tastaturkürzel"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Die Verwenden des Fensterfokus funktioniert bei Vollbildanwendungen möglicherweise nicht richtig."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Willkommen bei MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Einstellungen zurücksetzen"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Immer ausblenden"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Schieberegler-Verhalten:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Markierungen für Regler anzeigen"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "Der Regler rastet bei Annäherung auf 0 %, 25 %, 50 %, 75 % und 100 % ein, was die Einstellung dieser Werte erleichtert. Deaktivieren für genauere Kontrolle."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Feine OSD-Skalierung verwenden"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Mit MonitorControl starten"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Besonderen Dank an unsere Mitwirkenden!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Benutzerdefinierte Tastaturkürzel"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Versuch die Monitor-Einstellungen zu lesen"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Striche bei 0 %, 25 %, 50 %, 75 % und 100 % für Genauigkeit anzeigen."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Helligkeit, Lautstärke und andere Einstellungen vom letzten Mal oder Standardwerte verwenden. Die Werte werden bei der ersten Änderung durch den Benutzer auf den Monitor angewendet."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Verwenden des Namens des Audiogeräts, um zu bestimmen, welcher Monitor gesteuert werden soll"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Bei der Anmeldung starten?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Regler nur für den Monitor anzeigen, auf dem das Menü gerade angezeigt wird"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Helligkeit:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Software->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Nur für hardwaregesteuerte (DDC) Monitore. Die Ergebnisse können variieren."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "macOS Lautstärke OSD deaktivieren"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "OSD Skala:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "OSD Skala:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Zurücksetzen"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Stummschaltung DDC Befehl aktivieren"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Regler für die Lautstärke im Menü anzeigen"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Benutzerdefiniert"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Beim Einschalten oder Aufwachen:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Warnung! Ändern einiger dieser Einstellungen können zu unerwartetem Verhalten führen!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Alternative Tasten sind F14/F15 (Bildlaufsperre und Pause auf PC-Tastaturen, Helligkeitstasten auf einigen Logitech-Tastaturen)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "VCP Liste"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "Bei Bedarf kannst du den Namen des Audiogeräts unter Monitore überschreiben."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Für eine direktere, unmittelbare Steuerung kannst du weiche Übergänge deaktivieren."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Minimal"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Skalenabbildungskurve"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Stummschalten:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Normalerweise ändert die Tastatursteuerung den Wert eines OSD-Kreuzchens, und Umschalt+Option ermöglicht die Feinsteuerung. Dies macht die Feinsteuerung zum Standard."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Name zurücksetzen"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Automatisch nach Updates suchen"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Helligkeitssteuerung:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Lautstärke:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Erlaubt Null-Helligkeit über software oder kombiniertes Dimmen"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Apple und eingebaute Monitore verfügen bereits über einen Helligkeitsregler im Kontrollzentrum."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Keine"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Als Symbole anzeigen"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Als Text anzeigen"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Umkehren"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Verwende den Fensterfokus, um den zu steuernden Monitor zu bestimmen"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Helligkeitsregler für hardware- oder softwaregesteuerte Monitore oder TV-Geräte."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Name des Audiogeräts überschreiben:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Starte die App neu, um auf die Einstellungen zuzugreifen, wenn die Menüoption nicht auswählbar ist. Benutze die Schaltfläche unten, um die App zu beenden."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Wert abrufen"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Ausblenden"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Zusätzliche Steuerungen:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Helligkeit"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Sanfte Helligkeitsänderungen aktivieren"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Feine OSD-Skala für Lautstärke verwenden"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Bei Anmeldung starten"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Stummschalten"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Für alle Monitore ändern"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Nach Updates suchen"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "MonitorControl bei der Anmeldung starten"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Hinweis: Du kannst während des Starts die Umschalttaste drücken, um den 'Abgesicherten Modus' zu aktivieren, damit die Standardeinstellungen wiederhergestellt werden und nichts gelesen oder eingestellt wird."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Auch für Apple und eingebaute Monitore aktivieren"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl benötigt Zugriff auf \"Bedienungshilfen\", um die Tasten deines Macs zur Steuerung deines Bildschirms zu verwenden.\nDu kannst die Steuerung akivieren, indem du MonitorControl in Systemeinstellungen > Datenschutz und Sicherheit > Bedienungshilfen hinzufügst."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Monitor für Steuerung:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Abhängig von der Mauszeigerposition"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Kombinierten Regler für alle Monitore verwenden"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Steuerung von Helligkeit und Kontrast:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Monitor Typ:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Monitor für Steuerung:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Steuere die Helligkeit, den Kontrast und die Lautstärke deines externen Monitors direkt von deinem Mac aus, indem du die Schieberegler des Menüs oder die Tastatur, einschließlich der nativen Apple-Tasten, benutzt."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Regler einrasten lassen"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Immer in der Menüleiste anzeigen"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Kontrast:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Lautstärke:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Helligkeitsregler im Menü anzeigen"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Manipulation der Gammatabelle vermeiden"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Stelle sicher, dass MonitorControl immer läuft, wenn du es brauchst, indem du die App beim Anmelden startest."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Helligkeit erhöhen"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Getrennte Skalen für kombiniertes Dimmen von Hardware und Software"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Tastatur deaktivieren"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Anwendung:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Standardtasten für die Helligkeitseinstellung"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "zählen:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Verwenden der Helligkeitstasten der Apple-Tastatur, um die Helligkeit zu steuern. Halte die Steuerungstaste gedrückt, um den eingebauten Monitor zu steuern, und halte die Tastenkombination Steuerung+Befehl gedrückt, um externe Monitore zu steuern. Halte Shift+Option für die Feinsteuerung. Steuerung+Option+Befehl stellt den Kontrast auf DDC-kompatiblen Monitoren ein."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Steuerung:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Längere Verzögerung bei DDC-Lesevorgängen"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC max"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Systemeinstellungen öffnen…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Verwende die Software-Dimmung, nachdem der Monitor die Null-Hardware-Helligkeit erreicht hat, um die Bandbreite zu erweitern. Funktioniert nur bei DDC-gesteuerten Monitoren."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Helligkeit verringern"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Sowohl Standard- als auch benutzerdefinierte Tastenkombinationen"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "App Beenden"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Kontrastregler im Menü anzeigen"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Lautstärkesteuerung (nur DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Zeige den Prozentsatz neben dem Regler an, um die Genauigkeit zu erhöhen."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Hardware- und Software-Dimmung kombinieren"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Aktiviere den Zugriff auf die nativen Tasten der Apple-Tastatur"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normal"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Stil der Menüsymbole:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Menü-Symbol:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Erweiterte Einstellungen anzeigen"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Funktioniert, wenn ein Audiogerät ohne eigene Lautstärkesteuerung ausgewählt ist."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Tastatursteuerung für den Monitor verwenden"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Kontrast:"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Keine alternativen Tasten für die Helligkeit verwenden"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Stark"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Mehrere Monitore:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "DDC Leseabfrage Modus:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Allgemeine Optionen:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Nützlich, wenn ein Monitor dazu neigt, seine Einstellungen während des Ruhezustands zurückzusetzen."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Änderungen, die durch den Umgebungslichtsensor verursacht oder über die Touch Bar, das Control Center oder die Systemeinstellungen vorgenommen werden, werden auf alle Monitore übertragen."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Lautstärke für alle Monitore ändern"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Aktualisiere die Einstellungen vom Monitor. Funktioniert bei manchen Geräten möglicherweise nicht."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Nur wenn mindestens ein Regler vorhanden ist"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Nur wenn externer Bildschirm vorhanden ist"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Sowohl Standard- als auch benutzerdefinierte Tastenkombinationen"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Funktioniert mit variabler Synchronisierung und 'Steuerung aller'-Tastatureinstellung am besten."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Verfügbar"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "Für die Steuerung der Hardware-Helligkeit steht die volle OSD-Skala zur Verfügung, und nach Erreichen der Helligkeit 0 erfolgt eine weitere Software-Dimmung."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Achtung! Wenn diese Option aktiviert ist, kann es vorkommen, dass du einen leeren Monitor hast. Dies kann in Verbindung mit einer deaktivierten Steuerung über die Tastatur frustrierend sein."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Bezeichnung:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Abhängig von der Mauszeigerposition"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Lauter"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Hardware DDC Steuerung verwenden"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Tastatur deaktivieren"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Spenden"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Prozentwerte anzeigen"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Kombinierter Dimm-Umschaltpunkt:"; ================================================ FILE: MonitorControl/UI/en.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl allows you to control external displays brightness and volume"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "If you deny these connections, you will not be notified about new versions and security updates. Security updates are important in order to defend against malware attacks."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl checks for new versions and security updates."; ================================================ FILE: MonitorControl/UI/en.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "About"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!"; /* Shown in the main prefs window */ "App menu" = "App menu"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Are you sure you want to reset all settings?"; /* Shown in menu */ "Brightness" = "Brightness"; /* Build */ "Build" = "Build"; /* Shown in the Display Settings */ "Built-in Display" = "Built-in Display"; /* Shown in menu */ "Check for updates…" = "Check for updates…"; /* Shown in menu */ "Contrast" = "Contrast"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Decrease"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Disable gamma control for my displays"; /* Shown in the main prefs window */ "Displays" = "Displays"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Enable Longer Delay?"; /* Shown in the Display Settings */ "External Display" = "External Display"; /* Shown in the main prefs window */ "General" = "General"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Hardware (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Hardware (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "I'll quit the other app"; /* Shown in the alert dialog */ "Incompatible previous version" = "Incompatible previous version"; /* Shown in record shortcut box */ "Increase" = "Increase"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "Is f.lux or similar running?"; /* Shown in the main prefs window */ "Keyboard" = "Keyboard"; /* Shown in record shortcut box */ "Mute" = "Mute"; /* Shown in the alert dialog */ "No" = "No"; /* Shown in the Display Settings */ "No Control" = "No Control"; /* Shown in the Display Settings */ "Other Display" = "Other Display"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Settings for an incompatible previous app version detected. Default settings are reloaded."; /* Shown in menu */ "Settings…" = "Settings…"; /* Shown in menu */ "Quit" = "Quit"; /* Shown in the alert dialog */ "Reset Settings?" = "Reset Settings?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Safe Mode Activated"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked."; /* Shown in the alert dialog */ "Shortcuts not available" = "Shortcuts not available"; /* Shown in the Display Settings */ "Software (gamma)" = "Software (gamma)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Software (gamma, forced)"; /* Shown in the Display Settings */ "Software (shade)" = "Software (shade)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Software (shade, forced)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "This display has an unspecified control status."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "This display is reported to support hardware DDC control but the current settings allow for software control only."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode."; /* Unknown display name */ "Unknown" = "Unknown"; /* Version */ "Version" = "Version"; /* Shown in the Display Settings */ "Virtual Display" = "Virtual Display"; /* Shown in menu */ "Volume" = "Volume"; /* Shown in the alert dialog */ "Yes" = "Yes"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work"; ================================================ FILE: MonitorControl/UI/en.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Sync brightness changes from Built-in and Apple displays"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Assume last saved settings are valid (recommended)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Standard keyboard volume and mute keys"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Volume down"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Show separate controls for each display in menu"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Apply last saved values to the display"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Custom keyboard shortcuts"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Using window focus might not work properly with full screen apps."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Welcome to MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Reset Settings"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Always hide"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Slider behavior:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Show slider tick marks"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Use fine OSD scale for brightness and contrast"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Start using MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Special thanks to our contributors!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Custom keyboard shortcuts"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Attempt to read display settings"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Use audio device name to determine which display to control"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Start at Login?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Show sliders only for the display currently showing the menu"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Brightness:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Software->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "For hardware (DDC) controlled displays only. Results may vary."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "Disable macOS volume OSD"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "OSD scale:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "OSD scale:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Reset settings"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Enable Mute DDC command"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Show volume slider in menu"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Custom"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Upon startup or wake:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "VCP list"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "You can override audio device name under Displays (advanced) if needed."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "You can disable smooth transitions for a more direct, immediate control."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Minimal"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Scale mapping curve"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Mute:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Reset Name"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Automatically check for updates"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Brightness control:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Volume:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Allow zero brightness via software or combined dimming"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Apple and built-in displays already have a brightness slider in Control Center."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "None"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Show as icons"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Show as text"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Invert"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Use window focus to determine which display to control"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Brightness slider for hardware or software controlled displays or TVs."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Override audio device name:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Get current"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Hide"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Additional controls:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Brightness:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Enable smooth brightness transitions"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Use fine OSD scale for volume"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Start at Login"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Toggle Mute"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Change for all screens"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Check for updates"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Start MonitorControl at Login"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Enable for Apple branded and built-in displays as well"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Screen to control:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Depends on mouse pointer position"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Use combined slider for all displays"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Brightness and contrast:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Display type:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Screen to control:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Enable slider snapping"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Always show in the menu bar"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Contrast:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Volume:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Show brightness slider in menu"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Avoid gamma table manipulation"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Ensure MonitorControl is always running when you need it by launching the app at startup."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Brightness up"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Separate scales for combined hardware & software dimming"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Disable keyboard"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Application:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Standard keyboard brightness keys"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "count:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Control method:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Longer delay during DDC read operations"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC max"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Open System Settings…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Brightness down"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Both standard and custom shortcuts"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Quit application"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Show contrast slider in menu"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Volume control (DDC only):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Show percentage next to slider for more precision."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Combine hardware and software dimming"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Enable Apple keyboard native key access"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normal"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "General menu items style:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Menu Icon:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Show advanced settings"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Works if an audio device is selected with no native volume control."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Enable keyboard control for display"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Contrast (DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Do not use alternative brightness keys"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Heavy"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Multiple displays:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "DDC read polling mode:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "General options:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Useful when a display tends to reset its settings during sleep."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Change volume for all screens"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Update settings from the display. May not work with some hardware."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Only if at least one slider is present"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Only when external display is present"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Both standard and custom shortcuts"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Works best with various syncing and 'control all' keyboard settings enabled."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Available"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Identifier:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Depends on mouse pointer position"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Volume up"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Use hardware DDC control"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Disable keyboard"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Donate"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Show percentages"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Combined dimming switchover point:"; ================================================ FILE: MonitorControl/UI/es.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl te permite controlar el brillo y el volumen de pantallas externas"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Si rechazas estas conexiones, no serás notificado cuando haya nuevas versiones o actualizaciones de seguridad. Las actualizaciones de seguridad son importantes para protegerte contra ataques de malware."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl comprueba si hay nuevas versiones o actualizaciones de seguridad."; ================================================ FILE: MonitorControl/UI/es.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "Acerca de MonitorControl"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Otra aplicación parece estar cambiando el brillo o el color, lo cual está causando problemas.\n\nPara arreglarlo, necesitas cerrar dicha aplicación o deshabilitar el control de gamma para tus pantallas en MonitorControl!"; /* Shown in the main prefs window */ "App menu" = "Menú de la App"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "¿Estás seguro de querer habilitar un retraso más largo? Haciendo esto puedes congelar tu sistema y requiere reiniciar el sistema. La aplicación no se iniciará desde que arrancas el sistema operativo como medida de seguridad."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "¿Estás seguro de querer restablecer todas las preferencias?"; /* Shown in menu */ "Brightness" = "Brillo"; /* Build */ "Build" = "Compilación"; /* Shown in the Display Settings */ "Built-in Display" = "Pantalla Incorporada"; /* Shown in menu */ "Check for updates…" = "Actualizaciones…"; /* Shown in menu */ "Contrast" = "Contraste"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Reducir"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Deshabilitar el control de gamma para mis pantallas"; /* Shown in the main prefs window */ "Displays" = "Pantallas"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "¿Habilitar retraso más largo?"; /* Shown in the Display Settings */ "External Display" = "Pantalla Externa"; /* Shown in the main prefs window */ "General" = "General"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Hardware (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Hardware (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Cerraré la otra app"; /* Shown in the alert dialog */ "Incompatible previous version" = "Versión previa incompatible"; /* Shown in record shortcut box */ "Increase" = "Aumentar"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "¿Está f.lux o similar ejecutándose?"; /* Shown in the main prefs window */ "Keyboard" = "Teclado"; /* Shown in record shortcut box */ "Mute" = "Silenciar"; /* Shown in the alert dialog */ "No" = "No"; /* Shown in the Display Settings */ "No Control" = "Sin Control"; /* Shown in the Display Settings */ "Other Display" = "Otra Pantalla"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Detectadas preferencias de una versión previa incompatibles. Se cargarán las preferencias por defecto."; /* Shown in menu */ "Settings…" = "Preferencias…"; /* Shown in menu */ "Quit" = "Cerrar"; /* Shown in the alert dialog */ "Reset Settings?" = "¿Restablecer Preferencias?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Modo Seguro Activado"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "La tecla Shift fue presionada durante el lanzamiento. MonitorControl se inició en modo seguro. Se han cargado las preferencias por defecto, la lectura DDC está bloqueada."; /* Shown in the alert dialog */ "Shortcuts not available" = "Atajos no disponibles"; /* Shown in the Display Settings */ "Software (gamma)" = "Software (gamma)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Software (gamma, forzado)"; /* Shown in the Display Settings */ "Software (shade)" = "Software (sombreado)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Software (sombreado, forzado)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Esta pantalla permite el control del brillo por software a través de la manipulación de la tabla gamma o del sombreado ya que no soporta el control por hardware. Las razones para ello pueden ser usar un puerto HDMI de un Mac mini (el cual bloquea el control DDC por hardware) o tener una pantalla incluida en la lista negra."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Esta pantalla tiene un estado para su control desconocido."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Esta pantalla soporta el control DDC por hardware, pero la configuración actual solo permite el control por software."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Esta pantalla soporta el control DDC por hardware. Si encuentras algún problema, puedes deshabilitar el control DDC por hardware para forzar el control por software."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Esta pantalla soporta el protocolo de brillo nativo de Apple. Esto le permite también a macOS controlar la pantalla sin MonitorControl."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Esto es una pantalla virtual (ejemplos: AirPlay, Sidecar, pantalla conectada a través del dock DisplayLink o similar) el cual no permite el control a través de gamma ni por hardware ni por software. El sombreado es usado como sustituto, pero solo en escenarios sin espejo. El cursor del ratón no se verá afectado pero pueden aparecer objetos extraños cuando se entra/sale del modo pantalla completa."; /* Unknown display name */ "Unknown" = "Desconocido"; /* Version */ "Version" = "Versión"; /* Shown in the Display Settings */ "Virtual Display" = "Pantalla Virtual"; /* Shown in menu */ "Volume" = "Volumen"; /* Shown in the alert dialog */ "Yes" = "Sí"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Necesitas habilitar MonitorControl en Preferencias del Sistema > Seguridad y privacidad > Accesibilidad para permitir los atajos de teclado"; ================================================ FILE: MonitorControl/UI/es.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Sincronizar los cambios del brillo de la pantalla incorporada con la pantalla de Apple"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Asumir que la última configuración guardada es válida (recomendado)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Teclas por defecto para silenciar y el volumen"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC mín"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Bajar volumen"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Mostrar controles separados para cada pantalla en el menú"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Aplicar los últimos valores guardados a la pantalla"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Atajos de teclado personalizados"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Usar el enfoque de ventana podría no funcionar en apps a pantalla completa."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Bienvenido a MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Restablecer Preferencias"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Siempre oculto"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Comportamiento del slider:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Mostrar muecas en el slider"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "El controlador del Slider se ajustará al 0%, 25%, 50%, 75% y 100% cuando esté próximo a estos valores facilitando su selección. Deshabilítalo para un control más preciso."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Usar escala más precisa en OSD para el brillo y el contraste"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Comenzar a usar MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Agradecimientos especiales a nuestros colaboradores!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Atajos de teclado personalizados"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Intentar leer la configuración de la pantalla"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Mostrar muecas en 0%, 25%, 50%, 75% y 100% para una mayor precisión."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Usar el brillo, volumen y otras configuraciones de la última vez o por defecto. Los valores serán aplicados a la pantalla cuando el usuario los cambie por primera vez."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Usar nombre del dispositivo de audio para determinar qué pantalla controlar"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "¿Empezar al Inicio?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Mostrar sliders solo para las pantallas que actualmente se muestran en el menú"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Brillo:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Software->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Sólo para pantallas controladas por hardware (DDC). Los resultados pueden variar."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "Deshabilitar OSD de macOS para el volumen"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "Escala OSD:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "Escala OSD:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Restablecer configuración"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Habilitar comando DDC para silenciar"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Mostrar slider de volumen en el menú"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Personalizado"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Al iniciar o arrancar:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ ¡Atención! ¡Cambiar algunos de estos valores puede causar cuelgues en el sistema o comportamientos anómalos!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Las teclas alternativas son F14/F15 (Scroll Lock y Pause en teclados de PC, teclas de brillo en algunos teclados de Logitech)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "Lista de VCP"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "Puedes sobrescribir el nombre del dispositivo de audio bajo Pantallas (avanzado) si lo necesitas."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Puedes deshabilitar las transiciones suaves para un control más directo e inmediato."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Mínimo"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Curva del escalado del mapeo"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Silencio:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Normalmente, los controles de teclado cambian un valor completo del escalón del OSD y Shift+Option permite un control más preciso. Esto hace el control más preciso por defecto."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Restablecer Nombre"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Comprobar actualizaciones automáticamente"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Control del brillo:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Volumen:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Permitir brillo cero vía software o atenuación combinada"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Las pantallas de Apple e incorporadas ya tienen un slider para el brillo en el Centro de Control."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Ninguno"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Mostrar como iconos"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Mostrar como texto"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Invertir"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Usar foco de ventana para determinar qué pantalla controlar"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Slider del brillo para pantallas o TVs controladas por hardware o software."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Sobrescribir nombre del dispositivo de audio:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Reinicia la app para acceder a Preferencias si el menú opción no es accesible. Usa el botón de arriba para cerrar la app."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Obtener actual"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Esconder"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Controles adicionales:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Brillo:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Habilitar transiciones de brillo suaves"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Usar escala OSD de volumen precisa"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Abrir al Iniciar sesión"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Modo Silencio"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Cambiar para todas las pantallas"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Comprobar actualizaciones"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Abrir MonitorControl al Inicio de la Sesión"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Nota: puedes presionar la tecla Shift mientras arrancas la app para entrar en el 'Modo Seguro' para restaurar los valores por defecto y evitar leer o establecer la configuración."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Habilitar también para pantallas de Apple o incorporadas"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl necesita acceso a \"accesibilidad\" para usar el teclado nativo para controlar tu pantalla.\nPuede habilitarlo agregando MonitorControl en Preferencias del Sistema > Seguridad y Privacidad > Accesibilidad."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Ventana de control:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Depender de la posición del cursor del ratón"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Usar slider combinado para todas las pantallas"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Brillo y contraste:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Tipo de pantalla:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Pantalla a controlar:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Controle el brillo, el contraste y el volumen de sus pantallas externas directamente desde su Mac, usando los controles deslizantes de menú o el teclado, incluidas las teclas nativas de Apple."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Habilitar ajuste por slider"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Mostrar siempre en la barra de menú"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Contraste:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Volumen:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Mostrar slider del brillo en el menú"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Evitar manipulación de la tabla gamma"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Ensure MonitorControl is always running when you need it by launching the app at startup."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Subir brillo"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Separar escalas de atenuación por hardware & software"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Deshabilitar teclado"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Aplicación:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Teclas estándar para el brillo"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "conteo:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Usar las teclas de brillo de tu teclado de Apple para controlar el brillo. Puedes mantener la tecla Control para ajustar la pantalla incorporada, Control+Command para ajustar las pantallas externas. Mantén Shift+Option para un control más preciso. Control+Option+Command ajusta el contraste en pantallas compatibles con DDC."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Método de control:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Retraso más largo durante las operaciones DDC de lectura"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC máx"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Abrir Preferencias del Sistema…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Usar atenuación por software una vez que la pantalla alcanza el brillo 0 para un rango extendido. Funciona sólo para pantallas controladas por DDC."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Bajar brillo"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Ambos, atajos estándar y personalizados"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Cerrar aplicación"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Mostrar slider de contraste en el menú"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Control del volumen (sólo DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Mostrar porcentaje cerca del slider para una mayor precisión."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Combinar atenuación por hardware y software"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Habilitar acceso a las teclas nativas del teclado de Apple"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normal"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Estilo de los elementos del menú:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Icono del menú:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Mostrar configuración avanzada"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Funciona si un dispositivo de audio es seleccionado sin control del volumen nativo."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Habilitar control por teclado para las pantallas"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Contraste (DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "No usar teclas de brillo alternativas"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Pesado"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Múltiples pantallas:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "Modo de sondeo de lectura DDC:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Opciones generales:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Útil cuando una pantalla tiende a resetear su configuración mientras está en modo stand by."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Los cambios producidos por el sensor de luz ambiental o hechos a través de la Touch Bar, Centro de Control, Preferencias del Sistema serán replicados a todas las pantallas."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Cambiar volumen para todas las pantallas"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Actualizar configuración desde la pantalla. Puede no funcionar con algunos hardware."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Sólo si hay presente al menos un slider"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Solo cuando la pantalla externa está presente"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Ambos, atajos estándar y personalizados"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Funciona mejor cuando están habilitadas varias sincronizaciones y la configuración del teclado para 'controlar todo'."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Disponible"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "La escala completa del OSD estará disponible para el control del brillo por hardware y después de alcanzar el brillo 0, será usada la atenuación por software."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "¡Atención! Con esta opción habilitada, puedes acabar con la pantalla en blanco. Esto, combinado con los controles por teclado deshabilitados puede ser frustrante."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Identificador:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Depender de la posición del cursor del ratón"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Subir volumen"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Usar control DDC por hardware"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Deshabilitar teclado"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Donar"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Mostrar porcentajes"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Puntos combinados de atenuación:"; ================================================ FILE: MonitorControl/UI/fr.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl vous permet de contrôler la luminosité et le volume des écrans externes"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Si vous refusez ces connexions, vous ne serez pas informé des nouvelles versions et des mises à jour de sécurité. Les mises à jour de sécurité sont importantes pour se défendre contre les attaques de logiciels malveillants."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl recherche des nouvelles versions et des mises à jour de sécurité."; ================================================ FILE: MonitorControl/UI/fr.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "À Propos"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Une autre application semble modifier la luminosité ou les couleurs, ce qui provoque des problèmes.\n\nPour résoudre ce problème, vous devez quitter l'autre application ou désactiver le contrôle gamma pour vos écrans dans MonitorControl !"; /* Shown in the main prefs window */ "App menu" = "Menu de l'app"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Êtes-vous sûr de vouloir augmenter cette durée ? Cela peut entrainer un blocage du système et nécessiter un redémarrage. Par mesure de sécurité, cette option sera désactivée au démarrage."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Êtes-vous sûr de vouloir réinitialiser toutes les préférences ?"; /* Sown in menu */ "Brightness" = "Luminosité"; /* Build */ "Build" = "Build"; /* Shown in the Display Settings */ "Built-in Display" = "Écran intégré"; /* Shown in menu */ "Check for updates…" = "Vérifier les mises à jour…"; /* Shown in menu */ "Contrast" = "Contraste"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Diminuer"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Désactiver le contrôle gamma pour mes écrans"; /* Shown in the main prefs window */ "Displays" = "Écrans"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Activer une plus longue durée ?"; /* Shown in the Display Settings */ "External Display" = "Écran externe"; /* Shown in the main prefs window */ "General" = "Général"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Matériel (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Matériel (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Je vais quitter l'autre application"; /* Shown in the alert dialog */ "Incompatible previous version" = "Version précédente incompatible"; /* Shown in record shortcut box */ "Increase" = "Augmenter"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "Est-ce que f.lux ou similaire est lancé ?"; /* Shown in the main prefs window */ "Keyboard" = "Clavier"; /* Shown in record shortcut box */ "Mute" = "Sourdine"; /* Shown in the alert dialog */ "No" = "Non"; /* Shown in the Display Settings */ "No Control" = "Aucun contrôle"; /* Shown in the Display Settings */ "Other Display" = "Autre écran"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Préférences pour une version précédente incompatible détéctées. Les préférences par défaut seront rechargées."; /* Shown in menu */ "Settings…" = "Préférences…"; /* Shown in menu */ "Quit" = "Quitter"; /* Shown in the alert dialog */ "Reset Settings?" = "Réinitialiser les préférences ?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Mode sans échec activé"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Maj. appuyée pendant le démarrage. MonitorControl a été démarré en mode sans échec. Les préférences par défaut sont utilisées, la communication via DDC est bloquée."; /* Shown in the alert dialog */ "Shortcuts not available" = "Raccourcis non disponibles"; /* Shown in the Display Settings */ "Software (gamma)" = "Logiciel (Gamma)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Logiciel (Gamma, Forcé)"; /* Shown in the Display Settings */ "Software (shade)" = "Logiciel (Voile)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Logiciel (Voile, Forcé)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Cet écran permet un contrôle de la luminosité logiciel via une manipulation de la table gamma car il ne prend pas en charge le contrôle matériel. Cela peut être dû à l'utilisation du port HDMI d'un Mac mini (qui bloque le contrôle DDC matériel) ou à un écran sur liste noire."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Cet écran a un état de contrôle non spécifié."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Cet écran signal prendre en charge le contrôle DDC matériel, mais les paramètres actuels permettent uniquement le contrôle logiciel."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Cet écran signal prendre en charge le contrôle DDC matériel. Si vous rencontrez des problèmes, vous pouvez désactiver le contrôle DDC matériel pour forcer le contrôle logiciel."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Cet écran prend en charge le protocole de luminosité natif d'Apple. Cela permet à macOS de contrôler également cet affichage sans MonitorControl."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Il s'agit d'un écran virtuel (exemples : AirPlay, Sidecar, écran connecté via un dock DisplayLink ou similaire) qui ne permet pas un contrôle par table gamma matériel ou logiciel. Un voile est utilisé comme substitut, mais uniquement dans les scénarios sans mode \"miroir\". Le curseur de la souris ne sera pas affecté et des artefacts peuvent apparaître lors de l'entrée/sortie du mode plein écran."; /* Unknown display name Unknown model Unknown vendor */ "Unknown" = "Inconnu"; /* Version */ "Version" = "Version"; /* Shown in the Display Settings */ "Virtual Display" = "Écran virtuel"; /* Shown in menu */ "Volume" = "Volume"; /* Shown in the alert dialog */ "Yes" = "Oui"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Vous devez activer MonitorControl dans Préférences Système > Sécurité et confidentialité > Accessibilité pour que les raccourcis clavier fonctionnent"; ================================================ FILE: MonitorControl/UI/fr.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Synchronisez la luminosité à partir des écrans Apple et intégrés"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Supposer que les derniers paramètres enregistrés sont valides (recommandé)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Touches de volume et de sourdine standard"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "min. DDC"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Volume moins"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Afficher des commandes distinctes pour chaque écran dans le menu"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Appliquer les dernières valeurs enregistrées à l'écran"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Raccourcis clavier personnalisés"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "L'utilisation du \"focus de la fenêtre\" à la place peut ne pas fonctionner correctement avec les applications en plein écran."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Bienvenue dans MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Réinitialiser les préférences"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Toujours masquer"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Comportement des curseurs :"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Afficher des marques de graduation"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "Le curseur s'alignera à proximité des valeurs 0 %, 25 %, 50 %, 75 % et 100 %, facilitant leurs réglages. Désactiver pour un contrôle plus fin."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Utiliser une échelle fine sur l'OSD"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Commencer à utiliser MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Remerciements particuliers à nos contributeurs !"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Raccourcis clavier personnalisés"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Essayez de lire les paramètres de l'écran"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Afficher les graduations à 0 %, 25 %, 50 %, 75 % et 100 % pour plus de précision."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Utilisez la luminosité, le volume et d'autres paramètres de la dernière utilisation ou utilisez les valeurs par défaut. Les valeurs seront appliquées à l'écran lors de la première modification par l'utilisateur."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Utiliser le nom du périphérique audio pour déterminer quel écran contrôler"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Lancer au démarrage ?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Afficher les curseurs uniquement pour l'écran affichant actuellement le menu"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Luminosité :"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Logiciel → DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Pour les écrans contrôlés par matériel (DDC) uniquement. Les résultats peuvent varier."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "Désactiver l'OSD du volume macOS"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "Échelle de l'OSD :"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "Échelle de l'OSD :"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Réinitialiser les options"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Activer la commande Sourdine DDC"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Afficher le curseur de volume dans le menu"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Personnalisé"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Au démarrage ou au réveil :"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Attention ! La modification de certains paramètres peut entraîner des blocages du système ou un comportement inattendu !"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Les touches alternatives sont les touches F14/F15 (Verrouillage du défilement et Pause sur les claviers PC, touches de luminosité sur certains claviers Logitech)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "Liste VCP"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "Vous pouvez remplacer si nécessaire le nom du périphérique audio dans Écrans (avancé)."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Vous pouvez désactiver les transitions en douceur pour un contrôle plus direct et immédiat."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Minimal"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Courbe d'échelle"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Sourdine :"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Normalement, les commandes du clavier changent la valeur d'un cran sur l'OSD et Shift+Option permet un contrôle plus précis. Cela active le contrôle plus précis par défaut."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Réinitialiser le nom"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Rechercher automatiquement les mises à jour"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Réglage de la luminosité :"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Volume :"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Autoriser une luminosité nulle via le contrôle logiciel ou combiné"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Les écrans Apple et intégrés ont déjà un curseur de luminosité dans le Centre de Contrôle."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Aucun"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Afficher sous forme d'icônes"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Afficher sous forme de texte"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Inverser"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Utiliser le focus de la fenêtre pour déterminer quel écran contrôler"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Curseur de luminosité pour les écrans ou télévisions contrôlés par matériel ou logiciel."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Remplacer le nom du périphérique audio :"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Relancez l'application pour accéder aux Préférences si le menu n'est pas accessible. Utilisez le bouton ci-dessous pour quitter l'application."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Obtenir la valeur actuelle"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Masquer"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Contrôles supplémentaires :"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Luminosité :"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Activer les transitions de luminosité fluides"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Utiliser une échelle précise sur l'OSD pour le volume"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Lancer MonitorControl au démarrage"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Sourdine"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Changer pour tous les écrans"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Vérifier les mises à jour"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Lancer MonitorControl au démarrage"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Remarque : vous pouvez appuyer sur Maj au lancement pour démarrer en « Mode sans échec » ce qui restaure les paramètres par défaut et évite de lire ou de définir quoi que ce soit."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Activer également les écrans Apple et intégrés"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl a besoin d'accéder à \"l'accessibilité\" pour utiliser les touches natives macOS afin de contrôler votre écran.\nVous pouvez l'activer en ajoutant MonitorControl dans Préférences Système > Sécurité et confidentialité > Accessibilité."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Écran à contrôler :"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Dépend de la position du pointeur de la souris"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Utiliser un curseur combiné pour tous les écrans"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Luminosité et contraste :"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Type d'écran :"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Écran à contrôler :"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Contrôlez la luminosité, le contraste et le volume de vos écrans externes directement depuis votre Mac, à l'aide des curseurs du menu ou du clavier, y compris avec les touches Apple natives."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Activer l'accrochage du curseur"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Toujours afficher dans la barre de menu"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Contraste :"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Volume :"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Afficher le curseur de luminosité dans le menu"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Éviter de manipuler la table gamma"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Assurez-vous que MonitorControl est toujours en cours d'exécution lorsque vous en avez besoin en lançant l'application au démarrage."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Luminosité plus"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Séparer les échelles pour le contrôle matériel et logiciel combiné"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Désactiver le contrôle par le clavier"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Application :"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Touches de luminosité standard du clavier"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "nb. de tentative :"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Utilisez les touches de luminosité de votre clavier Apple pour contrôler la luminosité. Vous pouvez maintenir Control pour ajuster l'affichage intégré, Control+Command pour ajuster les écrans externes. Maintenez Maj+Option pour un contrôle précis. Contrôle+Option+Command ajuste le contraste sur les écrans compatibles DDC."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Méthode de contrôle :"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Délais plus long pendant les opérations de lecture DDC"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "max. DDC"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Ouvrir les Préférences Système…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Utilisez le contrôle logiciel une fois que l'écran a atteint une luminosité matérielle de zéro pour une portée étendue. Fonctionne uniquement pour les écrans contrôlés par matériel (DDC)."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Luminosité moins"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Raccourcis standard et personnalisés"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Quitter l'application"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Afficher le curseur de contraste dans le menu"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Contrôle du volume (DDC) :"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Afficher le pourcentage à côté du curseur pour plus de précision."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Combiner le contrôle matériel et logiciel"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Activer l'accès aux touches natives du clavier Apple"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normal"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Style des éléments généraux du menu :"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Icône du menu :"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Afficher les paramètres avancés"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Fonctionne si un périphérique audio est sélectionné sans contrôle de volume natif."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Activer le contrôle par le clavier pour l'écran"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Contraste :"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Ne pas utiliser de touches de luminosité alternatives"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Élevé"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Plusieurs écrans :"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "Mode d'interrogation de lecture DDC :"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Options générales :"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Utile lorsqu'un écran a tendance à réinitialiser ses paramètres pendant la veille."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Les modifications causées par le capteur de lumière ambiante ou effectuées à l'aide de la barre tactile, du centre de contrôle et des préférences système seront répliquées sur tous les écrans."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Modifier le volume pour tous les écrans"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Met à jour les paramètres à partir de l'écran. Peut ne pas fonctionner avec certains matériels."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Uniquement si au moins un curseur est présent"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Seulement lorsqu'un écran externe est présent"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Raccourcis standard et personnalisés"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Fonctionne mieux avec divers paramètres de synchronisation et le réglage « tout contrôler » du clavier activés."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Disponible"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "L'échelle de l'OSD complète sera disponible pour le contrôle de la luminosité matériel et après avoir atteint une luminosité de 0, un contrôle logiciel supplémentaire sera utilisée."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Attention ! Avec cette option activée, vous pourriez vous retrouver dans une position où l'écran s'éteint. Ceci, combiné à des commandes de clavier désactivées, peut être frustrant."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Identifiant :"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Dépend de la position du pointeur de la souris"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Volume plus"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Utiliser le contrôle matériel DDC"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Désactiver le contrôle par le clavier"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Faire un don"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Afficher les pourcentages"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Point de basculement des commandes combinées :"; ================================================ FILE: MonitorControl/UI/hi.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "मॉनिटर कंट्रोल आपको बाहरी प्रदर्शन की चमक और मात्रा को नियंत्रित करने की अनुमति देता है"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "यदि आप इन कनेक्शनों को अस्वीकार करते हैं, तो आपको नए संस्करणों और सुरक्षा अद्यतनों के बारे में सूचित नहीं किया जाएगा। मैलवेयर हमलों से बचाव के लिए सुरक्षा अद्यतन महत्वपूर्ण हैं।"; /* Software update purpose */ "SoftwareUpdatePurpose" = "मॉनिटर कंट्रोल नए संस्करणों और सुरक्षा अद्यतनों की जाँच करता है।"; ================================================ FILE: MonitorControl/UI/hi.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "के बारे में"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "ऐसा लगता है कि एक अन्य ऐप चमक या रंगों को बदल देता है जो समस्याओं का कारण बनता है।\n\n इसे हल करने के लिए आपको अन्य ऐप को छोड़ना होगा या मॉनिटरकंट्रोल में अपने डिस्प्ले के लिए गामा नियंत्रण को अक्षम करना होगा!"; /* Shown in the main prefs window */ "App menu" = "ऐप मेन्यू"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "क्या आप निश्चित हैं कि आप एक लंबी देरी को सक्षम करना चाहते हैं? ऐसा करने से आपका सिस्टम फ्रीज हो सकता है और इसे फिर से शुरू करने की आवश्यकता हो सकती है। स्टार्ट एट लॉगिन सुरक्षा उपाय के रूप में अक्षम हो जाएगा।"; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "क्या आप सुनिश्चित हैं कि आप सभी प्राथमिकताओं को रीसेट करना चाहते हैं?"; /* Shown in menu */ "Brightness" = "चमक।"; /* Build */ "Build" = "निर्माण करें"; /* Shown in the Display Settings */ "Built-in Display" = "अंतर्निर्मित प्रदर्शन"; /* Shown in menu */ "Check for updates…" = "अद्यतन के लिए जाँच करें…"; /* Shown in menu */ "Contrast" = "विरोधाभास"; /* Version */ "Copyright Ⓒ MonitorControl, " = "कॉपीराइट Ⓒ मॉनिटर कंट्रोल, "; /* Shown in record shortcut box */ "Decrease" = "कम करें"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "मेरे प्रदर्शनों के लिए गामा नियंत्रण निष्क्रिय करें"; /* Shown in the main prefs window */ "Displays" = "प्रदर्शित करता है"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Enable Longer Delay?"; /* Shown in the Display Settings */ "External Display" = "बाहरी प्रदर्शन"; /* Shown in the main prefs window */ "General" = "जनरल"; /* Shown in the Display Settings */ "Hardware (Apple)" = "हार्डवेयर (एप्पल)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "हार्डवेयर (डीडीसी)"; /* Shown in the alert dialog */ "I'll quit the other app" = "मैं दूसरे ऐप को छोड़ दूंगा"; /* Shown in the alert dialog */ "Incompatible previous version" = "असंगत पिछला संस्करण"; /* Shown in record shortcut box */ "Increase" = "बढ़ाएँ।"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "क्या f.lux या समान चल रहा है?"; /* Shown in the main prefs window */ "Keyboard" = "कुंजीपटल"; /* Shown in record shortcut box */ "Mute" = "म्यूट करें"; /* Shown in the alert dialog */ "No" = "ना"; /* Shown in the Display Settings */ "No Control" = "कोई नियंत्रण नहीं"; /* Shown in the Display Settings */ "Other Display" = "अन्य प्रदर्शन"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "एक असंगत पिछले ऐप संस्करण के लिए वरीयताएँ पाई गईं। डिफ़ॉल्ट वरीयताएँ फिर से लोड की जाती हैं।"; /* Shown in menu */ "Settings…" = "वरीयताएँ…"; /* Shown in menu */ "Quit" = "बाहर निकलें"; /* Shown in the alert dialog */ "Reset Settings?" = "वरीयताएँ पुनर्निर्धारित करें?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "सुरक्षित मोड सक्रिय किया गया"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "प्रक्षेपण के दौरान शिफ्ट को दबाया गया था। मॉनिटर कंट्रोल सुरक्षित मोड में शुरू हुआ। डिफ़ॉल्ट वरीयताएँ फिर से लोड की जाती हैं, डीडीसी पढ़ने को अवरुद्ध किया जाता है."; /* Shown in the alert dialog */ "Shortcuts not available" = "शॉर्टकट उपलब्ध नहीं है"; /* Shown in the Display Settings */ "Software (gamma)" = "सॉफ्टवेयर (गामा)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "सॉफ्टवेयर (गामा, मजबूर किया)"; /* Shown in the Display Settings */ "Software (shade)" = "सॉफ्टवेयर (छाया)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "सॉफ्टवेयर (छाया, मजबूर किया)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "यह प्रदर्शन गामा टेबल हेरफेर या छाया के माध्यम से सॉफ्टवेयर चमक नियंत्रण की अनुमति देता है क्योंकि यह हार्डवेयर नियंत्रण का समर्थन नहीं करता है। इसके कारण मैक मिनी के एचडीएमआई पोर्ट (जो हार्डवेयर डीडीसी नियंत्रण को अवरुद्ध करता है) का उपयोग करना या ब्लैकलिस्टेड डिस्प्ले होना हो सकता है।"; /* Shown in the Display Settings */ "This display has an unspecified control status." = "इस प्रदर्शन में एक अनिर्दिष्ट नियंत्रण स्थिति है।"; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "यह प्रदर्शन हार्डवेयर डीडीसी नियंत्रण का समर्थन करता है लेकिन वर्तमान सेटिंग्स केवल सॉफ्टवेयर नियंत्रण की अनुमति देती हैं।"; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "यह प्रदर्शन हार्डवेयर डीडीसी नियंत्रण का समर्थन करता है। यदि आपको समस्याओं का सामना करना पड़ता है, तो आप सॉफ्टवेयर नियंत्रण को मजबूर करने के लिए हार्डवेयर डीडीसी नियंत्रण को अक्षम कर सकते हैं।"; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "यह डिस्प्ले नेटिव ऐप्पल ब्राइटनेस प्रोटोकॉल का समर्थन करता है। यह मैकोस को मॉनिटर कंट्रोल के बिना भी इस प्रदर्शन को नियंत्रित करने की अनुमति देता है।"; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "यह एक आभासी प्रदर्शन है (उदाहरणः एयरप्ले, साइडकार, डिस्प्ले लिंक डॉक या इसी तरह के माध्यम से जुड़ा हुआ प्रदर्शन) जो हार्डवेयर या सॉफ़्टवेयर गैमेटेबल नियंत्रण की अनुमति नहीं देता है। छायांकन का उपयोग एक विकल्प के रूप में किया जाता है लेकिन केवल गैर-दर्पण परिदृश्यों में। माउस कर्सर अप्रभावित रहेगा और पूर्ण स्क्रीन मोड में प्रवेश करते/छोड़ते समय कलाकृतियाँ दिखाई दे सकती हैं।"; /* Unknown display name */ "Unknown" = "अज्ञात"; /* Version */ "Version" = "संस्करण"; /* Shown in the Display Settings */ "Virtual Display" = "आभासी प्रदर्शन"; /* Shown in menu */ "Volume" = "आयतन"; /* Shown in the alert dialog */ "Yes" = "हाँ"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "आपको सिस्टम प्राथमिकताओं> सुरक्षा और गोपनीयता> में मॉनिटरकंट्रोल को सक्षम करने की आवश्यकता है कीबोर्ड शॉर्टकट के काम करने के लिए सुलभता"; ================================================ FILE: MonitorControl/UI/hi.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "अंतर्निर्मित और ऐपल प्रदर्शनों से चमक परिवर्तनों को सिंक करें"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "मॉनिटर कंट्रोल"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "मान लीजिए कि अंतिम सहेजी गई सेटिंग्स मान्य हैं (सिफारिश की गई)"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "मानक कीबोर्ड मात्रा और मूक कुंजी"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "डीडीसी न्यूनतम"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "वॉल्यूम कम करें"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "प्रदर्शन पर अंतिम सहेजे गए मानों को लागू करें"; /* Class = "NSBox"; title = "#bc-ignore!"; ObjectID = "3a3-In-jeQ"; */ "3a3-In-jeQ.title" = "#बीसी-इग्नोर!"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "सूची में प्रत्येक प्रदर्शन के लिए अलग-अलग नियंत्रण दिखाएँ"; /* Class = "NSButtonCell"; title = "https://monitorcontrol.app"; ObjectID = "42n-Zy-AqF"; Note = "#bc-ignore!"; */ "42n-Zy-AqF.title" = "https://monitorcontrol.app"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "अनुकूलित कीबोर्ड शॉर्टकट"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "विंडो फोकस का उपयोग करना पूर्ण स्क्रीन ऐप्स के साथ ठीक से काम नहीं कर सकता है।"; /* Class = "NSBox"; title = "#bc-ignore!"; ObjectID = "4wn-2u-KRo"; */ "4wn-2u-KRo.title" = "#बीसी-इग्नोर!"; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "मॉनिटर कंट्रोल में आपका स्वागत है"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "वरीयताएँ रीसेट करें"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "6GJ-6Q-gqz"; */ "6GJ-6Q-gqz.title" = "#बीसी-इग्नोर!"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "हमेशा छुपाएँ"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "स्लाइडर व्यवहारः"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "स्लाइडर टिक चिह्न दिखाएँ"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "स्लाइडर नॉब 0%, 25%, 50%, 75% और 100% पर स्नैप करेगा जब निकटता में इन मूल्यों को सेट करना आसान बनाता है। सूक्ष्म नियंत्रण के लिए निष्क्रिय करें।"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "ब्राइटनेस और कंट्रास्ट के लिए ठीक ओ. एस. डी. स्केल का उपयोग करें"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "मॉनिटर कंट्रोल का उपयोग शुरू करें"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "हमारे योगदानकर्ताओं को विशेष धन्यवाद!"; /* Class = "NSBox"; title = "#bc-ignore!"; ObjectID = "9aX-gm-8TS"; */ "9aX-gm-8TS.title" = "#बीसी-इग्नोर!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "अनुकूलित कीबोर्ड शॉर्टकट"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "प्रदर्शन विन्यास को पढ़ने का प्रयास करें"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "सटीकता के लिए 0%, 25%, 50%, 75% और 100% पर टिक चिह्न दिखाएं।"; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "ऑडियो उपकरण के नाम का उपयोग यह निर्धारित करने के लिए करें कि किस प्रदर्शन को नियंत्रित करना है"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "सेटिंग्स रीसेट करें"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "चमकः"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(सॉफ्टवेयर-> डीडीसी)"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "ओ. एस. डी. स्केलः"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "कस्टम"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ चेतावनी! इनमें से कुछ सेटिंग्स को बदलने से सिस्टम जम सकता है या अप्रत्याशित व्यवहार हो सकता है!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "वैकल्पिक कुंजी F14/F15 हैं (पीसी कीबोर्ड पर लॉक और ठहराव स्क्रॉल करें, कुछ लॉजिटेक कीबोर्ड पर चमक कुंजी)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "वीसीपी सूची"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "यदि आवश्यक हो तो आप डिस्प्ले (एडवांस्ड) के तहत ऑडियो डिवाइस के नाम को ओवरराइड कर सकते हैं।"; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "आप अधिक प्रत्यक्ष, तत्काल नियंत्रण के लिए सुचारू संक्रमणों को अक्षम कर सकते हैं।"; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "न्यूनतम"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "स्केल मैपिंग वक्र"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "म्यूट करें:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "आयतन:"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "अद्यतन के लिए स्वचालित रूप से जाँच करें"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "सॉफ्टवेयर या संयुक्त डिमिंग के माध्यम से शून्य चमक की अनुमति दें"; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "कोई नहीं।"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "उल्टा करें"; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "ऑडियो युक्ति नाम को ओवरराइड करेंः"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "छुपाएँ।"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "चमक।:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "चिकनी चमक परिवर्तन सक्षम करें"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "आयतन के लिए ठीक ओ. एस. डी. स्केल का उपयोग करें"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "लॉगिन पर मॉनिटरकंट्रोल प्रारंभ करें"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "नोटः आप डिफ़ॉल्ट को पुनर्स्थापित करने और कुछ भी पढ़ने या सेट करने से बचने के लिए 'सुरक्षित मोड' के लिए स्टार्टअप के दौरान शिफ्ट दबा सकते हैं।"; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "एप्पल ब्रांडेड और बिल्ट-इन डिस्प्ले के लिए भी सक्षम करें"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "नियंत्रित करने के लिए स्क्रीनः"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "चमक और कंट्रास्टः"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "हमेशा मेन्यू बार में दिखाएँ"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "विरोधाभासः"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "मेन्यू में चमक स्लाइडर दिखाएँ"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "मेन्यूलेट स्लाइडर या कीबोर्ड का उपयोग करके अपने मैक से सीधे अपने बाहरी डिस्प्ले की चमक, कंट्रास्ट और वॉल्यूम को नियंत्रित करें, जिसमें देशी ऐप्पल कुंजी भी शामिल हैं।"; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "स्लाइडर स्नैपिंग सक्षम करें"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "संयुक्त हार्डवेयर और सॉफ्टवेयर डिमिंग के लिए अलग पैमाने"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "मानक कीबोर्ड चमक कुंजी"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "गिनती:"; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "नियंत्रण विधि:"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "Pqk-VW-JGY"; */ "Pqk-VW-JGY.title" = "#बीसी-इग्नोर!"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "विस्तारित सीमा के लिए प्रदर्शन के शून्य हार्डवेयर चमक तक पहुँचने के बाद सॉफ्टवेयर डिमिंग का उपयोग करें। केवल डीडीसी नियंत्रित प्रदर्शनों के लिए काम करता है।"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "मानक और कस्टम दोनों शॉर्टकट"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "एप्पल कीबोर्ड नेटिव कुंजी अभिगम सक्षम करें"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "सामान्य"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "उन्नत विन्यास दिखाएँ"; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "प्रदर्शन के लिए कुंजीपटल नियंत्रण सक्षम करें"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "सामान्य विकल्पः"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "विभिन्न सिंकिंग के साथ सबसे अच्छा काम करता है और 'सभी' कीबोर्ड सेटिंग्स को सक्षम करता है।"; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "सभी स्क्रीनों के लिए मात्रा बदलें"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "हार्डवेयर ब्राइटनेस कंट्रोल के लिए फुल ओएसडी स्केल उपलब्ध होगा और 0 ब्राइटनेस तक पहुंचने के बाद आगे सॉफ्टवेयर डिमिंग का उपयोग किया जाएगा"; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "पहचानकर्ता:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "माउस सूचक की स्थिति पर निर्भर करता है"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "वॉल्यूम बढ़ाएँ"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "दान करें।"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "प्रतिशत दिखाएँ"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "हार्डवेयर डीडीसी नियंत्रण का उपयोग करें"; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "पिछली बार की चमक, मात्रा और अन्य सेटिंग्स का उपयोग करें या डिफ़ॉल्ट का उपयोग करें। उपयोगकर्ता द्वारा पहले परिवर्तन पर प्रदर्शन पर मान लागू किए जाएंगे।"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "लॉगिन से शुरू करें?"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "केवल हार्डवेयर (डीडीसी) नियंत्रित प्रदर्शनों के लिए। परिणाम अलग-अलग हो सकते हैं।"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "ओएसडी स्केलः"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "म्यूट डीडीसी कमांड सक्षम करें"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "स्लाइडर्स को केवल उस प्रदर्शन के लिए दिखाएँ जो वर्तमान में मेनू दिखा रहा है"; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "मैक ओएस वॉल्यूम ओएसडी निष्क्रिय करें"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "मेन्यू में वॉल्यूम स्लाइडर दिखाएँ"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "शुरू करने या जागने के बादः"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "e0q-fb-k7R"; */ "e0q-fb-k7R.title" = "#बी. सी.-अज्ञानी!"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "आम तौर पर कीबोर्ड नियंत्रण एक ओएसडी चिकलेट के मूल्य को बदलते हैं और शिफ्ट + ऑप्शन ठीक नियंत्रण की अनुमति देता है। यह ठीक नियंत्रण डिफ़ॉल्ट बनाता है।"; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "नाम रीसेट करें"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "आइकन के रूप में दिखाएँ"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "पाठ के रूप में दिखाएँ"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "ब्राइटनेस कंट्रोल:"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "एप्पल और अंतर्निर्मित डिस्प्ले में पहले से ही कंट्रोल सेंटर में एक ब्राइटनेस स्लाइडर है।"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "किस प्रदर्शन को नियंत्रित करना है यह निर्धारित करने के लिए विंडो फोकस का उपयोग करें"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "हार्डवेयर या सॉफ्टवेयर नियंत्रित प्रदर्शन या टीवी के लिए चमक स्लाइडर।"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "यदि मेनू विकल्प सुलभ नहीं है तो प्राथमिकताओं तक पहुँचने के लिए ऐप को फिर से लॉन्च करें। ऐप को छोड़ने के लिए नीचे दिए गए बटन का उपयोग करें।"; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "वर्तमान प्राप्त करें"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "अतिरिक्त नियंत्रणः"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "ibQ-4u-ClE"; */ "ibQ-4u-ClE.title" = "#बीसी-इग्नोर!"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "लॉग-इन शुरू करें"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "म्यूट टॉगल करें"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "सभी स्क्रीनों के लिए परिवर्तन"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "अपडेट के लिए देखें"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "मॉनिटर कंट्रोल को आपके प्रदर्शन को नियंत्रित करने के लिए macOS मूल कुंजी का उपयोग करने के लिए \"एक्सेसिबिलिटी\" तक पहुंच की आवश्यकता है।\n आप इसे सिस्टम वरीयताएँ> सुरक्षा और गोपनीयता> अभिगम्यता में मॉनिटरकंट्रोल जोड़कर सक्षम कर सकते हैं।"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "माउस सूचक की स्थिति पर निर्भर करता है"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "सभी प्रदर्शनों के लिए संयुक्त स्लाइडर का उपयोग करें"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "प्रदर्शन प्रकारः"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "नियंत्रित करने के लिए स्क्रीनः"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "mBs-6m-13Q"; */ "mBs-6m-13Q.title" = "#बीसी-इग्नोर!"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "आयतनः"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "गामा टेबल हेरफेर से बचें"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "सुनिश्चित करें कि मॉनिटरकंट्रोल हमेशा चालू रहे जब आपको इसकी आवश्यकता हो ऐप को स्टार्टअप पर लॉन्च करके।"; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "चमक बढ़ें।"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "कुंजीपटल निष्क्रिय करें"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "आवेदन:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "डी. डी. सी. के पठन संचालन के दौरान लंबी देरी"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "pIy-Lk-kkm"; */ "pIy-Lk-kkm.title" = "#बीसी-इग्नोर!"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "सिस्टम वरीयताएँ खोलें…"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "चमक को नियंत्रित करने के लिए अपने एप्पल कीबोर्ड की चमक कुंजी का उपयोग करें। आप अंतर्निर्मित प्रदर्शन को समायोजित करने के लिए कंट्रोल, बाहरी प्रदर्शन को समायोजित करने के लिए कंट्रोल + कमांड पकड़ सकते हैं। ठीक नियंत्रण के लिए Shift + Option दबाएँ। कंट्रोल + ऑप्शन + कमांड डी. डी. सी. संगत डिस्प्ले पर कंट्रास्ट समायोजित करता है।"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "डीडीसी मैक्स"; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "चमक कम हो।"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "मेन्यू में कंट्रास्ट स्लाइडर दिखाएँ"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "अधिक परिशुद्धता के लिए स्लाइडर के बगल में प्रतिशत दिखाएँ।"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "आवेदन छोड़ें"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "मात्रा नियंत्रण (केवल डीडीसी)"; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "हार्डवेयर और सॉफ्टवेयर डिमिंग को मिलाएँ"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "सामान्य मेन्यू आइटम शैलीः"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "मेन्यू आइकनः"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "काम करता है यदि कोई ऑडियो डिवाइस बिना किसी मूल मात्रा नियंत्रण के चुना जाता है।"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "कंट्रास्ट (डीडीसी)"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "वैकल्पिक चमक कुंजी का उपयोग न करें"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "भारी।"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "अनेक प्रदर्शनः"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "डी. डी. सी. मतदान मोड पढ़ता हैः"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "उपयोगी है जब एक प्रदर्शन नींद के दौरान अपनी सेटिंग्स को रीसेट करने की प्रवृत्ति रखता है।"; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "एम्बिएंट लाइट सेंसर के कारण या टच बार, कंट्रोल सेंटर, सिस्टम वरीयताओं का उपयोग करके किए गए परिवर्तनों को सभी प्रदर्शनों में दोहराया जाएगा।"; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "केवल तभी जब कम से कम एक स्लाइडर मौजूद हो"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "केवल तभी जब बाहरी डिस्प्ले मौजूद हो"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "मानक और कस्टम दोनों शॉर्टकट"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "प्रदर्शन से सेटिंग अद्यतन करें। कुछ हार्डवेयर के साथ काम नहीं कर सकता है।"; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "उपलब्ध है।"; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "चेतावनी! इस विकल्प को सक्षम करने के साथ, आप खुद को उस स्थिति में पा सकते हैं जब आप एक खाली प्रदर्शन के साथ समाप्त हो जाते हैं। यह, अक्षम कीबोर्ड नियंत्रणों के साथ मिलकर निराशाजनक हो सकता है।"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "कुंजीपटल निष्क्रिय करें"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "कम्बाइंड डिमिंग स्विचओवर प्वाइंटः"; ================================================ FILE: MonitorControl/UI/hu.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "A MonitorControl a külső kijelző fényerejének és hangerejének beállítását teszi lehetővé"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Ha elutasítja ezeket a kapcsolatokat, nem értesül új verziókról és biztonsági frissítésekről. A biztonsági frissítések fontosak a rosszindulatú támadások elhárítása érdekében."; /* Software update purpose */ "SoftwareUpdatePurpose" = "A MonitorControl ellenőrzi új verziók és biztonsági frissítések meglétét."; ================================================ FILE: MonitorControl/UI/hu.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "Névjegy"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Úgy tűnik, egy másik alkalmazás is módosítja a fényerőt vagy a színeket ami problémát okoz.\n\nEz megoldható a másik alkalmazás bezárásával vagy a MonitorControl-ban a kijelzők gamma vezérlésének letiltásával!"; /* Shown in the main prefs window */ "App menu" = "Menü"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Biztos benne, hogy engedélyezni kívánja a hosszabb várakozást? Ez bizonyos esetekben a rendszer lefagyását eredményezheti, akár újraindítás is szükségessé válhat. A bejelentkezéskori automatikus indítást letiltjuk a biztonság kedvéért."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Biztos benne, hogy vissza kívánja állítani az alapértelmezett beállításokat?"; /* Sown in menu */ "Brightness" = "Fényerő"; /* Build */ "Build" = "Build"; /* Shown in the Display Settings */ "Built-in Display" = "Beépített"; /* Shown in menu */ "Check for updates…" = "Frissítések ellenőrzése…"; /* Shown in menu */ "Contrast" = "Kontraszt"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Csökkentés"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Kijelzők gamma vezérlésének letiltása"; /* Shown in the main prefs window */ "Displays" = "Kijelzők"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Hosszabb várakozás engedélyezése?"; /* Shown in the Display Settings */ "External Display" = "Külső kijelző"; /* Shown in the main prefs window */ "General" = "Általános"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Hardver (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Hardver (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Bezárom a másik alkalmazást"; /* Shown in the alert dialog */ "Incompatible previous version" = "Inkompatibilis előző verzió"; /* Shown in record shortcut box */ "Increase" = "Növelés"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "Fut f.lux vagy hasonló alkalmazás?"; /* Shown in the main prefs window */ "Keyboard" = "Billentyűzet"; /* Shown in record shortcut box */ "Mute" = "Némítás"; /* Shown in the alert dialog */ "No" = "Nem"; /* Shown in the Display Settings */ "No Control" = "Nem vezérelt"; /* Shown in the Display Settings */ "Other Display" = "Egyéb kijelző"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Az előző alkalmazásverzió beállításai nem kompatibilisek ezzel a verzióval. Visszaállítottuk az alapértelmezett beállításokat."; /* Shown in menu */ "Settings…" = "Beállítások…"; /* Shown in menu */ "Quit" = "Kilépés"; /* Shown in the alert dialog */ "Reset Settings?" = "Alapértelmezett beállítások"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Biztonsági mód engedélyezve"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "A Shift gomb le lett nyomva indítás közben, az alkalmazás biztonsági módban indult el. Az alapértelmezett beállításokat visszaállítottuk, a DDC olvasás letiltásra került."; /* Shown in the alert dialog */ "Shortcuts not available" = "Gyorsbillentyűk nem elérhetők"; /* Shown in the Display Settings */ "Software (gamma)" = "Szoftver (gamma)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Szoftver (erőltetett)"; /* Shown in the Display Settings */ "Software (shade)" = "Szoftver (árnyékolás)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Szoftver (erőltetett)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Ez a kijelző nem támogatja a hardveres vezérlést, hanem szoftveres fényerővezérlést tesz lehetővé gamma táblázat módosítás vagy árnyékolás segítségével. Ennek okai lehetnek a nem támogatott kimenet (pl. Mac mini HDMI kimenet) vagy feketelistára helyezett kijelző használata."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "A kijelzőnek nem meghatározott a vezérlési státusza."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Ez a kijelző támogatja a hardveres vezérlést, azonban az aktuális beállítások csak szoftveres vezérlést tesznek lehetővé."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Ez a kijelző támogatja a hardveres vezérlést. Amennyiben problémákat tapasztal, kapcsolja ki a hardveres DDC vezérlést a szoftveres alternatíva érdekében!"; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Ez a kijelző az Apple saját fényerőkezelő protokolját támogatja. Ez lehetővé teszi a macOS számára is a fényerő vezérlését, MonitorControl nélkül is."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Ez egy virtuális kijelző (AirPlay, Sidecar, DisplayLink állomás vagy hasonló), amely nem támogatja sem a hardveres, sem a szoftveres gamma táblázat alapú fényerőkezelést. Emiatt a program árnyékolást alkalmaz, amennyiben a kijelző nincs tükrözve. Az egérkurzorra az árnyékolás nincs hatással, valamint képernyőhibák jelentkezhetnek, amikor teljes képernyős ablakváltás történik."; /* Unknown display name Unknown model Unknown vendor */ "Unknown" = "Ismeretlen"; /* Version */ "Version" = "Verzió"; /* Shown in the Display Settings */ "Virtual Display" = "Virtuális kijelző"; /* Shown in menu */ "Volume" = "Hangerő"; /* Shown in the alert dialog */ "Yes" = "Igen"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Engedélyeznie kell a MonitorControlt a Rendszerbeállítások > Biztonság és adatvédelem > Kisegítő lehetőségek alatt a gyorsbillentyűk használatához!"; ================================================ FILE: MonitorControl/UI/hu.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Beépített és Apple kijelzők fényerejének szinkronizálása"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Utolsó ismert beállítások feltételezése (javasolt)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Hagyományos hangerő és némító billentyűk"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Hangerő le"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Külön vezérlő minden képernyő számára"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Utolsó mentett értékek elküldése a kijelzőnek"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Egyéni billentyűkombinációk"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Az ablakfókusz mód nem mindig működik teljes képernyős programokkal."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Welcome to MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Beállítások visszaállítása"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Mindig rejtett"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Csúszka viselkedés:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Mértékjelek mutatása"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "A csúszka fogantyú 0%, 25%, 50%, 75% és 100% pontokhoz ugrik, hogy ezek könnyebben beállíthatók legyenek."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Finom OSD skála használata a fényerőhöz és kontraszthoz"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Start using MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Köszönjük mindenkinek, aki hozzájárult!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Egyéni billentyűkombinációk"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Képernyőbeállítások olvasásának megkísérlése"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Mértékjelek mutatása 0%, 25%, 50%, 75% és 100% pontokon."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Korábban beállított vagy alapértelmezett fényerő, hangerő beálltások használata. A megváltoztatott értékek első változtatáskor érvényesülnek."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Hangeszköz nevének megfelelő kijelző vezérlése"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Automatikus indítás"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Az aktuális kijelző csúszkáinak mutatása"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Fényerő:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Szoftver->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Hardveresen (DDC) vezérelt kijelzők esetén működhet."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "MacOS hangerő OSD tiltása"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "OSD skála:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "OSD skála:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Visszaállítás"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "DDC némítás parancs engedélyezése"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Hangerő csúszka mutatása"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Egyedi"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Indításkor vagy alvás után:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Figyelem! Ezen beállítások változtatása veszélyeztetheti a rendszer stabilitását!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Az alternatív gombok az F14/F15 (Scroll Lock vagy Pause PC-k esetén ill. fényerő gombok egyes Logitech billentyűzeteken)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "VCP lista"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "A hangeszköz neve módosítható a Kijelzők (haladó) alatt, ha szükséges."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "A finom átmenet letitlható a direktebb, azonnali vezérlés érdekében."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Minimális"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Skála görbület"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Némítás:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Alapesetben egy OSD egységnyi a szintváltozás. Ez a beállítás a finom vezérlést teszi alapértelmezetté."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Alaphelyzet"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Frissítések automatikus ellenőrzése"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Fényerő vezérlés:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Hangerő:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Teljes fekete engedélyezése szoftveres vagy kombinált sötétítéskor"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Az Apple és beépített kijelzők már rendelkeznek csúszkával a Vezérlőközpontban"; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Nincs"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Megjelenítés ikonként"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Megjelenítés szövegként"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Invertálás"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Ablakfókusz határozza meg a vezérelt kijelzőt"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Fényerő csúszka hardveresen vagy szoftveresen vezérelt kijelzők, TV-k számára."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Hangeszköz nevének felülírása:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Indítsa újra az alkalmazást a Beállítások eléréséhez, ha az opció rejtett. Az alábbi gombbal kiléphet az alkalmazásból."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Aktuális"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Elrejtés"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "További vezérlők:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Fényerő:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Finom fényerő átmenet engedélyeze"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Finom OSD skála a hangerő számára"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Automatikus indítás bejelentkezéskor"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Némítás"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Minden képernyő módosítása"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Frissítések ellenőrzése"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Start MonitorControl at Login"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Megjegyzés: a Shift nyomvatartásával induláskor aktiválhatja a Biztonsági Módot az alapértelmezett értékek helyreállítására."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Engedélyezés Apple és beépített kijelzők esetén is"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "A MonitorControlnak engedélyre van szüksége ahhoz, hogy a fényerő és hangerő gombokra reagálhasson. Ehhez hozzá kell adni a MonitorControl alkalmazást a Rendszerbeállítások > Biztonság és adatvédelem > Kisegítő lehetőségek alatt."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Vezérelt képernyő:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Az egérmutató helyzetétől függ"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Kombinált csúszka az összes kijelző számára"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Fényerő és kontraszt vezérlés:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Kijelző típusa:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Vezérelt képernyő:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Vezérleje külső kijelzője fényerejét, kontrasztját és hangerejét a Mac-ról - a menü csúszkákkal vagy billentyűk segítségével, beleértve a gyári Apple billentyűket is!"; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Csúszka igazítás engedélyezése"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Mindig legyen látható a menüben"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Kontraszt:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Hangerő:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Fényerő csúszka megjelenítése a menüben"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Gamma tábla módosítás kerülése"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Biztosítsa, hogy a MonitorControl mindig fut amikor szüksége van rá, az automatikus indítás segítségével!"; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Több fényerő"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Külön skála kombinált hardver/szoftver sötétítésnál"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Billentyűk letiltása"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Alkalmazás:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Hagyományos fényerő billentyűk használata"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "számosság:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Az Apple billentyűzet fényerőgombjainak használata. A Control lenyomásával a beépített kijelzőt, a Control+Command segítségével a külső kijelzőt vezérelheti. Shift+Option finom vezérlést tesz lehetővé. Control+Option+Command nyomvatartása a kontrasztot szabályozza. "; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Vezérlés:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Hosszabb várakozás DDC olvasáskor"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC max"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Rendszerbeállítások megnyitása…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Szoftveres sötétítés alkalmazása, miután a kijelző elérte a minimális hardveres fényerőt. Csak hardveres (DDC) kijelzők esetén."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Kevesebb fényerő"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Hagyományos és egyedi billentyűkombinációk"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Kilépés"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Kontraszt csúszka megjelenítése"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Hangerő vezérlés (DDC esetén):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Százalékok mutatása a csúszka mellett a precizitás érdekében."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Hardveres és szoftveres fényerővezérlés kombinálása"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Gyári Apple billentyűzet elérése"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normál"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Általános menüpontok stílusa:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Menü ikon:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Haladó beállítások mutatása"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Akkor működik, ha hangerővezérléssel nem rendelkező hangeszköz van kiválasztva."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Vezérlés billentyűzetről"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Kontraszt:"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Alternatív fényerőgombok használatának mellőzése"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Magas"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Több kijelző esetén:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "DDC olvasás mód:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Általános beállítások:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Hasznos, amikor a kijelző hajlamos visszaállni alvás után."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "A környezetifény-érzékelő, Touch Bar, Vezérlőközpont módosításai minden kijelzőre hatással vannak."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Hangerő módosítása minden képernyőn"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Beállítások frissítése a kijelző állapota alapján. Nem minden hardverrel működik."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Csak ha legalább egy vezérlő megjelenik"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Csak ha külső kijelző van jelen"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Hagyományos és egyedi billentyűkombinációk"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "A szinkronizációs és mindent vezérlő beállításokkal működik a legjobban."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Elérhető"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "A teljes OSD skála elérhető a hardveres fényerővezérlés számára, majd a minimum elérése után további szoftveres csökkentés történik."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Figyelem! Az opció engedélyezésével előfordulhat, hogy a kijelző teljesen sötétítésre kerül. Letiltott billentyűzet vezérlés mellett ez kellemetlen helyzetet eredményezhet."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Azonosító:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Az egérmutató helyzetétől függ"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Hangerő fel"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Hardveres DDC vezérlés"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Billentyűk letiltása"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Adakozás"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Százalékok mutatása"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Kombinált fényerő váltópont:"; ================================================ FILE: MonitorControl/UI/it.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl ti permette di controllare la luminosità ed il volume del tuo monitor esterno"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Se blocchi queste connessioni, non sarai avvisato sulle nuove versioni e sugli aggiornamenti di sicurezza che sono importanti per difendersi dagli attacchi di malware."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl verifica la presenza di nuove versioni ed aggiornamenti di sicurezza"; ================================================ FILE: MonitorControl/UI/it.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "Informazioni"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!"; /* Shown in the main prefs window */ "App menu" = "App menu"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Sei sicuro di voler attivare un ritardo più lungo? Facendolo potresti bloccare il sistema e dover riavviare. L'avvio automatico al login verrà disabilitaco come misura di sicurezza."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Sei sicuro di voler resettare tutte le preferenze?"; /* Shown in menu */ "Brightness" = "Luminosità"; /* Build */ "Build" = "Build"; /* Shown in the Display Settings */ "Built-in Display" = "Monitor Integrato"; /* Shown in menu */ "Check for updates…" = "Controlla aggiornamenti…"; /* Shown in menu */ "Contrast" = "Contrasto"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Diminiusci"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Disabilita controllo gamma per i miei monitor"; /* Shown in the main prefs window */ "Displays" = "Monitor"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Abilito un ritardo più lungo?"; /* Shown in the Display Settings */ "External Display" = "Monitor Esterno"; /* Shown in the main prefs window */ "General" = "Generale"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Hardware (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Hardware (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Chiuderò le altre applicazioni"; /* Shown in the alert dialog */ "Incompatible previous version" = "Versione precedente incompatibile"; /* Shown in record shortcut box */ "Increase" = "Aumenta"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "E' attivo f.lux or simile?"; /* Shown in the main prefs window */ "Keyboard" = "Tastiera"; /* Shown in record shortcut box */ "Mute" = "Mute"; /* Shown in the alert dialog */ "No" = "No"; /* Shown in the Display Settings */ "No Control" = "Nessun Controllo"; /* Shown in the Display Settings */ "Other Display" = "Altri Monitor"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Le impostazioni di una versione precedente incompatibile sono state trovate. Verranno caricate le impostazioni di default."; /* Shown in menu */ "Settings…" = "Preferenze…"; /* Shown in menu */ "Quit" = "Esci"; /* Shown in the alert dialog */ "Reset Settings?" = "Resetto le preferenze?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Safe Mode Attivato"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Il tasto Maiuscole è stato premuto all'avvio. MonitorControl è stato avviato in modalità sicura. Preferenze di default, lettura DDC bloccata."; /* Shown in the alert dialog */ "Shortcuts not available" = "Abbreviazioni non disponibili"; /* Shown in the Display Settings */ "Software (gamma)" = "Software (gamma)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Software (gamma, forzata)"; /* Shown in the Display Settings */ "Software (shade)" = "Software (attenuazione)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Software (attenuazione, forzata)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Questo monitor permette il controllo software della luminositò attraverso la manipolazione della gammatable e non supporta un controllo hardware. Un motivo potrebbe essere Reasons l'utilizzo della porta HDMI su un Mac Mini (che blocca il controllo hardware DCC) oppure avere un monitor non supportato."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Questo monitor ha uno stato di controllo non specificato."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Questo monitor supporta il controllo DDC hardware ma le impostazioni correnti consentono solo quello software."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Questo monitor supporta il controllo DDC hardware. Se rilevi dei problemi, puoi disabilitarlo e forzare il controllo software."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Questo monitor supporta il protocollo nativo Apple della luminosità. Questo permette al macOS di controllare il monitor anhe senza l'utilizzo di MonitorControl."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Questo monitor è un di tipo virtuale (esempio: AirPlay, Sidecar, connessione via via DisplayLink Dock o simili) e non consente il controllo hardware o software della gammatable. La sfumatura è utilizzata in sostituzione ma solo in modalità non duplicazione. Il cursore del mouse non rimane invariato e si potrebbero verificare artefatti entrando/uscendo dalla modalità a pieno schermo."; /* Unknown display name */ "Unknown" = "Sconosciuto"; /* Version */ "Version" = "Versione"; /* Shown in the Display Settings */ "Virtual Display" = "Monitor Virtuale"; /* Shown in menu */ "Volume" = "Volume"; /* Shown in the alert dialog */ "Yes" = "Si"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Devi abilitare MonitorControl nelle Preferenze di Sistema > Sicurezza e Privacy > Accessibilità affinchè le abbreviazioni da tastiera funzionino"; ================================================ FILE: MonitorControl/UI/it.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Sincronizza le modifiche dai monitor Incorporati ed Apple "; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Assumi che le ultime impostazioni siano valide (raccomandato)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Tasti standard per volume e mute"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "Min DDC"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Volume down"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Mostra slider separati per ciascun monitor nel menu"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Applica al monitor gli ultimi valori salvati"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Abbreviazioni da tastiera personalizzate"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "L'utilizzo del focus sulla finestra potrebbe non funzionare sulle applicazioni a pieno schermo."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Welcome to MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Resetta le Preferenze"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Nascondi sempre"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Comportamento slider:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Mostra i marcatori nello slider"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "Lo slider scatta nelle posizioni 0%, 25%, 50%, 75% e 100% quando si trova in prossimità di questi valori in modo da impostarli più semplicemente."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Utilizza la scala fine OSD"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Start using MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Ringraziamento speciale ai contributors!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Abbreviazioni da tastiera personalizzate"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Tenta di leggere le impostazioni del monitor"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Mostra i marcatori a 0%, 25%, 50%, 75% e 100%."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Utilizza la luminisità, il volume ed altre impostazioni dell'ultima volta o utilizza il default. I valori saranno applicati al monitor alla prima modifica dell'utente."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Utilizza dispositivo audio per determinare il monitor da controllare"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Start at Login?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Mostra gli slider solo per il monitor che sta mostrando il menu"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Luminosità:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Software->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Solo per i monitor con controllo hardware (DDC). I risultati possono variare."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "Disabilita l'OSD del volume del macOS"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "Scala OSD:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "Scala OSD:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Reset impostazioni"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Abilita il comando Mute DDC"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Mostra lo slider del volume nel menu"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Personalizzato"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "All'avvio o alla riattivazione:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Attenzione! modificando queste impostazioni si può causare il blocco del sistema o comportamenti inattesi!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Tasti alternativi sono F14/F15 (Blocco Scorr e Pausa nella tastiera PC , tasti luminosità su alcune tastiere Logitech)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "Lista VCP"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "Puoi sovrascrivere il nome del dispositivo audio nella sezione Monitor se necessario."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Puoi disabilitare le transizioni morbide per un controllo più diretto ed immediato."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Minimalista"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Curva mappatura"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Mute:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Normalmente il controllo da tastiera cambia uno step del valore e Maiusc+Alt permette un controllo più fine. Questo imposta il controllo fine come default."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Resetta nome"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Controlla automaticamente gli aggiornamenti"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Controllo luminosità:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Volume:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Permetti la luminosità zero via software o attenuazione combinata"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "I Monitor Apple ed incorporati hanno già lo slider della luminosità nel Centro di Controllo."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Nessuno"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Mostra come icone"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Mostra come testo"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Inverti"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Utilizza la finestra attiva per determinare il monitor da controllare"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Slider luminosità per i monitor o TV controllati via hardware o software."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Sovrascrivi nome dispositivo audio:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Riapri l'applicazione per accedere alla preferenze se l'opzione nel menu non è accessibile. Utilizza il bottone soprastante per chudere l'applicazione."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Valore corrente"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Nascondi"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Controlli addizionali:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Luminosità:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Abilita le transizioni morbide della luminosità"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Utilizza la scala fine OSD per il volume"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Avvia automaticamente al Login"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Toggle Mute"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Modifica per tutti i monitor"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Controlla aggiornamenti"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Start MonitorControl at Login"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Nota: puoi premere Maiusc all'avvio per il 'Safe mode' in modo da impostare i valori di default."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Abilita anche per i monitor Apple ed incorporati"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Monitor da controllare:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Dipende dalla posizione del puntatore del mouse"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Utlizza uno slider combinato per tutti i monitor"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Controllo luminosità e contrasto:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Tipo di monitor:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Monitor da controllare:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Abilita lo snap dello slider"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Mostra sempre nella barra dei menu"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Contrasto:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Volume:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Mostra lo slider della luminosità nel menu"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Impedisci la manipolazione della tabella di gamma"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Ensure MonitorControl is always running when you need it by launching the app at startup."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Brightness up"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Scale separate per controllo combinato della attenuazione hw/sw"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Disabilita tastiera"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Applicazione:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Tasti di luminosità standard"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "conteggio:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Utilizza il tasto luminosità della tua tastiera Apple per controllare la luminosità. Puoi premere Control per il monitor incorporato, Control-Command per i monitor esterni. Premi Maiusc+Alt per un controlllo fine. Control+Alt+Command modifica il contrasto sui monitor compatibili DDC."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Metodo di controllo:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Ritardo più lungo durante le operazioni di lettura DDC"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "Max DDC"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Open System Settings…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Utilizza l'attenuazione software quando il monitor ha raggiunto lo zero della luminosità hardware per estendere il range. Funziona solo per i monitor controllati via DDC."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Brightness down"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Entrambe le abbreviazioni standard e personalizzate"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Esci dall'appplicazione"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Mostra lo slider del contrasto nel menu"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Controllo volume (solo DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Mostra la percentuale vicino allo slider per una maggior precisione."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Combina l'attenuazione hardware e software"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Enable Apple keyboard native key access"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normale"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Stile elementi del menu:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Icona menu:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Mostra impostazioni avanzate"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Funziona se è selezionato un dispositivo audio senza controllo nativo del volume."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Abilita il controllo da tastiera"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Contrasto (DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Non utilizzare i tasti luminosità alternativi"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Pesante"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Monitor multipli:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "Modalità lettura polling DDC:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Opzioni generali:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Utile se il monitor tende a resettare le impostazioni durante lo stop (sleep)."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Le modifiche provocate dal sensore di luce ambiente o fatte attraverso la Touch Bar, Centro di Controllo, Preferenze di Sistema verranno replicate su tutti i monitor."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Cambia il volume per tutti i monitor"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Aggiorna le impostazioni leggendole dal monitor. Potrebbe non funzionare con alcuni hardware."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Solo se è presente almeno uno slider"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Solo quando è presente un display esterno"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Entrambe le abbreviazioni standard e personalizzate"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Funziona se l'opzione 'controlla tutto' dalla tastiera è attivata."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Disponibile"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "L'intera scala OSD sarà disponibile per il controllo hardware della luminosità e una volta raggiunto lo 0, l'attenuazione software verrà utilizata."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Attenzione! Con questa opzione attiva, potresti trovarti in con un monitor completamente nero. Questo i combinazione con la disattivazione dei comandi da tastiera potrebbe essere frustrante."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Identificativo:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Dipende dalla posizione del puntatore del mouse"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Volume up"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Utilizza controllo hardware DDC"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Disabilita tastiera"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Fai una donazione"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Mostra la percentuale"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Punto combinato di commutazione:"; ================================================ FILE: MonitorControl/UI/ja.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControlを使用すると、外部ディスプレイの明るさと音量を制御できます"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "アップデートの通信を拒否すると、新しいバージョンやセキュリティ更新プログラムに関する通知が届きません。マルウェア攻撃を防ぐためには、セキュリティアップデートが重要です。"; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControlは、新しいバージョンとセキュリティ更新をチェックします。"; ================================================ FILE: MonitorControl/UI/ja.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "アプリについて"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "他のアプリが明るさや色を変更して問題を引き起こしているようです。\n\nこれを解決するには、他のアプリを終了するか、MonitorControlでディスプレイのガンマ制御を無効にする必要があります!"; /* Shown in the main prefs window */ "App menu" = "アプリメニュー"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "より長い遅延を有効にしますか?場合によってはシステムがフリーズし、再起動が必要になる場合があります。安全対策として、ログイン時の起動は無効になります。"; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "すべての設定をリセットしてよろしいですか?"; /* Shown in menu */ "Brightness" = "輝度"; /* Build */ "Build" = "ビルド"; /* Shown in the Display Settings */ "Built-in Display" = "内蔵ディスプレイ"; /* Shown in menu */ "Check for updates…" = "アップデートを確認する…"; /* Shown in menu */ "Contrast" = "コントラスト"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "下げる"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "全てののディスプレイでガンマ操作を無効にします。"; /* Shown in the main prefs window */ "Displays" = "ディスプレイ"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "長い遅延を有効にしますか?"; /* Shown in the Display Settings */ "External Display" = "外部ディスプレイ"; /* Shown in the main prefs window */ "General" = "一般"; /* Shown in the Display Settings */ "Hardware (Apple)" = "ハードウェア (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "ハードウェア (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "他のアプリを終了します"; /* Shown in the alert dialog */ "Incompatible previous version" = "互換性のない以前のバージョン"; /* Shown in record shortcut box */ "Increase" = "上げる"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "f.luxなどを実行中ではありませんか?"; /* Shown in the main prefs window */ "Keyboard" = "キーボード"; /* Shown in record shortcut box */ "Mute" = "ミュート"; /* Shown in the alert dialog */ "No" = "いいえ"; /* Shown in the Display Settings */ "No Control" = "コントロールなし"; /* Shown in the Display Settings */ "Other Display" = "外部ディスプレイ"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "互換性のない以前のアプリ バージョンの設定が検出されました。デフォルトの環境設定が再ロードされます。"; /* Shown in menu */ "Settings…" = "設定を開く…"; /* Shown in menu */ "Quit" = "終了"; /* Shown in the alert dialog */ "Reset Settings?" = "設定をリセットしますか?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "セーフモードが有効になりました"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "起動中にShiftキーが押されたため、MonitorControlはセーフモードで開始されました。デフォルトの設定が再びロードされ、DDCの読み取りはブロックされます。"; /* Shown in the alert dialog */ "Shortcuts not available" = "ショートカットは利用できません"; /* Shown in the Display Settings */ "Software (gamma)" = "ソフトウェア (ガンマ)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "ソフトウェア (ガンマ, 強制)"; /* Shown in the Display Settings */ "Software (shade)" = "ソフトウェア (シェード)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "ソフトウェア (シェード, 強制)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "このディスプレイはハードウェア制御をサポートしていないため、ガンマ テーブル操作またはシェードを介してソフトウェアの明るさを制御できます。この理由としては、Mac miniのHDMIポート(ハードウェアDDC 制御がブロックされている) を使用しているか、ブラックリストに登録されているディスプレイが使用されていることが考えられます。"; /* Shown in the Display Settings */ "This display has an unspecified control status." = "このディスプレイの制御ステータスは特定されていません。"; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "このディスプレイはハードウェアDDC制御をサポートしていると報告されていますが、現在の設定ではソフトウェア制御のみが可能です。"; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "このディスプレイはハードウェアDDC制御をサポートしていると報告されています。問題が発生した場合は、ハードウェアDDC制御を無効にしてソフトウェア制御を強制することができます。"; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "このディスプレイは、ネイティブのApple輝度プロトコルをサポートしています。これにより、macOSはMonitorControl なしでもこのディスプレイを制御できるようになります。"; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "これは仮想ディスプレイ (例: AirPlay、Sidecar、DisplayLink Dock などを介して接続されたディスプレイ) であり、ハードウェアまたはソフトウェアのガンマテーブル制御を許可しません。代わりにシェーディングが使用されますが、ミラー以外のシナリオでのみ使用されます。マウスカーソルは影響を受けませんが、全画面モードを切り替える際にアーティファクトが表示される場合があります。"; /* Unknown display name */ "Unknown" = "不明"; /* Version */ "Version" = "バージョン"; /* Shown in the Display Settings */ "Virtual Display" = "仮想ディスプレイ"; /* Shown in menu */ "Volume" = "ボリューム"; /* Shown in the alert dialog */ "Yes" = "はい"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "キーボードショートカットを機能させるには、システム環境設定 > セキュリティとプライバシー > アクセシビリティ で MonitorControl を有効にする必要があります。"; ================================================ FILE: MonitorControl/UI/ja.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "内蔵及び Apple 製ディスプレイの輝度の変化を同期"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "最後に保存された設定を有効とします (推奨)"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "標準キーボードの音量とミュートキー"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC 最小"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "音量 ダウン"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "最後に保存した値をディスプレイに適用します"; /* Class = "NSBox"; title = "#bc-ignore!"; ObjectID = "3a3-In-jeQ"; */ "3a3-In-jeQ.title" = "#bc-ignore!"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "メニュー内の各ディスプレイに個別のコントロールを表示"; /* Class = "NSButtonCell"; title = "https://monitorcontrol.app"; ObjectID = "42n-Zy-AqF"; Note = "#bc-ignore!"; */ "42n-Zy-AqF.title" = "https://monitorcontrol.app"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "カスタムキーボードショートカット"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "ウィンドウフォーカスの利用は、全画面アプリでは正しく機能しない可能性があります。"; /* Class = "NSBox"; title = "#bc-ignore!"; ObjectID = "4wn-2u-KRo"; */ "4wn-2u-KRo.title" = "#bc-ignore!"; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "MonitorControl にようこそ"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "設定をリセット"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "6GJ-6Q-gqz"; */ "6GJ-6Q-gqz.title" = "#bc-ignore!"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "常に隠す"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "スライドバーの挙動:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "スライダーの目盛りを表示する"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "スライダーを近づけると、0%、25%、50%、75%、100% にスナップされ、値の設定が簡単になります。より細かく制御するにはこれを無効にしてください。"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "OSDの細かい値を輝度とコントラストに利用する"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "MonitorControl を使い始める"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "貢献者に多大に感謝します!"; /* Class = "NSBox"; title = "#bc-ignore!"; ObjectID = "9aX-gm-8TS"; */ "9aX-gm-8TS.title" = "#bc-ignore!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "カスタムキーボードショートカット"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "ディスプレイの設定を読み取ります"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "精度を高めるために、0%、25%、50%、75%、100% の目盛りを表示します。"; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "オーディオデバイス名を使用して、どのディスプレイを制御するかを決定"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "設定をリセット"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "輝度:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(ソフトウェア->DDC)"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "OSDスケール:"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "カスタム"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ 警告!これらの設定の一部を変更すると、システムのフリーズや予期しない動作が発生する可能性があります。"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "代替キーは F14/F15 (PCキーボードのスクロールロックと一時停止、一部のLogitechキーボードの輝度キー) です。"; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "VCPリスト"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "必要に応じて、ディスプレイ(詳細設定)でオーディオデバイス名を上書きできます。"; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "スムーズトランジションを無効にして、より直接的かつ即座にコントロールすることができます。"; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "最小"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "スケールマッピングカーブ"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "ミュート:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "音量:"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "自動アップデートチェック"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "ソフトウェアまたは組み合わせた調光による輝度0を許可"; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "なし"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "反転"; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "上書きするオーディオデバイス名:"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "隠す"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "輝度:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "スムーズな輝度の変化を有効にする"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "OSDの細かい値を音量に利用する"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "MonitorControlをログイン時に起動する"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "注: 起動中にShiftキーを押して「セーフモード」にすると、何も読み取ったり設定したりせず、まっさらな状態に戻すことができます。"; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Appleブランドのディスプレイや内蔵ディスプレイでも有効にする"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "操作するスクリーン:"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "輝度とコントラスト:"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "メニューバーで常に表示"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "コントラスト:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "メニューに輝度のスライダーを表示"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "menuletスライダーやキーボード (ネイティブAppleキーボードを含む) を使用して、外部ディスプレイの輝度、コントラスト、音量をMacから直接制御します。"; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "スライダーのスナップを有効にする"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "ハードウェアとソフトウェアを組み合わせた調光のためスケールを分離する"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "標準キーボードの輝度キー"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "回数:"; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "コントロール方式:"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "Pqk-VW-JGY"; */ "Pqk-VW-JGY.title" = "#bc-ignore!"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "ディスプレイのハードウェア輝度がゼロに達した後、範囲を拡張するためにソフトウェア調光を使用します。 DDC 制御のディスプレイでのみ機能します。"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "標準ショートカットとカスタムショートカットの両方"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Appleキーボードのネイティブキーアクセスを有効にする"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "通常"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "詳細設定を表示"; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "ディスプレイのキーボード制御を有効にする"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "一般設定:"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "キーボード設定で「全てのディスプレイを操作」を有効にし、さまざまな項目を同期する場合に最も機能します。"; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "すべての画面の音量を変更"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "フルOSDスケールはハードウェア輝度制御に対して有効となり、輝度が0に達した後さらにソフトウェア調光が使用されます。"; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "識別子:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "マウスポインタの位置に依存"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "音量 アップ"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "寄付"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "パーセンテージを表示"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "ハードウェアDDC制御を使用する"; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "前回の輝度、音量、その他の設定を使用するか、デフォルトを使用します。値は、ユーザーによる最初の変更時にディスプレイに適用されます。"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "ログイン時に起動しますか?"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "ハードウェア (DDC) 制御のディスプレイのみ有効。結果は異なる場合があります。"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "OSDスケール:"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "DDC ミュートコマンドを有効にする"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "現在メニューを表示しているディスプレイのスライダーのみを表示"; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "macOSのボリュームOSDを無効"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "メニューに音量スライダーを表示"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "起動時またはウェイクアップ時:"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "e0q-fb-k7R"; */ "e0q-fb-k7R.title" = "#bc-ignore!"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "通常、キーボード制御では、OSDスケールを1ずつ変更し、さらにShift+Option を使用することで微調整できます。このオプションでは、細かい制御がデフォルトになります。"; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "名前をリセット"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "アイコンで表示"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "テキストで表示"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "輝度のコントロール:"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Appleおよび内蔵ディスプレイにはすでにコントロールセンターに輝度スライダーがあります."; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "ウィンドウのフォーカスを使用して、どのディスプレイを制御するか決定"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "ハードウェアまたはソフトウェアで制御されるディスプレイまたはTVの輝度スライダー。"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "メニューオプションにアクセスできない場合は、アプリを再起動して環境設定にアクセスします。アプリを終了するには、下のボタンを使用してください。"; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "現在の状態を取得"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "追加のコントロール:"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "ibQ-4u-ClE"; */ "ibQ-4u-ClE.title" = "#bc-ignore!"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "ログイン時に起動"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "ミュートを切り替え"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "全てのスクリーンで変更"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "アップデートを確認"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "macOSネイティブキーを使用してディスプレイを制御するには、MonitorControlが\"アクセシビリティ\"にアクセスする必要があります。\nこれを有効にするには、システム環境設定 > セキュリティとプライバシー > アクセシビリティ で MonitorControlを追加します。"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "マウスポインタの位置に依存"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "すべてのディスプレイが結合されたスライダーを使用"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "ディスプレイのタイプ:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "操作するスクリーン:"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "mBs-6m-13Q"; */ "mBs-6m-13Q.title" = "#bc-ignore!"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "音量:"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "ガンマテーブル操作を防ぐ"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "起動時にアプリを起動することで、MonitorControlが必要なときには常に実行されます。"; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "輝度を上げる"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "キーボード無効"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "アプリケーション:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "DDC読み取り操作中の遅延をより長くする"; /* Class = "NSTextFieldCell"; title = "#bc-ignore!"; ObjectID = "pIy-Lk-kkm"; */ "pIy-Lk-kkm.title" = "#bc-ignore!"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "システム環境設定を開く…"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Appleキーボードの輝度キーを使用して輝度を制御します。 Controlを押したままにして内蔵ディスプレイを調整し、Control + Command を押して外部ディスプレイを調整できます。Shift+Option を押したままにすると、細かく制御できます。Control+Option+Command は、DDC 互換ディスプレイのコントラストを調整します。"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC 最大"; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "輝度を下げる"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "メニューにコントラストのスライダーを表示"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "スライダーの横により正確に表示するためのパーセンテージを表示します。"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "アプリケーション終了"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "音量コントロール(DDCのみ):"; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "ハードウェアとソフトウェアの調光を組み合わせる"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "一般メニュー項目のスタイル:"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "メニューアイコン:"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "ネイティブのボリュームコントロールなしでオーディオデバイスが選択されている場合に機能します."; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "コントラスト(DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "代替の輝度キーを使用させない"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "高"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "複数ディスプレイ:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "DDCポーリングモード:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "ディスプレイがスリープ中に設定をリセットする傾向がある場合に便利です。"; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "環境光センサーによる変更、もしくはTouchBar、コントロールセンター、システム環境設定を使用して行われた変更は、すべてのディスプレイに反映されます。"; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "少なくとも 1 つのスライダーが存在する場合のみ"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "外部ディスプレイがある場合のみ"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "標準ショートカットとカスタムショートカットの両方"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "ディスプレイから設定を更新します。一部のハードウェアでは動作しない場合があります。"; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "有効"; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "警告!このオプションを有効にすると、ディスプレイが表示されなくなる場合があります。この上、キーボード コントロールが無効になっていたら本当にもどかしいですよね。"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "キーボード無効"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "複合調光切替点:"; ================================================ FILE: MonitorControl/UI/ko.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl를 통해 외부 디스플레이의 밝기와 음량을 제어할 수 있습니다."; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "이러한 연결을 거부하면 새로운 버전과 보안 업데이트에 대한 알림을 받지 못합니다. 보안 업데이트는 멀웨어 공격을 방어하는데 중요합니다."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl은 새로운 버전과 보안 업데이트를 확인합니다."; ================================================ FILE: MonitorControl/UI/ko.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "정보"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "다른 앱이 밝기 또는 색상을 변경하여 문제를 일으키는 것 같습니다.\n\n이 문제를 해결하려면 다른 앱을 종료하거나 MonitorControl에서 디스플레이에 대한 감마 제어를 비활성화해야 합니다!"; /* Shown in the main prefs window */ "App menu" = "앱 메뉴"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "응답 지연 시간을 연장하시겠습니까? 시스템이 멈추거나 재시작이 필요할 수 있습니다. 로그인 시 자동 실행 옵션은 안전을 위해 비활성화됩니다."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "모든 설정을 초기화 하시겠습니까?"; /* Shown in menu */ "Brightness" = "밝기"; /* Build */ "Build" = "빌드"; /* Shown in the Display Settings */ "Built-in Display" = "내장 디스플레이"; /* Shown in menu */ "Check for updates…" = "업데이트 확인…"; /* Shown in menu */ "Contrast" = "대비"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "감소"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Disable gamma control for my displays"; /* Shown in the main prefs window */ "Displays" = "디스플레이"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "응답지연 시간 연장"; /* Shown in the Display Settings */ "External Display" = "외장 디스플레이"; /* Shown in the main prefs window */ "General" = "일반"; /* Shown in the Display Settings */ "Hardware (Apple)" = "하드웨어 (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "하드웨어 (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "다른 앱을 종료합니다."; /* Shown in the alert dialog */ "Incompatible previous version" = "호환되지 않는 이전 버전"; /* Shown in record shortcut box */ "Increase" = "증가"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "f.lux 또는 이와 유사한 기능이 실행되고 있습니까?"; /* Shown in the main prefs window */ "Keyboard" = "키보드"; /* Shown in record shortcut box */ "Mute" = "음소거"; /* Shown in the alert dialog */ "No" = "아니오"; /* Shown in the Display Settings */ "No Control" = "No Control"; /* Shown in the Display Settings */ "Other Display" = "그 외 디스플레이"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "호환되지 않는 이전 앱 버전에 대한 기본 설정이 감지되었습니다. 기본 환경설정을 다시 불러옵니다."; /* Shown in menu */ "Settings…" = "환경설정…"; /* Shown in menu */ "Quit" = "종료"; /* Shown in the alert dialog */ "Reset Settings?" = "설정 초기화"; /* Shown in the alert dialog */ "Safe Mode Activated" = "안전모드 활성화 됨"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Shift 키가 눌린 채로 시작되었습니다. MonitorControl이 안전모드로 시작되었습니다. 기본 설정을 다시 불러왔으며, DDC 읽기가 제한됩니다."; /* Shown in the alert dialog */ "Shortcuts not available" = "단축키를 사용할 수 없음"; /* Shown in the Display Settings */ "Software (gamma)" = "소프트웨어 (감마)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "소프트웨어 (감마, 강제 적용)"; /* Shown in the Display Settings */ "Software (shade)" = "소프트웨어 (명암)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "소프트웨어 (명암, 강제 적용)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "이 디스플레이는 하드웨어 제어를 지원하지 않기 때문에 감마 테이블과 명암 조절을 통해 소프트웨어로 밝기를 제어합니다. 그 이유는 하드웨어 DDC 제어가 차단된 Mac mini의 HDMI 포트를 사용하였거나 블랙리스트에 포함된 디스플레이를 사용하고 있기 때문일 수 있습니다."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "이 디스플레이에는 지정되지 않은 제어 상태가 있습니다."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "이 디스플레이는 하드웨어 DDC 제어를 지원하는 것으로 보고되었지만 현재 설정은 소프트웨어 제어만 허용합니다."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "이 디스플레이는 하드웨어 DDC 제어를 지원하는 것으로 보고되었습니다. 문제가 발생하면 하드웨어 DDC 제어를 비활성화하여 소프트웨어 제어를 강제 실행할 수 있습니다."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "이 디스플레이는 기본 Apple 밝기 프로토콜을 지원합니다. 이를 통해 macOS는 MonitorControl 없이도 이 디스플레이를 제어할 수 있습니다."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "하드웨어 또는 소프트웨어 감마 설정을 허용하지 않는 가상 디스플레이(예: AirPlay, Sidecar, DisplayLink Dock을 통해 연결된 디스플레이 등)입니다. 명암 조절이 대신 사용되지만 미러링이 아닌 경우에만 사용됩니다. 마우스 커서는 영향을 받지 않으며 전체 화면 모드에 들어가거나 나갈 때 아티팩트가 나타날 수 있습니다."; /* Unknown display name */ "Unknown" = "알 수 없음"; /* Version */ "Version" = "버전"; /* Shown in the Display Settings */ "Virtual Display" = "가상 디스플레이"; /* Shown in menu */ "Volume" = "음량"; /* Shown in the alert dialog */ "Yes" = "예"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "단축키가 동작하기 위해서는 시스템 환경설정 > 개인정보 보호 및 보안 > 손쉬운 사용에서 MonitorControl을 활성화해야 합니다."; ================================================ FILE: MonitorControl/UI/ko.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "내장 및 Apple 디스플레이와 밝기 조절 동기화"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "마지막으로 저장한 설정이 유효하다고 가정 (권장)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "표준 키보드 음량 및 음소거 키"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC 최솟값"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "음량 줄이기"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "메뉴에서 각 디스플레이에 대해 각각의 컨트롤 표시"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "마지막으로 저장된 값을 디스플레이에 적용"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "사용자 정의 키보드 단축키"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "활성화된 창을 기준으로 하면 전체 화면 앱에서 제대로 동작하지 않을 수 있습니다."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "MonitorControl에 오신 것을 환영합니다"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "환경설정 초기화"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "항상 숨김"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "슬라이더 동작:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "슬라이더 눈금 표시"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "슬라이더 조절기는 0%, 25%, 50%, 75% 및 100%에 근접할 때 정렬되어 이러한 값을 더 쉽게 설정할 수 있습니다. 더 미세한 제어를 위해 비활성화합니다."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "미세한 OSD 스케일 사용"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "MonitorControl 시작하기"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "기여자에게 특별한 감사를 드립니다!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "사용자 정의 키보드 단축키"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "디스플레이 설정 읽기 시도"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "정확도를 위해 0%, 25%, 50%, 75% 및 100%에 눈금을 표시합니다."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "최근의 밝기, 음량 및 기타 설정을 사용하거나 기본값을 사용합니다. 값은 사용자가 처음 변경할 때 디스플레이에 적용됩니다."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "오디오 장치 이름을 사용하여 제어할 디스플레이 결정"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "로그인 시 실행"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "현재 메뉴를 보여주는 디스플레이에 대한 슬라이더만 표시"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "밝기:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(소프트웨어->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "하드웨어 (DDC) 제어 디스플레이 전용. 결과는 다를 수 있습니다."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "macOS 음량 OSD 비활성화"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "OSD 스케일:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "OSD 스케일:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "설정 초기화"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "음소거 DDC 커맨드 활성화"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "메뉴에서 음량 슬라이더 표시"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "사용자 설정"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "시작 시 또는 깨우기 시:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ 경고! 이 설정을 변경하면 시스템이 멈추거나 예기치 않은 동작이 발생할 수 있습니다!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "대체 키는 F14/F15(PC 키보드의 경우 Scroll Lock 및 Pause, 일부 Logitech 키보드의 경우 밝기 키)입니다."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "VCP 목록"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "필요한 경우 디스플레이에서 오디오 장치 이름을 재정의할 수 있습니다."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "보다 직접적이고 즉각적인 제어를 위해 부드러운 전환을 비활성화할 수 있습니다."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "최소"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "스케일 맵핑 곡선"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "음소거:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "일반적으로 키보드 컨트롤은 하나의 OSD 단위 값을 변경하고 Shift+Option을 사용하면 미세한 제어가 가능합니다. 이 설정은 항상 미세한 제어로 동작하게 합니다."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "이름 재설정"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "업데이트 자동 확인"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "밝기 조절:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "음량:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "소프트웨어 또는 통합된 밝기 조절을 통해 밝기 0 허용"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Apple 및 내장 디스플레이에는 이미 제어 센터에 밝기 슬라이더가 있습니다."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "설정하지 않음"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "아이콘으로 표시"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "텍스트로 표시"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "반전"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "활성화된 창을 기준으로 제어할 디스플레이 결정"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "하드웨어 또는 소프트웨어 제어 디스플레이 또는 TV용 밝기 슬라이더."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "오디오 장치 이름 재정의:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "메뉴 옵션에 접근할 수 없는 경우, 앱을 다시 실행하여 기본 설정에 접근합니다. 아래의 버튼을 사용하여 앱을 종료합니다."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "최신 정보 얻기"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "숨김"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "추가 컨트롤:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "밝기:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "부드러운 밝기 전환 활성화"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "음량에 미세한 OSD 스케일 사용"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "로그인 시 실행"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "음소거 토글"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "모든 화면에 대해 변경"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "업데이트 확인"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "로그인 시 MonitorControl 실행"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "참고: 시작하는 동안 Shift 키를 눌러 '안전 모드'를 실행할 수 있으며, 이는 기본값을 복원하고 어떠한 것이든 읽거나 설정하지 않도록 할 수 있습니다."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Apple 전용 및 내장 디스플레이에도 활성화"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl이 macOS 기본 키를 사용하여 디스플레이를 제어하려면 \"손쉬운 사용\"에 접근할 수 있어야 합니다.\n시스템 환경설정 > 개인정보 보호 및 보안 > 손쉬운 사용에서 MonitorControl을 추가하여 이 기능을 활성화할 수 있습니다."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "제어할 화면:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "마우스 포인터 위치에 따라 다름"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "모든 디스플레이에 대한 통합 슬라이더 사용"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "밝기 및 대비 제어:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "디스플레이 타입:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "제어할 화면:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "메뉴 막대 슬라이더 또는 기본 Apple 키를 포함한 키보드를 사용하여 Mac에서 직접 외부 디스플레이의 밝기, 대비 및 음량을 제어합니다."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "슬라이더 정렬 활성화"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "항상 메뉴 표시줄에 표시"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "대비:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "음량:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "메뉴에 밝기 슬라이더 표시"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "감마 테이블 조절 방지"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "로그인 시 앱을 실행하여 필요할 때 MonitorControl을 사용할 수 있도록 항상 실행된 상태를 유지합니다."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "밝기 높이기"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "통합된 하드웨어 및 소프트웨어 밝기 조절을 위한 별도의 스케일"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "키보드 비활성화"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "애플리케이션:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "표준 키보드 밝기 키"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "횟수:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Apple 키보드의 밝기 키를 사용하여 밝기를 제어합니다. Control을 길게 눌러 내장 디스플레이를 조정하고 Control+Command를 눌러 외부 디스플레이를 조정할 수 있습니다. Shift+Option을 함께 누르고 있으면 미세한 제어가 가능합니다. Control+Option+Command는 DDC 호환 디스플레이에서 대비를 조정합니다."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "제어 방식:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "DDC 읽기 작업 중 응답 지연 시간 연장"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC 최댓값"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "시스템 환경설정 열기…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "디스플레이가 확장된 범위에 대해 하드웨어 밝기가 0에 도달한 후 소프트웨어 밝기 조절을 사용합니다. DDC 제어 디스플레이에서만 동작합니다."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "밝기 낮추기"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "표준 및 사용자 정의 단축키 둘 다"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "애플리케이션 종료"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "메뉴에 대비 슬라이더 표시"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "음량 조절 (DDC 전용):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "정확도를 높이기 위해 슬라이더 옆에 백분율을 표시합니다."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "하드웨어 및 소프트웨어 밝기 조절 통합"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Apple 키보드의 기본 키 접근 활성화"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "보통"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "일반 메뉴 항목 스타일:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "메뉴 아이콘:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "고급 설정 표시"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "기본 음량 컨트롤 없이 오디오 장치를 선택한 경우 동작합니다."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "디스플레이 키보드 제어 활성화"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "대비 (DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "대체 밝기 키를 사용하지 않습니다."; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "자주"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "다중 디스플레이:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "DDC 리드 폴링 모드:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "일반 옵션:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "디스플레이가 절전 중에 재설정을 하는 경우 유용하게 사용 가능합니다."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "조도 센서로 인해 변경되었거나 Touch Bar, 제어 센터, 시스템 환경설정을 사용하여 변경한 사항은 모든 디스플레이에 적용됩니다."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "모든 화면의 음량 변경"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "디스플레이에서 설정을 업데이트합니다. 일부 하드웨어에서는 동작하지 않을 수 있습니다."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "슬라이더가 하나 이상 있는 경우에만"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "외부 디스플레이가 있을 때만"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "표준 및 사용자 정의 단축키 둘 다"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "다양한 동기화와 '모두 제어' 키보드 설정이 활성화된 상태에서 가장 잘 동작합니다."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "사용 가능"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "하드웨어 밝기 제어를 위해 전체 OSD 스케일을 사용할 수 있으며, 밝기가 0에 도달하면 추가적으로 소프트웨어 밝기 조절을 사용합니다."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "경고! 이 옵션을 활성화하면 빈 디스플레이가 표시되는 상황에 놓일 수 있습니다. 이는 비활성화된 키보드 컨트롤과 함께 불편함을 초래할 수 있습니다."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "식별자:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "마우스 포인터 위치에 따라 다름"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "음량 높이기"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "하드웨어 DDC 제어 사용"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "키보드 비활성화"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "기부하기"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "백분율 표시"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "통합된 밝기 조절 전환 지점:"; ================================================ FILE: MonitorControl/UI/nl.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "Met MonitorControl kunt u de helderheid en het volume van externe schermen regelen"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Als u deze verbindingen weigert, wordt u niet op de hoogte gebracht van nieuwe versies en beveiligingsupdates. Beveiligingsupdates zijn belangrijk ter bescherming tegen malware-aanvallen."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl controleert op nieuwe versies en beveiligingsupdates."; ================================================ FILE: MonitorControl/UI/nl.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "Over"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Een andere app lijkt de helderheid of kleuren te veranderen, wat problemen veroorzaakt. Om dit op te lossen, moet u de andere app afsluiten of de gammaregeling voor uw beeldschermen uitschakelen in MonitorControl!"; /* Shown in the main prefs window */ "App menu" = "App menu"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Weet u zeker dat u een langere vertraging wilt inschakelen? Als u dit doet kan uw systeem vastlopen en een herstart nodig hebben. Start bij het inloggen wordt uitgeschakeld als veiligheidsmaatregel."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Weet u zeker dat u alle voorkeuren wilt herstellen?"; /* Shown in menu */ "Brightness" = "Helderheid"; /* Build */ "Build" = "Build"; /* Shown in the Display Settings */ "Built-in Display" = "Ingebouwd Scherm"; /* Shown in menu */ "Check for updates…" = "Controleren op updates…"; /* Shown in menu */ "Contrast" = "Contrast"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Verminderen"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Gammaregeling uitschakelen voor mijn beeldschermen"; /* Shown in the main prefs window */ "Displays" = "Schermen"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Langere vertraging inschakelen?"; /* Shown in the Display Settings */ "External Display" = "Extern Scherm"; /* Shown in the main prefs window */ "General" = "Algemeen"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Hardware (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Hardware (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Ik zal de andere app sluiten"; /* Shown in the alert dialog */ "Incompatible previous version" = "Incompatibele vorige versie"; /* Shown in record shortcut box */ "Increase" = "Verhogen"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "Is f.lux of iets gelijkaardigs actief?"; /* Shown in the main prefs window */ "Keyboard" = "Toetsenbord"; /* Shown in record shortcut box */ "Mute" = "Dempen"; /* Shown in the alert dialog */ "No" = "Nee"; /* Shown in the Display Settings */ "No Control" = "Geen controle"; /* Shown in the Display Settings */ "Other Display" = "Ander Scherm"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Voorkeuren voor een incompatibele vorige app-versie gedetecteerd. Standaardvoorkeuren worden opnieuw geladen."; /* Shown in menu */ "Settings…" = "Voorkeuren…"; /* Shown in menu */ "Quit" = "Afsluiten"; /* Shown in the alert dialog */ "Reset Settings?" = "Reset Voorkeuren?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Veilige Modus Geactiveerd"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Shift werd ingedrukt tijdens het opstarten. MonitorControl is gestart in veilige modus. Standaardinstellingen zijn herladen, DDC uitlezen is geblokkeerd."; /* Shown in the alert dialog */ "Shortcuts not available" = "Sneltoetsen niet beschikbaar"; /* Shown in the Display Settings */ "Software (gamma)" = "Software (gamma)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Software (Gamma, Gedwongen)"; /* Shown in the Display Settings */ "Software (shade)" = "Software (tint)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Software (tint, Gedwongen)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Dit scherm maakt softwarematige helderheidsregeling via gammatable-manipulatie mogelijk, aangezien het geen hardwarecontrole ondersteunt. Redenen hiervoor kunnen het gebruik van de HDMI-poort van een Mac mini zijn (die hardwarematige DDC-besturing blokkeert) of een niet-ondersteund scherm."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Dit scherm heeft een niet-gespecificeerde controlestatus."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Dit scherm ondersteunt hardwarematige DDC-besturing, maar de huidige instellingen laten alleen softwarebesturing toe."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Dit scherm ondersteunt hardware DDC-besturing. Als u problemen ondervindt, kunt u de hardware DDC-besturing uitschakelen om softwarebesturing te forceren"; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Dit scherm ondersteunt het native Apple-helderheidsprotocol. Hierdoor kan macOS dit scherm ook zonder MonitorControl bedienen."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Dit is een virtueel scherm (voorbeelden: AirPlay, Sidecar, scherm aangesloten via een DisplayLink Dock of gelijkaardig) dat geen hardware- of softwaregammabesturing toestaat. Shading wordt gebruikt als vervanging, maar alleen in scenario's zonder mirroring. De muiscursor wordt niet beïnvloed en er kunnen artefacten verschijnen bij het openen/verlaten van de fullscreen modus."; /* unknown display name unknown model unknown vendor */ "Unknown" = "Onbekend"; /* Version */ "Version" = "Versie"; /* Shown in the Display Settings */ "Virtual Display" = "Virtueel Scherm"; /* Shown in menu */ "Volume" = "Volume"; /* Shown in the alert dialog */ "Yes" = "Ja"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "U moet MonitorControl inschakelen in Systeemvoorkeuren > Beveiliging en Privacy > Privacy > Toegankelijkheid inschakelen, zodat de sneltoetsen werken."; ================================================ FILE: MonitorControl/UI/nl.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Helderheid synchroniseren van Apple schermen"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Veronderstel dat de laatst bewaarde instellingen geldig zijn (aanbevolen)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Standaard toetsenbordvolume en demp-toetsen"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Volume omlaag"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Toon afzonderlijke bedieningselementen voor elk scherm in het menu"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Pas laatst opgeslagen waarden toe op het scherm"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Aangepaste sneltoetsen"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Het gebruik van vensterfocus als alternatief werkt mogelijk niet goed bij fullscreen apps."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Welkom bij MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Reset voorkeuren"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Altijd verbergen"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Schuifregelaargedrag:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Toon maatstreepjes op schuifregelaar"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "Schuifknop springt naar 0%, 25%, 50%, 75% en 100% wanneer deze in de buurt is, waardoor het instellen van deze waarden eenvoudiger wordt. Uitschakelen voor fijnere controle."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Gebruik fijne OSD-schaal voor helderheid en contrast"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Aan de slag met MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Speciale dank aan onze bijdragers!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Aangepaste sneltoetsen"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Poging om scherminstellingen te lezen"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Toon maatstreepjes op 0%, 25%, 50%, 75% en 100% voor nauwkeurigheid."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Gebruik helderheid, volume en andere instellingen van de vorige sessie of gebruik standaardinstellingen. Waarden worden toegepast op het display bij de eerste wijziging door de gebruiker."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Gebruik Audioapparaat naam om te bepalen welk scherm u wilt bedienen"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Open bij het inloggen?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Enkel schuifregelaars tonen voor het scherm dat het menu toont"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Helderheid:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Software->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Alleen voor hardware (DDC) gestuurde schermen. Resultaten kunnen verschillen."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "macOS volume OSD uitzetten"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "OSD schaal:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "OSD schaal:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Reset instellingen"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Schakel DDC commando voor dempen in"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Toon volumeregelaar in menu"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Aangepast"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Bij opstarten of ontwaken:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Waarschuwing! Het wijzigen van sommige instellingen kan storingen of onverwacht gedrag veroorzaken!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Alternatieve toetsen zijn de F14/F15 (Scroll Lock en Pause op PC toetsenborden, helderheidstoetsen op sommige Logitech toetsenborden)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "VCP list"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "U kunt indien nodig de naam van het audioapparaat onder Schermen overschrijven."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "U kunt vloeiende overgangen uitschakelen directere controle."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Minimaal"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Schaalcurve"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Dempen:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Normaal gesproken veranderen toetsenbordbedieningen één OSD-chiletwaarde van waarde en Shift + Option maakt fijne controle mogelijk. Dit maakt fijne controle standaard."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Reset Naam"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Automatisch controleren op updates"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Helderheidsregeling:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Volume:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Sta 0 helderheid toe via software of gecombineerde dimming."; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Apple en ingebouwde schermen hebben reeds een schuifregelaar voor helderheid in het Control Center."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Geen"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Weergeven als pictogrammen"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Weergeven als tekst"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Omkeren"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Vensterfocus gebruiken om te bepalen welk scherm u wilt bedienen"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Helderheidsregelaar voor hardware- of softwaregestuurde schermen of TV's."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Naam audioapparaat overschrijven:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Start de app opnieuw om toegang te krijgen tot Voorkeuren als de menuoptie niet toegankelijk is. Gebruik de onderstaande knop om de app af te sluiten."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Waarde ophalen"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Verbergen"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Extra bedieningselementen:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Helderheid:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Vloeiende helderheidsovergangen inschakelen"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Gebruik fijne OSD-schaal voor volume"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Start bij Inloggen"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Toggle Mute"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Wijzigen voor alle schermen"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Controleren op updates"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Start MonitorControl bij het inloggen"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Opmerking: u kunt tijdens het opstarten op Shift drukken voor 'Veilige modus' om de standaardinstellingen te herstellen en niets te lezen of in te stellen."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Ook inschakelen voor Apple branded en ingebouwde schermen"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Scherm om te bedienen:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Afhankelijk van de positie van de muisaanwijzer"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Gecombineerde schuifregelaar gebruiken voor alle schermen"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Helderheid en contrastregeling:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Scherm type:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Scherm om te bedienen:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Regel de helderheid, het contrast en het volume van je externe beeldscherm rechtstreeks vanaf je Mac, met de schuifregelaars in het menu of via het toetsenbord, inclusief de Apple-toetsen."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Schuifregelaar snapping inschakelen"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Altijd weergeven in de menubalk"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Contrast:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Volume:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Helderheidsregelaar in menu weergeven"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Voorkom gamma table manipulatie"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Zorg ervoor dat MonitorControl altijd actief is wanneer u het nodig hebt door de app bij het opstarten te starten."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Helderheid omhoog"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Aparte schaal voor gecombineerd hardware & software dimmen"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Toetsenbord uitschakelen"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Applicatie:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Standaard toetsenbordhelderheidstoetsen"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "aantal:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Gebruik de helderheidstoetsen van uw Apple toetsenbord om de helderheid te regelen. U kunt Control ingedrukt houden om het ingebouwde scherm aan te passen, Control+Command om externe schermen aan te passen. Gebruik Shift+Option voor fijne controle. Control+Option+Command past het contrast aan op DDC-compatibele schermen."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Besturingsmethode:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Langere vertraging tijdens DDC-leesbewerkingen"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC max"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Open System Settings…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Gebruik software-dimmen nadat het scherm de hardwarehelderheid 0 heeft bereikt voor een groter bereik. Werkt alleen voor DDC-gestuurde displays."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Helderheid omlaag"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Zowel standaard als aangepaste sneltoetsen"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Applicatie afsluiten"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Toon contrastregelaar in menu"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Volumeregeling (alleen DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Toon percentage naast schuifregelaar voor meer precisie."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Combineer hardware en software dimmen"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Native Apple-toetsen inschakelen"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normaal"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Stijl algemene menu-items:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Menu Icoon:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Toon geavanceerde instellingen"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Werkt als een audioapparaat is geselecteerd zonder native volumeregeling."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Schakel toetsenbordbediening in voor scherm"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Contrast:"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Gebruik geen alternatieve helderheidstoetsen"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Zwaar"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Meerdere schermen:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "DDC peiling modus:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Algemene opties:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Handig wanneer een scherm de neiging heeft om de instellingen te resetten tijdens de slaapmodus."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Wijzigingen die worden veroorzaakt door de omgevingslichtsensor of die zijn aangebracht met Touch Bar, Control Center, systeemvoorkeuren, worden gerepliceerd naar alle schermen."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Volume wijzigen voor alle schermen"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Werk instellingen bij vanaf het scherm. Werkt mogelijk niet met sommige hardware."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Alleen als er ten minste één schuifregelaar aanwezig is"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Alleen wanneer een extern beeldscherm aanwezig is"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Zowel standaard als aangepaste sneltoetsen"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Werkt het beste met verschillende synchronisatie- en 'control all' toetsenbordinstellingen ingeschakeld."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Beschikbaar"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "Volledige OSD-schaal zal beschikbaar zijn voor hardwarehelderheidsregeling en na het bereiken van 0 helderheid, zal softwarematig verder gedimd worden."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Waarschuwing! Met deze optie kom je mogelijk in een situatie waarbij je een zwart scherm hebt. In combinatie met uitgeschakelde sneltoetsen kan dit problematisch zijn."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Identificatie:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Afhankelijk van de positie van de muisaanwijzer"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Volume omhoog"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Gebruik hardwarematige DDC-besturing"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Toetsenbord uitschakelen"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Doneer"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Toon percentages"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Gecombineerd dim-omschakelpunt:"; ================================================ FILE: MonitorControl/UI/pl.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl umożliwia sterowanie jasnością i głośnością wyświetlaczy zewnętrznych"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Jeśli zblokujesz te połączenia, nie będziesz otrzymywać powiadomień o nowych wersjach i aktualizacjach zabezpieczeń. Aktualizacje zabezpieczeń są ważne, aby chronić przed atakami złośliwego oprogramowania."; /* Software update purpose */ "SoftwareUpdatePurpose" = "Program MonitorControl sprawdza dostępność nowych wersji i aktualizacji zabezpieczeń."; ================================================ FILE: MonitorControl/UI/pl.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "O programie"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Inna aplikacja wydaje się zmieniać jasność lub kolory, co powoduje problemy.\n\nAby rozwiązać ten problem, należy zamknąć inną aplikację lub wyłączyć kontrolę gamma dla wyświetlaczy w programie MonitorControl!"; /* Shown in the main prefs window */ "App menu" = "Menu aplikacji"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Czy na pewno chcesz włączyć większe opóźnienie? W takim przypadku może dojść do zamrożenia systemu i konieczności jego ponownego uruchomienia. W ramach środków bezpieczeństwa funkcja Start przy logowaniu zostanie wyłączona."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Czy na pewno chcesz zresetować wszystkie ustawienia?"; /* Shown in menu */ "Brightness" = "Jasność"; /* Build */ "Build" = "Wersja"; /* Shown in the Display Settings */ "Built-in Display" = "Wbudowany wyświetlacz"; /* Shown in menu */ "Check for updates…" = "Sprawdź aktualizacje…"; /* Shown in menu */ "Contrast" = "Kontrast"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Zmniejsz"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Wyłącz kontrolę gamma dla moich monitorów"; /* Shown in the main prefs window */ "Displays" = "Wyświetlacze"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Włączać dłuższe opóźnienie?"; /* Shown in the Display Settings */ "External Display" = "Zewnętrzny wyświetlacz"; /* Shown in the main prefs window */ "General" = "Ogólne"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Urządzenie (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Sprzętowe (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Zrezygnuję z drugiej aplikacji"; /* Shown in the alert dialog */ "Incompatible previous version" = "Niezgodność z poprzednią wersją"; /* Shown in record shortcut box */ "Increase" = "Zwiększ"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "Czy f.lux lub podobny działa?"; /* Shown in the main prefs window */ "Keyboard" = "Klawiatura"; /* Shown in record shortcut box */ "Mute" = "Wycisz"; /* Shown in the alert dialog */ "No" = "Nie"; /* Shown in the Display Settings */ "No Control" = "Brak ustawień"; /* Shown in the Display Settings */ "Other Display" = "Inny wyświetlacz"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Wykryto ustawienia dla niekompatybilnej poprzedniej wersji aplikacji. Domyślne ustawienia zostaną wczytane ponownie."; /* Shown in menu */ "Settings…" = "Ustawienia…"; /* Shown in menu */ "Quit" = "Zamknij"; /* Shown in the alert dialog */ "Reset Settings?" = "Reset ustawień?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Tryb bezpieczny aktywowany"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Podczas uruchamiania programu wciśnięto klawisz Shift. Program MonitorControl został uruchomiony w trybie bezpiecznym. Ustawienia domyślne zostały wczytane ponownie, odczyt DDC został zablokowany.."; /* Shown in the alert dialog */ "Shortcuts not available" = "Skróty niedostępne"; /* Shown in the Display Settings */ "Software (gamma)" = "Programowe (gamma)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Programowe (gamma, wymuszone)"; /* Shown in the Display Settings */ "Software (shade)" = "Programowe (odcień)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Programowe (odcień, wymuszone)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Ten wyświetlacz umożliwia programowe sterowanie jasnością za pomocą manipulacji tablicą gamma lub cieniowaniem, ponieważ nie obsługuje sterowania sprzętowego. Powodem tego może być korzystanie z portu HDMI komputera Mac mini (który blokuje sprzętowe sterowanie DDC) lub monitor znajdujący się na czarnej liście.."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Ten wyświetlacz ma nieokreślony status sterowania."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Ten wyświetlacz podobno obsługuje sprzętowe sterowanie DDC, ale obecne ustawienia umożliwiają tylko sterowanie programowe."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Ten wyświetlacz obsługuje podobno sprzętowe sterowanie DDC. Jeśli wystąpią problemy, można wyłączyć sprzętowe sterowanie DDC, aby wymusić sterowanie programowe."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Ten wyświetlacz obsługuje natywny protokół jasności firmy Apple. Dzięki temu system macOS może sterować tym monitorem także bez programu MonitorControl."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Jest to wirtualny wyświetlacz (typu: AirPlay, Sidecar, wyświetlacz podłączony za pomocą stacji dokującej DisplayLink Dock lub podobnej), który nie umożliwia sterowania gammatycznego sprzętowego ani programowego. Cieniowanie jest używane jako substytut, ale tylko w scenariuszach bez lustra. Nie ma to wpływu na kursor myszy, a artefakty mogą się pojawiać podczas wchodzenia i wychodzenia z trybu pełnoekranowego.."; /* Unknown display name */ "Unknown" = "Nieznany"; /* Version */ "Version" = "Wersja"; /* Shown in the Display Settings */ "Virtual Display" = "Wyświetlacz wirtualny"; /* Shown in menu */ "Volume" = "Głośność"; /* Shown in the alert dialog */ "Yes" = "Tak"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Aby skróty klawiaturowe działały, należy włączyć funkcję MonitorControl w Preferencjach systemowych > Bezpieczeństwo i prywatność > Dostępność"; ================================================ FILE: MonitorControl/UI/pl.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Synchronizuj zmianę jasności z wyświetlaczy wbudowanych i Apple"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Przyjmij, że ostatnio zapisane ustawienia są ważne (zalecane)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Standardowe klawisze głośności i wyciszania klawiatury"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Volume down"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Pokaż osobne elementy sterujące dla każdego wyświetlacza w menu"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Zastosuj ostatnio zapisane wartości dla wyświetlacza"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Własne skróty klawiaturowe"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Używanie fokusa okna może nie działać poprawnie w aplikacjach pełnoekranowych."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Welcome to MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Resetuj ustawienia"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Zawsze ukryj"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Zachowanie suwaka:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Pokaż zaznaczenia suwaka"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "Po zbliżeniu znacznik suwaka ustawi się na 0%, 25%, 50%, 75% i 100%, co ułatwi ustawienie tych wartości. Wyłączenie umożliwia dokładniejszą kontrolę."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Użyj precyzyjnej skali OSD dla jasności i kontrastu"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Start using MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Specjalne podziękowania dla naszych współpracowników!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Własne skróty klawiaturowe"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Próba odczytania ustawień wyświetlacza"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Pokaż znaczniki przy 0%, 25%, 50%, 75% and 100% dla dokładności."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Użyj jasności, głośności i innych ustawień z poprzedniej edycji lub zastosuj wartości domyślne. Wartości zostaną zastosowane do wyświetlacza przy pierwszej zmianie przez użytkownika."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Użyj nazwy urządzenia audio, aby określić, który wyświetlacz ma być sterowany"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Start at Login?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Pokaż suwaki tylko dla wyświetlacza, na którym aktualnie wyświetlane jest menu"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Jasność:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Program->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Tylko dla wyświetlaczy sterowanych sprzętowo (DDC). Wyniki mogą się różnić."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "Wyłącz OSD dla głośności macOS"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "Skala OSD:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "Skala OSD:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Resetuj ustawienia"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Włącz komendę wycisz DDC"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Pokaż suwak głośności w menu"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Użytkownika"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Przy uruchamianiu lub budzeniu:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Uwaga! Zmiana niektórych ustawień może spowodować zawieszenie systemu lub nieoczekiwane zachowanie!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Alternatywne klawisze to F14/F15 (blokada przewijania i pauza w klawiaturach PC, klawisze jasności w niektórych klawiaturach Logitech)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "lista VCP"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "W razie potrzeby można zastąpić nazwę urządzenia audio w sekcji Wyświetlacze (zaawansowane)."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Możesz wyłączyć płynne przejścia by mieć bardziej bezpośrednią, natychmiastową kontrolę."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Minimalny"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Odwzorowanie skali"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Wycisz:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Zazwyczaj elementy sterujące na klawiaturze zmieniają wartości o jeden chiclet OSD, a Shift+Option umożliwiają precyzyjne sterowanie. Dzięki temu precyzyjne sterowanie jest domyślne."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Resetuj nazwę"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Automatycznie sprawdź aktualizacje"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Sterowanie jasnośćią:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Głośność:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Umożliw ustawienie zerowej jasności programowo lub sprzętowo"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Wyświetlacze Apple i wyświetlacze wbudowane mają już suwak jasności w Centrum sterowania."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "brak"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "pokaż jako ikony"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "pokaż jako tekst"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Odwróć"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Użyj fokusu okna, aby określić, który wyświetlacz ma być sterowany"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Suwak jasności dla wyświetlaczy lub telewizorów sterowanych sprzętowo lub programowo."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Zastąp nazwę urządzenia audio:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Jeśli opcja menu nie jest dostępna, uruchom ponownie aplikację, aby uzyskać dostęp do Preferencji. Aby zamknąć aplikację, użyj poniższego przycisku."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Pobierz bieżącą"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Ukryj"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Dodatkowe ustawienia:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Jasność:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Umożliw płynną zmianę jasności"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Użyj małej skali OSD dla głośności"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Uruchom po zalogowaniu"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Toggle Mute"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Zmień dla wszystkich wyświetlaczy"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Sprawdź czy są aktualizacje"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Start MonitorControl at Login"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Uwaga: podczas uruchamiania można nacisnąć klawisz Shift, aby przywrócić domyślne ustawienia i uniknąć odczytywania lub ustawiania czegokolwiek."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Włącz współpracę z monitorami Apple i wbudowanymi"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Screen to control:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Zależne od położenia wskaźnika myszy"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Użyj wspólnego suwaka dla wszystkich wyświetlaczy"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Jasność i kontrast:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Typ wyświetlacza:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Ustawienia dla wyświetlacza:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Włącz przyciąganie suwaka"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Zawsze wyświetlaj na pasku menu"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Kontrast:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Głośność:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Pokaż suwak jasności w menu"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Unikaj manipulacji tablicą gamma"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Ensure MonitorControl is always running when you need it by launching the app at startup."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Brightness up"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Oddzielne skale dla łączonego ściemniania sprzęt. i programowego"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Zablokuj klawiaturę"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Aplikacja:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Standardowe klawisze jasności"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "wartość:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Do regulacji jasności służą klawisze jasności na klawiaturze Apple. Możesz przytrzymać Control, aby dostosować jasność wbudowanego wyświetlacza, Control+Command, aby dostosować jasność wyświetlaczy zewnętrznych. Przytrzymaj Shift+Option, aby uzyskać precyzyjną kontrolę. Control+Option+Command reguluje kontrast na wyświetlaczach zgodnych z DDC."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Metoda sterowania:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Większe opóźnienie podczas operacji odczytu DDC"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC max"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Open System Settings…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Użyj programowego przyciemniania po osiągnięciu przez wyświetlacz zerowej jasności sprzętowej, aby uzyskać większy zasięg. Działa tylko w przypadku wyświetlaczy sterowanych przez DDC."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Brightness down"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Skróty standardowe oraz użytkownika"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Zamknij aplikację"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Pokaż suwak kontrastu w menu"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Regulacja głośności (tylko DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Pokaż wartość procentową obok suwaka, dla większej precyzji."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Połącz ściemnianie sprzętowe i programowe"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Enable Apple keyboard native key access"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Zwykły"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "General menu items style:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Ikona menu:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Pokaż zaawansowane ustawienia"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Działa w przypadku wybrania urządzenia audio bez natywnej regulacji głośności."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Włącz sterowanie klawiaturą dla wyświetlacza"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Kontrast (DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Nie używaj alternatywnych klawiszy jasności"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Silny"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Wiele wyświetlaczy:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "Tryb odczytu DDC:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Podstawowe ustawienia:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Przydatne, gdy wyświetlacz ma tendencję do resetowania swoich ustawień podczas uśpienia."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Zmiany spowodowane przez czujnik oświetlenia otoczenia lub dokonane za pomocą paska dotykowego, Centrum sterowania, Ustawienia systemowe zostaną powielone na wszystkich wyświetlaczach."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Zmień głośność dla wszystkich wyświetlaczy"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Aktualizacja ustawień z poziomu wyświetlacza. Może nie działać z niektórymi urządzeniami."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Tylko w przypadku obecności co najmniej jednego suwaka"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Tylko gdy monitor zewnętrzny jest obecny"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Skróty standardowe oraz użytkownika"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Najlepiej działa z włączonymi różnymi ustawieniami synchronizacji i klawiatury „kontroluj wszystko”."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Dostępne"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "W przypadku sprzętowego sterowania jasnością dostępna będzie pełna skala OSD, a po osiągnięciu jasności 0 będzie stosowane dalsze ściemnianie programowe."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Ostrzeżenie! Po włączeniu tej opcji użytkownik może znaleźć się w sytuacji, w której będzie miał pusty ekran. To, w połączeniu z wyłączonymi elementami sterującymi na klawiaturze, może być frustrujące.."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Identyfikator:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Zależnie od położenia wskaźnika myszy"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Volume up"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Użycie sprzętowego sterowania DDC"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Zablokuj klawiaturę"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Wspomóż"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Pokaż wartości procentowe"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Przełączenia ściemniania kombinowanego:"; ================================================ FILE: MonitorControl/UI/pt-BR.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl permite controlar o brilho e o volume de monitores externos"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Se negar as conexões, você não será alertado sobre novas versões e atualizações de segurança. Atualizações de segurança são importantes."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl verifica novas versões e atualizações de segurança."; ================================================ FILE: MonitorControl/UI/pt-BR.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "Sobre"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Parece que outro App está alterando o brilho ou as cores.\n\nPara resolver você precisa fechar o outro app ou desabilitar o controle de gamma no MonitorControl"; /* Shown in the main prefs window */ "App menu" = "App menu"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Tem certeza que deseja ligar o delay longo? Isso pode congelar seu sistema e precisar reiniciar. Iniciar no login vai ser desligado para segurança."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Tem certeza que desejar reiniciar todas as preferências?"; /* Shown in menu */ "Brightness" = "Brilho"; /* Build */ "Build" = "Build"; /* Shown in the Display Settings */ "Built-in Display" = "Monitor interno"; /* Shown in menu */ "Check for updates…" = "Verificar atualizações…"; /* Shown in menu */ "Contrast" = "Contraste"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Direitos Reservados Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Diminuir"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Desligar controle de gamma para os meus monitores"; /* Shown in the main prefs window */ "Displays" = "Monitores"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Ligar delay longo?"; /* Shown in the Display Settings */ "External Display" = "Monitor Externo"; /* Shown in the main prefs window */ "General" = "Geral"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Hardware (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Hardware (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Eu vou desligar o outro app"; /* Shown in the alert dialog */ "Incompatible previous version" = "Verão anterior incompatível"; /* Shown in record shortcut box */ "Increase" = "Aumentar"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "f.lux ou similar está executando?"; /* Shown in the main prefs window */ "Keyboard" = "Teclado"; /* Shown in record shortcut box */ "Mute" = "Mudo"; /* Shown in the alert dialog */ "No" = "Não"; /* Shown in the Display Settings */ "No Control" = "Sem Controle"; /* Shown in the Display Settings */ "Other Display" = "Outro Monitor"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Detectado incompatibilidade. Preferências padrão foram carregadas."; /* Shown in menu */ "Settings…" = "Preferências…"; /* Shown in menu */ "Quit" = "Sair"; /* Shown in the alert dialog */ "Reset Settings?" = "Reiniciar Preferências?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Modo Seguro Ativado"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Shift foi pressionado durante o início. MonitorControl iniciou em modo seguro. Preferências padrão foram carregadas, Leitura do DDC read está bloqueada."; /* Shown in the alert dialog */ "Shortcuts not available" = "Atalhos não disponíveis"; /* Shown in the Display Settings */ "Software (gamma)" = "Software (gamma)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Software (gamma, forçado)"; /* Shown in the Display Settings */ "Software (shade)" = "Software (shade)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Software (shade, forçado)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Este monitor permite controle de brilho via manipulação da tabela gamma ou shade. Não suporta controle por hardware. Motivos pode ser o uso da porta HDMI de um Mac mini (bloqueia controle DDC) ou o monitor está na blacklist."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Este monitor tem o estado do controle não especificado."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Este monitor tem a controle de hardware DDC mas as configurações atuais só permitem controle por software."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Este monitor tem suporte a controle de hardware DCC. Se tiver problemas, você pode desligar o controle de hardware DDC e forçar o controle via software"; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Este monitor suport o protocolo nativo Apple. Permite o macOS controlar ele sem o MonitorControl."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Este é um monitor virtual(exemplos: AirPlay, Sidecar, monitor conectado via a DisplayLink Dock ou similar) que não permite controle via hardware ou software. Shading é usado como um substituto mas somente em cenários não espelhados. O cursor do Mouse não será afetado e artefatos podem aparecer entrando ou saindo de tela cheia."; /* Unknown display name */ "Unknown" = "Desconhecido"; /* Version */ "Version" = "Versão"; /* Shown in the Display Settings */ "Virtual Display" = "Monitor Virtual"; /* Shown in menu */ "Volume" = "Volume"; /* Shown in the alert dialog */ "Yes" = "Sim"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Você precisa habilitar o MonitorControl nas Preferências do Sistema > Segurança e privacidade > Acessibilidade para que os atalhos de teclado funcionem"; ================================================ FILE: MonitorControl/UI/pt-BR.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Sincronizar as mudança de brilho entre o monitor interno e o da Apple"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Considerar que as últimas configurações salvas são válidas (recomendado)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Teclas de volume e mudo padrão"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Volume down"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Mostrar controles separados para cada monitor no menu"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Aplicar últimos valores salvos ao monitor"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Atalhos de teclado personalizados"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Usar o foco da janela pode não funcionar com aplicativos em tela cheia."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Welcome to MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Redefinir preferências"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Sempre esconder"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Comportamento do controle deslizante:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Mostrar marcas de seleção do controle deslizante"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "O botão deslizante se ajustará em 0%, 25%, 50%, 75% e 100% quando estiver próximo, tornando mais fácil definir esses valores. Desative para um controle mais preciso."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Use escala fina de OSD para brilho e contraste"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Start using MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Agradecimento especial para nossos colaboradores!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Atalhos de teclado personalizados"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Tentar ler as configurações do monitor"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Mostrar marcas da escala em 0%, 25%, 50%, 75% e 100% para precisão."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Usar brilho, volume e outras configurações anterior ou use padrão. Valores serão aplicados para o primeiro monitor alterado pelo usuário."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Usar nome do dispositivo de áudio para determinar qual monitor controlar"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Start at Login?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Mostrar os controles deslizantes apenas para o monitor apresentado no menu"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Brilho:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Software->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Apenas para monitores controlados por hardware (DDC). Resultados podem variar."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "Desativar o volume OSD do macOS"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "Escala OSD:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "Escala OSD:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Redefinir as configurações"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Habilitar o comando Mudo DDC"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Mostrar controle deslizante de volume no menu"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Personalizado"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Na inicialização do computador:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Aviso! Alterar algumas dessas configurações pode causar travamentos do sistema ou comportamento inesperado!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "As teclas alternativas são F14 / F15 (Scroll Lock e Pause em teclados de PC, teclas de brilho em alguns teclados Logitech)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "Lista VCP"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "Você pode substituir o nome do dispositivo de áudio em Monitores (avançado), se necessário."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Você pode desativar as transições suaves para um controle mais direto e imediato."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Mínimo"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Curva de mapeamento de escala"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Mudo:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Normalmente, os controles do teclado mudam uma faixa OSD de valor e Shift + Option permite um controle preciso. Isso torna padrão o controle fino."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Redefinir o nome"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Verificar automaticamente se há atualizações"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Controle de Brilho:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Volume:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Permitir brilho zero via software"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "A Apple e os monitores integrados já possuem um controle deslizante de brilho no Centro de controle."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Nenhum"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Mostrar como ícones"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Mostrar como texto"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Inverter"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Use o foco da janela para determinar qual monitor controlar"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Controle deslizante de brilho para monitores ou TVs controlados por hardware ou software."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Substituir o nome do dispositivo de áudio:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Reinicie o aplicativo para acessar as Preferências se a opção do menu não estiver acessível. Use o botão abaixo para sair do aplicativo."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Selecione o atual"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Esconder"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Controles adicionais:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Brilho:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Ativar transições suaves de brilho"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Use a escala OSD fina para o volume"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Iniciar ao entrar"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Toggle Mute"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Alterar para todos os monitores"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Verificar atualizações"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Start MonitorControl at Login"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Nota: você pode pressionar Shift durante a inicialização para 'Modo de segurança' para restaurar os padrões e evitar carregar as configurações."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Habilite para monitores integrados e da Apple"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Monitor para controlar:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Depende da posição do ponteiro do mouse"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Use o controle deslizante combinado para todos os monitores"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Brilho e contraste:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Tipo do monitor:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Monitor para controlar:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Ativar ajuste de controle deslizante"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Sempre mostrar na barra de menu"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Contraste:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Volume:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Mostrar o controle deslizante de brilho no menu"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Evite a manipulação da tabela gama"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Ensure MonitorControl is always running when you need it by launching the app at startup."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Brightness up"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Escalas separadas para escurecimento combinado de hardware e software"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Desativar teclado"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Aplicação:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Teclas de brilho padrão do teclado"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "contagem:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Use as teclas de brilho do teclado Apple para controlar o brilho. Você pode segurar Control para ajustar a tela embutida, Control + Command para ajustar as telas externas. Segure Shift + Option para um controle preciso. Control + Option + Command ajusta o contraste em monitores compatíveis com DDC."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Método de controle:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Atraso maior durante as operações de leitura DDC"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "Máximo DCC"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Open System Settings…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Use o escurecimento do software depois que a tela atingir o brilho zero do hardware para uma faixa estendida. Funciona apenas para monitores controlados por DDC." /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Atalhos padrão e personalizados"; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Brightness down"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Both standard and custom shortcuts"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Sair do aplicativo"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Mostrar controle deslizante de contraste no menu"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Controle de volume (apenas DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Mostre a porcentagem ao lado do controle deslizante para mais precisão."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Combine escurecimento de hardware e software"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Enable Apple keyboard native key access"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normal"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Estilo de itens do menu geral:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Ícone do Meny:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Mostrar configurações avançadas"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Funciona se um dispositivo de áudio for selecionado sem controle de volume nativo."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Habilitar controle de teclado para exibição"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Contraste (DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Não use teclas de brilho alternativas"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Pesado"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Múltiplos monitores:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "Modo de pesquisa de leitura DDC:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Opções gerais:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Útil quando um monitor tende a redefinir suas configurações ao hibernar."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "As alterações causadas pelo sensor de luz ambiente ou feitas usando a Barra de toque, Centro de controle, Preferências do sistema serão replicadas para todos os monitores."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Alterar o volume para todas as telas"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Atualize as configurações do monitor. Pode não funcionar com algum hardware."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Apenas se pelo menos um controle deslizante estiver presente"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Somente quando o monitor externo estiver presente"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Atalhos padrão e personalizados"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Funciona melhor com várias configurações de sincronização e 'controle total' do teclado ativadas."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Disponível"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "A escala OSD completa estará disponível para o controle de brilho do hardware e depois de atingir o brilho 0, mais escurecimento do software será usado."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Aviso! Com esta opção ativada, você pode ter o monitor com uma tela preta. Isso, combinado com os controles do teclado desativados, pode ser frustrante."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Identificador:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Depende da posição do ponteiro do mouse"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Volume up"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Use o controle de hardware DDC"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Desativar teclado"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Doar"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Mostrar percentagens"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Ponto de transição de escurecimento combinado:"; ================================================ FILE: MonitorControl/UI/pt-PT.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "O MonitorControl permite controlar o brilho e o volume de monitores externos"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Se recusares estas conexões, não irás ser notificado sobre novas versões e atualizações de segurança. Atualizações de segurança são importantes."; /* Software update purpose */ "SoftwareUpdatePurpose" = "O MonitorControl verifica novas versões e atualizações de segurança."; ================================================ FILE: MonitorControl/UI/pt-PT.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "Sobre"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Parece que outra aplicação está a alterar o brilho ou as cores, o que está a causar problemas.\n\nPara resolveres o problema, precisas de fechar a outra app ou desativar o controlo de gamma para os teus monitores no MonitorControl!"; /* Shown in the main prefs window */ "App menu" = "Menu da aplicação"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Tens a certeza que desejas ativar o delay longo? Isso pode congelar o teu sistema, sendo necessário reiniciar o mesmo. Iniciar no login vai ser desligado como medida de segurança."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Tens a certeza que desejas reiniciar todas as preferências?"; /* Shown in menu */ "Brightness" = "Brilho"; /* Build */ "Build" = "Build"; /* Shown in the Display Settings */ "Built-in Display" = "Monitor Interno"; /* Shown in menu */ "Check for updates…" = "Procurando atualizações…"; /* Shown in menu */ "Contrast" = "Contraste"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Direitos Reservados Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Diminuir"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Desligar controlo de gamma para os meus monitores"; /* Shown in the main prefs window */ "Displays" = "Monitores"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Ativar delay longo?"; /* Shown in the Display Settings */ "External Display" = "Monitor Externo"; /* Shown in the main prefs window */ "General" = "Geral"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Hardware (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Hardware (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Eu vou fechar a outra aplicação"; /* Shown in the alert dialog */ "Incompatible previous version" = "Versão anterior incompatível"; /* Shown in record shortcut box */ "Increase" = "Aumentar"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "f.lux ou semelhante está a executar?"; /* Shown in the main prefs window */ "Keyboard" = "Teclado"; /* Shown in record shortcut box */ "Mute" = "Silencioso"; /* Shown in the alert dialog */ "No" = "Não"; /* Shown in the Display Settings */ "No Control" = "Sem Controlo"; /* Shown in the Display Settings */ "Other Display" = "Outro Monitor"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Detetada incompatibilidade. Preferências padrão foram carregadas."; /* Shown in menu */ "Settings…" = "Preferências…"; /* Shown in menu */ "Quit" = "Sair"; /* Shown in the alert dialog */ "Reset Settings?" = "Limpar Preferências?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Modo Seguro Ativado"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Shift foi pressionado durante o início. MonitorControl iniciou em modo seguro. Preferências padrão foram carregadas, leitura do DDC read está bloqueada."; /* Shown in the alert dialog */ "Shortcuts not available" = "Atalhos não disponíveis"; /* Shown in the Display Settings */ "Software (gamma)" = "Software (gamma)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Software (gamma, forçado)"; /* Shown in the Display Settings */ "Software (shade)" = "Software (shade)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Software (shade, forçado)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Este monitor permite controlar o brilho via manipulação da tabela gamma ou shade, pois não suporta controle por hardware. Isto pode ocorrer devido ao uso da porta HDMI de um Mac mini (bloqueia controle DDC) ou o monitor estar na blacklist."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Este monitor tem um estado do controlo não especificado."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Este monitor tem o controlo de hardware DDC, mas as configurações atuais só permitem controlo por software."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Este monitor suporta o controlo de hardware DCC. Se tiveres problemas, podes desligar o controle de hardware DDC e forçar o controlo via software"; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Este monitor suport o protocolo nativo Apple. Permite o macOS controlar ele sem o MonitorControl."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Este é um monitor virtual (exemplos: AirPlay, Sidecar, monitor conectado via a DisplayLink Dock ou semelhante) que não permite o controlo via hardware ou software. Shading é usado como um substituto mas somente em cenários não espelhados. O cursor do rato não será afetado e artefatos podem aparecer a entrar ou a sair do modo de tela cheia."; /* Unknown display name */ "Unknown" = "Desconhecido"; /* Version */ "Version" = "Versão"; /* Shown in the Display Settings */ "Virtual Display" = "Monitor Virtual"; /* Shown in menu */ "Volume" = "Volume"; /* Shown in the alert dialog */ "Yes" = "Sim"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Precisas de habilitar o MonitorControl nas Preferências do Sistema > Segurança e privacidade > Acessibilidade para que os atalhos de teclado funcionem"; ================================================ FILE: MonitorControl/UI/pt-PT.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Sincronizar as mudança de brilho entre o monitor interno e o da Apple"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Considerar que as últimas configurações salvas são válidas (recomendado)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Teclas de volume e modo silencioso padrão"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Volume down"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Mostrar controlos separados para cada monitor no menu"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Aplicar últimos valores guardados ao monitor"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Atalhos de teclado personalizados"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Usar o foco da janela pode não funcionar com aplicativos em tela cheia."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Welcome to MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Redefinir preferências"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Esconder sempre"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Comportamento do controlo em modo deslizante:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Mostrar marcas de seleção do controlo deslizante"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "O botão deslizante vai ajustar-se em 0%, 25%, 50%, 75% e 100% quando estiver próximo, tornando mais fácil definir esses valores. Desativa para um controlo mais preciso."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Usa escala fina de OSD para brilho e contraste"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Começar a usar o MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Agradecimento especial para nossos colaboradores!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Atalhos de teclado personalizados"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Tentar ler as configurações do monitor"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Mostrar marcas da escala em 0%, 25%, 50%, 75% e 100% para precisão."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Usar brilho, volume e outras configurações anteriores ou usar padrão. Valores serão aplicados para o primeiro monitor alterado pelo usuário."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Usar nome do dispositivo de áudio para determinar que monitor controlar"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Inicializar no login?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Mostrar os controlos deslizantes apenas para o monitor apresentado no menu"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Brilho:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Software->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Apenas para monitores controlados por hardware (DDC). Resultados podem variar."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "Desativar o volume OSD do macOS"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "Escala OSD:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "Escala OSD:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Redefinir as configurações"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Habilitar o comando Silencioso DDC"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Mostrar controlo deslizante de volume no menu"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Personalizado"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Na inicialização do computador:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Aviso! Alterar algumas destas configurações pode causar congelamentos do sistema ou comportamentos inesperados!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "As teclas alternativas são F14 / F15 (Scroll Lock e Pause em teclados de PC, teclas de brilho em alguns teclados Logitech)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "Lista VCP"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "Podes substituir o nome do dispositivo de áudio em Monitores (avançado), se necessário."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Podes desativar as transições suaves para um controlo mais direto e imediato."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Mínimo"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Curva de mapeamento de escala"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Silencioso:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Normalmente, os controlos do teclado mudam uma faixa OSD de valor e Shift + Option permite um controlo preciso. Isso torna padrão o controle fino."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Redefinir o nome"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Verificar automaticamente se há atualizações"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Controlo de Brilho:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Volume:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Permitir zero brilho via software"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "A Apple e os monitores integrados já possuem um controlo deslizante de brilho no Centro de controle."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Nenhum"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Mostrar como ícones"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Mostrar como texto"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Inverter"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Usa o foco da janela para determinar que monitor controlar"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Controlo deslizante de brilho para monitores ou TVs controlados por hardware ou software."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Substituir o nome do dispositivo de áudio:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Reinicia o aplicativo para acessar as Preferências se a opção do menu não estiver acessível. Usa o botão abaixo para sair da aplicação."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Seleciona o atual"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Esconder"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Comandos adicionais:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Brilho:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Ativar transições suaves de brilho"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Usa a escala OSD fina para o volume"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Iniciar ao entrar"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Ativar modo Silencioso"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Alterar para todos os monitores"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Verificar atualizações"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Começar MonitorControl ao inicializar computador"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Nota: podes pressionar Shift durante a inicialização para 'Modo de segurança' para restaurar os padrões e evitar carregar as configurações."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Habilita para monitores integrados e da Apple"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl precisa de aceder à \"acessibilidade\" para usar as teclas nativas do macOS no controlo do teu monitor.\nPodes ativar adicionando o MonitorControl em Preferências do Sistema > Segurança e Privacidade > Acessibilidade."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Monitor para controlar:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Depende da posição do ponteiro do rato"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Usa o controlo deslizante combinado para todos os monitores"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Brilho e contraste:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Tipo do monitor:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Monitor para controlar:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Controla o brilho, o contraste e o volume dos seus monitores externos diretamente do teu Mac, usando controles deslizantes de menu ou o teclado, incluindo teclas nativas da Apple."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Ativar ajuste de controle deslizante"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Mostrar sempre na barra de menu"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Contraste:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Volume:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Mostrar o controle deslizante de brilho no menu"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Evita a manipulação da tabela gama"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Garante que o MonitorControl esteja sempre em execução quando precisares, iniciando a aplicação na inicialização."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Subir brilho"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Escalas separadas para escurecimento combinado de hardware e software"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Desativar teclado"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Aplicação:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Teclas de brilho padrão do teclado"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "contagem:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Usa as teclas de brilho do teclado Apple para controlar o brilho. Podes premir Control para ajustar a tela embutida, Control + Command para ajustar os monitores externos. Segura Shift + Option para um controlo preciso. Control + Option + Command ajusta o contraste em monitores compatíveis com DDC."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Método de controlo:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Atraso maior durante as operações de leitura DDC"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DCC máximo"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Abrir as Preferências de Sistema…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Usa o escurecimento do software depois da tela atingir zero brilho do hardware para uma faixa estendida. Funciona apenas para monitores controlados por DDC." /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Atalhos padrão e personalizados"; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Diminuir Brilho"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Atalhos standard e personalizados"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Sair da aplicação"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Mostrar controlo deslizante de contraste no menu"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Controlo de volume (apenas DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Mostra a percentagem ao lado do controlo deslizante para mais precisão."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Combina escurecimento de hardware e software"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Habilita o acesso à tecla nativa do teclado Apple"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normal"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Estilo de itens do menu geral:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Ícone do Menu:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Mostrar configurações avançadas"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Funciona se um dispositivo de áudio for selecionado sem controlo de volume nativo."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Habilitar controlo de teclado para exibição"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Contraste (DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Não usar teclas de brilho alternativas"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Pesado"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Múltiplos monitores:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "Modo de pesquisa de leitura DDC:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Opções gerais:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Útil quando um monitor tende a redefinir suas configurações ao hibernar."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "As alterações causadas pelo sensor de luz ambiente ou feitas usando a Barra de toque, Centro de Controle, Preferências do Sistema serão replicadas para todos os monitores."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Alterar o volume para todos os minitores"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Atualizar as configurações do monitor. Pode não funcionar com algum hardware."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Apenas se pelo menos um controle deslizante estiver presente"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Apenas quando um ecrã externo estiver presente"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Atalhos padrão e personalizados"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Funciona melhor com várias configurações de sincronização e 'controle total' do teclado ativadas."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Disponível"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "A escala OSD completa estará disponível para o controle de brilho do hardware e depois de atingir zero brilho, mais escurecimento do software será usado."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Aviso! Com esta opção ativada, podes ter o monitor com uma tela preta. Isso, combinado com os controles do teclado desativados, pode ser frustrante."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Identificador:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Depende da posição do ponteiro do rato"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Subir volume"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Use o controle de hardware DDC"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Desativar teclado"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Doar"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Mostrar percentagens"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Ponto de transição de escurecimento combinado:"; ================================================ FILE: MonitorControl/UI/ru.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl позволяет управлять яркостью и громкостью внешних дисплеев"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Если вы откажетесь, то не будете получать уведомления о новых версиях и обновлениях системы безопасности. Обновления системы безопасности важны для защиты от вредоносных атак."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl проверяет наличие новых версий и обновлений безопасности."; ================================================ FILE: MonitorControl/UI/ru.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "О программе"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Похоже другое приложение изменяет яркость или цвета, что вызывает проблемы.\n\nДля решения этой проблемы вам нужно закрыть другое приложение или отключить управление гаммой для ваших дисплеев в MonitorControl!"; /* Shown in the main prefs window */ "App menu" = "Меню"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Вы уверены, что хотите включить более длительную задержку? Это может привести к зависанию вашей системы и потребовать перезагрузки. Эта функция будет отключена при входе в систему в качестве меры безопасности."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Вы уверены, что хотите сбросить все настройки?"; /* Shown in menu */ "Brightness" = "Яркость"; /* Build */ "Build" = "Релиз"; /* Shown in the Display Settings */ "Built-in Display" = "Встроенный дисплей"; /* Shown in menu */ "Check for updates…" = "Проверить наличие обновлений…"; /* Shown in menu */ "Contrast" = "Контраст"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Уменьшить"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Отключить управление гаммой для моих дисплеев"; /* Shown in the main prefs window */ "Displays" = "Дисплеи"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Включить более длительную задержку?"; /* Shown in the Display Settings */ "External Display" = "Внешний дисплей"; /* Shown in the main prefs window */ "General" = "Основные"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Аппаратный (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Аппаратный (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Я выйду из другого приложения"; /* Shown in the alert dialog */ "Incompatible previous version" = "Несовместимая предыдущая версия"; /* Shown in record shortcut box */ "Increase" = "Увеличить"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "Запущен f.lux или что-то похожее?"; /* Shown in the main prefs window */ "Keyboard" = "Клавиатура"; /* Shown in record shortcut box */ "Mute" = "Откл. звук"; /* Shown in the alert dialog */ "No" = "Нет"; /* Shown in the Display Settings */ "No Control" = "Не контролируемый"; /* Shown in the Display Settings */ "Other Display" = "Другой дисплей"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Обнаружены настройки от несовместимой предыдущей версии приложения. Будут загружены настройки по умолчанию."; /* Shown in menu */ "Settings…" = "Настройки…"; /* Shown in menu */ "Quit" = "Выйти"; /* Shown in the alert dialog */ "Reset Settings?" = "Сбросить настройки?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Активирован безопасный режим"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Shift был нажат во время запуска. MonitorControl запущен в безопасном режиме. Загружены настройки по умолчанию, чтение DDC заблокировано."; /* Shown in the alert dialog */ "Shortcuts not available" = "Сочетания клавиш недоступны"; /* Shown in the Display Settings */ "Software (gamma)" = "Программное (гамма)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Программное (гамма, принудительно)"; /* Shown in the Display Settings */ "Software (shade)" = "Программное (затенение)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Программное (затенение, принудительно)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Этот дисплей позволяет программно регулировать яркость с помощью манипуляций с таблицей гаммы или оттенков, поскольку он не поддерживает аппаратное управление. Причинами этого может быть использование HDMI порта на Mac mini (который блокирует аппаратное управление DDC) или наличие дисплея, занесенного в черный список."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Этот дисплей имеет неопределенный статус управления."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Этот дисплей сообщает, что поддерживает аппаратное управление через DDC, но текущие настройки позволяют только программное управление."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Этот дисплей сообщает, что поддерживает аппаратное управление через DDC. В случае проблем, вы можете отключить аппаратное управление через DDC, чтобы принудительно использовать программное управление."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Этот дисплей поддерживает нативный протокол яркости Apple. Это позволяет macOS управлять этим дисплеем без использования MonitorControl."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Это виртуальный дисплей (например: AirPlay, Sidecar, дисплей подключенный через док-станцию DisplayLink или аналогичное устройство), который не поддерживает аппаратное или программное управление гаммой. Затенение используется в качестве замены, но только в режимах без видео-повтора. При этом курсор мыши останется неизменным и могут возникнуть артефакты при входе/выходе из полноэкранного режима."; /* Unknown display name */ "Unknown" = "Неизвестный"; /* Version */ "Version" = "Версия"; /* Shown in the Display Settings */ "Virtual Display" = "Виртуальный дисплей"; /* Shown in menu */ "Volume" = "Громкость"; /* Shown in the alert dialog */ "Yes" = "Да"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Вам необходимо включить MonitorControl, перейдите в Системные настройки > Конфиденциальность и безопасность > Универсальный доступ, чтобы сочетания клавиш работали"; ================================================ FILE: MonitorControl/UI/ru.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Синхронизация изменений яркости со встроенными дисплеями и дисплеями Apple."; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Предположим, что последние сохраненные настройки действительны (рекомендуется)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Стандартные клавиши регулировки громкости и отключения звука на клавиатуре"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Уменьшить громкость"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Показывать отдельные элементы управления для каждого дисплея в меню"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Применить последние сохраненные значения к дисплею"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Пользовательские сочетания клавиш"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Использование фокуса окна может работать некорректно с приложениями в полноэкранном режиме."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Добро пожаловать в MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Сбросить настройки"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Всегда скрывать"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Поведение ползунка:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Показывать метки на ползунке"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "Ползунок будет прилипать к значениям 0%, 25%, 50%, 75% и 100%, что облегчает установку этих значений. Отключите для более точного контроля."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Использовать точную экранную шкалу для яркости и контрастности"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Начать использовать MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Особая благодарность нашим контрибьютерам!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Пользовательские сочетания клавиш"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Попытаться считать настройки дисплея"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Показывать метки на 0%, 25%, 50%, 75% и 100% для точности."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Использовать настройки яркости, громкости и других параметров с прошлого раза или использовать значения по умолчанию. Значения будут применены к дисплею при первом изменении пользователем."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Используйте имя аудиоустройства, чтобы определить, каким дисплеем управлять"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Запускать при входе в систему?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Показывать ползунки только для дисплея, на котором в данный момент отображается меню"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Яркость:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Программное->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Только для дисплеев с аппаратным управлением (DDC). Результаты могут отличаться."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "Откл. экранное меню громкости macOS"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "Экранная шкала:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "Экранная шкала:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Сбросить настройки"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Включить команду отключения звука через DDC"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Показывать ползунок громкости в меню"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Пользовательский"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "При запуске или пробуждении:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Внимание! Изменение некоторых из этих настроек может привести к зависанию системы или неожиданному поведению!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Альтернативными клавишами являются клавиши F14 / F15 (Scroll Lock и Pause на клавиатурах ПК, клавиши яркости на некоторых клавиатурах Logitech)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "Список VCP"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "Вы можете изменить имя аудиоустройства в разделе Дисплеи (дополнительные настройки), если это необходимо."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Вы можете отключить плавные переходы для более прямого, мгновенного управления."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Минимальный"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Кривая масштабирования"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Откл. звук:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Обычно управление с клавиатуры изменяет значение на одну ячейку в экранном меню, а Shift+Option позволяет осуществлять более точное управление. Данная настройка переопределяет это поведение."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Сбросить имя"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Автоматическая проверка наличия обновлений"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Регулировка яркости:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Громкость:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Разрешить нулевую яркость с помощью программного или комбинированного затемнения"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Apple и встроенные дисплеи уже имеют ползунок яркости в Центре управления."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Нет"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Показывать как значки"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Показывать как текст"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Инвертировать"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Использовать фокус на окне, чтобы определить, каким дисплеем управлять"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Регулятор яркости для дисплеев или телевизоров с аппаратным или программным управлением."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Переопределить имя аудиоустройства:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Перезапустите приложение, чтобы получить доступ к настройкам, если пункт меню недоступен. Используйте кнопку ниже, чтобы выйти из приложения."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Получить текущее значение"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Скрыть"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Дополнительные элементы управления:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Яркость:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Включить плавные переходы яркости"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Использовать точную экранную шкалу для определения громкости"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Запуск при входе в систему"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Отключить звук"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Изменять на всех экранах"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Проверить наличие обновлений"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Запуск MonitorControl при входе в систему"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Примечание: вы можете нажать Shift во время запуска для 'Безопасного режима', чтобы восстановить значения по умолчанию и избежать чтения или настройки чего-либо."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Включить также для фирменных и встроенных дисплеев Apple"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl нуждается в доступе к \"Универсальному доступу\", чтобы использовать нативные клавиши macOS для управления вашим дисплеем.\nВы можете включить это, добавив MonitorControl в Системные настройки > Конфиденциальность и безопасность > Универсальный доступ."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Экран для управления:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Зависит от положения указателя мыши"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Использовать комбинированный ползунок для всех дисплеев"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Яркость и контрастность:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Тип дисплея:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Экран для управления:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Управляйте яркостью, контрастностью и громкостью внешних дисплеев непосредственно с вашего Mac, используя меню с ползунками или клавиатуру, включая нативные клавиши Apple."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Включить прилипание ползунка"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Всегда отображать в строке меню"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Контраст:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Громкость:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Показывать ползунок яркости в меню"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Избегать манипуляций с гамма-таблицей"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Убедитесь, что MonitorControl всегда запускается при необходимости, запустив приложение при запуске системы."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Увеличить яркость"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Отдельные шкалы для комбинированного аппаратного и программного затемнения"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Отключить клавиатуру"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Приложение:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Стандартные клавиши яркости клавиатуры"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "количество:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Используйте клавиши яркости на клавиатуре Apple для управления яркостью. Вы можете удерживать клавишу Control для настройки встроенного дисплея, Control+Command для настройки внешних дисплеев. Удерживайте клавишу Shift+Option для точного управления. Control+Option+Command регулирует контрастность на дисплеях, совместимых с DDC."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Способ контроля:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Более долгая задержка во время чтения DDC"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC max"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Открыть Системные настройки…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Использовать программное затемнение после того, как аппаратная яркость дисплея достигла нуля, для расширения диапазона. Работает только для дисплеев, управляемых через DDC."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Уменьшение яркости"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Как стандартные, так и пользовательские сочетания клавиш"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Выйти из приложения"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Показывать ползунок контраста в меню"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Регулятор громкости (только DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Показывать проценты рядом с ползунком для большей точности."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Комбинировать аппаратное и программное затемнение"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Включить доступ к встроенным клавишам Apple keyboard"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Обычный"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Общий стиль пунктов меню:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Значок меню:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Показать дополнительные настройки"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Работает, если выбрано аудиоустройство без встроенной поддержки регулировки громкости."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Включить управление дисплеем с клавиатуры"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Контраст (DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Не использовать альтернативные клавиши регулировки яркости"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Тяжелый"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Несколько дисплеев:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "Режим опроса чтения DDC:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Основные настройки:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Полезно, когда дисплей имеет тенденцию сбрасывать свои настройки во время сна."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Изменения, вызванные датчиком внешней освещенности или внесенные с помощью Touch Bar, Центра управления, Системных настроек, будут воспроизведены на всех дисплеях."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Изменять громкость на всех экранах"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Считывает настройки из дисплея. Может не работать с некоторым оборудованием."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Только при наличии хотя бы одного ползунка"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Только при наличии внешнего дисплея"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Как стандартные, так и пользовательские сочетания клавиш"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Лучше всего работает с различными настройками синхронизации и включённым 'управлять всеми' через клавиатуру."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Доступно"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "Для аппаратного управления яркостью будет доступна полная шкала экранного меню, а после достижения 0 яркости будет использоваться программное затемнение."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Внимание! Если эта опция включена, вы можете оказаться в ситуации, когда в итоге получите пустой экран. Это, в сочетании с отключенным управлением с клавиатуры, может быть раздражающим."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Идентификатор:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Зависит от положения указателя мыши"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Увеличить громкость"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Использовать аппаратное управление DDC"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Отключить клавиатуру"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Пожертвовать"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Показывать проценты"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Комб. точка переключения затемнения:"; ================================================ FILE: MonitorControl/UI/sk.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl umožňuje ovládať jas a hlasitosť externých displejov"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Ak tieto pripojenia zakážete, nebudete informovaný o nových verziách a aktualizáciách zabezpečenia. Aktualizácie zabezpečenia sú dôležité na ochranu pred útokmi škodlivého softvéru."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl kontroluje nové verzie a aktualizácie zabezpečenia."; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Skontrolovať aktualizácie"; ================================================ FILE: MonitorControl/UI/sk.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "O aplikácii"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Zdá sa, že iná aplikácia mení jas alebo farby, čo spôsobuje problémy.\n\nPre vyriešenie musíte ukončiť druhú aplikáciu alebo zakázať ovládanie gama pre vaše displeje v MonitorControl!"; /* Shown in the main prefs window */ "App menu" = "Menu aplikácie"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Naozaj chcete povoliť dlhšie oneskorenie? Ak tak urobíte, môže dôjsť k zamrznutiu systému a potrebe jeho reštartovania. Spustenie pri štarte bude z bezpečnostných dôvodov vypnuté."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Naozaj chcete obnoviť všetky predvoľby?"; /* Shown in menu */ "Brightness" = "Jas"; /* Build */ "Build" = "Zostava"; /* Shown in the Display Settings */ "Built-in Display" = "Vstavaný displej"; /* Shown in menu */ "Check for updates…" = "Skontrolovať aktualizácie…"; /* Shown in menu */ "Contrast" = "Kontrast"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Znížiť"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Zakázať ovládanie gama pre moje displeje"; /* Shown in the main prefs window */ "Displays" = "Displeje"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Povoliť dlhšie oneskorenie?"; /* Shown in the Display Settings */ "External Display" = "Externý displej"; /* Shown in the main prefs window */ "General" = "Všeobecné"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Hardvér (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Hardvér (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Ukončím druhú aplikáciu"; /* Shown in the alert dialog */ "Incompatible previous version" = "Nekompatibilná predošlá verzia"; /* Shown in record shortcut box */ "Increase" = "Zvýšiť"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "Je spustený f.lux alebo niečo podobné?"; /* Shown in the main prefs window */ "Keyboard" = "Klávesnica"; /* Shown in record shortcut box */ "Mute" = "Stlmiť"; /* Shown in the alert dialog */ "No" = "Nie"; /* Shown in the Display Settings */ "No Control" = "Bez ovládania"; /* Shown in the Display Settings */ "Other Display" = "Iný displej"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Zistené predvoľby pre nekompatibilnú predošlú verziu aplikácie. Predvolené nastavenia sa načítajú znova."; /* Shown in menu */ "Settings…" = "Predvoľby…"; /* Shown in menu */ "Quit" = "Ukončiť"; /* Shown in the alert dialog */ "Reset Settings?" = "Obnoviť predvoľby?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Aktivovaný núdzový režim"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Počas spustenia bol stlačený Shift. MonitorControl sa spustil v núdzovom režime. Predvolené nastavenia sa znova načítajú, čítanie DDC sa zablokuje."; /* Shown in the alert dialog */ "Shortcuts not available" = "Skratky nie sú k dispozícii"; /* Shown in the Display Settings */ "Software (gamma)" = "Softvér (gama)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Softvér (gama, vynútené)"; /* Shown in the Display Settings */ "Software (shade)" = "Softvér (tienenie)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Softvér (tienenie, vynútené)"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Ak tieto pripojenia zakážete, nebudete informovaný o nových verziách a aktualizáciách zabezpečenia. Aktualizácie zabezpečenia sú dôležité na ochranu pred útokmi škodlivého softvéru."; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Tento displej umožňuje softvérové ovládanie jasu pomocou manipulácie s gama tabuľkami alebo tienením, pretože nepodporuje hardvérové ovládanie. Dôvodom môže byť použitie HDMI portu Mac mini (ktorý blokuje hardvérové ovládanie DDC) alebo použitie displeja z čiernej listiny."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Tento displej má nešpecifikovaný stav ovládania."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Tento displej údajne podporuje hardvérové ovládanie DDC, ale súčasné nastavenia umožňujú len softvérové ovládanie."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Tento displej údajne podporuje hardvérové ovládanie DDC. Ak sa vyskytnú problémy, môžete vypnúť hardvérové ovládanie DDC a vynútiť si softvérové ovládanie."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Tento displej podporuje natívny protokol jasu Apple. To umožňuje systému macOS ovládať tento displej aj bez MonitorControl."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Ide o virtuálny displej (napr.: AirPlay, Sidecar, displej pripojený cez DisplayLink Dock alebo podobné), ktorý neumožňuje hardvérové alebo softvérové ovládanie. Tieňovanie sa používa ako náhrada, ale iba okrem zrkadlenia. Kurzor myši nebude ovplyvnený a pri vstupe/opustení režimu celej obrazovky sa môžu objaviť artefakty."; /* Unknown display name */ "Unknown" = "Neznámy"; /* Version */ "Version" = "Verzia"; /* Shown in the Display Settings */ "Virtual Display" = "Virtuálny displej"; /* Shown in menu */ "Volume" = "Hlasitosť"; /* Shown in the alert dialog */ "Yes" = "Áno"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "Pre fungovanie klávesových skratiek musíte zapnúť MonitorControl v Systémové nastavenia > Súkromie a bezpečnosť > Prístupnosť"; ================================================ FILE: MonitorControl/UI/sk.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Synchronizácia zmien jasu zo vstavaného displeja a Apple displejov"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Predpokladať, že posledné uložené nastavenia sú platné (odporúča sa)"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Štandardné klávesy hlasitosti a stlmenia"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Znížiť hlasitosť"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Použiť posledné uložené hodnoty pre displej"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Zobraziť samostatné ovládacie prvky pre každý displej v menu"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Vlastné klávesové skratky"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Používanie zamerania na okno nemusí fungovať správne s aplikáciami na celú obrazovku."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "Vitajte v MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Obnoviť predvoľby"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Vždy skryť"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Správanie posuvníka:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Zobraziť značky na posuvníku"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "Posuvník sa pri priblížení prichytí k 0%, 25%, 50%, 75% a 100%, čo uľahčuje nastavenie týchto hodnôt. Deaktivujte pre jemnejšie ovládanie."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Používať jemnú OSD stupnicu pre jas a kontrast"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "Začať používať MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Špeciálne poďakovanie patrí našim spolupracovníkom!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Vlastné klávesové skratky"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Pokus o načítanie nastavení displeja"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Zobraziť značky na posuvníku pre presnosť pri 0%, 25%, 50%, 75% a 100%."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Použiť názov zvukového zariadenia na určenie displeja, ktorý sa má ovládať"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Obnoviť nastavenia"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Jas:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Softvér->DDC)"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "OSD stupnica:"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Vlastné"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Autorské práva Ⓒ MonitorControl, "; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Pozor! Zmena niektorých z týchto nastavení môže spôsobiť zamrznutie systému alebo neočakávané správanie!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Alternatívne klávesy sú F14/F15 (Scroll Lock a Pause na PC klávesniciach, klávesy jasu na niektorých Logitech klávesniciach)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "VCP zoznam"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "V prípade potreby môžete prepísať názov zvukového zariadenia v časti Displeje (pokročilé)."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Môžete vypnúť plynulé prechody pre priamejšie a okamžité ovládanie."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Minimálne"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Krivka mapovania mierky"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Stlmiť:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Hlasitosť:"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Automatická kontrola aktualizácií"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Povoliť nulový jas softvérovo alebo kombinovaným stmievaním"; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Žiadne"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Invertovať"; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Prepísať názov zvukového zariadenia:"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Skryť"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Jas:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Povoliť plynulé prechody jasu"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Použiť jemnú OSD stupnicu pre hlasitosť"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Spustiť MonitorControl pri štarte"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Poznámka: Počas spúšťania môžete stlačiť klávesu Shift pre \"núdzový režim\" na obnovenie predvolených nastavení a zabráneniu čítania alebo nastavovania čohokoľvek."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Povoliť aj pre Apple displeje a vstavané displeje"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Ovládaný displej:"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Jas a kontrast:"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Vždy zobrazovať v lište"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Kontrast:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Zobraziť posuvník jasu v menu"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Ovládajte jas, kontrast a hlasitosť externých displejov priamo z Macu pomocou posuvníkov menu alebo klávesnice vrátane natívnych Apple klávesov."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Povolenie prichytenia posuvníka"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Samostatné stupnice pre kombinované hardvérové a softvérové stmievanie"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Štandardné klávesy jasu klávesnice"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "počet:"; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Metóda kontroly:"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Použiť softvérové stmievanie po dosiahnutí nulového hardvérového jasu displeja pre rozšírený rozsah. Funguje iba pre DDC ovládané displeje."; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Štandardné aj vlastné skratky"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Povoľte prístup pomocou natívnych Apple klávesov"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normálne"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Zobraziť pokročilé nastavenia"; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Povoliť ovládanie displeja klávesnicou"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Všeobecné možnosti:"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Funguje najlepšie, keď sú povolené rôzne nastavenia synchronizácie a nastavenie klávesnice \"ovládať všetko\"."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Zmeniť hlasitosť pre všetky displeje"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "Pre hardvérové ovládanie jasu bude k dispozícii celá stupnica OSD a po dosiahnutí jasu 0 sa použije ďalšie softvérové stmievanie."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Identifikátor:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Závisí od polohy ukazovateľa myši"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Zvýšiť hlasitosť"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Podporiť"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Zobraziť percentá"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Použiť hardvérové ​​ovládanie DDC"; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Použiť nastavenia jasu, hlasitosti a ďalšie nastavenia z minula alebo použiť predvolené nastavenia. Hodnoty sa použijú pre displej pri prvej zmene používateľom."; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Spustiť pri štarte"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Len pre hardvérom (DDC) ovládané displeje. Výsledky sa môžu líšiť."; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "OSD stupnica:"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Povoliť stlmenie DDC príkaz"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Zobraziť posuvníky len pre aktuálne zobrazený displej"; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "Zakázať macOS OSD hlasitosť"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Zobraziť posuvník hlasitosti v menu"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Po spustení alebo prebudení:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Obvykle ovládacie prvky klávesnice menia hodnotu OSD o jednu a Shift+Option umožňuje jemné ovládanie. Týmto sa jemné ovládanie stáva predvoleným."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "Obnoviť názov"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Zobraziť ako ikony"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Zobraziť ako text"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Ovládanie jasu:"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Apple a vstavané displeje už majú v Ovládacom centre posuvník jasu."; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Použiť zaostrenie na okno na určenie, ktorý displej sa má ovládať"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Posuvník jasu pre hardvérovo alebo softvérovo ovládané displeje alebo televízory."; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Ak nie je dostupné menu, znovu spustite aplikáciu a získajte prístup k položke Predvoľby. Na ukončenie aplikácie použite tlačidlo nižšie."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Získajte aktuálne"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Ďalšie ovládacie prvky:"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Spustiť pri štarte"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Prepnúť stlmenie"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Zmeniť pre všetky displeje"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Skontrolovať aktualizácie"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl potrebuje prístup k \"Prístupnosti\" pre ovládanie displeja natívne macOS klávesy.\nMôžete ho povoliť pridaním MonitorControl v Systémové nastavenia > Súkromie a bezpečnosť > Prístupnosť."; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Závisí od polohy ukazovateľa myši"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Použiť kombinovaný posuvník pre všetky displeje"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Typ displeja:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Ovládaný displej:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Hlasitosť:"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Vyhnite sa manipulácii s gama tabuľkou"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Spustením aplikácie pri štarte zabezpečíte, aby bol MonitorControl vždy spustený, keď to potrebujete."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Zvýšenie jasu"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Vypnúť klávesnicu"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Aplikácia:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "Dlhšie oneskorenie počas operácií čítania DDC"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Otvoriť Systémové nastavenia..."; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Jas môžete ovládať pomocou klávesov jasu na Apple klávesnici. Podržaním klávesu Control môžete upraviť vstavaný displej, stlačením kombinácie klávesov Control + Command upraviť externé displeje. Pre jemné ovládanie podržte Shift+Option."; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC max"; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Zníženie jasu"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Zobrazenie posuvníka kontrastu v menu"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Zobraziť percentá vedľa posuvníka pre väčšiu presnosť."; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Ukončiť aplikáciu"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Ovládanie hlasitosti (iba DDC):"; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Kombinácia hardvérového a softvérového stmievania"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Všeobecný štýl položiek menu:"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Ikona menu:"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Funguje, ak je vybraté zvukové zariadenie bez natívneho ovládania hlasitosti."; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Kontrast (DDC):"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Nepoužívať alternatívne klávesy jasu"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Ťažké"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Viacero displejov:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "Režim čítania DDC:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Užitočné, keď má displej tendenciu obnoviť svoje nastavenia počas spánku."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Zmeny spôsobené snímačom okolitého svetla alebo vykonané pomocou Touch Baru, Ovládacieho centra a Systémových nastavení sa prenesú na všetky displeje."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Iba ak je prítomný aspoň jeden posuvník"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Iba keď je prítomný externý displej"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Štandardné aj vlastné skratky"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Aktualizovať nastavenia z displeja. Nemusí fungovať s niektorým hardvérom."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Dostupné"; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "POZOR! Ak je táto možnosť zapnutá, môžete sa ocitnúť v situácii, keď skončíte s prázdnym displejom. To v kombinácii s deaktivovanými ovládacími prvkami klávesnice môže byť frustrujúce."; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Vypnúť klávesnicu"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Kombinovaný prepínací bod stmievania:"; ================================================ FILE: MonitorControl/UI/tr.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl, harici ekranların parlaklığını ve ses seviyesini kontrol etmenizi sağlar"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "Güvenlik güncellemelerini kontrol etmeyi reddederseniz, yeni sürümler ve güvenlik güncellemeleri hakkında bilgilendirilmeyeceksiniz. Kötü amaçlı yazılım saldırılarına karşı savunmak için güvenlik güncellemeleri önemlidir."; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl, yeni sürümleri ve güvenlik güncellemelerini kontrol eder."; ================================================ FILE: MonitorControl/UI/tr.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "Hakkında"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "Başka bir uygulama, parlaklığı veya renkleri değiştirdiği için sorunlara neden oluyor gibi görünüyor.\n\nBunu çözmek için diğer uygulamadan çıkmanız veya MonitorControl'deki ekranlarınız için gama kontrolünü devre dışı bırakmanız gerekiyor!"; /* Shown in the main prefs window */ "App menu" = "Uygulama Menüsü"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "Daha uzun bir gecikmeyi etkinleştirmek istediğinizden emin misiniz? Bunu yapmak sisteminizi dondurabilir ve yeniden başlatılabilir. Başlangıçta güvenlik önlemi olarak devre dışı bırakılır."; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "Tüm ayarları sıfırlamak istediğinize emin misiniz?"; /* Shown in menu */ "Brightness" = "Parlaklık"; /* Build */ "Build" = "Sürüm"; /* Shown in the Display Settings */ "Built-in Display" = "Dahili Ekran"; /* Shown in menu */ "Check for updates…" = "Güncellemeleri denetle…"; /* Shown in menu */ "Contrast" = "Kontrast"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Telif Hakkı Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "Azalt"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "Ekranlarım için gama kontrolünü devre dışı bırak"; /* Shown in the main prefs window */ "Displays" = "Ekranlar"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "Daha Uzun Gecikmeyi Etkinleştir?"; /* Shown in the Display Settings */ "External Display" = "Harici Ekran"; /* Shown in the main prefs window */ "General" = "Genel"; /* Shown in the Display Settings */ "Hardware (Apple)" = "Donanım (Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "Donanım (DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "Diğer uygulamayı kapatacağım"; /* Shown in the alert dialog */ "Incompatible previous version" = "Uyumsuz önceki versiyon"; /* Shown in record shortcut box */ "Increase" = "Artır"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "f.lux veya benzeri bir uygulama mı çalışıyor?"; /* Shown in the main prefs window */ "Keyboard" = "Klavye"; /* Shown in record shortcut box */ "Mute" = "Sesi kapat"; /* Shown in the alert dialog */ "No" = "Hayır"; /* Shown in the Display Settings */ "No Control" = "Kontrol Etme"; /* Shown in the Display Settings */ "Other Display" = "Diğer Ekran"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "Uyumsuz bir önceki uygulama sürümü için tercihler algılandı. Varsayılan tercihler yeniden yüklenir."; /* Shown in menu */ "Settings…" = "Tercihler…"; /* Shown in menu */ "Quit" = "Çıkış"; /* Shown in the alert dialog */ "Reset Settings?" = "Ayarları Sıfırla?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "Güvenli Mod Etkinleştirildi"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "Başlatma sırasında Shift tuşuna basıldı. MonitorControl güvenli modda başlatıldı. Varsayılan tercihler yeniden yüklenir, DDC okuması engellenir."; /* Shown in the alert dialog */ "Shortcuts not available" = "Kısayollar bulunamadı"; /* Shown in the Display Settings */ "Software (gamma)" = "Yazılım (Gama)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "Yazılım (gamma, zorla)"; /* Shown in the Display Settings */ "Software (shade)" = "Yazılım (shade)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "Yazılım (shade, zorla)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "Bu ekran, donanım kontrolünü desteklemediği için gamlanabilir manipülasyon yoluyla yazılım parlaklık kontrolüne izin verir. Bunun nedenleri, bir Mac mini'nin (donanım DDC kontrolünü engelleyen) HDMI bağlantı noktasını kullanmak veya kara listeye alınmış bir ekrana sahip olmak olabilir."; /* Shown in the Display Settings */ "This display has an unspecified control status." = "Bu ekranın belirtilmemiş bir kontrol durumu var."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "Bu ekranın donanım DDC kontrolünü desteklediği bildiriliyor ancak mevcut ayarlar yalnızca yazılım kontrolüne izin veriyor."; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "Bu ekranın donanım DDC kontrolünü desteklediği bildiriliyor. Sorunlarla karşılaşırsanız, yazılım kontrolünü zorlamak için donanım DDC kontrolünü devre dışı bırakabilirsiniz."; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "Bu ekran, yerel Apple parlaklık protokolünü destekler. Bu, macOS'un bu ekranı MonitorControl olmadan da kontrol etmesini sağlar."; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "Bu sanal bir ekrandır (örnekler: AirPlay, Sidecar, DisplayLink Dock veya benzeri aracılığıyla bağlanan ekran), donanım veya yazılımla oynanabilir kontrole izin vermez. Gölgeleme, bir yedek olarak kullanılır, ancak yalnızca ayna olmayan senaryolarda. Fare imleci etkilenmeyecektir ve tam ekran moduna girerken/çıkılırken eserler görünebilir."; /* Unknown display name */ "Unknown" = "Bilinmeyen"; /* Version */ "Version" = "Versiyon"; /* Shown in the Display Settings */ "Virtual Display" = "Sanal Ekran"; /* Shown in menu */ "Volume" = "Ses"; /* Shown in the alert dialog */ "Yes" = "Evet"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "MonitorControl klavye kısayollarını aktif hale getirmek için Sistem Tercihleri > Güvenlik ve Gizlilik > Erişebilirlik altından izin vermeniz gerekmektedir"; ================================================ FILE: MonitorControl/UI/tr.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "Yerleşik ve Apple ekranlardan parlaklık değişikliklerini senkronize edin"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "Son kaydedilen ayarların geçerli olduğunu varsayın (önerilir)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "Standart klavye ses seviyesi ve sessize alma tuşları"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC min"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "Sesi kıs"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "Menüdeki her ekran için ayrı kontroller göster"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "Ekrana son kaydedilen değerleri uygula"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "Özel klavye kısayolu"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "Bunun yerine pencere odağını kullanmak, tam ekran uygulamalarla iyi çalışmayabilir."; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "MonitorControl'e hoşgeldiniz"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "Ayarları Sıfırla"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "Her zaman gizle"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "Kaydırıcı davranışı:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "Kaydırıcı onay işaretlerini göster"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "Kaydırmalı düğme, yakınlık içindeyken %0, %25, %50, %75 ve %100'e geçerek bu değerlerin ayarlanmasını kolaylaştırır. Daha hassas kontrol için devre dışı bırakın."; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "Hassas OSD ölçeğini kullanın"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "MonitorControl kullanmaya başla"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "Katkıda bulunanlarımıza özel teşekkürler!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "Özel klavye kısayolları"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "Görüntü ayarlarını okumaya çalış"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "Doğruluk için onay işaretlerini %0, %25, %50, %75 ve %100 olarak gösterin."; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "Bir önceki parlaklık, ses seviyesi ve diğer ayarları kullanın veya varsayılanları kullanın. Değerler, kullanıcı tarafından ilk değişiklik yapıldığında ekrana uygulanacaktır."; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "Hangi ekranın kontrol edileceğini belirlemek için ses cihazı adını kullanın"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "Oturum açıldıktan sonra başlatsın mı?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "Kaydırıcıları yalnızca o anda menüyü gösteren ekran için göster"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "Parlaklık:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(Yazılım->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "Yalnızca donanım (DDC) kontrollü ekranlar için. Sonuçlar değişebilir."; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "macOS ses OSD'yi pasif et"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "OSD oranı:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "OSD oranı:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "Ayarları sıfırla"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "Mute DDC komutunu etkinleştir"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "Menüde ses kaydırıcısını göster"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "Özel"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "Başlatma veya uyanma sırasında:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ Uyarı! Bu ayarların bazılarını değiştirmek, sistemin donmasına veya beklenmeyen davranışlara neden olabilir!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "Alternatif tuşlar F14/F15'tir (PC klavyelerinde Kaydırma Kilidi ve Duraklatma, bazı Logitech klavyelerinde parlaklık tuşları)."; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "VCP listesi"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "Gerekirse, ekranlar altında ses cihazı adını geçersiz kılabilirsiniz."; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "Daha doğrudan ve anında kontrol için yumuşak geçişleri devre dışı bırakabilirsiniz."; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "Minimal"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "Ölçek eşleme eğrisi"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "Sesi kapat:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "Normalde klavye kontrolleri bir OSD ciklet değerini değiştirir ve Shift+Option ince kontrole izin verir. Bu, hassas kontrolü varsayılan yapar."; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "İsmi Sıfırla"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "Güncellemeleri otomatik olarak denetle"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "Parlaklık kontrolü:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "Ses:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "Yazılım veya birleşik karartma yoluyla sıfır parlaklığa izin verin"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "Apple ve yerleşik ekranların Denetim Merkezi'nde zaten bir parlaklık kaydırıcısı vardır."; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "Yok"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "Simge olarak göster"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "Metin olarak göster"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "Tersine çevir"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "Hangi ekranın kontrol edileceğini belirlemek için pencere odağını kullanın"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "Donanım veya yazılım kontrollü ekranlar veya TV'ler için parlaklık kaydırıcısı."; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "Ses cihazı adını geçersiz kıl:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "Menü seçeneğine erişilemiyorsa Tercihler'e erişmek için uygulamayı yeniden başlatın. Uygulamadan çıkmak için aşağıdaki düğmeyi kullanın."; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "Güncel al"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "Gizle"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "Ek kontroller:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "Parlaklık:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "Pürüzsüz parlaklık geçişlerini etkinleştirin"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "Ses düzeyi için OSD ölçeğini kullanın"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "Başlangıçta çalıştır"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "Sessize Almayı Aç/Kapat"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "Tüm ekranlarda değiştir"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "Güncellemeleri denetle"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "Oturum Açma sırasında MonitorControl'ü başlatın"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "Not: Varsayılanları geri yüklemek ve herhangi bir şeyi okumaktan veya ayarlamaktan kaçınmak için 'Güvenli mod' için başlatma sırasında Shift tuşuna basabilirsiniz."; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Apple markalı ve yerleşik ekranlar için de etkinleştirin"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl'ün, ekranınızı kontrol etmek amacıyla macOS yerel anahtarlarını kullanabilmesi için \"Erişilebilirlik\"e erişmesi gerekiyor.\nSistem Tercihleri > Güvenlik ve Gizlilik > Erişilebilirlik bölümünde MonitorControl'ü ekleyerek bunu etkinleştirebilirsiniz."; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "Kontrol edilecek ekran:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "Fare işaretçisinin konumuna bağlıdır"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "Tüm ekranlar için birleşik kaydırıcıyı kullanın"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "Parlaklık ve kontrast kontrolü:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "Ekran tipi:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "Kontrol edilecek ekran:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "Harici ekranınızın parlaklığını, kontrastını ve ses yüksekliğini doğrudan Mac'inizden, menü kaydırıcılarını veya yerel Apple tuşları da dahil olmak üzere klavyeyi kullanarak kontrol edin."; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "Kaydırıcı yakalamayı etkinleştir"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "Her zaman menü çubuğunda göster"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "Kontrast:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "Ses:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "Menüde parlaklık kaydırıcısını göster"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "Gama tablosu manipülasyonundan kaçının"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "Uygulamayı başlangıçta başlatarak MonitorControl'ün ihtiyaç duyduğunuzda her zaman çalıştığından emin olun."; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "Parlaklığı artır"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "Birleşik donanım ve yazılım karartması için ayrı dengeler"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "Klavyeyi devre dışı bırak"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "Uygulama:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "Standart klavye parlaklık tuşları"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "Sayı:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "Parlaklığı kontrol etmek için Apple klavyenizin parlaklık tuşlarını kullanın. Dahili ekranı ayarlamak için Control tuşunu, harici ekranları ayarlamak için Control+Command tuşunu basılı tutabilirsiniz. Hassas kontrol için Shift+Option tuşunu basılı tutun. Control+Option+Command, DDC uyumlu ekranlarda kontrastı ayarlar."; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "Kontrol yöntemi:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "DDC okuma işlemleri sırasında daha uzun gecikme"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "En yüksek DDC"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "Sistem Tercihlerini Aç…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "Genişletilmiş aralık için ekran sıfır donanım parlaklığına ulaştıktan sonra yazılım karartmasını kullanın. Yalnızca DDC kontrollü ekranlar için çalışır."; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "Parlaklığı azalt"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "Hem standart hem de özel kısayollar"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "Uygulamadan çık"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "Menüde kontrast kaydırıcısını göster"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "Ses kontrolü (Sadece DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "Daha fazla hassasiyet için kaydırıcının yanında yüzdeyi göster."; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "Donanım ve yazılım karartmasını birleştirin"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "Apple klavye yerel anahtar erişimini etkinleştirin"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "Normal"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "Genel menü öğeleri stili:"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "Menü ikonu:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "Gelişmiş ayarları göster"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "Yerel ses düzeyi denetimi olmayan bir ses aygıtı seçilirse çalışır."; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "Bu ekran için klavye kısayollarını etkinleştir"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "Kontrast:"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "Alternatif parlaklık tuşlarını kullanmayın"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "Ağır"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "Çoklu ekran:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "DDC Okuma Oylama Modu:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "Genel ayarlar:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "Bir ekran uyku sırasında ayarlarını sıfırlama eğiliminde olduğunda kullanışlıdır."; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "Ortam ışığı sensöründen kaynaklanan veya Dokunmatik Çubuk, Kontrol Merkezi, Sistem Tercihleri kullanılarak yapılan değişiklikler tüm ekranlara yansıtılacaktır.."; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "Tüm ekranlar için ses seviyesini değiştir"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "Ekrandan ayarları güncelleyin. Bazı donanımlarla çalışmayabilir."; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "Yalnızca en az bir kaydırıcı varsa"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "Yalnızca harici ekran mevcut olduğunda"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "Hem standart hem de özel kısayollar"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "Çeşitli senkronizasyon ve 'tümünü kontrol et' klavye ayarları etkinleştirildiğinde en iyi şekilde çalışır."; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "Mevcut"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "Donanım parlaklık kontrolü için tam OSD ölçeği mevcut olacak ve 0 parlaklığa ulaştıktan sonra daha fazla yazılım karartması kullanılacak."; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "Uyarı! Bu seçenek etkinleştirildiğinde, kendinizi boş bir ekranda bulabilirsiniz. Bu, devre dışı bırakılmış klavye kontrolleriyle birleştiğinde sinir bozucu olabilir."; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "Tanımlayıcı:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "Fare işaretçisinin konumuna bağlıdır"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "Sesi artır"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "Donanım DDC kontrolünü kullan"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "Klavyeyi devre dışı bırak"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "Bağış Yap"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "Yüzdeyi göster"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "Birleşik karartma geçiş noktası:"; ================================================ FILE: MonitorControl/UI/zh-Hans.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl让您可以控制外接显示器的亮度与音量"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "若您拒绝这些连线,您将不会收到新版本以及安全性更新的通知。安全性更新对于防止恶意软件的攻击是相当重要的。"; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl会检查新版本以及安全性更新。"; ================================================ FILE: MonitorControl/UI/zh-Hans.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "关于"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "另一个应用程序可能修改了亮度或者颜色所以导致了问题。\n\n如果要解决这个问题,您需要退出另一个应用程序或在MonitorControl中为您的显示器禁用伽马值控制!"; /* Shown in the main prefs window */ "App menu" = "App选项"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "您确定要启用更长的延迟吗?这样做可能会使其它奔溃并需要重新启动。作为安全措施,登录时启动将被禁用。"; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "确定要重置所有的设置吗?"; /* Sown in menu */ "Brightness" = "亮度"; /* Build */ "Build" = "版本"; /* Shown in the Display Settings */ "Built-in Display" = "内置显示器"; /* Shown in menu */ "Check for updates…" = "检查更新…"; /* Shown in menu */ "Contrast" = "对比度"; /* Version */ "Copyright Ⓒ MonitorControl, " = "Copyright Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "降低"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "禁用显示器的伽马值控制"; /* Shown in the main prefs window */ "Displays" = "显示器"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "启用更长的延迟吗?"; /* Shown in the Display Settings */ "External Display" = "外接显示器"; /* Shown in the main prefs window */ "General" = "通用"; /* Shown in the Display Settings */ "Hardware (Apple)" = "硬件(Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "硬件(DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "我会退出其它的应用程序"; /* Shown in the alert dialog */ "Incompatible previous version" = "不兼容旧版本"; /* Shown in record shortcut box */ "Increase" = "增加"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "是f.lux或类似的应用程序在运行吗?"; /* Shown in the main prefs window */ "Keyboard" = "键盘"; /* Shown in record shortcut box */ "Mute" = "静音"; /* Shown in the alert dialog */ "No" = "否"; /* Shown in the Display Settings */ "No Control" = "没有控制"; /* Shown in the Display Settings */ "Other Display" = "其它屏幕"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "监测到不兼容的旧版本设置。已重新加载默认设置。"; /* Shown in menu */ "Settings…" = "设置…"; /* Shown in menu */ "Quit" = "退出"; /* Shown in the alert dialog */ "Reset Settings?" = "重置所有设置?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "安全模式已经启动"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "启动时按下Shift键。MonitorControl启动时进入安全模式。已还原初始设置,停止DDC读取。"; /* Shown in the alert dialog */ "Shortcuts not available" = "快捷键无法使用"; /* Shown in the Display Settings */ "Software (gamma)" = "软件 (伽玛)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "软件 (伽玛,强制)"; /* Shown in the Display Settings */ "Software (shade)" = "软件 (遮光)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "软件 (遮光, 强制)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "这个显示器不支持硬件控制,亮度将通过伽马值或阴影来调整。原因可能是使用了Mac mini的HDMI端口(硬件DDC无法使用)或是使用不兼容的显示器。"; /* Shown in the Display Settings */ "This display has an unspecified control status." = "此显示器有未指定的控制状态。"; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "这个显示器报告支持DDC控制,但目前的设置只允许软件控制。"; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "这个显示器报告支持DDC控制。如果使用遇到问题,您可以禁用硬件DDC控制以强制软件控制。"; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "这个显示器支持苹果原生的亮度设置,macOS无需通过MonitorControl控制此屏幕。"; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "这个是虚拟显示器(例如:AirPlay、Sidecar、通过DisplayLink Dock或类似软件连接的屏幕),不允许硬件或软件伽马值控制。只能在非镜像的情况下以遮光(Shading)作为代替设置方案。进入/离开全屏幕模式时,鼠标将不受影响,并且可能会出现残影。"; /* Unknown display name Unknown model Unknown vendor */ "Unknown" = "未知"; /* Version */ "Version" = "版本"; /* Shown in the Display Settings */ "Virtual Display" = "虚拟屏幕"; /* Shown in menu */ "Volume" = "音量"; /* Shown in the alert dialog */ "Yes" = "是"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "您需要在「系统偏好设置」>「安全性与隐私」>「辅助功能」中启用MonitorControl让键盘快捷键生效"; ================================================ FILE: MonitorControl/UI/zh-Hans.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "同步苹果和内置显示器的亮度设置"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "假设之前的设置可用(建议)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "标准的键盘音量和静音键"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC最小值"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "调低音量"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "显示各个显示器的控制滑杆"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "使用上次储存的设置值至显示器"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "自定义快捷键"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "启用后软件全屏时效果可能不理想。"; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "欢迎使用MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "重置设置"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "永久隐藏"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "滑杆行为:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "显示滑杆刻度"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "滑杆手把在接近刻度0%、25%、50%、75%和100%时将自动定位与该亮度值。关闭后可以设置更精细的亮度值。"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "使用精细的OSD刻度"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "开始使用MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "特别感谢我们的贡献者们!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "自定义快捷键"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "尝试获取显示器的设置"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "在0%、25%、50%、75%和100%处显示刻度使设置的亮度值更精准。"; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "使用者初次设置时使用之前或原始设置(亮度、音量和其它设置)。"; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "以音频设备名称判断控制哪个显示器"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "登录时启动?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "仅显示当前显示器的滑杆介面"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "亮度:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(软件->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "仅适用于以硬件(DDC)控制的显示器。结果可能会有差异。"; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "禁用macOS音量OSD"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "OSD刻度:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "OSD刻度:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "重置设置"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "允许DDC静音指令"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "显示音量滑杆"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "自定义"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "启动或唤醒后:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️ 警告!更改这些设置可能导致系统崩溃或不可预期的结果!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "替代按键为F14/F15(PC键盘的Scroll Lock及Pause键,部分罗技键盘的亮度键)"; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "VCP列表"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "您可以在「显示器」选择覆盖音频设备的名称。"; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "禁用流畅转换以获得更直接、立即的控制。"; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "少量"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "刻度控制曲线"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "静音:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "通常键盘控制单次改变一个OSD刻度值,而Shift+Option允许精细控制。启用后将预设使用精细控制。"; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "重置名称"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "自动检查更新"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "亮度控制:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "音量:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "通过软件或组合调光实现零亮度"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "控制中心中已有苹果和内置显示器的亮度控制滑杆。"; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "无"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "以图标显示"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "以文字显示"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "反转"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "以当前窗口决定"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "以硬件或软件控制显示器或电视的亮度控制滑杆。"; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "覆盖音频设备名称:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "当选项不可用时重新启动App以开启设置页面。使用此按键关闭此App。"; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "获取当前"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "隐藏"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "额外的控制:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "亮度:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "启用流畅亮度转换"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "音量控制使用精细的OSD刻度"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "登录时启动"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "切换静音"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "所有显示器"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "检查更新"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "在登录时启动MonitorControl"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "注:启动时按下Shift进入「安全模式」以恢复原始设置并避免读取或更动任何设置。"; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "苹果和内置的显示器"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "若需使用macOS原生的按键控制显示器,请给MonitorControl授予“辅助功能”权限。\n您可以在 系统偏好设置 > 安全性与隐私 > 辅助功能 中添加MonitorControl以启用这个功能。"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "控制的显示器:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "取决于鼠标指针位置"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "使用一个滑杆控制所有显示器"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "亮度及对比度控制:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "显示器类型:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "控制的显示器:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "使用菜单上的滑杆或者键盘(支持Apple原生快捷键),直接从Mac控制外接显示器的亮度、对比度和音量。"; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "启用滑杆定位"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "永久置于菜单栏"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "对比度:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "音量:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "显示亮度控制滑杆"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "避免设置伽马值"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "在启动时启动MonitorControl,确保其在需要时始终运行。"; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "调高亮度"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "使用硬件结合软件调整时忽略软件调整的范围"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "禁用键盘"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "应用程序:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "标准的键盘亮度键"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "数量:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "使用苹果键盘上的亮度控制按钮来调整亮度。搭配Control键调整内建显示器、Control+Command调整外接显示器、Shift+Option进行精细调整、Control+Option+Command调整DDC相容显示器的对比度。"; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "控制方式:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "延长DDC读取操作的延迟时间"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC最大值"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "打开系统偏好设置"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "当显示器的硬件设置亮度为0时以软件进一步降低亮度(仅适用于以DDC控制的显示器)。"; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "调低亮度"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "标准及自定义快捷键"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "关闭应用程序"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "显示对比度控制滑杆"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "音量控制(仅DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "在滑杆旁显示百分比以获得更精确的控制。"; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "结合硬件与软件的亮度控制"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "启用苹果键盘原生按键"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "正常"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "菜单栏选项样式"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "菜单栏图标:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "显示高级选项"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "当一个没有原生音量控制的音频设备被选择时可用。"; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "允许键盘控制显示器"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "对比度:"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "禁用替代按键"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "多次"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "多个显示器:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "DDC读取操作模式:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "通用选项:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "适用于当一个显示器在睡眠后会重置设置时"; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "触发自环境亮度感应器、Touch Bar、控制中心、系统设置的亮度调整将被同步至全部的显示器。"; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "更改所有显示器的音量"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "更新来自显示器的设置。可能不兼容部分硬件。"; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "只有当至少一个滑杆可用时"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "仅当存在外置显示器时"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "标准及自定义快捷键"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "启用各种同步和「控制全部」的键盘设置时效果最佳。"; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "可用"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "完整的OSD刻度只涵盖硬件的控制范围,刻度在0以下时以软件调整。"; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "警告!启用显示器可以被设置成完全黑屏,如果同时禁用键盘控制可能会导致难以调整设置。"; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "识别码:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "取决于鼠标指针位置"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "调高音量"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "使用硬件DDC控制"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "禁用键盘"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "捐赠"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "显示百分比"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "软硬件控制交接点:"; ================================================ FILE: MonitorControl/UI/zh-Hant-TW.lproj/InternetAccessPolicy.strings ================================================ /* General application description */ "ApplicationDescription" = "MonitorControl讓您可以控制外接螢幕的亮度與音量"; /* Sofware update deny consequences */ "SoftwareUpdateDenyConsequences" = "若您拒絕這些連線,您將不會收到新版本以及安全性更新的通知。 安全性更新對於抵禦惡意軟體的攻擊是相當重要的。"; /* Software update purpose */ "SoftwareUpdatePurpose" = "MonitorControl會檢查新版本以及安全性更新。"; ================================================ FILE: MonitorControl/UI/zh-Hant-TW.lproj/Localizable.strings ================================================ /* Shown in the main prefs window */ "About" = "關於"; /* Shown in the alert dialog */ "An other app seems to change the brightness or colors which causes issues.\n\nTo solve this, you need to quit the other app or disable gamma control for your displays in MonitorControl!" = "因其他螢幕控制程式對亮度或顏色進行變更而導致錯誤。\n\n退出其他螢幕控制程式或停用MonitorControl中的伽瑪控制以解決此問題!"; /* Shown in the main prefs window */ "App menu" = "App選單"; /* Shown in the alert dialog */ "Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure." = "您確定要啟用更長的延遲嗎?這樣做可能會使系統當機並需要重新啟動。作為安全措施,登錄時啟動將被停用。"; /* Shown in the alert dialog */ "Are you sure you want to reset all settings?" = "確定要重置所有的設定嗎?"; /* Sown in menu */ "Brightness" = "亮度"; /* Build */ "Build" = "版號"; /* Shown in the Display Settings */ "Built-in Display" = "內建螢幕"; /* Shown in menu */ "Check for updates…" = "檢查更新…"; /* Shown in menu */ "Contrast" = "對比度"; /* Version */ "Copyright Ⓒ MonitorControl, " = "版權所有 Ⓒ MonitorControl, "; /* Shown in record shortcut box */ "Decrease" = "減少"; /* Shown in the alert dialog */ "Disable gamma control for my displays" = "停用伽瑪控制"; /* Shown in the main prefs window */ "Displays" = "螢幕"; /* Shown in the alert dialog */ "Enable Longer Delay?" = "啟用更長的延遲?"; /* Shown in the Display Settings */ "External Display" = "外接螢幕"; /* Shown in the main prefs window */ "General" = "一般"; /* Shown in the Display Settings */ "Hardware (Apple)" = "硬體(Apple)"; /* Shown in the Display Settings */ "Hardware (DDC)" = "硬體(DDC)"; /* Shown in the alert dialog */ "I'll quit the other app" = "請手動關閉其他螢幕控制程式"; /* Shown in the alert dialog */ "Incompatible previous version" = "與先前版本不相容"; /* Shown in record shortcut box */ "Increase" = "增加"; /* Shown in the alert dialog */ "Is f.lux or similar running?" = "f.lux 或其他螢幕控制程式是否執行中?"; /* Shown in the main prefs window */ "Keyboard" = "鍵盤"; /* Shown in record shortcut box */ "Mute" = "靜音"; /* Shown in the alert dialog */ "No" = "否"; /* Shown in the Display Settings */ "No Control" = "沒有控制"; /* Shown in the Display Settings */ "Other Display" = "其他螢幕"; /* Shown in the alert dialog */ "Settings for an incompatible previous app version detected. Default settings are reloaded." = "偵測到不相容的先前應用程式版本的設定。原始設定已套用。"; /* Shown in menu */ "Settings…" = "設定…"; /* Shown in menu */ "Quit" = "離開"; /* Shown in the alert dialog */ "Reset Settings?" = "重置偏好設定?"; /* Shown in the alert dialog */ "Safe Mode Activated" = "安全模式已啟動"; /* Shown in the alert dialog */ "Shift was pressed during launch. MonitorControl started in safe mode. Default settings are reloaded, DDC read is blocked." = "開啟時Shift鍵被按下。MonitorControl開啟時進入安全模式。已套用原始設定,DDC讀取被停用。"; /* Shown in the alert dialog */ "Shortcuts not available" = "快捷鍵不可使用"; /* Shown in the Display Settings */ "Software (gamma)" = "軟體(伽瑪)"; /* Shown in the Display Settings */ "Software (gamma, forced)" = "軟體(伽瑪,強制)"; /* Shown in the Display Settings */ "Software (shade)" = "軟體 (遮光)"; /* Shown in the Display Settings */ "Software (shade, forced)" = "軟體(遮光, 強制)"; /* Shown in the Display Settings */ "This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display." = "此螢幕不支援硬體控制,亮度調整將以軟體調整伽瑪值或遮光來實現。原因可能出於使用Mac mini的HDMI埠(硬體DDC無法使用)或是使用不支援的螢幕。"; /* Shown in the Display Settings */ "This display has an unspecified control status." = "此螢幕有未指定的控制狀態"; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control but the current settings allow for software control only." = "此螢幕經回報支援硬體DDC控制,但目前的設定只允許軟體控制。"; /* Shown in the Display Settings */ "This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control." = "此螢幕經回報支援硬體DDC控制。若遭遇使用問題,您可停用硬體DDC控制以強制使用軟體控制。"; /* Shown in the Display Settings */ "This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well." = "此螢幕支援蘋果原生的亮度協定。macOS也可不透過MonitorControl控制此螢幕。"; /* Shown in the Display Settings */ "This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode." = "此為虛擬螢幕(例如:AirPlay、Sidecar、透過DisplayLink Dock或類似硬體連接的螢幕),硬體或軟體伽碼值的控制不被允許。只能在非鏡像的情境下以遮光(Shading)作為替代調整方式。進入/離開全螢幕模式時,鼠標將不受影響,並且可能出現殘影。"; /* Unknown display name Unknown model Unknown vendor */ "Unknown" = "未知"; /* Version */ "Version" = "版本"; /* Shown in the Display Settings */ "Virtual Display" = "虛擬螢幕"; /* Shown in menu */ "Volume" = "音量"; /* Shown in the alert dialog */ "Yes" = "是"; /* Shown in the alert dialog */ "You need to enable MonitorControl in System Settings > Security and Privacy > Accessibility for the keyboard shortcuts to work" = "您需要在「系統偏好設定」>「安全性與隱私權」>「輔助使用」中啟用MonitorControl使鍵盤快捷鍵生效"; ================================================ FILE: MonitorControl/UI/zh-Hant-TW.lproj/Main.strings ================================================ /* Class = "NSButtonCell"; title = "Sync brightness changes from Built-in and Apple displays"; ObjectID = "0ca-DG-AgB"; */ "0ca-DG-AgB.title" = "同步來自內建及Apple顯示器的亮度調整"; /* Class = "NSMenuItem"; title = "Assume last saved settings are valid (recommended)"; ObjectID = "1in-79-6qm"; */ "1in-79-6qm.title" = "假設前次的設定可用(建議)"; /* Class = "NSTextFieldCell"; title = "MonitorControl"; ObjectID = "1PJ-14-Bvn"; */ "1PJ-14-Bvn.title" = "MonitorControl"; /* Class = "NSMenuItem"; title = "Standard keyboard volume and mute keys"; ObjectID = "1sy-Kd-WL5"; */ "1sy-Kd-WL5.title" = "標準的鍵盤音量與靜音鍵"; /* Class = "NSTextFieldCell"; title = "DDC min"; ObjectID = "1zE-fg-xEm"; */ "1zE-fg-xEm.title" = "DDC最小值"; /* Class = "NSTextFieldCell"; title = "Volume down"; ObjectID = "21s-bv-GTK"; */ "21s-bv-GTK.title" = "調低音量"; /* Class = "NSMenuItem"; title = "Show separate controls for each display in menu"; ObjectID = "3eO-bN-ZRl"; */ "3eO-bN-ZRl.title" = "顯示各個螢幕的控制滑桿"; /* Class = "NSMenuItem"; title = "Apply last saved values to the display"; ObjectID = "3Jr-bW-YYq"; */ "3Jr-bW-YYq.title" = "套用上次儲存的設定值至螢幕"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "4CG-0I-anB"; */ "4CG-0I-anB.title" = "自定快速鍵"; /* Class = "NSTextFieldCell"; title = "Using window focus might not work properly with full screen apps."; ObjectID = "4dX-o1-xAc"; */ "4dX-o1-xAc.title" = "啟用後當使用全螢幕Apps時效果可能不佳。"; /* Class = "NSTextFieldCell"; title = "Welcome to MonitorControl"; ObjectID = "5J0-BD-top"; */ "5J0-BD-top.title" = "歡迎使用MonitorControl"; /* Class = "NSButtonCell"; title = "Reset Settings"; ObjectID = "5yT-5F-X5R"; */ "5yT-5F-X5R.title" = "重置設定"; /* Class = "NSMenuItem"; title = "Always hide"; ObjectID = "6mo-7S-oOO"; */ "6mo-7S-oOO.title" = "永遠隱藏"; /* Class = "NSTextFieldCell"; title = "Slider behavior:"; ObjectID = "75n-7M-1mS"; */ "75n-7M-1mS.title" = "滑桿行為:"; /* Class = "NSButtonCell"; title = "Show slider tick marks"; ObjectID = "7zf-m1-gJO"; */ "7zf-m1-gJO.title" = "顯示滑桿刻度"; /* Class = "NSTextFieldCell"; title = "Slider knob will snap to 0%, 25%, 50%, 75% and 100% when in proximity making setting these values easier. Disable for finer control."; ObjectID = "8Gx-Ya-zhp"; */ "8Gx-Ya-zhp.title" = "滑桿手把在接近刻度0%、25%、50%、75%及100%時自動定位於該值。關閉以取得更精細的控制。"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for brightness and contrast"; ObjectID = "8Q8-57-xnT"; */ "8Q8-57-xnT.title" = "使用精細的OSD刻度"; /* Class = "NSButtonCell"; title = "Start using MonitorControl"; ObjectID = "8WE-da-OZC"; */ "8WE-da-OZC.title" = "開始使用MonitorControl"; /* Class = "NSButtonCell"; title = "Special thanks to our contributors!"; ObjectID = "95V-M4-2l5"; */ "95V-M4-2l5.title" = "特別感謝我們的貢獻者們!"; /* Class = "NSMenuItem"; title = "Custom keyboard shortcuts"; ObjectID = "9eC-PD-FHl"; */ "9eC-PD-FHl.title" = "自定快速鍵"; /* Class = "NSMenuItem"; title = "Attempt to read display settings"; ObjectID = "9yL-no-aWa"; */ "9yL-no-aWa.title" = "嘗試讀取螢幕的設定"; /* Class = "NSTextFieldCell"; title = "Show tick marks at 0%, 25%, 50%, 75% and 100% for accuracy."; ObjectID = "A8P-vn-DEJ"; */ "A8P-vn-DEJ.title" = "在0%、25%、50%、75%和100%處顯示刻度使調整更精確。"; /* Class = "NSTextFieldCell"; title = "Use brightness, volume and other settings from last time or use defaults. Values will be applied to the display upon first change by the user."; ObjectID = "an7-Aj-3fZ"; */ "an7-Aj-3fZ.title" = "使用者初次調整時套用前次或原始的設定(亮度、音量及其他設定)。"; /* Class = "NSMenuItem"; title = "Use audio device name to determine which display to control"; ObjectID = "AqF-uD-KCY"; */ "AqF-uD-KCY.title" = "使用音訊裝置名稱判斷控制哪個螢幕"; /* Class = "NSTextFieldCell"; title = "Start at Login?"; ObjectID = "bA1-GF-Y2n"; */ "bA1-GF-Y2n.title" = "登入後自動啟動?"; /* Class = "NSMenuItem"; title = "Show sliders only for the display currently showing the menu"; ObjectID = "bbf-sS-uGv"; */ "bbf-sS-uGv.title" = "僅顯示目前螢幕的滑桿介面"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "Bhb-6l-uPQ"; */ "Bhb-6l-uPQ.title" = "亮度:"; /* Class = "NSTextFieldCell"; title = "(Software->DDC)"; ObjectID = "Bid-UL-blc"; */ "Bid-UL-blc.title" = "(軟體->DDC)"; /* Class = "NSTextFieldCell"; title = "For hardware (DDC) controlled displays only. Results may vary."; ObjectID = "bIe-6O-xEH"; */ "bIe-6O-xEH.title" = "僅適用於以硬體(DDC)控制的螢幕。結果可能會有異。"; /* Class = "NSButtonCell"; title = "Disable macOS volume OSD"; ObjectID = "bkM-Px-U3b"; */ "bkM-Px-U3b.title" = "停用macOS音量OSD"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "bP4-GJ-vhJ"; */ "bP4-GJ-vhJ.title" = "OSD刻度:"; /* Class = "NSTextFieldCell"; title = "OSD scale:"; ObjectID = "Bqc-s3-C0w"; */ "Bqc-s3-C0w.title" = "OSD刻度:"; /* Class = "NSButtonCell"; title = "Reset settings"; ObjectID = "BYS-7Y-bRz"; */ "BYS-7Y-bRz.title" = "重置設定"; /* Class = "NSButtonCell"; title = "Enable Mute DDC command"; ObjectID = "bZq-0d-lJa"; */ "bZq-0d-lJa.title" = "允許DDC靜音指令"; /* Class = "NSButtonCell"; title = "Show volume slider in menu"; ObjectID = "c9D-MB-lma"; */ "c9D-MB-lma.title" = "顯示音量滑桿"; /* Class = "NSMenuItem"; title = "Custom"; ObjectID = "Cle-DD-vR7"; */ "Cle-DD-vR7.title" = "自定"; /* Class = "NSTextFieldCell"; title = "Upon startup or wake:"; ObjectID = "cNt-Cq-vK4"; */ "cNt-Cq-vK4.title" = "啟動或喚醒後:"; /* Class = "NSTextFieldCell"; title = "⚠️ Warning! Changing some of these settings may cause system freezes or unexpected behavior!"; ObjectID = "Cz1-Mh-llk"; */ "Cz1-Mh-llk.title" = "⚠️警告!更改這些設定可能導致系統當機或不可預期的結果!"; /* Class = "NSTextFieldCell"; title = "Alternative keys are the F14/F15 (Scroll Lock and Pause on PC keyboards, brightness keys on some Logitech keyboards)."; ObjectID = "D4H-hU-FLn"; */ "D4H-hU-FLn.title" = "替代按鍵為F14/F15(PC鍵盤的Scroll Lock及Pause鍵,部分羅技鍵盤的亮度鍵)。"; /* Class = "NSTextFieldCell"; title = "VCP list"; ObjectID = "D9t-vT-gNJ"; */ "D9t-vT-gNJ.title" = "VCP列表"; /* Class = "NSTextFieldCell"; title = "You can override audio device name under Displays (advanced) if needed."; ObjectID = "Dha-Tm-cDM"; */ "Dha-Tm-cDM.title" = "您可以在「螢幕」選單覆寫音訊裝置的名稱。"; /* Class = "NSTextFieldCell"; title = "You can disable smooth transitions for a more direct, immediate control."; ObjectID = "ENt-mP-0yH"; */ "ENt-mP-0yH.title" = "停用流暢轉換以獲得更直接、立即的控制。"; /* Class = "NSMenuItem"; title = "Minimal"; ObjectID = "Eq3-z9-yIo"; */ "Eq3-z9-yIo.title" = "少量"; /* Class = "NSTextFieldCell"; title = "Scale mapping curve"; ObjectID = "Eui-5S-JR6"; */ "Eui-5S-JR6.title" = "刻度控制曲線"; /* Class = "NSTextFieldCell"; title = "Mute:"; ObjectID = "EvN-FT-vdZ"; */ "EvN-FT-vdZ.title" = "靜音:"; /* Class = "NSTextFieldCell"; title = "Normally keyboard controls change one OSD chiclet worth of value and Shift+Option allows fine control. This makes fine control default."; ObjectID = "f6J-Ui-uMB"; */ "f6J-Ui-uMB.title" = "通常鍵盤控制單次改變一個OSD刻度值,而Shift+Option允許精細控制。啟用後將預設使用精細控制。"; /* Class = "NSButtonCell"; title = "Reset Name"; ObjectID = "f9g-8s-gdd"; */ "f9g-8s-gdd.title" = "重置名稱"; /* Class = "NSButtonCell"; title = "Automatically check for updates"; ObjectID = "Faf-9L-TXx"; */ "Faf-9L-TXx.title" = "自動檢查更新"; /* Class = "NSTextFieldCell"; title = "Brightness control:"; ObjectID = "fe9-Ia-t9m"; */ "fe9-Ia-t9m.title" = "亮度控制:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "FER-Ri-4UO"; */ "FER-Ri-4UO.title" = "音量:"; /* Class = "NSButtonCell"; title = "Allow zero brightness via software or combined dimming"; ObjectID = "FjB-XL-fG5"; */ "FjB-XL-fG5.title" = "當使用軟體或軟硬體結合調整時允許螢幕全暗"; /* Class = "NSTextFieldCell"; title = "Apple and built-in displays already have a brightness slider in Control Center."; ObjectID = "fmZ-HI-Mdc"; */ "fmZ-HI-Mdc.title" = "控制中心中已有Apple及內建顯示器的亮度控制滑桿。"; /* Class = "NSMenuItem"; title = "None"; ObjectID = "FoA-yh-Yx3"; */ "FoA-yh-Yx3.title" = "無"; /* Class = "NSMenuItem"; title = "Show as icons"; ObjectID = "fR3-kq-cps"; */ "fR3-kq-cps.title" = "以圖示顯示"; /* Class = "NSMenuItem"; title = "Show as text"; ObjectID = "fWd-Es-zsy"; */ "fWd-Es-zsy.title" = "以文字顯示"; /* Class = "NSTextFieldCell"; title = "Invert"; ObjectID = "G5A-y3-eZz"; */ "G5A-y3-eZz.title" = "反轉"; /* Class = "NSMenuItem"; title = "Use window focus to determine which display to control"; ObjectID = "gTR-FW-FHc"; */ "gTR-FW-FHc.title" = "以目前視窗決定"; /* Class = "NSTextFieldCell"; title = "Brightness slider for hardware or software controlled displays or TVs."; ObjectID = "gXH-HL-ZOL"; */ "gXH-HL-ZOL.title" = "以硬體或軟體控制螢幕或電視的亮度控制滑桿。"; /* Class = "NSTextFieldCell"; title = "Override audio device name:"; ObjectID = "H9X-it-sXs"; */ "H9X-it-sXs.title" = "覆寫音訊裝置名稱:"; /* Class = "NSTextFieldCell"; title = "Relaunch the app to access Settings if the menu option is not accessible. Use the button below to quit the app."; ObjectID = "hF7-fM-aKr"; */ "hF7-fM-aKr.title" = "當選單不可用時重新啟動App以開啟設定頁面。使用此按鍵來結束App。"; /* Class = "NSButtonCell"; title = "Get current"; ObjectID = "hkC-vq-IcD"; */ "hkC-vq-IcD.title" = "取得目前的"; /* Class = "NSMenuItem"; title = "Hide"; ObjectID = "HUT-Qc-kuu"; */ "HUT-Qc-kuu.title" = "隱藏"; /* Class = "NSTextFieldCell"; title = "Additional controls:"; ObjectID = "i5X-M5-Tf5"; */ "i5X-M5-Tf5.title" = "額外的控制:"; /* Class = "NSTextFieldCell"; title = "Brightness:"; ObjectID = "IJB-mO-e8I"; */ "IJB-mO-e8I.title" = "亮度:"; /* Class = "NSButtonCell"; title = "Enable smooth brightness transitions"; ObjectID = "IK4-u5-qjf"; */ "IK4-u5-qjf.title" = "啟用流暢亮度轉換"; /* Class = "NSButtonCell"; title = "Use fine OSD scale for volume"; ObjectID = "J3L-MW-iJL"; */ "J3L-MW-iJL.title" = "音量控制使用精細的OSD刻度"; /* Class = "NSButtonCell"; title = "Start at Login"; ObjectID = "j72-NF-zsW"; */ "j72-NF-zsW.title" = "登入時啟動"; /* Class = "NSTextFieldCell"; title = "Toggle Mute"; ObjectID = "jK7-7w-uib"; */ "jK7-7w-uib.title" = "切換靜音"; /* Class = "NSMenuItem"; title = "Change for all screens"; ObjectID = "jSj-HB-T2t"; */ "jSj-HB-T2t.title" = "所有螢幕"; /* Class = "NSButtonCell"; title = "Check for updates"; ObjectID = "jVH-oc-rUi"; */ "jVH-oc-rUi.title" = "檢查更新"; /* Class = "NSButtonCell"; title = "Start MonitorControl at Login"; ObjectID = "JWJ-OY-VtE"; */ "JWJ-OY-VtE.title" = "登入後自動啟動 MonitorControl"; /* Class = "NSTextFieldCell"; title = "Note: you can press Shift during startup for 'Safe mode' to restore defaults and avoid reading or setting anything."; ObjectID = "Jx2-gO-nq9"; */ "Jx2-gO-nq9.title" = "註:啟動時按下Shift進入「安全模式」以恢復原始設定並避免讀取或更動任何設定。"; /* Class = "NSButtonCell"; title = "Enable for Apple branded and built-in displays as well"; ObjectID = "K6A-4z-1aQ"; */ "K6A-4z-1aQ.title" = "Apple和內建的螢幕"; /* Class = "NSTextFieldCell"; title = "MonitorControl needs access to \"accessibility\" to use macOS native keys to control your display.\nYou can enable it by adding MonitorControl in System Settings > Security and Privacy > Accessibility."; ObjectID = "kBJ-Zf-1k2"; */ "kBJ-Zf-1k2.title" = "MonitorControl需要取用「輔助使用」來使用macOS的按鍵組合進而控制您的顯示器。\n您可以前往系統偏好設定 > 安全性和隱私權 > 輔助使用,新增MonitorControl來啟用。"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "Kfj-WK-aSL"; */ "Kfj-WK-aSL.title" = "控制的螢幕:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "km4-hK-auM"; */ "km4-hK-auM.title" = "取決於滑鼠游標位置"; /* Class = "NSMenuItem"; title = "Use combined slider for all displays"; ObjectID = "lA0-tv-qRs"; */ "lA0-tv-qRs.title" = "使用單一滑桿控制所有螢幕"; /* Class = "NSTextFieldCell"; title = "Brightness and contrast:"; ObjectID = "LO4-4k-gxY"; */ "LO4-4k-gxY.title" = "亮度及對比度:"; /* Class = "NSTextFieldCell"; title = "Display type:"; ObjectID = "lSJ-6w-KJ2"; */ "lSJ-6w-KJ2.title" = "螢幕類型:"; /* Class = "NSTextFieldCell"; title = "Screen to control:"; ObjectID = "ltL-gR-K3Z"; */ "ltL-gR-K3Z.title" = "控制的螢幕:"; /* Class = "NSTextFieldCell"; title = "Control your external displays brightness, contrast and volume directly from your Mac, using menulet sliders or the keyboard, including native Apple keys."; ObjectID = "Mh5-1A-apq"; */ "Mh5-1A-apq.title" = "透過滑桿、鍵盤(含Apple原生快捷鍵),直接從Mac控制外接螢幕的亮度、對比度和音量。"; /* Class = "NSButtonCell"; title = "Enable slider snapping"; ObjectID = "MlU-hl-d46"; */ "MlU-hl-d46.title" = "啟用滑桿定位"; /* Class = "NSMenuItem"; title = "Always show in the menu bar"; ObjectID = "MM0-Lf-VgF"; */ "MM0-Lf-VgF.title" = "永遠顯示於選單列"; /* Class = "NSTextFieldCell"; title = "Contrast:"; ObjectID = "MMk-S2-yJN"; */ "MMk-S2-yJN.title" = "對比度:"; /* Class = "NSTextFieldCell"; title = "Volume:"; ObjectID = "mue-fa-8z6"; */ "mue-fa-8z6.title" = "音量:"; /* Class = "NSButtonCell"; title = "Show brightness slider in menu"; ObjectID = "MWo-6I-s9L"; */ "MWo-6I-s9L.title" = "顯示亮度控制滑桿"; /* Class = "NSButtonCell"; title = "Avoid gamma table manipulation"; ObjectID = "na6-mS-MPi"; */ "na6-mS-MPi.title" = "避免調整伽瑪值"; /* Class = "NSTextFieldCell"; title = "Ensure MonitorControl is always running when you need it by launching the app at startup."; ObjectID = "nk6-Gh-Mfs"; */ "nk6-Gh-Mfs.title" = "如需要 MonitorControl 隨時為您服務,可啟用「登入後自動啟動MonitorControl」。"; /* Class = "NSTextFieldCell"; title = "Brightness up"; ObjectID = "nty-g6-Sde"; */ "nty-g6-Sde.title" = "亮度上調"; /* Class = "NSButtonCell"; title = "Separate scales for combined hardware & software dimming"; ObjectID = "O8o-hI-8eR"; */ "O8o-hI-8eR.title" = "使用硬體結合軟體調整時忽略軟體調整的範圍"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "oHf-Gh-68c"; */ "oHf-Gh-68c.title" = "停用鍵盤"; /* Class = "NSTextFieldCell"; title = "Application:"; ObjectID = "okD-DG-pYa"; */ "okD-DG-pYa.title" = "應用程式:"; /* Class = "NSMenuItem"; title = "Standard keyboard brightness keys"; ObjectID = "Oke-bW-cb1"; */ "Oke-bW-cb1.title" = "標準的鍵盤亮度鍵"; /* Class = "NSTextFieldCell"; title = "count:"; ObjectID = "Orv-yj-Nad"; */ "Orv-yj-Nad.title" = "數量:"; /* Class = "NSTextFieldCell"; title = "Use the brightness keys of your Apple keyboard to control brightness. You can hold Control to adjust the built-in display, Control+Command to adjust external displays. Hold Shift+Option for fine control. Control+Option+Command adjusts contrast on DDC compatible displays."; ObjectID = "pa0-Hz-ace"; */ "pa0-Hz-ace.title" = "使用蘋果鍵盤上的亮度控制按鈕來調整亮度。搭配Control鍵調整內建螢幕、Control+Command調整外接螢幕、Shift+Option進行精細調整、Control+Option+Command調整DDC相容螢幕的對比度。"; /* Class = "NSTextFieldCell"; title = "Control method:"; ObjectID = "PaK-1f-DsW"; */ "PaK-1f-DsW.title" = "控制方式:"; /* Class = "NSButtonCell"; title = "Longer delay during DDC read operations"; ObjectID = "pF5-Sw-7BR"; */ "pF5-Sw-7BR.title" = "延長DDC讀取操作的延遲時間"; /* Class = "NSTextFieldCell"; title = "DDC max"; ObjectID = "psF-vX-AFB"; */ "psF-vX-AFB.title" = "DDC最大值"; /* Class = "NSButtonCell"; title = "Open System Settings…"; ObjectID = "pVc-wG-Bdh"; */ "pVc-wG-Bdh.title" = "打開系統偏好設定…"; /* Class = "NSTextFieldCell"; title = "Use software dimming after the display reached zero hardware brightness for extended range. Works for DDC controlled displays only."; ObjectID = "PyY-p9-3NP"; */ "PyY-p9-3NP.title" = "當螢幕的硬體設定亮度為0時以軟體進一步降低亮度(僅適用於以DDC控制的螢幕)。"; /* Class = "NSTextFieldCell"; title = "Brightness down"; ObjectID = "q5a-Ix-Hjs"; */ "q5a-Ix-Hjs.title" = "亮度下調"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "QDG-SA-mRX"; */ "QDG-SA-mRX.title" = "標準及自定快速鍵"; /* Class = "NSButtonCell"; title = "Quit application"; ObjectID = "qlb-wH-qr4"; */ "qlb-wH-qr4.title" = "關閉應用程式"; /* Class = "NSButtonCell"; title = "Show contrast slider in menu"; ObjectID = "qO0-dB-yUs"; */ "qO0-dB-yUs.title" = "顯示對比度控制滑桿"; /* Class = "NSTextFieldCell"; title = "Volume control (DDC only):"; ObjectID = "qoh-Gn-f11"; */ "qoh-Gn-f11.title" = "音量控制(僅DDC):"; /* Class = "NSTextFieldCell"; title = "Show percentage next to slider for more precision."; ObjectID = "qXy-CL-Wf1"; */ "qXy-CL-Wf1.title" = "在滑桿旁顯示百分比以獲得更精確的控制。"; /* Class = "NSButtonCell"; title = "Combine hardware and software dimming"; ObjectID = "r76-Zc-x09"; */ "r76-Zc-x09.title" = "結合硬體與軟體的亮度控制"; /* Class = "NSTextFieldCell"; title = "Enable Apple keyboard native key access"; ObjectID = "RBj-pU-aen"; */ "RBj-pU-aen.title" = "啟用蘋果原生鍵盤的使用權限"; /* Class = "NSMenuItem"; title = "Normal"; ObjectID = "Riq-uM-bTs"; */ "Riq-uM-bTs.title" = "正常"; /* Class = "NSTextFieldCell"; title = "General menu items style:"; ObjectID = "thh-DG-ecH"; */ "thh-DG-ecH.title" = "一般選單項目的風格"; /* Class = "NSTextFieldCell"; title = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; ObjectID = "TKd-J8-Iyk"; */ "TKd-J8-Iyk.title" = "@the0neyouseek (Guillaume B.)\n@JoniVR (Joni Van Roost)\n@waydabber (István T.)"; /* Class = "NSTextFieldCell"; title = "Menu Icon:"; ObjectID = "u6s-Pb-BCG"; */ "u6s-Pb-BCG.title" = "選單圖示:"; /* Class = "NSButtonCell"; title = "Show advanced settings"; ObjectID = "UBq-Od-SIB"; */ "UBq-Od-SIB.title" = "顯示進階選項"; /* Class = "NSTextFieldCell"; title = "Works if an audio device is selected with no native volume control."; ObjectID = "uF5-a9-Ngz"; */ "uF5-a9-Ngz.title" = "當一個沒有原生音量控制的音訊裝置被選擇時可用。"; /* Class = "NSButtonCell"; title = "Enable keyboard control for display"; ObjectID = "UqR-WE-jHl"; */ "UqR-WE-jHl.title" = "允許鍵盤控制螢幕"; /* Class = "NSTextFieldCell"; title = "Contrast (DDC):"; ObjectID = "urd-Rh-aiL"; */ "urd-Rh-aiL.title" = "對比度:"; /* Class = "NSButtonCell"; title = "Do not use alternative brightness keys"; ObjectID = "vd2-Lk-neX"; */ "vd2-Lk-neX.title" = "停用替代按鍵"; /* Class = "NSMenuItem"; title = "Heavy"; ObjectID = "vik-vN-bJe"; */ "vik-vN-bJe.title" = "多次"; /* Class = "NSTextFieldCell"; title = "Multiple displays:"; ObjectID = "vri-pv-tJ4"; */ "vri-pv-tJ4.title" = "多螢幕:"; /* Class = "NSTextFieldCell"; title = "DDC read polling mode:"; ObjectID = "vwm-hY-on5"; */ "vwm-hY-on5.title" = "DDC讀取操作模式:"; /* Class = "NSTextFieldCell"; title = "General options:"; ObjectID = "W58-ch-j69"; */ "W58-ch-j69.title" = "一般選項:"; /* Class = "NSTextFieldCell"; title = "Useful when a display tends to reset its settings during sleep."; ObjectID = "w8B-x6-sq5"; */ "w8B-x6-sq5.title" = "適用於當一個螢幕在睡眠後會重置設定時"; /* Class = "NSTextFieldCell"; title = "Changes that are caused by the Ambient light sensor or made using Touch Bar, Control Center, System Settings will be replicated to all displays."; ObjectID = "wjv-tq-iUx"; */ "wjv-tq-iUx.title" = "觸發自環境亮度感測器、Touch Bar、控制中心、系統設定的亮度調整將被同步至全部的螢幕。"; /* Class = "NSMenuItem"; title = "Change volume for all screens"; ObjectID = "Xih-P5-NyM"; */ "Xih-P5-NyM.title" = "改變所有螢幕的音量"; /* Class = "NSTextFieldCell"; title = "Update settings from the display. May not work with some hardware."; ObjectID = "xjq-hs-wWB"; */ "xjq-hs-wWB.title" = "更新來自螢幕的設定。可能不相容部分硬體。"; /* Class = "NSMenuItem"; title = "Only if at least one slider is present"; ObjectID = "xLa-PN-rsq"; */ "xLa-PN-rsq.title" = "只有當至少一個滑桿可用時"; /* Class = "NSMenuItem"; title = "Only when external display is present"; ObjectID = "Tb1-6s-qOo"; */ "Tb1-6s-qOo.title" = "僅當存在外置顯示器時"; /* Class = "NSMenuItem"; title = "Both standard and custom shortcuts"; ObjectID = "xQJ-aJ-VhH"; */ "xQJ-aJ-VhH.title" = "標準及自定快速鍵"; /* Class = "NSTextFieldCell"; title = "Works best with various syncing and 'control all' keyboard settings enabled."; ObjectID = "XU4-Bn-bwH"; */ "XU4-Bn-bwH.title" = "啟用各種同步和「控制全部」的鍵盤設置時效果最佳。"; /* Class = "NSTextFieldCell"; title = "Available"; ObjectID = "yBJ-5d-I7e"; */ "yBJ-5d-I7e.title" = "可用"; /* Class = "NSTextFieldCell"; title = "Full OSD scale will be available for hardware brightness control and after reaching 0 brightness, further software dimming will be used."; ObjectID = "YHZ-VL-QJ3"; */ "YHZ-VL-QJ3.title" = "完整的OSD刻度只涵蓋硬體的控制範圍,刻度在0以下時以軟體調整。"; /* Class = "NSTextFieldCell"; title = "Warning! With this option enabled, you might find yourself in a position when you end up with a blank display. This, combined with disabled keyboard controls can be frustrating."; ObjectID = "yi3-e1-wsL"; */ "yi3-e1-wsL.title" = "警告!啟用後螢幕可被調整至全暗,若同時停用鍵盤控制可能會導致難以調整設定。"; /* Class = "NSTextFieldCell"; title = "Identifier:"; ObjectID = "YqZ-LS-YvR"; */ "YqZ-LS-YvR.title" = "識別碼:"; /* Class = "NSMenuItem"; title = "Depends on mouse pointer position"; ObjectID = "Ytd-mg-N5E"; */ "Ytd-mg-N5E.title" = "取決於滑鼠游標位置"; /* Class = "NSTextFieldCell"; title = "Volume up"; ObjectID = "Z3w-eR-qDF"; */ "Z3w-eR-qDF.title" = "調高音量"; /* Class = "NSButtonCell"; title = "Use hardware DDC control"; ObjectID = "ZdU-gV-V05"; */ "ZdU-gV-V05.title" = "使用硬體DDC控制"; /* Class = "NSMenuItem"; title = "Disable keyboard"; ObjectID = "zHa-xo-XPW"; */ "zHa-xo-XPW.title" = "停用鍵盤"; /* Class = "NSButtonCell"; title = "Donate"; ObjectID = "ZKk-ve-rS4"; */ "ZKk-ve-rS4.title" = "捐贈"; /* Class = "NSButtonCell"; title = "Show percentages"; ObjectID = "ZUu-MR-XwA"; */ "ZUu-MR-XwA.title" = "顯示百分比"; /* Class = "NSTextFieldCell"; title = "Combined dimming switchover point:"; ObjectID = "zv8-pZ-OPy"; */ "zv8-pZ-OPy.title" = "軟硬體控制交接點:"; ================================================ FILE: MonitorControl/View Controllers/Onboarding/OnboardingViewController.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa class OnboardingViewController: NSViewController { @IBOutlet private var permissionsButton: NSButton! override func viewDidLoad() { super.viewDidLoad() self.setPermissionsButtonState() } // MARK: - Actions @IBAction func toggleStartAtLoginTouched(_ sender: NSButton) { app.setStartAtLogin(enabled: sender.state == .on) } @IBAction func askForPermissionsButtonTouched(_: NSButton) { app.checkPermissions(firstAsk: true) } @IBAction func closeButtonTouched(_: NSButton) { self.view.window?.close() } // MARK: - Style private func setPermissionsButtonState() { let volumePermissions: Bool = [KeyboardVolume.media.rawValue, KeyboardVolume.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardVolume.rawValue)) let brigthnessPermissions: Bool = [KeyboardBrightness.media.rawValue, KeyboardBrightness.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardBrightness.rawValue)) let permissionsRequired: Bool = volumePermissions || brigthnessPermissions let enabled: Bool = !MediaKeyTapManager.readPrivileges(prompt: false) && permissionsRequired self.permissionsButton.image = enabled ? nil : NSImage(named: "onboarding_icon_checkmark") } } ================================================ FILE: MonitorControl/View Controllers/Preferences/AboutPrefsViewController.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import ServiceManagement import Settings class AboutPrefsViewController: NSViewController, SettingsPane { let paneIdentifier = Settings.PaneIdentifier.about let paneTitle: String = NSLocalizedString("About", comment: "Shown in the main prefs window") var toolbarItemIcon: NSImage { if !DEBUG_MACOS10, #available(macOS 11.0, *) { return NSImage(systemSymbolName: "info.circle", accessibilityDescription: "About")! } else { return NSImage(named: NSImage.infoName)! } } @IBOutlet var versionLabel: NSTextField! @IBOutlet var copyrightLabel: NSTextField! override func viewDidLoad() { super.viewDidLoad() self.setAppInfo() self.setCopyrightInfo() } @IBAction func checkForUpdates(sender: NSButton) { app.updaterController.checkForUpdates(sender) } @IBAction func openDonate(_: NSButton) { if let url = URL(string: "https://opencollective.com/monitorcontrol/donate") { NSWorkspace.shared.open(url) } } @IBAction func openWebPage(_: NSButton) { if let url = URL(string: "https://monitorcontrol.app") { NSWorkspace.shared.open(url) } } @IBAction func openContributorsPage(_: NSButton) { if let url = URL(string: "https://github.com/MonitorControl/MonitorControl/graphs/contributors") { NSWorkspace.shared.open(url) } } func setAppInfo() { let versionName = NSLocalizedString("Version", comment: "Version") let buildName = NSLocalizedString("Build", comment: "Build") let versionNumber = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") ?? "error" let buildNumber = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") ?? "error" self.versionLabel.stringValue = "\(versionName) \(versionNumber) \(buildName) \(buildNumber)" } func setCopyrightInfo() { let copyright = NSLocalizedString("Copyright Ⓒ MonitorControl, ", comment: "Version") let year = Calendar.current.component(.year, from: Date()) self.copyrightLabel.stringValue = "\(copyright) \(year)" } } ================================================ FILE: MonitorControl/View Controllers/Preferences/DisplaysPrefsCellView.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import os.log class DisplaysPrefsCellView: NSTableCellView { var display: Display? @IBOutlet var displayImage: NSImageCell! @IBOutlet var friendlyName: NSTextFieldCell! @IBOutlet var displayId: NSTextFieldCell! @IBOutlet var enabledButton: NSButton! @IBOutlet var ddcButton: NSButton! @IBOutlet var avoidGamma: NSButton! @IBOutlet var controlMethod: NSTextFieldCell! @IBOutlet var displayType: NSTextFieldCell! @IBOutlet var disableVolumeOSDButton: NSButton! @IBOutlet var advancedSettings: NSBox! @IBOutlet var pollingModeMenu: NSPopUpButton! @IBOutlet var longerDelayButton: NSButton! @IBOutlet var pollingCount: NSTextFieldCell! @IBOutlet var enableMuteButton: NSButton! @IBOutlet var combinedBrightnessSwitchingPoint: NSSlider! @IBOutlet var audioDeviceNameOverride: NSTextField! @IBOutlet var updateWithCurrentAudioName: NSButton! @IBOutlet var unavailableDDCBrightness: NSButton! @IBOutlet var unavailableDDCVolume: NSButton! @IBOutlet var unavailableDDCContrast: NSButton! @IBOutlet var minDDCOverrideBrightness: NSTextField! @IBOutlet var minDDCOverrideVolume: NSTextField! @IBOutlet var minDDCOverrideContrast: NSTextField! @IBOutlet var maxDDCOverrideBrightness: NSTextField! @IBOutlet var maxDDCOverrideVolume: NSTextField! @IBOutlet var maxDDCOverrideContrast: NSTextField! @IBOutlet var curveDDCBrightness: NSSlider! @IBOutlet var curveDDCVolume: NSSlider! @IBOutlet var curveDDCContrast: NSSlider! @IBOutlet var invertDDCBrightness: NSButton! @IBOutlet var invertDDCVolume: NSButton! @IBOutlet var invertDDCContrast: NSButton! @IBOutlet var remapDDCBrightness: NSTextField! @IBOutlet var remapDDCVolume: NSTextField! @IBOutlet var remapDDCContrast: NSTextField! @IBAction func pollingModeValueChanged(_ sender: NSPopUpButton) { if let display = display as? OtherDisplay { let newValue = sender.selectedTag() let originalValue = display.readPrefAsInt(key: .pollingMode) if newValue != originalValue { display.savePref(newValue, key: .pollingMode) if display.readPrefAsInt(key: .pollingMode) == PollingMode.custom.rawValue { self.pollingCount.isEnabled = true } else { self.pollingCount.isEnabled = false } self.pollingCount.stringValue = String(display.pollingCount) } } } @IBAction func pollingCountValueChanged(_ sender: NSTextFieldCell) { if let display = display as? OtherDisplay { let newValue = sender.stringValue let originalValue = "\(display.pollingCount)" if newValue.isEmpty { self.pollingCount.stringValue = originalValue } else if let intValue = Int(newValue) { self.pollingCount.stringValue = String(intValue) } else { self.pollingCount.stringValue = "" } if newValue != originalValue, !newValue.isEmpty, let newValue = Int(newValue) { display.pollingCount = newValue } } } @IBAction func enableMuteButtonToggled(_ sender: NSButton) { if let display = display as? OtherDisplay { switch sender.state { case .on: display.savePref(true, key: .enableMuteUnmute) case .off: // If the display is currently muted, toggle back to unmute // to prevent the display becoming stuck in the muted state if display.readPrefAsInt(for: .audioMuteScreenBlank) == 1 { display.toggleMute() } display.savePref(false, key: .enableMuteUnmute) default: break } } } @IBAction func longerDelayButtonToggled(_ sender: NSButton) { if let display = self.display as? OtherDisplay { switch sender.state { case .on: let alert = NSAlert() alert.messageText = NSLocalizedString("Enable Longer Delay?", comment: "Shown in the alert dialog") alert.informativeText = NSLocalizedString("Are you sure you want to enable a longer delay? Doing so may freeze your system and require a restart. Start at login will be disabled as a safety measure.", comment: "Shown in the alert dialog") alert.addButton(withTitle: NSLocalizedString("Yes", comment: "Shown in the alert dialog")) alert.addButton(withTitle: NSLocalizedString("No", comment: "Shown in the alert dialog")) alert.alertStyle = NSAlert.Style.critical if let window = self.window { alert.beginSheetModal(for: window, completionHandler: { modalResponse in if modalResponse == NSApplication.ModalResponse.alertFirstButtonReturn { app.setStartAtLogin(enabled: false) display.savePref(true, key: .longerDelay) } else { sender.state = .off } }) } case .off: display.savePref(false, key: .longerDelay) default: break } } } @IBAction func enabledButtonToggled(_ sender: NSButton) { if let disp = display { disp.savePref(sender.state == .off, key: .isDisabled) } } @IBAction func ddcButtonToggled(_ sender: NSButton) { if let display = display { switch sender.state { case .off: display.savePref(true, key: .forceSw) case .on: _ = display.setDirectBrightness(1) display.savePref(false, key: .forceSw) default: break } _ = display.setSwBrightness(1) _ = display.setDirectBrightness(1) let displayInfo = DisplaysPrefsViewController.getDisplayInfo(display: display) self.controlMethod.stringValue = displayInfo.controlMethod self.controlMethod.controlView?.toolTip = displayInfo.controlStatus app.configure() } } @IBAction func friendlyNameValueChanged(_ sender: NSTextFieldCell) { if let display = display { let newValue = sender.stringValue let originalValue = (display.readPrefAsString(key: .friendlyName) != "" ? display.readPrefAsString(key: .friendlyName) : display.name) if newValue.isEmpty { self.friendlyName.stringValue = originalValue return } if newValue != originalValue, !newValue.isEmpty { display.savePref(newValue, key: .friendlyName) } app.updateMenusAndKeys() } } @IBAction func disableVolumeOSDButton(_ sender: NSButton) { if let display = display as? OtherDisplay { switch sender.state { case .on: display.savePref(true, key: .hideOsd) case .off: display.savePref(false, key: .hideOsd) default: break } } } @IBAction func avoidGamma(_ sender: NSButton) { if let display = display as? OtherDisplay { _ = display.setSwBrightness(1) _ = display.setDirectBrightness(1) switch sender.state { case .on: display.savePref(true, key: .avoidGamma) case .off: display.savePref(false, key: .avoidGamma) default: break } let displayInfo = DisplaysPrefsViewController.getDisplayInfo(display: display) self.controlMethod.stringValue = displayInfo.controlMethod self.controlMethod.controlView?.toolTip = displayInfo.controlStatus } } func tagCommand(_ tag: Int) -> Command { var command: Command switch tag { case 2: command = Command.audioSpeakerVolume case 3: command = Command.contrast default: command = Command.brightness } return command } @IBAction func combinedBrightnessSwitchingPoint(_ sender: NSSlider) { if let display = display as? OtherDisplay { display.savePref(Int(sender.intValue), key: .combinedBrightnessSwitchingPoint) } } @IBAction func audioDeviceNameOverride(_ sender: NSTextField) { if let display = display as? OtherDisplay { display.savePref(sender.stringValue, key: .audioDeviceNameOverride) } app.configure() } @IBAction func updateWithCurrentAudioName(_: NSButton) { if let defaultDevice = app.coreAudio.defaultOutputDevice { self.audioDeviceNameOverride.stringValue = defaultDevice.name self.audioDeviceNameOverride(self.audioDeviceNameOverride) } } @IBAction func unavailableDDC(_ sender: NSButton) { let command = self.tagCommand(sender.tag) let prefKey = PrefKey.unavailableDDC if let display = display { switch sender.state { case .on: display.savePref(false, key: prefKey, for: command) case .off: display.savePref(true, key: prefKey, for: command) default: break } _ = display.setDirectBrightness(1) _ = display.setSwBrightness(1) } app.configure() } @IBAction func minDDCOverride(_ sender: NSTextField) { let command = self.tagCommand(sender.tag) let prefKey = PrefKey.minDDCOverride let value = sender.stringValue if let display = display as? OtherDisplay { if let intValue = Int(value), intValue >= 0, intValue <= 65535 { display.savePref(intValue, key: prefKey, for: command) } else { display.removePref(key: prefKey, for: command) } app.configure() if display.prefExists(key: prefKey, for: command) { sender.stringValue = String(display.readPrefAsInt(key: prefKey, for: command)) } else { sender.stringValue = "" } } else { sender.stringValue = "" } } @IBAction func maxDDCOverride(_ sender: NSTextField) { let command = self.tagCommand(sender.tag) let prefKey = PrefKey.maxDDCOverride let value = sender.stringValue if let display = display as? OtherDisplay { if !value.isEmpty, let intValue = UInt(value) { display.savePref(Int(intValue), key: prefKey, for: command) } else { display.removePref(key: prefKey, for: command) } app.configure() if display.prefExists(key: prefKey, for: command) { sender.stringValue = String(display.readPrefAsInt(key: prefKey, for: command)) } else { sender.stringValue = "" } } else { sender.stringValue = "" } } @IBAction func curveDDC(_ sender: NSSlider) { let command = self.tagCommand(sender.tag) let prefKey = PrefKey.curveDDC let value = Int(sender.intValue) if let display = display as? OtherDisplay { display.savePref(value, key: prefKey, for: command) } } @IBAction func invertDDC(_ sender: NSButton) { let command = self.tagCommand(sender.tag) let prefKey = PrefKey.invertDDC if let display = display as? OtherDisplay { switch sender.state { case .on: display.savePref(true, key: prefKey, for: command) case .off: display.savePref(false, key: prefKey, for: command) default: break } app.configure() } } @IBAction func remapDDC(_ sender: NSTextField) { let command = self.tagCommand(sender.tag) let prefKey = PrefKey.remapDDC let value = sender.stringValue let values = value.components(separatedBy: ",") var normalizedValues: [String] = [] var normalizedString = "" for value in values { let trimmedValue = value.trimmingCharacters(in: CharacterSet(charactersIn: " ")) if !trimmedValue.isEmpty, let intValue = UInt8(trimmedValue, radix: 16), intValue != 0 { normalizedValues.append(String(format: "%02x", intValue)) } } var first = true for normalizedValue in normalizedValues { if !first { normalizedString.append(", ") } normalizedString.append(normalizedValue) first = false } if let display = display as? OtherDisplay { display.savePref(normalizedString, key: prefKey, for: command) } sender.stringValue = normalizedString } @IBAction func resetSettings(_: NSButton) { if let disp = display { if self.ddcButton.isEnabled { // This signifies that the DDC block is enabled self.ddcButton.state = .on self.ddcButtonToggled(self.ddcButton) self.avoidGamma.state = .off self.avoidGamma(self.avoidGamma) self.disableVolumeOSDButton.state = .off self.disableVolumeOSDButton(self.disableVolumeOSDButton) self.pollingModeMenu.selectItem(withTag: 2) self.pollingModeValueChanged(self.pollingModeMenu) self.longerDelayButton.state = .off self.longerDelayButtonToggled(self.longerDelayButton) self.combinedBrightnessSwitchingPoint.intValue = 0 self.combinedBrightnessSwitchingPoint(self.combinedBrightnessSwitchingPoint) self.audioDeviceNameOverride.stringValue = "" self.audioDeviceNameOverride(self.audioDeviceNameOverride) self.unavailableDDCVolume.state = .on self.unavailableDDCContrast.state = .on self.minDDCOverrideBrightness.stringValue = "" self.minDDCOverrideVolume.stringValue = "" self.minDDCOverrideContrast.stringValue = "" self.maxDDCOverrideBrightness.stringValue = "" self.maxDDCOverrideVolume.stringValue = "" self.maxDDCOverrideContrast.stringValue = "" self.curveDDCBrightness.intValue = 5 self.curveDDCVolume.intValue = 5 self.curveDDCContrast.intValue = 5 self.invertDDCBrightness.state = .off self.invertDDCVolume.state = .off self.invertDDCContrast.state = .off self.remapDDCBrightness.stringValue = "" self.remapDDCVolume.stringValue = "" self.remapDDCContrast.stringValue = "" self.unavailableDDC(self.unavailableDDCVolume) self.unavailableDDC(self.unavailableDDCContrast) self.minDDCOverride(self.minDDCOverrideBrightness) self.minDDCOverride(self.minDDCOverrideVolume) self.minDDCOverride(self.minDDCOverrideContrast) self.maxDDCOverride(self.maxDDCOverrideBrightness) self.maxDDCOverride(self.maxDDCOverrideVolume) self.maxDDCOverride(self.maxDDCOverrideContrast) self.curveDDC(self.curveDDCBrightness) self.curveDDC(self.curveDDCVolume) self.curveDDC(self.curveDDCContrast) self.invertDDC(self.invertDDCBrightness) self.invertDDC(self.invertDDCVolume) self.invertDDC(self.invertDDCContrast) self.remapDDC(self.remapDDCBrightness) self.remapDDC(self.remapDDCVolume) self.remapDDC(self.remapDDCContrast) } self.unavailableDDCBrightness.state = .on self.unavailableDDC(self.unavailableDDCBrightness) self.friendlyName.stringValue = disp.name self.friendlyNameValueChanged(self.friendlyName) self.enabledButton.state = .on self.enabledButtonToggled(self.enabledButton) } } } ================================================ FILE: MonitorControl/View Controllers/Preferences/DisplaysPrefsViewController.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import os.log import Settings class DisplaysPrefsViewController: NSViewController, SettingsPane, NSTableViewDataSource, NSTableViewDelegate { let paneIdentifier = Settings.PaneIdentifier.displays let paneTitle: String = NSLocalizedString("Displays", comment: "Shown in the main prefs window") var toolbarItemIcon: NSImage { if !DEBUG_MACOS10, #available(macOS 11.0, *) { return NSImage(systemSymbolName: "display.2", accessibilityDescription: "Displays")! } else { return NSImage(named: NSImage.infoName)! } } var displays: [Display] = [] @IBOutlet var displayList: NSTableView! @IBOutlet var displayScrollView: NSScrollView! @IBOutlet var constraintHeight: NSLayoutConstraint! @IBOutlet var showAdvancedDisplays: NSButton! override func viewDidLoad() { super.viewDidLoad() self.displayScrollView.scrollerStyle = .legacy self.populateSettings() self.loadDisplayList() } func populateSettings() { self.showAdvancedDisplays.state = prefs.bool(forKey: PrefKey.showAdvancedSettings.rawValue) ? .on : .off } func updateGridLayout() -> Bool { let hide = !prefs.bool(forKey: PrefKey.showAdvancedSettings.rawValue) self.loadDisplayList() return !hide } @objc func loadDisplayList() { guard self.displayList != nil else { os_log("Reloading Displays settings display list skipped as there is no display list table yet.", type: .info) return } os_log("Reloading Displays settings display list", type: .info) self.displays = DisplayManager.shared.getAllDisplays() self.displayList?.reloadData() self.updateDisplayListRowHeight() } @IBAction func showAdvancedClicked(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.showAdvancedSettings.rawValue) case .off: prefs.set(false, forKey: PrefKey.showAdvancedSettings.rawValue) default: break } _ = self.updateGridLayout() displaysPrefsVc?.view.layoutSubtreeIfNeeded() } func numberOfRows(in _: NSTableView) -> Int { self.displays.count } public static func isImac() -> Bool { let platformExpertDevice = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice")) if let modelIdentifier = IORegistryEntryCreateCFProperty(platformExpertDevice, "model" as CFString, kCFAllocatorDefault, 0).takeRetainedValue() as? String { return modelIdentifier.contains("iMac") } return false } public struct DisplayInfo { var displayType = "" var displayImage = "" var controlMethod = "" var controlStatus = "" } public static func getDisplayInfo(display: Display) -> DisplayInfo { var displayType = NSLocalizedString("Other Display", comment: "Shown in the Display Settings") var displayImage = "display.trianglebadge.exclamationmark" var controlMethod = NSLocalizedString("No Control", comment: "Shown in the Display Settings") + " ⚠️" var controlStatus = NSLocalizedString("This display has an unspecified control status.", comment: "Shown in the Display Settings") if display.isVirtual, !display.isDummy { displayType = NSLocalizedString("Virtual Display", comment: "Shown in the Display Settings") displayImage = "tv.and.mediabox" controlMethod = NSLocalizedString("Software (shade)", comment: "Shown in the Display Settings") + " ⚠️" controlStatus = NSLocalizedString("This is a virtual display (examples: AirPlay, Sidecar, display connected via a DisplayLink Dock or similar) which does not allow hardware or software gammatable control. Shading is used as a substitute but only in non-mirror scenarios. Mouse cursor will be unaffected and artifacts may appear when entering/leaving full screen mode.", comment: "Shown in the Display Settings") } else if display is OtherDisplay, !display.isDummy { displayType = NSLocalizedString("External Display", comment: "Shown in the Display Settings") displayImage = "display" if let otherDisplay: OtherDisplay = display as? OtherDisplay { if otherDisplay.isSwOnly() { if otherDisplay.readPrefAsBool(key: .avoidGamma) { controlMethod = NSLocalizedString("Software (shade)", comment: "Shown in the Display Settings") + " ⚠️" } else { controlMethod = NSLocalizedString("Software (gamma)", comment: "Shown in the Display Settings") + " ⚠️" } displayImage = "display.trianglebadge.exclamationmark" controlStatus = NSLocalizedString("This display allows for software brightness control via gamma table manipulation or shade as it does not support hardware control. Reasons for this might be using the HDMI port of a Mac mini (which blocks hardware DDC control) or having a blacklisted display.", comment: "Shown in the Display Settings") } else { if otherDisplay.isSw() { if otherDisplay.readPrefAsBool(key: .avoidGamma) { controlMethod = NSLocalizedString("Software (shade, forced)", comment: "Shown in the Display Settings") } else { controlMethod = NSLocalizedString("Software (gamma, forced)", comment: "Shown in the Display Settings") } controlStatus = NSLocalizedString("This display is reported to support hardware DDC control but the current settings allow for software control only.", comment: "Shown in the Display Settings") } else { controlMethod = NSLocalizedString("Hardware (DDC)", comment: "Shown in the Display Settings") controlStatus = NSLocalizedString("This display is reported to support hardware DDC control. If you encounter issues, you can disable hardware DDC control to force software control.", comment: "Shown in the Display Settings") } } } } else if !display.isDummy, let appleDisplay: AppleDisplay = display as? AppleDisplay { if appleDisplay.isBuiltIn() { displayType = NSLocalizedString("Built-in Display", comment: "Shown in the Display Settings") if self.isImac() { displayImage = "desktopcomputer" } else { displayImage = "laptopcomputer" } } else { displayType = NSLocalizedString("External Display", comment: "Shown in the Display Settings") displayImage = "display" } controlMethod = NSLocalizedString("Hardware (Apple)", comment: "Shown in the Display Settings") controlStatus = NSLocalizedString("This display supports native Apple brightness protocol. This allows macOS to control this display without MonitorControl as well.", comment: "Shown in the Display Settings") } return DisplayInfo(displayType: displayType, displayImage: displayImage, controlMethod: controlMethod, controlStatus: controlStatus) } func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? { guard let tableColumn = tableColumn else { return nil } os_log("Populating Displays Table") let display = self.displays[row] if let cell = tableView.makeView(withIdentifier: tableColumn.identifier, owner: nil) as? DisplaysPrefsCellView { cell.display = display // ID cell.displayId.stringValue = String(display.identifier) // Firendly name cell.friendlyName.stringValue = (display.readPrefAsString(key: .friendlyName) != "" ? display.readPrefAsString(key: .friendlyName) : display.name) cell.friendlyName.isEditable = true // Enabled cell.enabledButton.state = display.readPrefAsBool(key: .isDisabled) ? .off : .on // Enabled cell.avoidGamma.state = display.readPrefAsBool(key: .avoidGamma) ? .on : .off if (display as? OtherDisplay)?.isVirtual ?? true { cell.avoidGamma.isEnabled = false } else { cell.avoidGamma.isEnabled = true } // DDC cell.ddcButton.state = ((display as? OtherDisplay)?.isSw() ?? true) ? .off : .on if ((display as? OtherDisplay)?.isSwOnly() ?? true) || ((display as? OtherDisplay)?.isVirtual ?? true) { cell.ddcButton.isEnabled = false } else { cell.ddcButton.isEnabled = true } // Display type, image, control method let displayInfo = DisplaysPrefsViewController.getDisplayInfo(display: display) cell.displayType.stringValue = displayInfo.displayType cell.controlMethod.stringValue = displayInfo.controlMethod cell.controlMethod.controlView?.toolTip = displayInfo.controlStatus if !DEBUG_MACOS10, #available(macOS 11.0, *) { cell.displayImage.image = NSImage(systemSymbolName: displayInfo.displayImage, accessibilityDescription: display.name)! } else { cell.displayImage.image = NSImage(named: NSImage.touchBarIconViewTemplateName)! } // Disable Volume OSD if let otherDisplay = display as? OtherDisplay, !otherDisplay.isSw() { cell.disableVolumeOSDButton.state = otherDisplay.readPrefAsBool(key: .hideOsd) ? .on : .off cell.disableVolumeOSDButton.isEnabled = true } else { cell.disableVolumeOSDButton.state = .off cell.disableVolumeOSDButton.isEnabled = false } // Advanced settings cell.unavailableDDCBrightness.state = !display.readPrefAsBool(key: .unavailableDDC, for: .brightness) ? .on : .off if let otherDisplay = display as? OtherDisplay, !otherDisplay.isSwOnly() { cell.pollingModeMenu.isEnabled = true cell.pollingModeMenu.selectItem(withTag: otherDisplay.readPrefAsInt(key: .pollingMode)) if otherDisplay.readPrefAsInt(key: .pollingMode) == PollingMode.custom.rawValue { cell.pollingCount.isEnabled = true } else { cell.pollingCount.isEnabled = false } cell.pollingCount.stringValue = String(otherDisplay.pollingCount) cell.longerDelayButton.isEnabled = true cell.longerDelayButton.state = otherDisplay.readPrefAsBool(key: .longerDelay) ? .on : .off cell.enableMuteButton.isEnabled = true cell.enableMuteButton.state = otherDisplay.readPrefAsBool(key: .enableMuteUnmute) ? .on : .off cell.combinedBrightnessSwitchingPoint.isEnabled = true cell.combinedBrightnessSwitchingPoint.intValue = Int32(otherDisplay.readPrefAsInt(key: .combinedBrightnessSwitchingPoint)) cell.audioDeviceNameOverride.isEnabled = true cell.audioDeviceNameOverride.stringValue = otherDisplay.readPrefAsString(key: .audioDeviceNameOverride) cell.updateWithCurrentAudioName.isEnabled = true cell.unavailableDDCVolume.isEnabled = true cell.unavailableDDCContrast.isEnabled = true cell.unavailableDDCVolume.state = !otherDisplay.readPrefAsBool(key: .unavailableDDC, for: .audioSpeakerVolume) ? .on : .off cell.unavailableDDCContrast.state = !otherDisplay.readPrefAsBool(key: .unavailableDDC, for: .contrast) ? .on : .off cell.minDDCOverrideBrightness.isEnabled = true cell.minDDCOverrideVolume.isEnabled = true cell.minDDCOverrideContrast.isEnabled = true cell.minDDCOverrideBrightness.stringValue = otherDisplay.readPrefAsString(key: .minDDCOverride, for: .brightness) cell.minDDCOverrideVolume.stringValue = otherDisplay.readPrefAsString(key: .minDDCOverride, for: .audioSpeakerVolume) cell.minDDCOverrideContrast.stringValue = otherDisplay.readPrefAsString(key: .minDDCOverride, for: .contrast) cell.maxDDCOverrideBrightness.isEnabled = true cell.maxDDCOverrideVolume.isEnabled = true cell.maxDDCOverrideContrast.isEnabled = true cell.maxDDCOverrideBrightness.stringValue = otherDisplay.readPrefAsString(key: .maxDDCOverride, for: .brightness) cell.maxDDCOverrideVolume.stringValue = otherDisplay.readPrefAsString(key: .maxDDCOverride, for: .audioSpeakerVolume) cell.maxDDCOverrideContrast.stringValue = otherDisplay.readPrefAsString(key: .maxDDCOverride, for: .contrast) cell.curveDDCBrightness.isEnabled = true cell.curveDDCVolume.isEnabled = true cell.curveDDCContrast.isEnabled = true cell.curveDDCBrightness.intValue = Int32(otherDisplay.readPrefAsInt(key: .curveDDC, for: .brightness) == 0 ? 5 : otherDisplay.readPrefAsInt(key: .curveDDC, for: .brightness)) cell.curveDDCVolume.intValue = Int32(otherDisplay.readPrefAsInt(key: .curveDDC, for: .audioSpeakerVolume) == 0 ? 5 : otherDisplay.readPrefAsInt(key: .curveDDC, for: .audioSpeakerVolume)) cell.curveDDCContrast.intValue = Int32(otherDisplay.readPrefAsInt(key: .curveDDC, for: .contrast) == 0 ? 5 : otherDisplay.readPrefAsInt(key: .curveDDC, for: .contrast)) cell.invertDDCBrightness.state = otherDisplay.readPrefAsBool(key: .invertDDC, for: .brightness) ? .on : .off cell.invertDDCVolume.state = otherDisplay.readPrefAsBool(key: .invertDDC, for: .audioSpeakerVolume) ? .on : .off cell.invertDDCContrast.state = otherDisplay.readPrefAsBool(key: .invertDDC, for: .contrast) ? .on : .off cell.invertDDCBrightness.isEnabled = true cell.invertDDCVolume.isEnabled = true cell.invertDDCContrast.isEnabled = true cell.remapDDCBrightness.isEnabled = true cell.remapDDCVolume.isEnabled = true cell.remapDDCContrast.isEnabled = true cell.remapDDCBrightness.stringValue = otherDisplay.readPrefAsString(key: .remapDDC, for: .brightness) cell.remapDDCVolume.stringValue = otherDisplay.readPrefAsString(key: .remapDDC, for: .audioSpeakerVolume) cell.remapDDCContrast.stringValue = otherDisplay.readPrefAsString(key: .remapDDC, for: .contrast) } else { cell.pollingModeMenu.selectItem(withTag: 0) cell.pollingModeMenu.isEnabled = false cell.pollingCount.stringValue = "" cell.pollingCount.isEnabled = false cell.longerDelayButton.state = .off cell.longerDelayButton.isEnabled = false cell.enableMuteButton.state = .off cell.enableMuteButton.isEnabled = false cell.combinedBrightnessSwitchingPoint.intValue = 0 cell.combinedBrightnessSwitchingPoint.isEnabled = false cell.audioDeviceNameOverride.isEnabled = false cell.audioDeviceNameOverride.stringValue = "" cell.updateWithCurrentAudioName.isEnabled = false cell.unavailableDDCVolume.state = .off cell.unavailableDDCContrast.state = .off cell.unavailableDDCVolume.isEnabled = false cell.unavailableDDCContrast.isEnabled = false cell.minDDCOverrideBrightness.stringValue = "" cell.minDDCOverrideVolume.stringValue = "" cell.minDDCOverrideContrast.stringValue = "" cell.minDDCOverrideBrightness.isEnabled = false cell.minDDCOverrideVolume.isEnabled = false cell.minDDCOverrideContrast.isEnabled = false cell.maxDDCOverrideBrightness.stringValue = "" cell.maxDDCOverrideVolume.stringValue = "" cell.maxDDCOverrideContrast.stringValue = "" cell.maxDDCOverrideBrightness.isEnabled = false cell.maxDDCOverrideVolume.isEnabled = false cell.maxDDCOverrideContrast.isEnabled = false cell.curveDDCBrightness.intValue = 5 cell.curveDDCVolume.intValue = 5 cell.curveDDCContrast.intValue = 5 cell.curveDDCBrightness.isEnabled = false cell.curveDDCVolume.isEnabled = false cell.curveDDCContrast.isEnabled = false cell.invertDDCBrightness.state = .off cell.invertDDCVolume.state = .off cell.invertDDCContrast.state = .off cell.invertDDCBrightness.isEnabled = false cell.invertDDCVolume.isEnabled = false cell.invertDDCContrast.isEnabled = false cell.remapDDCBrightness.stringValue = "" cell.remapDDCVolume.stringValue = "" cell.remapDDCContrast.stringValue = "" cell.remapDDCBrightness.isEnabled = false cell.remapDDCVolume.isEnabled = false cell.remapDDCContrast.isEnabled = false } if prefs.bool(forKey: PrefKey.showAdvancedSettings.rawValue) { cell.advancedSettings.isHidden = false } else { cell.advancedSettings.isHidden = true } return cell } return nil } func updateDisplayListRowHeight() { if prefs.bool(forKey: PrefKey.showAdvancedSettings.rawValue) { self.displayList?.rowHeight = 520 self.constraintHeight?.constant = self.displayList.rowHeight + 15 + 30 } else { self.displayList?.rowHeight = 180 self.constraintHeight?.constant = self.displayList.rowHeight * 2 + 15 + 30 } } } ================================================ FILE: MonitorControl/View Controllers/Preferences/KeyboardPrefsViewController.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import KeyboardShortcuts import ServiceManagement import Settings class KeyboardPrefsViewController: NSViewController, SettingsPane { let paneIdentifier = Settings.PaneIdentifier.keyboard let paneTitle: String = NSLocalizedString("Keyboard", comment: "Shown in the main prefs window") var toolbarItemIcon: NSImage { if !DEBUG_MACOS10, #available(macOS 11.0, *) { return NSImage(systemSymbolName: "keyboard", accessibilityDescription: "Keyboard")! } else { return NSImage(named: NSImage.infoName)! } } @IBOutlet var customBrightnessUp: NSView! @IBOutlet var customBrightnessDown: NSView! @IBOutlet var customContrastUp: NSView! @IBOutlet var customContrastDown: NSView! @IBOutlet var customVolumeUp: NSView! @IBOutlet var customVolumeDown: NSView! @IBOutlet var customMute: NSView! @IBOutlet var keyboardBrightness: NSPopUpButton! @IBOutlet var keyboardVolume: NSPopUpButton! @IBOutlet var disableAltBrightnessKeys: NSButton! @IBOutlet var multiKeyboardBrightness: NSPopUpButton! @IBOutlet var multiKeyboardVolume: NSPopUpButton! @IBOutlet var useFineScale: NSButton! @IBOutlet var useFineScaleVolume: NSButton! @IBOutlet var separateCombinedScale: NSButton! @IBOutlet var rowKeyboardBrightnessPopUp: NSGridRow! @IBOutlet var rowKeyboardBrightnessText: NSGridRow! @IBOutlet var rowDisableAltBrightnessKeysCheck: NSGridRow! @IBOutlet var rowDisableAltBrightnessKeysText: NSGridRow! @IBOutlet var rowCustomBrightnessShortcuts: NSGridRow! @IBOutlet var rowMultiKeyboardBrightness: NSGridRow! @IBOutlet var rowUseFocusText: NSGridRow! @IBOutlet var rowCustomAudioShortcuts: NSGridRow! @IBOutlet var rowUseAudioMouseText: NSGridRow! @IBOutlet var rowUseAudioNameText: NSGridRow! func updateGridLayout() { if self.keyboardBrightness.selectedTag() == KeyboardBrightness.media.rawValue { self.rowKeyboardBrightnessPopUp.bottomPadding = -13 self.rowKeyboardBrightnessText.isHidden = false self.rowDisableAltBrightnessKeysCheck.isHidden = false self.rowDisableAltBrightnessKeysText.isHidden = false self.rowCustomBrightnessShortcuts.isHidden = true } else if self.keyboardBrightness.selectedTag() == KeyboardBrightness.custom.rawValue { self.rowKeyboardBrightnessPopUp.bottomPadding = -6 self.rowKeyboardBrightnessText.isHidden = true self.rowDisableAltBrightnessKeysCheck.isHidden = true self.rowDisableAltBrightnessKeysText.isHidden = true self.rowCustomBrightnessShortcuts.isHidden = false } else if self.keyboardBrightness.selectedTag() == KeyboardBrightness.both.rawValue { self.rowKeyboardBrightnessPopUp.bottomPadding = -6 self.rowKeyboardBrightnessText.isHidden = true self.rowDisableAltBrightnessKeysCheck.isHidden = false self.rowDisableAltBrightnessKeysText.isHidden = false self.rowCustomBrightnessShortcuts.isHidden = false } else { self.rowKeyboardBrightnessPopUp.bottomPadding = -6 self.rowKeyboardBrightnessText.isHidden = true self.rowDisableAltBrightnessKeysCheck.isHidden = true self.rowDisableAltBrightnessKeysText.isHidden = true self.rowCustomBrightnessShortcuts.isHidden = true } if self.keyboardBrightness.selectedTag() == KeyboardBrightness.disabled.rawValue { self.multiKeyboardBrightness.isEnabled = false self.useFineScale.isEnabled = false self.separateCombinedScale.isEnabled = false } else { self.multiKeyboardBrightness.isEnabled = true self.useFineScale.isEnabled = true self.separateCombinedScale.isEnabled = true } if [KeyboardVolume.custom.rawValue, KeyboardVolume.both.rawValue].contains(self.keyboardVolume.selectedTag()) { self.rowCustomAudioShortcuts.isHidden = false } else { self.rowCustomAudioShortcuts.isHidden = true } if self.keyboardVolume.selectedTag() == KeyboardVolume.disabled.rawValue { self.multiKeyboardVolume.isEnabled = false self.useFineScaleVolume.isEnabled = false } else { self.multiKeyboardVolume.isEnabled = true self.useFineScaleVolume.isEnabled = true } if self.multiKeyboardBrightness.selectedTag() == MultiKeyboardBrightness.focusInsteadOfMouse.rawValue { self.rowMultiKeyboardBrightness.bottomPadding = -10 self.rowUseFocusText.isHidden = false } else { self.rowMultiKeyboardBrightness.bottomPadding = -6 self.rowUseFocusText.isHidden = true } if self.multiKeyboardVolume.selectedTag() == MultiKeyboardVolume.audioDeviceNameMatching.rawValue { self.rowUseAudioNameText.isHidden = false self.rowUseAudioMouseText.isHidden = true } else { self.rowUseAudioNameText.isHidden = true self.rowUseAudioMouseText.isHidden = false } } override func viewDidLoad() { super.viewDidLoad() let customBrightnessUpRecorder = KeyboardShortcuts.RecorderCocoa(for: .brightnessUp) let customBrightnessDownRecorder = KeyboardShortcuts.RecorderCocoa(for: .brightnessDown) let customContrastUpRecorder = KeyboardShortcuts.RecorderCocoa(for: .contrastUp) let customContrastDownRecorder = KeyboardShortcuts.RecorderCocoa(for: .contrastDown) let customVolumeUpRecorder = KeyboardShortcuts.RecorderCocoa(for: .volumeUp) let customVolumeDownRecorder = KeyboardShortcuts.RecorderCocoa(for: .volumeDown) let customMuteRecorder = KeyboardShortcuts.RecorderCocoa(for: .mute) customBrightnessUpRecorder.placeholderString = NSLocalizedString("Increase", comment: "Shown in record shortcut box") customContrastUpRecorder.placeholderString = customBrightnessUpRecorder.placeholderString customVolumeUpRecorder.placeholderString = customBrightnessUpRecorder.placeholderString customBrightnessDownRecorder.placeholderString = NSLocalizedString("Decrease", comment: "Shown in record shortcut box") customContrastDownRecorder.placeholderString = customBrightnessDownRecorder.placeholderString customVolumeDownRecorder.placeholderString = customBrightnessDownRecorder.placeholderString customMuteRecorder.placeholderString = NSLocalizedString("Mute", comment: "Shown in record shortcut box") self.customBrightnessUp.addSubview(customBrightnessUpRecorder) self.customBrightnessDown.addSubview(customBrightnessDownRecorder) self.customContrastUp.addSubview(customContrastUpRecorder) self.customContrastDown.addSubview(customContrastDownRecorder) self.customVolumeUp.addSubview(customVolumeUpRecorder) self.customVolumeDown.addSubview(customVolumeDownRecorder) self.customMute.addSubview(customMuteRecorder) self.populateSettings() } func populateSettings() { self.keyboardBrightness.selectItem(withTag: prefs.integer(forKey: PrefKey.keyboardBrightness.rawValue)) self.keyboardVolume.selectItem(withTag: prefs.integer(forKey: PrefKey.keyboardVolume.rawValue)) self.disableAltBrightnessKeys.state = prefs.bool(forKey: PrefKey.disableAltBrightnessKeys.rawValue) ? .on : .off self.multiKeyboardBrightness.selectItem(withTag: prefs.integer(forKey: PrefKey.multiKeyboardBrightness.rawValue)) self.multiKeyboardVolume.selectItem(withTag: prefs.integer(forKey: PrefKey.multiKeyboardVolume.rawValue)) self.useFineScale.state = prefs.bool(forKey: PrefKey.useFineScaleBrightness.rawValue) ? .on : .off self.useFineScaleVolume.state = prefs.bool(forKey: PrefKey.useFineScaleVolume.rawValue) ? .on : .off self.separateCombinedScale.state = prefs.bool(forKey: PrefKey.separateCombinedScale.rawValue) ? .on : .off self.updateGridLayout() } @IBAction func multiKeyboardBrightness(_ sender: NSPopUpButton) { prefs.set(sender.selectedTag(), forKey: PrefKey.multiKeyboardBrightness.rawValue) app.updateMediaKeyTap() self.updateGridLayout() } @IBAction func multiKeyboardVolume(_ sender: NSPopUpButton) { prefs.set(sender.selectedTag(), forKey: PrefKey.multiKeyboardVolume.rawValue) app.updateMediaKeyTap() self.updateGridLayout() } @IBAction func useFineScaleClicked(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.useFineScaleBrightness.rawValue) case .off: prefs.set(false, forKey: PrefKey.useFineScaleBrightness.rawValue) default: break } self.updateGridLayout() } @IBAction func useFineScaleVolumeClicked(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.useFineScaleVolume.rawValue) case .off: prefs.set(false, forKey: PrefKey.useFineScaleVolume.rawValue) default: break } } @IBAction func separateCombinedScale(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.separateCombinedScale.rawValue) case .off: prefs.set(false, forKey: PrefKey.separateCombinedScale.rawValue) default: break } self.updateGridLayout() } @IBAction func disableAltBrightnessKeys(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.disableAltBrightnessKeys.rawValue) case .off: prefs.set(false, forKey: PrefKey.disableAltBrightnessKeys.rawValue) default: break } self.updateGridLayout() app.updateMediaKeyTap() } @IBAction func keyboardBrightness(_ sender: NSPopUpButton) { prefs.set(sender.selectedTag(), forKey: PrefKey.keyboardBrightness.rawValue) app.updateMenusAndKeys() self.updateGridLayout() } @IBAction func keyboardVolume(_ sender: NSPopUpButton) { prefs.set(sender.selectedTag(), forKey: PrefKey.keyboardVolume.rawValue) app.updateMenusAndKeys() self.updateGridLayout() } } ================================================ FILE: MonitorControl/View Controllers/Preferences/MainPrefsViewController.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import os.log import ServiceManagement import Settings class MainPrefsViewController: NSViewController, SettingsPane { let paneIdentifier = Settings.PaneIdentifier.main let paneTitle: String = NSLocalizedString("General", comment: "Shown in the main prefs window") var toolbarItemIcon: NSImage { if !DEBUG_MACOS10, #available(macOS 11.0, *) { return NSImage(systemSymbolName: "switch.2", accessibilityDescription: "Display")! } else { return NSImage(named: NSImage.infoName)! } } @IBOutlet var startAtLogin: NSButton! @IBOutlet var automaticUpdateCheck: NSButton! @IBOutlet var allowZeroSwBrightness: NSButton! @IBOutlet var combinedBrightness: NSButton! @IBOutlet var enableSmooth: NSButton! @IBOutlet var enableBrightnessSync: NSButton! @IBOutlet var startupAction: NSPopUpButton! @IBOutlet var rowDoNothingStartupText: NSGridRow! @IBOutlet var rowWriteStartupText: NSGridRow! @IBOutlet var rowReadStartupText: NSGridRow! func updateGridLayout() { if self.startupAction.selectedTag() == StartupAction.doNothing.rawValue { self.rowDoNothingStartupText.isHidden = false self.rowWriteStartupText.isHidden = true self.rowReadStartupText.isHidden = true } else if self.startupAction.selectedTag() == StartupAction.write.rawValue { self.rowDoNothingStartupText.isHidden = true self.rowWriteStartupText.isHidden = false self.rowReadStartupText.isHidden = true } else { self.rowDoNothingStartupText.isHidden = true self.rowWriteStartupText.isHidden = true self.rowReadStartupText.isHidden = false } } @available(macOS, deprecated: 10.10) override func viewDidLoad() { super.viewDidLoad() self.populateSettings() } @available(macOS, deprecated: 10.10) func populateSettings() { // This is marked as deprectated but according to the function header it still does not have a replacement as of macOS 12 Monterey and is valid to use. let startAtLogin = (SMCopyAllJobDictionaries(kSMDomainUserLaunchd).takeRetainedValue() as? [[String: AnyObject]])?.first { $0["Label"] as? String == "\(Bundle.main.bundleIdentifier!)Helper" }?["OnDemand"] as? Bool ?? false self.startAtLogin.state = startAtLogin ? .on : .off self.automaticUpdateCheck.state = prefs.bool(forKey: PrefKey.SUEnableAutomaticChecks.rawValue) ? .on : .off self.combinedBrightness.state = prefs.bool(forKey: PrefKey.disableCombinedBrightness.rawValue) ? .off : .on self.allowZeroSwBrightness.state = prefs.bool(forKey: PrefKey.allowZeroSwBrightness.rawValue) ? .on : .off self.enableSmooth.state = prefs.bool(forKey: PrefKey.disableSmoothBrightness.rawValue) ? .off : .on self.enableBrightnessSync.state = prefs.bool(forKey: PrefKey.enableBrightnessSync.rawValue) ? .on : .off self.startupAction.selectItem(withTag: prefs.integer(forKey: PrefKey.startupAction.rawValue)) // Preload Display settings to some extent to properly set up size in orther that animation won't fail menuslidersPrefsVc?.view.layoutSubtreeIfNeeded() keyboardPrefsVc?.view.layoutSubtreeIfNeeded() displaysPrefsVc?.view.layoutSubtreeIfNeeded() aboutPrefsVc?.view.layoutSubtreeIfNeeded() self.updateGridLayout() } @IBAction func startAtLoginClicked(_ sender: NSButton) { switch sender.state { case .on: app.setStartAtLogin(enabled: true) case .off: app.setStartAtLogin(enabled: false) default: break } } @IBAction func automaticUpdateCheck(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.SUEnableAutomaticChecks.rawValue) case .off: prefs.set(false, forKey: PrefKey.SUEnableAutomaticChecks.rawValue) default: break } } @IBAction func combinedBrightness(_ sender: NSButton) { for display in DisplayManager.shared.getDdcCapableDisplays() where !display.isSw() { _ = display.setDirectBrightness(1) } DisplayManager.shared.resetSwBrightnessForAllDisplays(async: false) switch sender.state { case .on: prefs.set(false, forKey: PrefKey.disableCombinedBrightness.rawValue) case .off: prefs.set(true, forKey: PrefKey.disableCombinedBrightness.rawValue) default: break } app.configure() } @IBAction func allowZeroSwBrightness(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.allowZeroSwBrightness.rawValue) case .off: prefs.set(false, forKey: PrefKey.allowZeroSwBrightness.rawValue) default: break } for display in DisplayManager.shared.getOtherDisplays() { _ = display.setDirectBrightness(1) _ = display.setSwBrightness(1) } self.updateGridLayout() app.configure() } @IBAction func enableSmooth(_ sender: NSButton) { switch sender.state { case .on: prefs.set(false, forKey: PrefKey.disableSmoothBrightness.rawValue) case .off: prefs.set(true, forKey: PrefKey.disableSmoothBrightness.rawValue) default: break } } @IBAction func enableBrightnessSync(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.enableBrightnessSync.rawValue) case .off: prefs.set(false, forKey: PrefKey.enableBrightnessSync.rawValue) default: break } } @IBAction func startupAction(_ sender: NSPopUpButton) { prefs.set(sender.selectedTag(), forKey: PrefKey.startupAction.rawValue) self.updateGridLayout() } @available(macOS, deprecated: 10.10) func resetSheetModalHander(modalResponse: NSApplication.ModalResponse) { if modalResponse == NSApplication.ModalResponse.alertFirstButtonReturn { app.settingsReset() self.populateSettings() menuslidersPrefsVc?.populateSettings() keyboardPrefsVc?.populateSettings() displaysPrefsVc?.populateSettings() } } @available(macOS, deprecated: 10.10) @IBAction func resetPrefsClicked(_: NSButton) { let alert = NSAlert() alert.messageText = NSLocalizedString("Reset Settings?", comment: "Shown in the alert dialog") alert.informativeText = NSLocalizedString("Are you sure you want to reset all settings?", comment: "Shown in the alert dialog") alert.addButton(withTitle: NSLocalizedString("Yes", comment: "Shown in the alert dialog")) alert.addButton(withTitle: NSLocalizedString("No", comment: "Shown in the alert dialog")) alert.alertStyle = NSAlert.Style.warning if let window = self.view.window { alert.beginSheetModal(for: window, completionHandler: { modalResponse in self.resetSheetModalHander(modalResponse: modalResponse) }) } } } ================================================ FILE: MonitorControl/View Controllers/Preferences/MenuslidersPrefsViewController.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import os.log import ServiceManagement import Settings class MenuslidersPrefsViewController: NSViewController, SettingsPane { let paneIdentifier = Settings.PaneIdentifier.menusliders let paneTitle: String = NSLocalizedString("App menu", comment: "Shown in the main prefs window") var toolbarItemIcon: NSImage { if !DEBUG_MACOS10, #available(macOS 11.0, *) { return NSImage(systemSymbolName: "filemenu.and.cursorarrow", accessibilityDescription: "App menu")! } else { return NSImage(named: NSImage.infoName)! } } @IBOutlet var iconShow: NSPopUpButton! @IBOutlet var menuItemStyle: NSPopUpButton! @IBOutlet var quitApplication: NSButton! @IBOutlet var showBrightnessSlider: NSButton! @IBOutlet var showAppleFromMenu: NSButton! @IBOutlet var showVolumeSlider: NSButton! @IBOutlet var showContrastSlider: NSButton! @IBOutlet var multiSliders: NSPopUpButton! @IBOutlet var enableSliderSnap: NSButton! @IBOutlet var showTickMarks: NSButton! @IBOutlet var enableSliderPercent: NSButton! @IBOutlet var rowMenuItemStyle: NSGridRow! @IBOutlet var rowQuitButton: NSGridRow! @IBOutlet var rowQuitButtonText: NSGridRow! @IBOutlet var rowMultiSliders: NSGridRow! @IBOutlet var rowSlidersCombineText: NSGridRow! @IBOutlet var rowTickCheck: NSGridRow! @IBOutlet var rowTickText: NSGridRow! func updateGridLayout() { if app.macOS10() { self.rowMenuItemStyle.isHidden = true } else { self.rowMenuItemStyle.isHidden = false } if self.iconShow.selectedTag() != MenuIcon.show.rawValue || self.menuItemStyle.selectedTag() == MenuItemStyle.hide.rawValue { self.rowQuitButton.isHidden = false self.rowQuitButtonText.isHidden = false } else { self.rowQuitButton.isHidden = true self.rowQuitButtonText.isHidden = true } if self.multiSliders.selectedTag() == MultiSliders.separate.rawValue { self.rowMultiSliders.bottomPadding = -6 self.rowSlidersCombineText.isHidden = true } else if self.multiSliders.selectedTag() == MultiSliders.relevant.rawValue { self.rowMultiSliders.bottomPadding = -6 self.rowSlidersCombineText.isHidden = true } else if self.multiSliders.selectedTag() == MultiSliders.combine.rawValue { self.rowMultiSliders.bottomPadding = -10 self.rowSlidersCombineText.isHidden = false } if app.macOS10() { self.rowTickCheck.isHidden = true self.rowTickText.isHidden = true } else { self.rowTickCheck.isHidden = false self.rowTickText.isHidden = false } } override func viewDidLoad() { super.viewDidLoad() self.populateSettings() prefs.addObserver(self, forKeyPath: PrefKey.menuIcon.rawValue, context: nil) } func populateSettings() { self.iconShow.selectItem(withTag: prefs.integer(forKey: PrefKey.menuIcon.rawValue)) self.menuItemStyle.selectItem(withTag: prefs.integer(forKey: PrefKey.menuItemStyle.rawValue)) self.showBrightnessSlider.state = !prefs.bool(forKey: PrefKey.hideBrightness.rawValue) ? .on : .off if !prefs.bool(forKey: PrefKey.hideBrightness.rawValue) { self.showAppleFromMenu.isEnabled = true self.showAppleFromMenu.state = !prefs.bool(forKey: PrefKey.hideAppleFromMenu.rawValue) ? .on : .off } else { self.showAppleFromMenu.state = .off self.showAppleFromMenu.isEnabled = false } self.showContrastSlider.state = prefs.bool(forKey: PrefKey.showContrast.rawValue) ? .on : .off self.multiSliders.selectItem(withTag: prefs.integer(forKey: PrefKey.multiSliders.rawValue)) self.showVolumeSlider.state = prefs.bool(forKey: PrefKey.hideVolume.rawValue) ? .off : .on self.enableSliderSnap.state = prefs.bool(forKey: PrefKey.enableSliderSnap.rawValue) ? .on : .off self.showTickMarks.state = prefs.bool(forKey: PrefKey.showTickMarks.rawValue) ? .on : .off self.enableSliderPercent.state = prefs.bool(forKey: PrefKey.enableSliderPercent.rawValue) ? .on : .off self.updateGridLayout() } @IBAction func icon(_ sender: NSPopUpButton) { prefs.set(sender.selectedTag(), forKey: PrefKey.menuIcon.rawValue) app.updateMenusAndKeys() self.updateGridLayout() } @IBAction func menuItemStyle(_ sender: NSPopUpButton) { prefs.set(sender.selectedTag(), forKey: PrefKey.menuItemStyle.rawValue) app.updateMenusAndKeys() self.updateGridLayout() } @IBAction func quitApplicationClicked(_: NSButton) { NSApplication.shared.terminate(self) } @IBAction func showBrightnessSliderClicked(_ sender: NSButton) { switch sender.state { case .off: prefs.set(true, forKey: PrefKey.hideBrightness.rawValue) self.showAppleFromMenu.state = .off self.showAppleFromMenu.isEnabled = false case .on: prefs.set(false, forKey: PrefKey.hideBrightness.rawValue) self.showAppleFromMenu.isEnabled = true self.showAppleFromMenu.state = !prefs.bool(forKey: PrefKey.hideAppleFromMenu.rawValue) ? .on : .off default: break } app.updateMenusAndKeys() } @IBAction func showAppleFromMenuClicked(_ sender: NSButton) { switch sender.state { case .off: prefs.set(true, forKey: PrefKey.hideAppleFromMenu.rawValue) case .on: prefs.set(false, forKey: PrefKey.hideAppleFromMenu.rawValue) default: break } app.updateMenusAndKeys() } @IBAction func showVolumeSliderClicked(_ sender: NSButton) { switch sender.state { case .on: prefs.set(false, forKey: PrefKey.hideVolume.rawValue) case .off: prefs.set(true, forKey: PrefKey.hideVolume.rawValue) default: break } app.updateMenusAndKeys() } @IBAction func showContrastSliderClicked(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.showContrast.rawValue) case .off: prefs.set(false, forKey: PrefKey.showContrast.rawValue) default: break } app.updateMenusAndKeys() self.updateGridLayout() } @IBAction func enableSliderSnapClicked(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.enableSliderSnap.rawValue) case .off: prefs.set(false, forKey: PrefKey.enableSliderSnap.rawValue) default: break } app.updateMenusAndKeys() self.updateGridLayout() } @IBAction func multiSliders(_ sender: NSPopUpButton) { prefs.set(sender.selectedTag(), forKey: PrefKey.multiSliders.rawValue) app.updateMenusAndKeys() self.updateGridLayout() } @IBAction func showTickMarks(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.showTickMarks.rawValue) case .off: prefs.set(false, forKey: PrefKey.showTickMarks.rawValue) default: break } app.updateMenusAndKeys() self.updateGridLayout() } @IBAction func enableSliderPercent(_ sender: NSButton) { switch sender.state { case .on: prefs.set(true, forKey: PrefKey.enableSliderPercent.rawValue) case .off: prefs.set(false, forKey: PrefKey.enableSliderPercent.rawValue) default: break } app.updateMenusAndKeys() self.updateGridLayout() } override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { guard let object = object as? AnyObject else { return } if object === prefs, keyPath == PrefKey.menuIcon.rawValue { self.populateSettings() self.updateGridLayout() } } } ================================================ FILE: MonitorControl/main.swift ================================================ // Copyright © MonitorControl. @JoniVR, @theOneyouseek, @waydabber and others import Cocoa import Foundation // Debug let DEBUG_SW = false let DEBUG_VIRTUAL = false let DEBUG_MACOS10 = false let DEBUG_GAMMA_ENFORCER = false let DDC_MAX_DETECT_LIMIT: Int = 100 // Version let MIN_PREVIOUS_BUILD_NUMBER = 6262 // App var app: AppDelegate! var menu: MenuHandler! let prefs = UserDefaults.standard // Views private let storyboard = NSStoryboard(name: "Main", bundle: Bundle.main) let mainPrefsVc = storyboard.instantiateController(withIdentifier: "MainPrefsVC") as? MainPrefsViewController let displaysPrefsVc = storyboard.instantiateController(withIdentifier: "DisplaysPrefsVC") as? DisplaysPrefsViewController let menuslidersPrefsVc = storyboard.instantiateController(withIdentifier: "MenuslidersPrefsVC") as? MenuslidersPrefsViewController let keyboardPrefsVc = storyboard.instantiateController(withIdentifier: "KeyboardPrefsVC") as? KeyboardPrefsViewController let aboutPrefsVc = storyboard.instantiateController(withIdentifier: "AboutPrefsVC") as? AboutPrefsViewController let onboardingVc = storyboard.instantiateController(withIdentifier: "onboardingViewController") as? NSWindowController autoreleasepool { () in let mc = NSApplication.shared let mcDelegate = AppDelegate() mc.delegate = mcDelegate mc.run() } ================================================ FILE: MonitorControl.xcodeproj/project.pbxproj ================================================ // !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 55; objects = { /* Begin PBXBuildFile section */ 28D1DDF2227FBE71004CB494 /* NSScreen+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28D1DDF1227FBE71004CB494 /* NSScreen+Extension.swift */; }; 28D1DDF3227FC8C6004CB494 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 56754EB01D9A4016007BCDC5 /* Assets.xcassets */; }; 56754EAF1D9A4016007BCDC5 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56754EAE1D9A4016007BCDC5 /* main.swift */; }; 56754EB11D9A4016007BCDC5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 56754EB01D9A4016007BCDC5 /* Assets.xcassets */; }; 6C85EFDA22C941B000227EA1 /* DisplayManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C85EFD922C941B000227EA1 /* DisplayManager.swift */; }; 6CBFE27A23DB266000D1BC41 /* Display.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CBFE27923DB266000D1BC41 /* Display.swift */; }; 6CBFE27C23DB27A200D1BC41 /* AppleDisplay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CBFE27B23DB27A200D1BC41 /* AppleDisplay.swift */; }; 6CC260F6256AD8F900613714 /* Preferences+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CC260F5256AD8F900613714 /* Preferences+Extension.swift */; }; 6CD35F53264FFFC6001F1344 /* SimplyCoreAudio in Frameworks */ = {isa = PBXBuildFile; productRef = 6CD35F52264FFFC6001F1344 /* SimplyCoreAudio */; }; 6CD35F5626500008001F1344 /* MediaKeyTap in Frameworks */ = {isa = PBXBuildFile; productRef = 6CD35F5526500008001F1344 /* MediaKeyTap */; }; 6CDA0FCF26485A8300F52125 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6CDA0FCD26485A8300F52125 /* Main.storyboard */; }; 8C1741852707B91100E88D53 /* InternetAccessPolicy.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8C1741842707B91100E88D53 /* InternetAccessPolicy.plist */; }; 8C1741882707B91F00E88D53 /* InternetAccessPolicy.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8C17418A2707B91F00E88D53 /* InternetAccessPolicy.strings */; }; AA062E8A26C9A039007E628C /* DisplaysPrefsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA062E8926C9A039007E628C /* DisplaysPrefsViewController.swift */; }; AA062E8E26CA7BE5007E628C /* DisplaysPrefsCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA062E8D26CA7BE5007E628C /* DisplaysPrefsCellView.swift */; }; AA16139B26BE772E00DCF027 /* Arm64DDC.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA16139A26BE772E00DCF027 /* Arm64DDC.swift */; }; AA25F6CF26E680510087F3A2 /* MenuslidersPrefsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA25F6CE26E680510087F3A2 /* MenuslidersPrefsViewController.swift */; }; AA25F6D126E681D30087F3A2 /* KeyboardPrefsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA25F6D026E681D30087F3A2 /* KeyboardPrefsViewController.swift */; }; AA25F6D726E68C160087F3A2 /* MediaKeyTapManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA25F6D626E68C160087F3A2 /* MediaKeyTapManager.swift */; }; AA3B4A2826AE103C00B74CD2 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = AA3B4A2726AE103C00B74CD2 /* README.md */; }; AA4398A926DD55DA00943F16 /* IntelDDC.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA4398A826DD55DA00943F16 /* IntelDDC.swift */; }; AA44E703270377C200E06865 /* KeyboardShortcuts in Frameworks */ = {isa = PBXBuildFile; productRef = AA44E702270377C200E06865 /* KeyboardShortcuts */; }; AA44E7052703790100E06865 /* KeyboardShortcuts+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA44E7042703790100E06865 /* KeyboardShortcuts+Extension.swift */; }; AA44E70727038F7F00E06865 /* KeyboardShortcutsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA44E70627038F7F00E06865 /* KeyboardShortcutsManager.swift */; }; AA473EB126DFF8DE0063A181 /* Command.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA473EB026DFF8DE0063A181 /* Command.swift */; }; AA5314C426EBF5170041D178 /* PrefKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA5314C326EBF5170041D178 /* PrefKey.swift */; }; AA665A5D26C5892800FEF2C1 /* AboutPrefsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA665A5C26C5892800FEF2C1 /* AboutPrefsViewController.swift */; }; AA70817C27046B9800CC5625 /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = AA70817B27046B9800CC5625 /* Sparkle */; }; AA78BDBD2709FE7B00CA8DF7 /* UpdaterDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA78BDBC2709FE7B00CA8DF7 /* UpdaterDelegate.swift */; }; AA99521726FE25AB00612E07 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA99521626FE25AB00612E07 /* AppDelegate.swift */; }; AA99521926FE49A300612E07 /* MenuHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA99521826FE49A300612E07 /* MenuHandler.swift */; }; AA9AE86F26B5BF3D00B6CA65 /* OSD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA9AE86E26B5BF3D00B6CA65 /* OSD.framework */; }; AA9AE87126B5BFB700B6CA65 /* CoreDisplay.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA9AE87026B5BFB700B6CA65 /* CoreDisplay.framework */; }; AAB2F638273ED099004AB5A4 /* .swiftlint.yml in Resources */ = {isa = PBXBuildFile; fileRef = AAB2F637273ED099004AB5A4 /* .swiftlint.yml */; }; AAB2F63C273ED0AD004AB5A4 /* .swift-version in Resources */ = {isa = PBXBuildFile; fileRef = AAB2F639273ED0AD004AB5A4 /* .swift-version */; }; AAB2F63D273ED0AD004AB5A4 /* .gitignore in Resources */ = {isa = PBXBuildFile; fileRef = AAB2F63A273ED0AD004AB5A4 /* .gitignore */; }; AAB2F63E273ED0AD004AB5A4 /* .swiftformat in Resources */ = {isa = PBXBuildFile; fileRef = AAB2F63B273ED0AD004AB5A4 /* .swiftformat */; }; AAB2F640273ED0B8004AB5A4 /* .bartycrouch.toml in Resources */ = {isa = PBXBuildFile; fileRef = AAB2F63F273ED0B8004AB5A4 /* .bartycrouch.toml */; }; AAB2F642273ED0C7004AB5A4 /* .github in Resources */ = {isa = PBXBuildFile; fileRef = AAB2F641273ED0C7004AB5A4 /* .github */; }; AAB2F644273ED0E9004AB5A4 /* License.txt in Resources */ = {isa = PBXBuildFile; fileRef = AAB2F643273ED0E9004AB5A4 /* License.txt */; }; AACE5E2327050C63006C2A48 /* NSNotification+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = AACE5E2227050C63006C2A48 /* NSNotification+Extension.swift */; }; AAD7DD342CAFF3D90062822F /* Settings in Frameworks */ = {isa = PBXBuildFile; productRef = AAD7DD332CAFF3D90062822F /* Settings */; }; AADB625A26BC196900DFFAA5 /* DisplayServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AADB625926BC196900DFFAA5 /* DisplayServices.framework */; }; F01B0699228221B7008E64DB /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F01B0680228221B6008E64DB /* Localizable.strings */; }; F01B069F228221B7008E64DB /* SliderHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F01B068F228221B7008E64DB /* SliderHandler.swift */; }; F03A8DF21FFBAA6F0034DC27 /* OtherDisplay.swift in Sources */ = {isa = PBXBuildFile; fileRef = F03A8DF11FFBAA6F0034DC27 /* OtherDisplay.swift */; }; F0445D3820023E710025AE82 /* MainPrefsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0445D3720023E710025AE82 /* MainPrefsViewController.swift */; }; F06792EA200A73460066C438 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = F06792E9200A73460066C438 /* main.swift */; }; F06792F6200A745F0066C438 /* MonitorControlHelper.app in [Login] Copy Helper to start at Login */ = {isa = PBXBuildFile; fileRef = F06792E7200A73460066C438 /* MonitorControlHelper.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; F0A489C4279C71B200BEDFD6 /* OnboardingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0A489C3279C71B200BEDFD6 /* OnboardingViewController.swift */; }; FE4E0896249D584C003A50BB /* OSDUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE4E0895249D584C003A50BB /* OSDUtils.swift */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ F06792F5200A73FA0066C438 /* [Login] Copy Helper to start at Login */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = Contents/Library/LoginItems; dstSubfolderSpec = 1; files = ( F06792F6200A745F0066C438 /* MonitorControlHelper.app in [Login] Copy Helper to start at Login */, ); name = "[Login] Copy Helper to start at Login"; runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ 01D6471D2AF916A800321FFB /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Main.strings; sourceTree = ""; }; 01D6471E2AF916A800321FFB /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; 01D6471F2AF916A800321FFB /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; 17DE48C4273E9DC500A1779F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; }; 17DE48C5273E9DC500A1779F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; 17DE48C6273E9DC500A1779F /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; 28D1DDF1227FBE71004CB494 /* NSScreen+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSScreen+Extension.swift"; sourceTree = ""; }; 2FBCCED52853930200C06A13 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = ""; }; 2FBCCED62853930200C06A13 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; 2FBCCED72853930200C06A13 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; 56754EAB1D9A4016007BCDC5 /* MonitorControl.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MonitorControl.app; sourceTree = BUILT_PRODUCTS_DIR; }; 56754EAE1D9A4016007BCDC5 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = main.swift; sourceTree = ""; }; 56754EB01D9A4016007BCDC5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 6C85EFD922C941B000227EA1 /* DisplayManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DisplayManager.swift; sourceTree = ""; }; 6CBFE27923DB266000D1BC41 /* Display.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Display.swift; sourceTree = ""; }; 6CBFE27B23DB27A200D1BC41 /* AppleDisplay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppleDisplay.swift; sourceTree = ""; }; 6CC260F5256AD8F900613714 /* Preferences+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Preferences+Extension.swift"; sourceTree = ""; }; 6CDA0FCE26485A8300F52125 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 6CDA0FD026485AA100F52125 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Main.strings; sourceTree = ""; }; 6CF93A782707981300BA219D /* MonitorControlDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = MonitorControlDebug.entitlements; sourceTree = ""; }; 8C1741842707B91100E88D53 /* InternetAccessPolicy.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = InternetAccessPolicy.plist; sourceTree = ""; }; 8C1741892707B91F00E88D53 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; 8C17418B2707B92200E88D53 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InternetAccessPolicy.strings"; sourceTree = ""; }; 8C17418C2707B92400E88D53 /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/InternetAccessPolicy.strings"; sourceTree = ""; }; 8C17418D2707B92500E88D53 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; 8C17418E2707B92700E88D53 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; 8C17418F2707B92800E88D53 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; 8C1741902707B92800E88D53 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; 8C1741912707B92900E88D53 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; 8C1741932707B92A00E88D53 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; 8C1741972707B92E00E88D53 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; AA062E8926C9A039007E628C /* DisplaysPrefsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplaysPrefsViewController.swift; sourceTree = ""; }; AA062E8D26CA7BE5007E628C /* DisplaysPrefsCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplaysPrefsCellView.swift; sourceTree = ""; }; AA16139A26BE772E00DCF027 /* Arm64DDC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Arm64DDC.swift; sourceTree = ""; }; AA25F6CE26E680510087F3A2 /* MenuslidersPrefsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuslidersPrefsViewController.swift; sourceTree = ""; }; AA25F6D026E681D30087F3A2 /* KeyboardPrefsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardPrefsViewController.swift; sourceTree = ""; }; AA25F6D626E68C160087F3A2 /* MediaKeyTapManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaKeyTapManager.swift; sourceTree = ""; }; AA3B4A2726AE103C00B74CD2 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; AA4398A826DD55DA00943F16 /* IntelDDC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntelDDC.swift; sourceTree = ""; }; AA44E7042703790100E06865 /* KeyboardShortcuts+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KeyboardShortcuts+Extension.swift"; sourceTree = ""; }; AA44E70627038F7F00E06865 /* KeyboardShortcutsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardShortcutsManager.swift; sourceTree = ""; }; AA473EB026DFF8DE0063A181 /* Command.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Command.swift; sourceTree = ""; }; AA5314C326EBF5170041D178 /* PrefKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrefKey.swift; sourceTree = ""; }; AA665A5C26C5892800FEF2C1 /* AboutPrefsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutPrefsViewController.swift; sourceTree = ""; }; AA78BDBC2709FE7B00CA8DF7 /* UpdaterDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdaterDelegate.swift; sourceTree = ""; }; AA90101E27C56A0E00CC1DF7 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Main.strings; sourceTree = ""; }; AA90101F27C56A0E00CC1DF7 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; AA90102027C56A0E00CC1DF7 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = ""; }; AA99521626FE25AB00612E07 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; AA99521826FE49A300612E07 /* MenuHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuHandler.swift; sourceTree = ""; }; AA99E81527622EBE00413316 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Main.strings"; sourceTree = ""; }; AA99E81627622EBE00413316 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/InternetAccessPolicy.strings"; sourceTree = ""; }; AA99E81727622EBE00413316 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; AA9AE86E26B5BF3D00B6CA65 /* OSD.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OSD.framework; path = /System/Library/PrivateFrameworks/OSD.framework; sourceTree = ""; }; AA9AE87026B5BFB700B6CA65 /* CoreDisplay.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreDisplay.framework; path = /System/Library/Frameworks/CoreDisplay.framework; sourceTree = ""; }; AA9CB6252704BB440086DC0E /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Main.strings; sourceTree = ""; }; AA9CB6262704BB440086DC0E /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; AA9CB6272704C0530086DC0E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Main.strings; sourceTree = ""; }; AA9CB6282704C0530086DC0E /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; AA9CB62A2704C0890086DC0E /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = ""; }; AA9CB62B2704C0890086DC0E /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; AA9CB62D2704C0D70086DC0E /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Main.strings; sourceTree = ""; }; AA9CB62E2704C0D70086DC0E /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; AA9CB6332704C14D0086DC0E /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Main.strings; sourceTree = ""; }; AA9CB6342704C14D0086DC0E /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; AA9CB6352704C16F0086DC0E /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Main.strings; sourceTree = ""; }; AA9CB6362704C16F0086DC0E /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; AA9CB63B2704C1900086DC0E /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Main.strings; sourceTree = ""; }; AA9CB63C2704C1900086DC0E /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; AA9CB63F2704C1A40086DC0E /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = ""; }; AA9CB6402704C1A40086DC0E /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; AA9CB6412704C1B80086DC0E /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/Main.strings"; sourceTree = ""; }; AA9CB6422704C1B80086DC0E /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/Localizable.strings"; sourceTree = ""; }; AAA4BEAA2825662C004781C3 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Main.strings; sourceTree = ""; }; AAA4BEAB2825662C004781C3 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; AAA4BEAC2825662C004781C3 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; AAB2F637273ED099004AB5A4 /* .swiftlint.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; path = .swiftlint.yml; sourceTree = ""; }; AAB2F639273ED0AD004AB5A4 /* .swift-version */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ".swift-version"; sourceTree = ""; }; AAB2F63A273ED0AD004AB5A4 /* .gitignore */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; AAB2F63B273ED0AD004AB5A4 /* .swiftformat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .swiftformat; sourceTree = ""; }; AAB2F63F273ED0B8004AB5A4 /* .bartycrouch.toml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .bartycrouch.toml; sourceTree = ""; }; AAB2F641273ED0C7004AB5A4 /* .github */ = {isa = PBXFileReference; lastKnownFileType = folder; path = .github; sourceTree = ""; }; AAB2F643273ED0E9004AB5A4 /* License.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = License.txt; sourceTree = ""; }; AABCFABB2B47247200344F55 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Main.strings; sourceTree = ""; }; AABCFABC2B47247200344F55 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; AABCFABD2B47247200344F55 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Localizable.strings; sourceTree = ""; }; AACE5E2227050C63006C2A48 /* NSNotification+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSNotification+Extension.swift"; sourceTree = ""; }; AADB625926BC196900DFFAA5 /* DisplayServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DisplayServices.framework; path = /System/Library/PrivateFrameworks/DisplayServices.framework; sourceTree = ""; }; B7FA437E2AC5857A00A94C01 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Main.strings; sourceTree = ""; }; B7FA437F2AC5857A00A94C01 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InternetAccessPolicy.strings; sourceTree = ""; }; B7FA43802AC5857A00A94C01 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; F01B0682228221B6008E64DB /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; F01B0685228221B6008E64DB /* Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bridging-Header.h"; sourceTree = ""; }; F01B0686228221B6008E64DB /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; F01B068F228221B7008E64DB /* SliderHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SliderHandler.swift; sourceTree = ""; }; F03A8DF11FFBAA6F0034DC27 /* OtherDisplay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OtherDisplay.swift; sourceTree = ""; }; F0445D3720023E710025AE82 /* MainPrefsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainPrefsViewController.swift; sourceTree = ""; }; F06792E7200A73460066C438 /* MonitorControlHelper.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MonitorControlHelper.app; sourceTree = BUILT_PRODUCTS_DIR; }; F06792E9200A73460066C438 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; F06792F0200A73470066C438 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; F06792F1200A73470066C438 /* MonitorControlHelper.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = MonitorControlHelper.entitlements; sourceTree = ""; }; F0A489C3279C71B200BEDFD6 /* OnboardingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingViewController.swift; sourceTree = ""; }; FB5DB28E2AD54C4600306223 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Main.strings"; sourceTree = ""; }; FB5DB28F2AD54C4600306223 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/InternetAccessPolicy.strings"; sourceTree = ""; }; FB5DB2902AD54C4600306223 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; FE4E0895249D584C003A50BB /* OSDUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OSDUtils.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 56754EA81D9A4016007BCDC5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( AA9AE87126B5BFB700B6CA65 /* CoreDisplay.framework in Frameworks */, AA70817C27046B9800CC5625 /* Sparkle in Frameworks */, AA44E703270377C200E06865 /* KeyboardShortcuts in Frameworks */, 6CD35F53264FFFC6001F1344 /* SimplyCoreAudio in Frameworks */, 6CD35F5626500008001F1344 /* MediaKeyTap in Frameworks */, AA9AE86F26B5BF3D00B6CA65 /* OSD.framework in Frameworks */, AAD7DD342CAFF3D90062822F /* Settings in Frameworks */, AADB625A26BC196900DFFAA5 /* DisplayServices.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; F06792E4200A73460066C438 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 28D1DDD1227FB759004CB494 /* Frameworks */ = { isa = PBXGroup; children = ( AA9AE86E26B5BF3D00B6CA65 /* OSD.framework */, AA9AE87026B5BFB700B6CA65 /* CoreDisplay.framework */, AADB625926BC196900DFFAA5 /* DisplayServices.framework */, ); name = Frameworks; sourceTree = ""; }; 28D1DDEB227FB8E9004CB494 /* Extensions */ = { isa = PBXGroup; children = ( 28D1DDF1227FBE71004CB494 /* NSScreen+Extension.swift */, 6CC260F5256AD8F900613714 /* Preferences+Extension.swift */, AA44E7042703790100E06865 /* KeyboardShortcuts+Extension.swift */, AACE5E2227050C63006C2A48 /* NSNotification+Extension.swift */, ); path = Extensions; sourceTree = ""; }; 56754EA21D9A4016007BCDC5 = { isa = PBXGroup; children = ( AAB2F646273ED127004AB5A4 /* Misc */, 28D1DDD1227FB759004CB494 /* Frameworks */, 56754EAD1D9A4016007BCDC5 /* MonitorControl */, F06792E8200A73460066C438 /* MonitorControlHelper */, 56754EAC1D9A4016007BCDC5 /* Products */, ); indentWidth = 2; sourceTree = ""; }; 56754EAC1D9A4016007BCDC5 /* Products */ = { isa = PBXGroup; children = ( 56754EAB1D9A4016007BCDC5 /* MonitorControl.app */, F06792E7200A73460066C438 /* MonitorControlHelper.app */, ); name = Products; sourceTree = ""; }; 56754EAD1D9A4016007BCDC5 /* MonitorControl */ = { isa = PBXGroup; children = ( 6CF93A782707981300BA219D /* MonitorControlDebug.entitlements */, 8C1741842707B91100E88D53 /* InternetAccessPolicy.plist */, F01B0686228221B6008E64DB /* Info.plist */, 56754EB01D9A4016007BCDC5 /* Assets.xcassets */, 56754EAE1D9A4016007BCDC5 /* main.swift */, 6C6C34F423DB25BF00C0E9CB /* Model */, F01B067F228221B6008E64DB /* Support */, AA9D231226EE0B25007E22E7 /* Enums */, 28D1DDEB227FB8E9004CB494 /* Extensions */, F01B0687228221B6008E64DB /* UI */, F0445D3620023D5B0025AE82 /* View Controllers */, ); path = MonitorControl; sourceTree = ""; }; 6C6C34F423DB25BF00C0E9CB /* Model */ = { isa = PBXGroup; children = ( 6CBFE27923DB266000D1BC41 /* Display.swift */, 6CBFE27B23DB27A200D1BC41 /* AppleDisplay.swift */, F03A8DF11FFBAA6F0034DC27 /* OtherDisplay.swift */, ); path = Model; sourceTree = ""; }; AA9D231226EE0B25007E22E7 /* Enums */ = { isa = PBXGroup; children = ( AA473EB026DFF8DE0063A181 /* Command.swift */, AA5314C326EBF5170041D178 /* PrefKey.swift */, ); path = Enums; sourceTree = ""; }; AAB2F646273ED127004AB5A4 /* Misc */ = { isa = PBXGroup; children = ( AAB2F641273ED0C7004AB5A4 /* .github */, AAB2F63A273ED0AD004AB5A4 /* .gitignore */, AAB2F637273ED099004AB5A4 /* .swiftlint.yml */, AAB2F639273ED0AD004AB5A4 /* .swift-version */, AAB2F63B273ED0AD004AB5A4 /* .swiftformat */, AAB2F63F273ED0B8004AB5A4 /* .bartycrouch.toml */, AAB2F643273ED0E9004AB5A4 /* License.txt */, AA3B4A2726AE103C00B74CD2 /* README.md */, ); name = Misc; sourceTree = ""; }; F01B067F228221B6008E64DB /* Support */ = { isa = PBXGroup; children = ( F01B0685228221B6008E64DB /* Bridging-Header.h */, AA99521626FE25AB00612E07 /* AppDelegate.swift */, AA78BDBC2709FE7B00CA8DF7 /* UpdaterDelegate.swift */, AA99521826FE49A300612E07 /* MenuHandler.swift */, F01B068F228221B7008E64DB /* SliderHandler.swift */, 6C85EFD922C941B000227EA1 /* DisplayManager.swift */, AA25F6D626E68C160087F3A2 /* MediaKeyTapManager.swift */, AA44E70627038F7F00E06865 /* KeyboardShortcutsManager.swift */, AA16139A26BE772E00DCF027 /* Arm64DDC.swift */, AA4398A826DD55DA00943F16 /* IntelDDC.swift */, FE4E0895249D584C003A50BB /* OSDUtils.swift */, ); path = Support; sourceTree = ""; }; F01B0687228221B6008E64DB /* UI */ = { isa = PBXGroup; children = ( 8C17418A2707B91F00E88D53 /* InternetAccessPolicy.strings */, F01B0680228221B6008E64DB /* Localizable.strings */, 6CDA0FCD26485A8300F52125 /* Main.storyboard */, ); path = UI; sourceTree = ""; }; F0445D3620023D5B0025AE82 /* View Controllers */ = { isa = PBXGroup; children = ( F0A489C2279C719200BEDFD6 /* Onboarding */, F0A489C1279C718400BEDFD6 /* Preferences */, ); path = "View Controllers"; sourceTree = ""; }; F06792E8200A73460066C438 /* MonitorControlHelper */ = { isa = PBXGroup; children = ( F06792F0200A73470066C438 /* Info.plist */, F06792E9200A73460066C438 /* main.swift */, F06792F1200A73470066C438 /* MonitorControlHelper.entitlements */, ); path = MonitorControlHelper; sourceTree = ""; }; F0A489C1279C718400BEDFD6 /* Preferences */ = { isa = PBXGroup; children = ( F0445D3720023E710025AE82 /* MainPrefsViewController.swift */, AA25F6CE26E680510087F3A2 /* MenuslidersPrefsViewController.swift */, AA25F6D026E681D30087F3A2 /* KeyboardPrefsViewController.swift */, AA062E8926C9A039007E628C /* DisplaysPrefsViewController.swift */, AA062E8D26CA7BE5007E628C /* DisplaysPrefsCellView.swift */, AA665A5C26C5892800FEF2C1 /* AboutPrefsViewController.swift */, ); path = Preferences; sourceTree = ""; }; F0A489C2279C719200BEDFD6 /* Onboarding */ = { isa = PBXGroup; children = ( F0A489C3279C71B200BEDFD6 /* OnboardingViewController.swift */, ); path = Onboarding; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ 56754EAA1D9A4016007BCDC5 /* MonitorControl */ = { isa = PBXNativeTarget; buildConfigurationList = 56754EB81D9A4016007BCDC5 /* Build configuration list for PBXNativeTarget "MonitorControl" */; buildPhases = ( 28D1DE0C227FCFAF004CB494 /* [Format] Run SwiftFormat */, F03A8DF01FFB9D4C0034DC27 /* [Lint] Run SwiftLint */, 6CB1BDB2253C7EBE00B52124 /* [Localization] Run BartyCrouch */, 56754EA71D9A4016007BCDC5 /* Sources */, 56754EA81D9A4016007BCDC5 /* Frameworks */, 56754EA91D9A4016007BCDC5 /* Resources */, F06792F5200A73FA0066C438 /* [Login] Copy Helper to start at Login */, ); buildRules = ( ); dependencies = ( ); name = MonitorControl; packageProductDependencies = ( 6CD35F52264FFFC6001F1344 /* SimplyCoreAudio */, 6CD35F5526500008001F1344 /* MediaKeyTap */, AA44E702270377C200E06865 /* KeyboardShortcuts */, AA70817B27046B9800CC5625 /* Sparkle */, AAD7DD332CAFF3D90062822F /* Settings */, ); productName = MonitorControl.OSX; productReference = 56754EAB1D9A4016007BCDC5 /* MonitorControl.app */; productType = "com.apple.product-type.application"; }; F06792E6200A73460066C438 /* MonitorControlHelper */ = { isa = PBXNativeTarget; buildConfigurationList = F06792F4200A73470066C438 /* Build configuration list for PBXNativeTarget "MonitorControlHelper" */; buildPhases = ( F06792E3200A73460066C438 /* Sources */, F06792E4200A73460066C438 /* Frameworks */, F06792E5200A73460066C438 /* Resources */, 28F6A5802283515F00A4ADCD /* Increase Build Number */, 28F6A5822283548F00A4ADCD /* Sync Version Numbers */, ); buildRules = ( ); dependencies = ( ); name = MonitorControlHelper; productName = MonitorControlHelper; productReference = F06792E7200A73460066C438 /* MonitorControlHelper.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 56754EA31D9A4016007BCDC5 /* Project object */ = { isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 0920; LastUpgradeCheck = 1610; ORGANIZATIONNAME = MonitorControl; TargetAttributes = { 56754EAA1D9A4016007BCDC5 = { CreatedOnToolsVersion = 8.0; LastSwiftMigration = 1020; ProvisioningStyle = Automatic; }; F06792E6200A73460066C438 = { CreatedOnToolsVersion = 9.2; LastSwiftMigration = 1020; ProvisioningStyle = Automatic; }; }; }; buildConfigurationList = 56754EA61D9A4016007BCDC5 /* Build configuration list for PBXProject "MonitorControl" */; compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, hu, de, fr, it, ko, nl, tr, "zh-Hans", "zh-Hant-TW", es, "pt-BR", cs, pl, ru, ja, "pt-PT", hi, sk, ); mainGroup = 56754EA21D9A4016007BCDC5; packageReferences = ( 6CD35F51264FFFC6001F1344 /* XCRemoteSwiftPackageReference "SimplyCoreAudio" */, 6CD35F5426500008001F1344 /* XCRemoteSwiftPackageReference "MediaKeyTap" */, 6CD35F5A2650003F001F1344 /* XCRemoteSwiftPackageReference "Settings" */, AA44E701270377C200E06865 /* XCRemoteSwiftPackageReference "KeyboardShortcuts" */, AA70817A27046B9800CC5625 /* XCRemoteSwiftPackageReference "Sparkle" */, ); productRefGroup = 56754EAC1D9A4016007BCDC5 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 56754EAA1D9A4016007BCDC5 /* MonitorControl */, F06792E6200A73460066C438 /* MonitorControlHelper */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ 56754EA91D9A4016007BCDC5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( AAB2F642273ED0C7004AB5A4 /* .github in Resources */, AAB2F63E273ED0AD004AB5A4 /* .swiftformat in Resources */, 56754EB11D9A4016007BCDC5 /* Assets.xcassets in Resources */, 6CDA0FCF26485A8300F52125 /* Main.storyboard in Resources */, AAB2F640273ED0B8004AB5A4 /* .bartycrouch.toml in Resources */, 8C1741852707B91100E88D53 /* InternetAccessPolicy.plist in Resources */, AAB2F638273ED099004AB5A4 /* .swiftlint.yml in Resources */, AAB2F63C273ED0AD004AB5A4 /* .swift-version in Resources */, AA3B4A2826AE103C00B74CD2 /* README.md in Resources */, F01B0699228221B7008E64DB /* Localizable.strings in Resources */, AAB2F63D273ED0AD004AB5A4 /* .gitignore in Resources */, 8C1741882707B91F00E88D53 /* InternetAccessPolicy.strings in Resources */, AAB2F644273ED0E9004AB5A4 /* License.txt in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; F06792E5200A73460066C438 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 28D1DDF3227FC8C6004CB494 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ 28D1DE0C227FCFAF004CB494 /* [Format] Run SwiftFormat */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 12; files = ( ); inputFileListPaths = ( ); inputPaths = ( ); name = "[Format] Run SwiftFormat"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "export PATH=\"$PATH:/opt/homebrew/bin\"\nif which swiftformat >/dev/null; then\n swiftformat .\nelse\n echo \"warning: SwiftFormat not installed, download from https://github.com/nicklockwood/SwiftFormat\" >&2\nfi\n"; }; 28F6A5802283515F00A4ADCD /* Increase Build Number */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( ); name = "Increase Build Number"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = "/bin/bash -euo pipefail"; shellScript = "files_have_changed() {\n test -n \"$(find \"${1}\" ! -path '*xcuserdata*' ! -path '*.git' ! -path '*.git/*' -newer \"${2}\")\"\n}\n\nif files_have_changed \"${PROJECT_DIR}\" \"${INFOPLIST_FILE}\"; then\n build_number=\"$(/usr/libexec/PlistBuddy -c \"Print CFBundleVersion\" \"${INFOPLIST_FILE}\")\"\n new_build_number=\"$((build_number + 1))\"\n\n /usr/libexec/PlistBuddy -c \"Set :CFBundleVersion ${new_build_number}\" \"${INFOPLIST_FILE/Helper/}\"\n /usr/libexec/PlistBuddy -c \"Set :CFBundleVersion ${new_build_number}\" \"${INFOPLIST_FILE}\"\nfi\n"; }; 28F6A5822283548F00A4ADCD /* Sync Version Numbers */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( ); name = "Sync Version Numbers"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = "/bin/bash -euo pipefail"; shellScript = "version_number=\"$(/usr/libexec/PlistBuddy -c \"Print CFBundleShortVersionString\" \"${INFOPLIST_FILE/Helper/}\")\"\n\n/usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString ${version_number}\" \"${INFOPLIST_FILE/Helper/}\"\n/usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString ${version_number}\" \"${INFOPLIST_FILE}\"\n"; }; 6CB1BDB2253C7EBE00B52124 /* [Localization] Run BartyCrouch */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 12; files = ( ); inputFileListPaths = ( ); inputPaths = ( ); name = "[Localization] Run BartyCrouch"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "echo Skipping bartycrouch\n# export PATH=\"$PATH:/opt/homebrew/bin\"\n# if which bartycrouch > /dev/null; then\n# bartycrouch update -x\n# bartycrouch lint -x\n# else\n# echo \"warning: BartyCrouch not installed, download it from https://github.com/Flinesoft/BartyCrouch\"\n# fi\n"; }; F03A8DF01FFB9D4C0034DC27 /* [Lint] Run SwiftLint */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 12; files = ( ); inputPaths = ( ); name = "[Lint] Run SwiftLint"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "export PATH=\"$PATH:/opt/homebrew/bin\"\nif which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\" >&2\nfi\n"; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 56754EA71D9A4016007BCDC5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( AA5314C426EBF5170041D178 /* PrefKey.swift in Sources */, 56754EAF1D9A4016007BCDC5 /* main.swift in Sources */, AA062E8A26C9A039007E628C /* DisplaysPrefsViewController.swift in Sources */, AA473EB126DFF8DE0063A181 /* Command.swift in Sources */, 6CC260F6256AD8F900613714 /* Preferences+Extension.swift in Sources */, AA99521926FE49A300612E07 /* MenuHandler.swift in Sources */, AA665A5D26C5892800FEF2C1 /* AboutPrefsViewController.swift in Sources */, 6CBFE27C23DB27A200D1BC41 /* AppleDisplay.swift in Sources */, AA062E8E26CA7BE5007E628C /* DisplaysPrefsCellView.swift in Sources */, AA25F6D726E68C160087F3A2 /* MediaKeyTapManager.swift in Sources */, FE4E0896249D584C003A50BB /* OSDUtils.swift in Sources */, 6CBFE27A23DB266000D1BC41 /* Display.swift in Sources */, AA44E70727038F7F00E06865 /* KeyboardShortcutsManager.swift in Sources */, F03A8DF21FFBAA6F0034DC27 /* OtherDisplay.swift in Sources */, AA78BDBD2709FE7B00CA8DF7 /* UpdaterDelegate.swift in Sources */, AA44E7052703790100E06865 /* KeyboardShortcuts+Extension.swift in Sources */, F0A489C4279C71B200BEDFD6 /* OnboardingViewController.swift in Sources */, AA16139B26BE772E00DCF027 /* Arm64DDC.swift in Sources */, F0445D3820023E710025AE82 /* MainPrefsViewController.swift in Sources */, 28D1DDF2227FBE71004CB494 /* NSScreen+Extension.swift in Sources */, AA99521726FE25AB00612E07 /* AppDelegate.swift in Sources */, AA25F6D126E681D30087F3A2 /* KeyboardPrefsViewController.swift in Sources */, F01B069F228221B7008E64DB /* SliderHandler.swift in Sources */, AACE5E2327050C63006C2A48 /* NSNotification+Extension.swift in Sources */, AA25F6CF26E680510087F3A2 /* MenuslidersPrefsViewController.swift in Sources */, AA4398A926DD55DA00943F16 /* IntelDDC.swift in Sources */, 6C85EFDA22C941B000227EA1 /* DisplayManager.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; F06792E3200A73460066C438 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( F06792EA200A73460066C438 /* main.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ 6CDA0FCD26485A8300F52125 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( 6CDA0FCE26485A8300F52125 /* Base */, 6CDA0FD026485AA100F52125 /* en */, AA9CB6252704BB440086DC0E /* hu */, AA9CB6272704C0530086DC0E /* de */, AA9CB62A2704C0890086DC0E /* fr */, AA9CB62D2704C0D70086DC0E /* it */, AA9CB6332704C14D0086DC0E /* ko */, AA9CB6352704C16F0086DC0E /* nl */, AA9CB63B2704C1900086DC0E /* tr */, AA9CB63F2704C1A40086DC0E /* zh-Hans */, AA9CB6412704C1B80086DC0E /* zh-Hant-TW */, 17DE48C4273E9DC500A1779F /* es */, AA99E81527622EBE00413316 /* pt-BR */, AA90101E27C56A0E00CC1DF7 /* cs */, AAA4BEAA2825662C004781C3 /* pl */, 2FBCCED52853930200C06A13 /* ru */, B7FA437E2AC5857A00A94C01 /* ja */, FB5DB28E2AD54C4600306223 /* pt-PT */, 01D6471D2AF916A800321FFB /* hi */, AABCFABB2B47247200344F55 /* sk */, ); name = Main.storyboard; sourceTree = ""; }; 8C17418A2707B91F00E88D53 /* InternetAccessPolicy.strings */ = { isa = PBXVariantGroup; children = ( 8C1741892707B91F00E88D53 /* en */, 8C17418B2707B92200E88D53 /* zh-Hans */, 8C17418C2707B92400E88D53 /* zh-Hant-TW */, 8C17418D2707B92500E88D53 /* nl */, 8C17418E2707B92700E88D53 /* fr */, 8C17418F2707B92800E88D53 /* de */, 8C1741902707B92800E88D53 /* hu */, 8C1741912707B92900E88D53 /* it */, 8C1741932707B92A00E88D53 /* ko */, 8C1741972707B92E00E88D53 /* tr */, 17DE48C5273E9DC500A1779F /* es */, AA99E81627622EBE00413316 /* pt-BR */, AA90101F27C56A0E00CC1DF7 /* cs */, AAA4BEAB2825662C004781C3 /* pl */, 2FBCCED62853930200C06A13 /* ru */, B7FA437F2AC5857A00A94C01 /* ja */, FB5DB28F2AD54C4600306223 /* pt-PT */, 01D6471E2AF916A800321FFB /* hi */, AABCFABC2B47247200344F55 /* sk */, ); name = InternetAccessPolicy.strings; sourceTree = ""; }; F01B0680228221B6008E64DB /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( F01B0682228221B6008E64DB /* en */, AA9CB6262704BB440086DC0E /* hu */, AA9CB6282704C0530086DC0E /* de */, AA9CB62B2704C0890086DC0E /* fr */, AA9CB62E2704C0D70086DC0E /* it */, AA9CB6342704C14D0086DC0E /* ko */, AA9CB6362704C16F0086DC0E /* nl */, AA9CB63C2704C1900086DC0E /* tr */, AA9CB6402704C1A40086DC0E /* zh-Hans */, AA9CB6422704C1B80086DC0E /* zh-Hant-TW */, 17DE48C6273E9DC500A1779F /* es */, AA99E81727622EBE00413316 /* pt-BR */, AA90102027C56A0E00CC1DF7 /* cs */, AAA4BEAC2825662C004781C3 /* pl */, 2FBCCED72853930200C06A13 /* ru */, B7FA43802AC5857A00A94C01 /* ja */, FB5DB2902AD54C4600306223 /* pt-PT */, 01D6471F2AF916A800321FFB /* hi */, AABCFABD2B47247200344F55 /* sk */, ); name = Localizable.strings; sourceTree = ""; }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ 56754EB61D9A4016007BCDC5 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/**"; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.15; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; name = Debug; }; 56754EB71D9A4016007BCDC5 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/**"; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.15; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; }; name = Release; }; 56754EB91D9A4016007BCDC5 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = MonitorControl/MonitorControlDebug.entitlements; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 7100; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 299YSU96J7; ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = ( "$(PROJECT_DIR)/**", "/System/Library/PrivateFrameworks/**", ); INFOPLIST_FILE = MonitorControl/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.14; MARKETING_VERSION = 4.3.2; PRODUCT_BUNDLE_IDENTIFIER = app.monitorcontrol.MonitorControl; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "MonitorControl/Support/Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.5; SYSTEM_FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", ); }; name = Debug; }; 56754EBA1D9A4016007BCDC5 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 7100; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 299YSU96J7; ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = ( "$(PROJECT_DIR)/**", "/System/Library/PrivateFrameworks/**", ); INFOPLIST_FILE = MonitorControl/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.14; MARKETING_VERSION = 4.3.2; PRODUCT_BUNDLE_IDENTIFIER = app.monitorcontrol.MonitorControl; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "MonitorControl/Support/Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.5; SYSTEM_FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", ); }; name = Release; }; F06792F2200A73470066C438 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_ENTITLEMENTS = MonitorControlHelper/MonitorControlHelper.entitlements; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 7100; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 299YSU96J7; ENABLE_HARDENED_RUNTIME = YES; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = MonitorControlHelper/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.14; MARKETING_VERSION = 4.1.0; PRODUCT_BUNDLE_IDENTIFIER = app.monitorcontrol.MonitorControlHelper; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.5; }; name = Debug; }; F06792F3200A73470066C438 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_ENTITLEMENTS = MonitorControlHelper/MonitorControlHelper.entitlements; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 7100; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = 299YSU96J7; ENABLE_HARDENED_RUNTIME = YES; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = MonitorControlHelper/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.14; MARKETING_VERSION = 4.1.0; PRODUCT_BUNDLE_IDENTIFIER = app.monitorcontrol.MonitorControlHelper; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.5; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 56754EA61D9A4016007BCDC5 /* Build configuration list for PBXProject "MonitorControl" */ = { isa = XCConfigurationList; buildConfigurations = ( 56754EB61D9A4016007BCDC5 /* Debug */, 56754EB71D9A4016007BCDC5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 56754EB81D9A4016007BCDC5 /* Build configuration list for PBXNativeTarget "MonitorControl" */ = { isa = XCConfigurationList; buildConfigurations = ( 56754EB91D9A4016007BCDC5 /* Debug */, 56754EBA1D9A4016007BCDC5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; F06792F4200A73470066C438 /* Build configuration list for PBXNativeTarget "MonitorControlHelper" */ = { isa = XCConfigurationList; buildConfigurations = ( F06792F2200A73470066C438 /* Debug */, F06792F3200A73470066C438 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ 6CD35F51264FFFC6001F1344 /* XCRemoteSwiftPackageReference "SimplyCoreAudio" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/rnine/SimplyCoreAudio"; requirement = { kind = revision; revision = 75970285e2470f12a569cdff68ef5a75498a4646; }; }; 6CD35F5426500008001F1344 /* XCRemoteSwiftPackageReference "MediaKeyTap" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/MonitorControl/MediaKeyTap"; requirement = { branch = master; kind = branch; }; }; 6CD35F5A2650003F001F1344 /* XCRemoteSwiftPackageReference "Settings" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/sindresorhus/Settings"; requirement = { branch = main; kind = branch; }; }; AA44E701270377C200E06865 /* XCRemoteSwiftPackageReference "KeyboardShortcuts" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/sindresorhus/KeyboardShortcuts"; requirement = { kind = upToNextMajorVersion; minimumVersion = 1.0.0; }; }; AA70817A27046B9800CC5625 /* XCRemoteSwiftPackageReference "Sparkle" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/sparkle-project/Sparkle"; requirement = { branch = 2.x; kind = branch; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ 6CD35F52264FFFC6001F1344 /* SimplyCoreAudio */ = { isa = XCSwiftPackageProductDependency; package = 6CD35F51264FFFC6001F1344 /* XCRemoteSwiftPackageReference "SimplyCoreAudio" */; productName = SimplyCoreAudio; }; 6CD35F5526500008001F1344 /* MediaKeyTap */ = { isa = XCSwiftPackageProductDependency; package = 6CD35F5426500008001F1344 /* XCRemoteSwiftPackageReference "MediaKeyTap" */; productName = MediaKeyTap; }; AA44E702270377C200E06865 /* KeyboardShortcuts */ = { isa = XCSwiftPackageProductDependency; package = AA44E701270377C200E06865 /* XCRemoteSwiftPackageReference "KeyboardShortcuts" */; productName = KeyboardShortcuts; }; AA70817B27046B9800CC5625 /* Sparkle */ = { isa = XCSwiftPackageProductDependency; package = AA70817A27046B9800CC5625 /* XCRemoteSwiftPackageReference "Sparkle" */; productName = Sparkle; }; AAD7DD332CAFF3D90062822F /* Settings */ = { isa = XCSwiftPackageProductDependency; package = 6CD35F5A2650003F001F1344 /* XCRemoteSwiftPackageReference "Settings" */; productName = Settings; }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 56754EA31D9A4016007BCDC5 /* Project object */; } ================================================ FILE: MonitorControl.xcodeproj/project.xcworkspace/contents.xcworkspacedata ================================================ ================================================ FILE: MonitorControl.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist ================================================ IDEDidComputeMac32BitWarning ================================================ FILE: MonitorControl.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved ================================================ { "originHash" : "df195b12c1f6bd471af1cacb709842cb7eb355cce32fee1413f0f7d7aa5c4eb2", "pins" : [ { "identity" : "keyboardshortcuts", "kind" : "remoteSourceControl", "location" : "https://github.com/sindresorhus/KeyboardShortcuts", "state" : { "revision" : "8a2cc9130b0eec6e1dae0a9a405a17741437caa5", "version" : "1.6.0" } }, { "identity" : "mediakeytap", "kind" : "remoteSourceControl", "location" : "https://github.com/MonitorControl/MediaKeyTap", "state" : { "branch" : "master", "revision" : "22293b608bb9e7072960a2002d77ebbbdb3ba859" } }, { "identity" : "settings", "kind" : "remoteSourceControl", "location" : "https://github.com/sindresorhus/Settings", "state" : { "branch" : "main", "revision" : "879ea83a7bbc6dbebf62bed8c547f090146372a6" } }, { "identity" : "simplycoreaudio", "kind" : "remoteSourceControl", "location" : "https://github.com/rnine/SimplyCoreAudio", "state" : { "revision" : "75970285e2470f12a569cdff68ef5a75498a4646" } }, { "identity" : "sparkle", "kind" : "remoteSourceControl", "location" : "https://github.com/sparkle-project/Sparkle", "state" : { "branch" : "2.x", "revision" : "9042c8dbd9c6f6a1bebc2e4c4b878eac6984ddbd" } }, { "identity" : "swift-atomics", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-atomics.git", "state" : { "revision" : "3e95ba32cd1b4c877f6163e8eea54afc4e63bf9f", "version" : "0.0.3" } } ], "version" : 3 } ================================================ FILE: MonitorControl.xcodeproj/xcshareddata/xcschemes/MonitorControl.xcscheme ================================================ ================================================ FILE: MonitorControlHelper/Info.plist ================================================ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIconFile CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName $(PRODUCT_NAME) CFBundlePackageType APPL CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion 7141 LSApplicationCategoryType public.app-category.utilities LSBackgroundOnly LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright MIT Licensed. 2018. NSPrincipalClass NSApplication ================================================ FILE: MonitorControlHelper/MonitorControlHelper.entitlements ================================================ com.apple.security.app-sandbox com.apple.security.cs.allow-jit com.apple.security.files.user-selected.read-only ================================================ FILE: MonitorControlHelper/main.swift ================================================ import Cocoa class AppDelegate: NSObject, NSApplicationDelegate { func applicationDidFinishLaunching(_: Notification) { let mainBundleID = Bundle.main.bundleIdentifier!.replacingOccurrences(of: "Helper", with: "") let bundlePath = Bundle.main.bundlePath as NSString guard NSRunningApplication.runningApplications(withBundleIdentifier: mainBundleID).isEmpty else { return NSApp.terminate(self) } let pathComponents = bundlePath.pathComponents let path = NSString.path(withComponents: Array(pathComponents[0 ..< (pathComponents.count - 4)])) NSWorkspace.shared.launchApplication(path) NSApp.terminate(nil) } func applicationWillTerminate(_: Notification) {} } let app = NSApplication.shared let delegate = AppDelegate() app.delegate = delegate app.run() ================================================ FILE: README.md ================================================ App icon

MonitorControl

Controls your external display brightness and volume and shows native OSD. Use menubar extra sliders or the keyboard, including native Apple keys!

Download for macOS


downloads latest version license platform

Screenshot

> [!WARNING] > MonitorControl v4.2.0 [may crash](https://github.com/MonitorControl/MonitorControl/issues/1663) on certain configurations running macOS 15 Sequoia or Tahoe. Additionally, this version will not automatically update to the [latest app version](https://github.com/MonitorControl/MonitorControl/releases). To resolve the issue and ensure future updates, please upgrade manually. ## Download Go to [Releases](https://github.com/MonitorControl/MonitorControl/releases) and download the latest `.dmg`, or you can install via Homebrew: ```shell brew install --cask monitorcontrol ``` ## Major features - Control your display's brightness, volume and contrast! - Shows native OSD for brightness and volume. - Supports multiple protocols to adjust brightness: DDC for external displays (brightness, contrast, volume), native Apple protocol for Apple and built-in displays, Gamma table control for software dimming, shade control for AirPlay, Sidecar and Display Link devices and other virtual screens. - Supports smooth brightness transitions. - Seamlessly combined hardware and software dimming extends dimming beyond the minimum brightness available on your display. - Synchronize brightness from built-in and Apple screens - replicate Ambient light sensor and touch bar induced changes to a non-Apple external display! - Sync up all your displays using a single slider or keyboard shortcuts. - Allows dimming to full black. - Support for custom keyboard shortcuts as well as standard brightness and media keys on Apple keyboards. - Dozens of customization options to tweak the inner workings of the app to suit your hardware and needs (don't forget to enable `Show advanced settings` in app Settings). - Simple, unobtrusive UI to blend in to the general aesthetics of macOS. - Completely FREE. For additional features, more advanced brightness control with XDR/HDR brightness upscaling and support for more Mac models and displays, check out [BetterDisplay](https://github.com/waydabber/BetterDisplay#readme)! ### Screenshots (Settings)
Screenshot Screenshot Screenshot Screenshot
## How to install and use the app 1. [Download the app](https://github.com/MonitorControl/MonitorControl/releases) 2. Copy the MonitorControl app file from the .dmg file to your Applications folder 3. Click on the `MonitorControl` app 4. Add the app to `Accessibility` under `System Settings` » `Privacy & Security` as prompted (this is required only if you wish to use the native Apple keyboard brightness and media keys - if this is not the case, you can safely skip this step). 5. Use your keyboard or the sliders in the app menu (a brightness symbol in the macOS menubar as shown on the screenshot above) to control your displays. 6. Open `Settings…` for customization options (enable `Show advanced settings` for even more options). 7. You can set up custom keyboard shortcuts under the `Keyboard` in Settings (the app uses Apple media keys by default). 8. If you have any questions, go to [Discussions](https://github.com/MonitorControl/MonitorControl/discussions)! ### macOS compatibility | MonitorControl version | macOS version | | ---------------------- | ----------------- | | v4.0.0 | Catalina 10.15* | | v3.1.1 | Mojave 10.14 | | v2.1.0 | Sierra 10.12 | _* With some limitations - full functionality available on macOS 11 Big Sur or newer._ For macOS Sequoia and Tahoe 26 compatibility [v4.3.3 or newer](https://github.com/MonitorControl/MonitorControl/releases) is required! Please note that current versions have limited native macOS OSD support on macOS Tahoe - although the Control Center brightness or volume OSD appears, the OSD percentage value will not show or update. ### Supported displays - Most modern LCD displays from all major manufacturers supported implemented DDC/CI protocol via USB-C, DisplayPort, HDMI, DVI or VGA to allow for hardware backlight and volume control. - Apple displays and built-in displays are supported using native protocols. - LCD and LED Televisions usually do not implement DDC, these are supported using software alternatives to dim the image. - DisplayLink, Airplay, Sidecar and other virtual screens are supported via shade (overlay) control. Notable exceptions for hardware control compatibility: - DDC control using the built-in HDMI port of the 2018 Intel Mac mini, the built-in HDMI port of all M1 Macs (MacBook Pro 14" and 16", Mac Mini, Mac Studio) and the built-in HDMI port of the entry level M2 Mac mini are not supported. Use USB-C instead or get [BetterDisplay](https://betterdisplay.pro) for full DDC control over HDMI with these Macs as well for free. Software-only dimming is still available for these connections. - Some displays (notably EIZO) use MCCS over USB or an entirely custom protocol for control. These displays are supported with software dimming only. - DisplayLink docks and dongles do not allow for DDC control on Macs, only software dimming is available for these connections. ## Contributing to the project - If you want, you can fork the code, make improvements and submit a pull request to improve the app. Accepting a PR is solely in the hands of the maintainer - before making fundamental changes expecting it to be accepted, please consult the maintainer of the project! ## How to build ### Required - Xcode - [Swiftlint](https://github.com/realm/SwiftLint) - [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) (for updating localizations) ### Build steps - Clone the project via this Terminal command: ```sh git clone https://github.com/MonitorControl/MonitorControl.git ``` - If you want to clone one of the branches, add `--single-branch --branch [branchname]` after the `clone` option. - You're all set! Now open the `MonitorControl.xcodeproj` with Xcode! The dependencies will automatically get downloaded once you open the project. If they don't: `File > Packages > Resolve Package Versions` ### Third party dependencies - [MediaKeyTap](https://github.com/MonitorControl/MediaKeyTap) - [Settings](https://github.com/sindresorhus/Settings) - [SimplyCoreAudio](https://github.com/rnine/SimplyCoreAudio) - [KeyboardShortcuts](https://github.com/sindresorhus/KeyboardShortcuts) - [Sparkle](https://github.com/sparkle-project/Sparkle) ## Credits - [@waydabber](https://github.com/waydabber), maintainer, developer of [BetterDisplay](https://github.com/waydabber/BetterDisplay#readme). - [@the0neyouseek](https://github.com/the0neyouseek) - honorary maintainer - [@JoniVR](https://github.com/JoniVR) - honorary maintainer - [@alin23](https://github.com/alin23) - spearheaded M1 DDC support, developer of [Lunar](https://lunar.fyi) - [@mathew-kurian](https://github.com/mathew-kurian/) (original developer) - [@Tyilo](https://github.com/Tyilo/) (fork) - [@Bensge](https://github.com/Bensge/) - (used some code from his project [NativeDisplayBrightness](https://github.com/Bensge/NativeDisplayBrightness)) - [@nhurden](https://github.com/nhurden/) (for the original MediaKeyTap) - [@kfix](https://github.com/kfix/ddcctl) (for ddcctl) - [@reitermarkus](https://github.com/reitermarkus) (for Intel DDC support) - [javierocasio](https://www.deviantart.com/javierocasio) (app icon background)