未验证 提交 331e1471 编写于 作者: D David Poeschl 提交者: GitHub

Merge pull request #44986 from dpoeschl/ChangeSigAccessibilityDataGridCells

Change Signature DataGrid accessibility when navigating cells with CAPS+Arrow
......@@ -19,15 +19,28 @@
HasDialogFrame="True"
WindowStartupLocation="CenterOwner">
<Window.Resources>
<Style x:Key="DataGridStyle" TargetType="DataGrid">
<Setter Property="CellStyle">
<Style x:Key="DataGridCellStyle" TargetType="DataGridCell">
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Padding" Value="2" />
<Setter Property="KeyboardNavigation.IsTabStop" Value="False"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<Style TargetType="DataGridCell">
<Setter Property="BorderThickness" Value="0"/>
</Style>
<ControlTemplate TargetType="DataGridCell">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
KeyboardNavigation.IsTabStop="False">
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="DataGridStyle" TargetType="DataGrid">
<Setter Property="CellStyle" Value="{StaticResource DataGridCellStyle}" />
</Style>
<Thickness x:Key="labelPadding">0, 5, 0, 2</Thickness>
<Thickness x:Key="okCancelButtonPadding">9,2,9,2</Thickness>
<Thickness x:Key="selectDeselectButtonPadding">9,2,9,2</Thickness>
......@@ -111,7 +124,6 @@
</DataGrid.InputBindings>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="AutomationProperties.Name" Value="{Binding FullAutomationText}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Padding" Value="2" />
<Setter Property="KeyboardNavigation.IsTabStop" Value="False"/>
......@@ -184,6 +196,15 @@
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<!-- This column appears empty to sighted users, but provides an improved screenreader
experience that avoids moving cell-by-cell through the DataGrid -->
<DataGridTextColumn x:Name="automationHeader" IsReadOnly="True" Width="0">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell" BasedOn="{StaticResource DataGridCellStyle}">
<Setter Property="AutomationProperties.Name" Value="{Binding FullAutomationText}"/>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
<DataGridTextColumn x:Name="indexHeader" Binding="{Binding InitialIndex, Mode=OneWay}" IsReadOnly="True">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
......@@ -192,6 +213,11 @@
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn x:Name="modifierHeader" Binding="{Binding Modifier, Mode=OneWay}" IsReadOnly="True">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell" BasedOn="{StaticResource DataGridCellStyle}">
<Setter Property="AutomationProperties.Name" Value="{Binding ModifierAutomationText, Mode=OneWay}"/>
</Style>
</DataGridTextColumn.CellStyle>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Padding" Value="{StaticResource ResourceKey=cellPadding}" />
......@@ -199,6 +225,11 @@
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTemplateColumn x:Name="typeHeader" Width="*" IsReadOnly="True">
<DataGridTemplateColumn.CellStyle>
<Style TargetType="DataGridCell" BasedOn="{StaticResource DataGridCellStyle}">
<Setter Property="AutomationProperties.Name" Value="{Binding Type, Mode=OneWay}" />
</Style>
</DataGridTemplateColumn.CellStyle>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
......@@ -206,13 +237,19 @@
Moniker="{x:Static imagecatalog:KnownMonikers.StatusWarning}"
Visibility="{Binding TypeWarningVisibility}"
vs2:ImageThemingUtilities.ImageBackgroundColor="White"
Margin="0,0,5,0"/>
Margin="0,0,5,0"
AutomationProperties.Name="{Binding ElementName=dialog, Path=WarningTypeDoesNotBind}"/>
<TextBlock Text="{Binding Type, Mode=OneWay}"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn x:Name="parameterHeader" Width="*" IsReadOnly="True">
<DataGridTemplateColumn.CellStyle>
<Style TargetType="DataGridCell" BasedOn="{StaticResource DataGridCellStyle}">
<Setter Property="AutomationProperties.Name" Value="{Binding ParameterName, Mode=OneWay}" />
</Style>
</DataGridTemplateColumn.CellStyle>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
......@@ -220,13 +257,19 @@
Moniker="{x:Static imagecatalog:KnownMonikers.StatusWarning}"
Visibility="{Binding HasParameterNameConflict, Mode=TwoWay}"
vs2:ImageThemingUtilities.ImageBackgroundColor="White"
Margin="0,0,5,0"/>
Margin="0,0,5,0"
AutomationProperties.Name="{Binding ElementName=dialog, Path=WarningDuplicateParameterName}"/>
<TextBlock Text="{Binding ParameterName, Mode=OneWay}"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn x:Name="defaultHeader" Binding="{Binding DefaultValue, Mode=OneWay}" Width="*" IsReadOnly="True">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell" BasedOn="{StaticResource DataGridCellStyle}">
<Setter Property="AutomationProperties.Name" Value="{Binding DefaultAutomationText, Mode=OneWay}"/>
</Style>
</DataGridTextColumn.CellStyle>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Padding" Value="{StaticResource ResourceKey=cellPadding}" />
......@@ -234,6 +277,11 @@
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn x:Name="callsiteHeader" Binding="{Binding CallSite, Mode=OneWay}" Width="*" IsReadOnly="True">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell" BasedOn="{StaticResource DataGridCellStyle}">
<Setter Property="AutomationProperties.Name" Value="{Binding CallSiteAutomationText, Mode=OneWay}"/>
</Style>
</DataGridTextColumn.CellStyle>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Padding" Value="{StaticResource ResourceKey=cellPadding}" />
......
......@@ -32,6 +32,8 @@ internal partial class ChangeSignatureDialog : DialogWindow
public string Add { get { return ServicesVSResources.Add; } }
public string OK { get { return ServicesVSResources.OK; } }
public string Cancel { get { return ServicesVSResources.Cancel; } }
public string WarningTypeDoesNotBind { get { return ServicesVSResources.Warning_colon_type_does_not_bind; } }
public string WarningDuplicateParameterName { get { return ServicesVSResources.Warning_colon_duplicate_parameter_name; } }
public Brush ParameterText { get; }
public Brush RemovedParameterText { get; }
......
......@@ -33,11 +33,22 @@ public abstract class ParameterViewModel
public abstract string Modifier { get; }
public abstract string Default { get; }
public string ModifierAutomationText => ValueOrNone(Modifier);
public string DefaultAutomationText => ValueOrNone(Default);
public string CallSiteAutomationText => ValueOrNone(CallSite);
public ParameterViewModel(ChangeSignatureDialogViewModel changeSignatureDialogViewModel)
{
ChangeSignatureDialogViewModel = changeSignatureDialogViewModel;
}
private string ValueOrNone(string value)
{
return !string.IsNullOrEmpty(value)
? value
: ServicesVSResources.None;
}
public Visibility HasParameterNameConflict { get; set; }
public virtual Visibility TypeWarningVisibility => Visibility.Collapsed;
......
......@@ -1520,4 +1520,13 @@ I agree to all of the foregoing:</value>
<data name="Infer_from_context" xml:space="preserve">
<value>Infer from context</value>
</data>
<data name="None" xml:space="preserve">
<value>None</value>
</data>
<data name="Warning_colon_duplicate_parameter_name" xml:space="preserve">
<value>Warning: duplicate parameter name</value>
</data>
<data name="Warning_colon_type_does_not_bind" xml:space="preserve">
<value>Warning: type does not bind</value>
</data>
</root>
\ No newline at end of file
......@@ -497,6 +497,11 @@
<target state="translated">Neveřejné metody</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">Zaznamenali jsme, že jste pozastavili: {0}. Obnovte mapování klávesnice, abyste mohli pokračovat v navigaci a refactoringu.</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">Nicht öffentliche Methoden</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">Wir haben festgestellt, dass Sie "{0}" angehalten haben. Setzen Sie die Tastenzuordnungen zurück, um Navigation und Umgestaltung fortzusetzen.</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">Miembros no públicos</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">Observamos que ha suspendido "{0}". Restablezca las asignaciones de teclado para continuar navegando y refactorizando.</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">Méthodes non publiques</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">Nous avons remarqué que vous avez interrompu '{0}'. Réinitialisez la configuration du clavier pour continuer à naviguer et à refactoriser.</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">Metodi non pubblici</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">È stato notato che '{0}' è stato sospeso. Reimpostare i mapping dei tasti per continuare a esplorare e a eseguire il refactoring.</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">パブリックでないメソッド</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">'{0}' が中断されました。キーマップをリセットして、移動とリファクターを続行してください。</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">public이 아닌 메서드</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">'{0}'을(를) 일시 중단하신 것으로 보입니다. 계속 탐색하고 리팩터링하려면 키 매핑을 다시 설정하세요.</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">Metody niepubliczne</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">Zauważyliśmy, że element „{0}” został przez Ciebie wstrzymany. Zresetuj mapowanie klawiszy, aby kontynuować nawigowanie i refaktoryzację.</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">Métodos não públicos</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">Notamos que você suspendeu '{0}'. Redefina os mapeamentos de teclas para continuar a navegar e refatorar.</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">Методы, не являющиеся открытыми</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">Вы приостановили действие "{0}". Сбросьте назначения клавиш, чтобы продолжить работу и рефакторинг.</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">Ortak olmayan yöntemler</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">'{0}' öğesini askıya aldığınızı fark ettik. Gezintiye ve yeniden düzenlemeye devam etmek için tuş eşlemelerini sıfırlayın.</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">非公共成员</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">我们注意到你挂起了“{0}”。请重置项映射以继续导航和重构。</target>
......
......@@ -497,6 +497,11 @@
<target state="translated">非公用方法</target>
<note />
</trans-unit>
<trans-unit id="None">
<source>None</source>
<target state="new">None</target>
<note />
</trans-unit>
<trans-unit id="Omit_only_for_optional_parameters">
<source>Omit (only for optional parameters)</source>
<target state="new">Omit (only for optional parameters)</target>
......@@ -827,6 +832,16 @@
<target state="translated">Visual Studio 2019</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_duplicate_parameter_name">
<source>Warning: duplicate parameter name</source>
<target state="new">Warning: duplicate parameter name</target>
<note />
</trans-unit>
<trans-unit id="Warning_colon_type_does_not_bind">
<source>Warning: type does not bind</source>
<target state="new">Warning: type does not bind</target>
<note />
</trans-unit>
<trans-unit id="We_notice_you_suspended_0_Reset_keymappings_to_continue_to_navigate_and_refactor">
<source>We notice you suspended '{0}'. Reset keymappings to continue to navigate and refactor.</source>
<target state="translated">我們發現您暫止了 '{0}'。重設按鍵對應以繼續巡覽和重構。</target>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册