diff --git a/VoidLink/Base.lproj/iPad.storyboard b/VoidLink/Base.lproj/iPad.storyboard index 5ef22b92..efea9bbd 100644 --- a/VoidLink/Base.lproj/iPad.storyboard +++ b/VoidLink/Base.lproj/iPad.storyboard @@ -1,8 +1,8 @@ - + - + @@ -859,8 +859,8 @@ - - + + @@ -1593,19 +1593,19 @@ - + - + - + - + diff --git a/VoidLink/Base.lproj/iPhone.storyboard b/VoidLink/Base.lproj/iPhone.storyboard index 0d628cca..e256d55b 100644 --- a/VoidLink/Base.lproj/iPhone.storyboard +++ b/VoidLink/Base.lproj/iPhone.storyboard @@ -1,8 +1,8 @@ - + - + @@ -13,7 +13,7 @@ - + @@ -80,7 +80,7 @@ - + @@ -636,12 +636,12 @@ - + - + @@ -1497,7 +1497,7 @@ - + diff --git a/VoidLink/Localization/Localizable.xcstrings b/VoidLink/Localization/Localizable.xcstrings index 69d5ec1e..b7084dbe 100644 --- a/VoidLink/Localization/Localizable.xcstrings +++ b/VoidLink/Localization/Localizable.xcstrings @@ -3667,6 +3667,29 @@ } } }, + "Stereo (surround sound available for iOS18+)" : { + "extractionState" : "manual", + "localizations" : { + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "双声道 (iOS18+支持环绕声)" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "双声道 (iOS18+支持环绕声)" + } + }, + "zh-HK" : { + "stringUnit" : { + "state" : "translated", + "value" : "双声道 (iOS18+支持环绕声)" + } + } + } + }, "Successfully sent wake-up request. It may take a few moments for the PC to wake. If it never wakes up, ensure it's properly configured for Wake-on-LAN." : { "extractionState" : "manual", "localizations" : { diff --git a/VoidLink/ViewControllers/MainFrameViewController.m b/VoidLink/ViewControllers/MainFrameViewController.m index b9378392..8d1fc166 100644 --- a/VoidLink/ViewControllers/MainFrameViewController.m +++ b/VoidLink/ViewControllers/MainFrameViewController.m @@ -1138,6 +1138,7 @@ static NSMutableSet* hostList; [settingsViewController setHidden:_settingsExpandedInStreamView forStack:settingsViewController.framepacingStack]; [settingsViewController setHidden:_settingsExpandedInStreamView forStack:settingsViewController.citrixX1MouseStack]; [settingsViewController setHidden:_settingsExpandedInStreamView forStack:settingsViewController.externalDisplayModeStack]; + [settingsViewController setHidden:_settingsExpandedInStreamView forStack:settingsViewController.audioConfigStack]; } - (void)revealController:(SWRevealViewController *)revealController didMoveToPosition:(FrontViewPosition)position { diff --git a/VoidLink/ViewControllers/SettingsViewController.h b/VoidLink/ViewControllers/SettingsViewController.h index 63660a3e..06b09cce 100644 --- a/VoidLink/ViewControllers/SettingsViewController.h +++ b/VoidLink/ViewControllers/SettingsViewController.h @@ -44,7 +44,6 @@ @property (strong, nonatomic) IBOutlet UISwitch *multiControllerSwitch; @property (strong, nonatomic) IBOutlet UIStackView *swapAbaxyStack; @property (strong, nonatomic) IBOutlet UIStackView *audioOnPcStack; -@property (strong, nonatomic) IBOutlet UIStackView *audioConfigStack; @property (strong, nonatomic) IBOutlet UISwitch *audioOnPcSwitch; @property (strong, nonatomic) IBOutlet UIStackView *codecStack; @property (strong, nonatomic) IBOutlet UIStackView *yuv444Stack; @@ -73,7 +72,6 @@ @property (strong, nonatomic) IBOutlet UISegmentedControl *codecSelector; @property (strong, nonatomic) IBOutlet UISwitch *hdrSwitch; @property (strong, nonatomic) IBOutlet UISwitch *yuv444Switch; -@property (strong, nonatomic) IBOutlet UISegmentedControl *audioConfigSelector; @property (strong, nonatomic) IBOutlet UISegmentedControl *framePacingSelector; @property (strong, nonatomic) IBOutlet UISegmentedControl *reverseMouseWheelDirectionSelector; @property (strong, nonatomic) IBOutlet UISegmentedControl *statsOverlaySelector; @@ -105,6 +103,9 @@ @property (strong, nonatomic) IBOutlet UIStackView *gyroSensitivityStack; @property (strong, nonatomic) IBOutlet UISlider *gyroSensitivitySlider; +@property (strong, nonatomic) IBOutlet UIStackView *audioConfigStack; +@property (strong, nonatomic) IBOutlet UISegmentedControl *audioConfigSelector; + #pragma clang diagnostic push diff --git a/VoidLink/ViewControllers/SettingsViewController.m b/VoidLink/ViewControllers/SettingsViewController.m index e2e7b8b9..66f76d29 100644 --- a/VoidLink/ViewControllers/SettingsViewController.m +++ b/VoidLink/ViewControllers/SettingsViewController.m @@ -538,7 +538,7 @@ BOOL isCustomResolution(CGSize res) { } [self addSetting:self.audioOnPcStack ofId:@"audioOnPcStack" withInfoTag:NO withDynamicLabel:NO to:audioSection]; - [self addSetting:self.audioConfigStack ofId:@"audioConfigStack" withInfoTag:YES withDynamicLabel:NO to:audioSection]; + [self addSetting:self.audioConfigStack ofId:@"audioConfigStack" withInfoTag:NO withDynamicLabel:NO to:audioSection]; [audioSection addToParentStack:_parentStack]; [audioSection setExpanded:YES]; @@ -1276,7 +1276,9 @@ BOOL isCustomResolution(CGSize res) { [self updateResolutionDisplayLabel]; if (@available(iOS 18.0, tvOS 18.0, *)) {}else{ [self.audioConfigSelector removeSegmentAtIndex:1 animated:false]; - [self.audioConfigSelector removeSegmentAtIndex:2 animated:false]; + [self.audioConfigSelector removeSegmentAtIndex:1 animated:false]; // segment 2 goes away when you remove index 2 + [self.audioConfigSelector setTitle:[LocalizationHelper localizedStringForKey:@"Stereo (surround sound available for iOS18+)"] forSegmentAtIndex:0]; + [self.audioConfigSelector setEnabled:NO]; } switch ([currentSettings.audioConfig integerValue]) { case 2: diff --git a/VoidLink/mul.lproj/iPad.xcstrings b/VoidLink/mul.lproj/iPad.xcstrings index 0e6341bb..2c885a97 100644 --- a/VoidLink/mul.lproj/iPad.xcstrings +++ b/VoidLink/mul.lproj/iPad.xcstrings @@ -1568,7 +1568,7 @@ "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "两声道" + "value" : "双声道" } }, "zh-Hant" : { @@ -1586,25 +1586,61 @@ } }, "iZL-dA-jk9.segmentTitles[1]" : { - "comment" : "Class = \"UISegmentedControl\"; iZL-dA-jk9.segmentTitles[1] = \"LPCM 5.1\"; ObjectID = \"iZL-dA-jk9\";", + "comment" : "Class = \"UISegmentedControl\"; iZL-dA-jk9.segmentTitles[1] = \"5.1‑channel\"; ObjectID = \"iZL-dA-jk9\";", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", - "value" : "LPCM 5.1" + "value" : "5.1‑channel" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "5.1声道" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "5.1聲道" + } + }, + "zh-HK" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "5.1聲道" } } } }, "iZL-dA-jk9.segmentTitles[2]" : { - "comment" : "Class = \"UISegmentedControl\"; iZL-dA-jk9.segmentTitles[2] = \"LPCM 7.1\"; ObjectID = \"iZL-dA-jk9\";", + "comment" : "Class = \"UISegmentedControl\"; iZL-dA-jk9.segmentTitles[2] = \"7.1‑channel\"; ObjectID = \"iZL-dA-jk9\";", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", - "value" : "LPCM 7.1" + "value" : "7.1‑channel" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "7.1声道" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "7.1聲道" + } + }, + "zh-HK" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "7.1聲道" } } } diff --git a/VoidLink/mul.lproj/iPhone.xcstrings b/VoidLink/mul.lproj/iPhone.xcstrings index 9286c528..eeade778 100644 --- a/VoidLink/mul.lproj/iPhone.xcstrings +++ b/VoidLink/mul.lproj/iPhone.xcstrings @@ -1462,29 +1462,83 @@ "state" : "new", "value" : "Stereo" } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "双声道" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "兩聲道" + } + }, + "zh-HK" : { + "stringUnit" : { + "state" : "translated", + "value" : "兩聲道" + } } } }, "hfR-K8-Ti4.segmentTitles[1]" : { - "comment" : "Class = \"UISegmentedControl\"; hfR-K8-Ti4.segmentTitles[1] = \"LPCM 5.1\"; ObjectID = \"hfR-K8-Ti4\";", + "comment" : "Class = \"UISegmentedControl\"; hfR-K8-Ti4.segmentTitles[1] = \"5.1-channel\"; ObjectID = \"hfR-K8-Ti4\";", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", - "value" : "LPCM 5.1" + "value" : "5.1-channel" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "5.1声道" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "5.1聲道" + } + }, + "zh-HK" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "5.1聲道" } } } }, "hfR-K8-Ti4.segmentTitles[2]" : { - "comment" : "Class = \"UISegmentedControl\"; hfR-K8-Ti4.segmentTitles[2] = \"LPCM 7.1\"; ObjectID = \"hfR-K8-Ti4\";", + "comment" : "Class = \"UISegmentedControl\"; hfR-K8-Ti4.segmentTitles[2] = \"7.1-channel\"; ObjectID = \"hfR-K8-Ti4\";", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", - "value" : "LPCM 7.1" + "value" : "7.1-channel" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "7.1声道" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "7.1聲道" + } + }, + "zh-HK" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "7.1聲道" } } }