-
Notifications
You must be signed in to change notification settings - Fork 159
Expand file tree
/
Copy pathStrings.resx
More file actions
374 lines (363 loc) · 20.2 KB
/
Copy pathStrings.resx
File metadata and controls
374 lines (363 loc) · 20.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AwaitXInstead" xml:space="preserve">
<value>Await {0} instead</value>
<comment>"await" is a C# keyword and should not be translated.
{0} is a method name.</comment>
</data>
<data name="UseAwaitInstead" xml:space="preserve">
<value>Use await instead</value>
<comment>"await" is a C# keyword and should not be translated.</comment>
</data>
<data name="VSTHRD002_MessageFormat" xml:space="preserve">
<value>Synchronously waiting on tasks or awaiters may cause deadlocks. Use await or JoinableTaskFactory.Run instead.</value>
<comment>"await" is a C# keyword and should not be translated.</comment>
</data>
<data name="VSTHRD002_Title" xml:space="preserve">
<value>Avoid problematic synchronous waits</value>
</data>
<data name="VSTHRD010_MessageFormat_Sync" xml:space="preserve">
<value>Accessing "{0}" should only be done on the main thread. Call {1}() first.</value>
<comment>{0} is a type or member name and {1} is the name of a method that throws if not called from the main thread.</comment>
</data>
<data name="VSTHRD010_Title" xml:space="preserve">
<value>Invoke single-threaded types on Main thread</value>
</data>
<data name="VSTHRD100_CodeFix_Title" xml:space="preserve">
<value>Change return type to Task</value>
<comment>Task is a type name and should not be translated.</comment>
</data>
<data name="VSTHRD100_MessageFormat" xml:space="preserve">
<value>Avoid "async void" methods, because any exceptions not handled by the method will crash the process</value>
<comment>"async void" is a pair of C# keywords. Do not translate them.</comment>
</data>
<data name="VSTHRD100_Title" xml:space="preserve">
<value>Avoid async void methods</value>
<comment>"async void" is a pair of C# keywords. Do not translate them.</comment>
</data>
<data name="VSTHRD101_MessageFormat" xml:space="preserve">
<value>Avoid using async lambda for a void returning delegate type, because any exceptions not handled by the delegate will crash the process</value>
<comment>"void" is a C# keyword and should not be translated.</comment>
</data>
<data name="VSTHRD101_Title" xml:space="preserve">
<value>Avoid unsupported async delegates</value>
</data>
<data name="VSTHRD106_MessageFormat" xml:space="preserve">
<value>AsyncEventHandler delegates should be invoked via the extension method "TplExtensions.InvokeAsync()" defined in Microsoft.VisualStudio.Threading assembly</value>
</data>
<data name="VSTHRD106_Title" xml:space="preserve">
<value>Use InvokeAsync to raise async events</value>
</data>
<data name="VSTHRD003_MessageFormat" xml:space="preserve">
<value>Avoid awaiting or returning a Task representing work that was not started within your context as that can lead to deadlocks.
Start the work within this context, or use JoinableTaskFactory.RunAsync to start the task and await the returned JoinableTask instead.</value>
</data>
<data name="VSTHRD003_Title" xml:space="preserve">
<value>Avoid awaiting foreign Tasks</value>
</data>
<data name="VSTHRD011b_MessageFormat" xml:space="preserve">
<value>Invoking or blocking on async code in a Lazy<T> value factory can deadlock. Use AsyncLazy<T> instead.</value>
</data>
<data name="VSTHRD011_MessageFormat" xml:space="preserve">
<value>Lazy<Task<T>>.Value can deadlock. Use AsyncLazy<T> instead.</value>
</data>
<data name="VSTHRD011_Title" xml:space="preserve">
<value>Use AsyncLazy<T></value>
</data>
<data name="VSTHRD103_MessageFormat" xml:space="preserve">
<value>{0} synchronously blocks. Await {1} instead.</value>
</data>
<data name="VSTHRD103_MessageFormat_UseAwaitInstead" xml:space="preserve">
<value>{0} synchronously blocks. Use await instead.</value>
</data>
<data name="VSTHRD103_Title" xml:space="preserve">
<value>Call async methods when in an async method</value>
</data>
<data name="VSTHRD102_MessageFormat" xml:space="preserve">
<value>Limit use of synchronously blocking method calls such as JoinableTaskFactory.Run or Task.Result to public entrypoint members where you must be synchronous. Using it for internal members can needlessly add synchronous frames between asynchronous frames, leading to threadpool exhaustion.</value>
</data>
<data name="VSTHRD102_Title" xml:space="preserve">
<value>Implement internal logic asynchronously</value>
</data>
<data name="VSTHRD200_CodeFix_Title" xml:space="preserve">
<value>Rename to {0}</value>
<comment>{0} is a method name.</comment>
</data>
<data name="VSTHRD200_AddAsync_MessageFormat" xml:space="preserve">
<value>Use "Async" suffix in names of methods that return an awaitable type</value>
</data>
<data name="VSTHRD200_Title" xml:space="preserve">
<value>Use "Async" suffix for async methods</value>
</data>
<data name="VSTHRD105_MessageFormat" xml:space="preserve">
<value>Avoid method overloads that assume TaskScheduler.Current. Use an overload that accepts a TaskScheduler and specify TaskScheduler.Default (or any other) explicitly.</value>
</data>
<data name="VSTHRD105_Title" xml:space="preserve">
<value>Avoid method overloads that assume TaskScheduler.Current</value>
</data>
<data name="VSTHRD012_MessageFormat" xml:space="preserve">
<value>Provide an instance of JoinableTaskFactory in this call (or another overload) to avoid deadlocks with the main thread</value>
</data>
<data name="VSTHRD012_Title" xml:space="preserve">
<value>Provide JoinableTaskFactory where allowed</value>
</data>
<data name="VSTHRD104_MessageFormat" xml:space="preserve">
<value>Expose an async version of this method that does not synchronously block. Then simplify this method to call that async method within a JoinableTaskFactory.Run delegate.</value>
</data>
<data name="VSTHRD104_Title" xml:space="preserve">
<value>Offer async methods</value>
</data>
<data name="VSTHRD001_MessageFormat" xml:space="preserve">
<value>Await JoinableTaskFactory.SwitchToMainThreadAsync() to switch to the UI thread instead of APIs that can deadlock or require specifying a priority</value>
</data>
<data name="VSTHRD001_Title" xml:space="preserve">
<value>Avoid legacy thread switching APIs</value>
<comment>thread switching APIs refers to Visual Studio SDK or .NET methods that can be used to switch threads, but are obsolete and should be avoided.</comment>
</data>
<data name="VSTHRD107_MessageFormat" xml:space="preserve">
<value>Missing await operator for "using" expression</value>
<comment>"await" and "using" are C# keywords and should not be translated.</comment>
</data>
<data name="VSTHRD107_Title" xml:space="preserve">
<value>Await Task within using expression</value>
<comment>"await Task" is a C# compound term, and "using" is a C# keyword. These should not be translated.</comment>
</data>
<data name="VSTHRD107_CodeFix_Title" xml:space="preserve">
<value>Await using expression</value>
<comment>"await" and "using" are C# keywords and should not be translated.</comment>
</data>
<data name="VSTHRD002_CodeFix_Await_Title" xml:space="preserve">
<value>Use await instead</value>
<comment>"await" is a C# keyword and should not be translated.</comment>
</data>
<data name="VSTHRD108_MessageFormat" xml:space="preserve">
<value>Thread affinity checks should be unconditional</value>
</data>
<data name="VSTHRD108_Title" xml:space="preserve">
<value>Assert thread affinity unconditionally</value>
</data>
<data name="VSTHRD010_MessageFormat_Async" xml:space="preserve">
<value>Accessing "{0}" should only be done on the main thread. Await JoinableTaskFactory.SwitchToMainThreadAsync() first.</value>
<comment>{0} is a type or member name.</comment>
</data>
<data name="VSTHRD109_MessageFormat" xml:space="preserve">
<value>Avoid throwing when not on the main thread while in an async or Task-returning method. Switch to the thread required instead.</value>
</data>
<data name="VSTHRD109_Title" xml:space="preserve">
<value>Switch instead of assert in async methods</value>
</data>
<data name="VSTHRD004_MessageFormat" xml:space="preserve">
<value>Calls to JoinableTaskFactory.SwitchToMainThreadAsync() must be awaited</value>
</data>
<data name="VSTHRD004_Title" xml:space="preserve">
<value>Await SwitchToMainThreadAsync</value>
<comment>Do not translate either of these. The first is a keyword, the second is a method name.</comment>
</data>
<data name="VSTHRD110_MessageFormat" xml:space="preserve">
<value>Observe the awaitable result of this method call by awaiting it, assigning to a variable, or passing it to another method</value>
</data>
<data name="VSTHRD110_Title" xml:space="preserve">
<value>Observe result of async calls</value>
</data>
<data name="VSTHRD200_RemoveAsync_MessageFormat" xml:space="preserve">
<value>Avoid "Async" suffix in names of methods that do not return an awaitable type</value>
</data>
<data name="VSTHRD111_CodeFix_False_Title" xml:space="preserve">
<value>Add .ConfigureAwait(false)</value>
<comment>".ConfigureAwait(false)" should not be translated.</comment>
</data>
<data name="VSTHRD111_CodeFix_True_Title" xml:space="preserve">
<value>Add .ConfigureAwait(true)</value>
<comment>".ConfigureAwait(true)" should not be translated.</comment>
</data>
<data name="VSTHRD111_MessageFormat" xml:space="preserve">
<value>Add .ConfigureAwait(bool) to your await expression</value>
<comment>".ConfigureAwait(bool)" and "await" should NOT be translated.</comment>
</data>
<data name="VSTHRD111_Title" xml:space="preserve">
<value>Use ConfigureAwait(bool)</value>
<comment>"ConfigureAwait(bool)" is a reference and should NOT be translated.</comment>
</data>
<data name="VSTHRD201_MessageFormat" xml:space="preserve">
<value>Check for cancellation after calling SwitchToMainThreadAsync(CancellationToken).</value>
<comment>"SwitchToMainThreadAsync" is a method name and should not be translated.</comment>
</data>
<data name="VSTHRD201_Title" xml:space="preserve">
<value>Check cancellation after SwitchToMainThreadAsync</value>
<comment>"SwitchToMainThreadAsync" is a method name and should not be translated.</comment>
</data>
<data name="VSTHRD201_CodeFix_Title" xml:space="preserve">
<value>Call ThrowIfCancellationRequested()</value>
<comment>"ThrowIfCancellationRequested" is a method name and should not be translated.</comment>
</data>
<data name="VSTHRD112_CodeFix_Title" xml:space="preserve">
<value>Add implementation of System.IAsyncDisposable.</value>
</data>
<data name="VSTHRD112_MessageFormat" xml:space="preserve">
<value>Implement the System.IAsyncDisposable interface when implementing the obsolete Microsoft.VisualStudio.Threading.IAsyncDisposable interface</value>
</data>
<data name="VSTHRD112_Title" xml:space="preserve">
<value>Implement System.IAsyncDisposable</value>
</data>
<data name="VSTHRD113_MessageFormat" xml:space="preserve">
<value>Add a check for System.IAsyncDisposable in the same code block that checks for Microsoft.VisualStudio.Threading.IAsyncDisposable that behaves similarly</value>
</data>
<data name="VSTHRD113_Title" xml:space="preserve">
<value>Check for System.IAsyncDisposable</value>
</data>
<data name="SystemIAsyncDisposablePackageNote" xml:space="preserve">
<value>The System.IAsyncDisposable interface is defined in the Microsoft.Bcl.AsyncInterfaces NuGet package.</value>
</data>
<data name="VSTHRD114_MessageFormat" xml:space="preserve">
<value>Avoid returning null from a Task-returning method</value>
<comment>Task is a type name and should not be translated.</comment>
</data>
<data name="VSTHRD114_Title" xml:space="preserve">
<value>Avoid returning a null Task</value>
<comment>Task is a type name and should not be translated.</comment>
</data>
<data name="VSTHRD114_CodeFix_CompletedTask" xml:space="preserve">
<value>Use 'Task.CompletedTask' instead</value>
<comment>"Task.CompletedTask" should not be translated.</comment>
</data>
<data name="VSTHRD114_CodeFix_FromResult" xml:space="preserve">
<value>Use 'Task.FromResult' instead</value>
<comment>"Task.FromResult" should not be translated.</comment>
</data>
<data name="VSTHRD115_Title" xml:space="preserve">
<value>Avoid creating JoinableTaskContext with null SynchronizationContext</value>
</data>
<data name="VSTHRD115_MessageFormat" xml:space="preserve">
<value>Avoid creating JoinableTaskContext with 'null' as the value for the SynchronizationContext because behavior varies by the value of SynchronizationContext.Current</value>
</data>
<data name="VSTHRD115_CodeFix_Suppress_Title" xml:space="preserve">
<value>Specify 'SynchronizationContext.Current' explicitly</value>
</data>
<data name="VSTHRD115_CodeFix_UseFactory_Title" xml:space="preserve">
<value>Use 'JoinableTaskContext.CreateNoOpContext' instead.</value>
</data>
<data name="VSTHRD003InvalidAttributeUse_Title" xml:space="preserve">
<value>Invalid use of CompletedTaskAttribute</value>
</data>
<data name="VSTHRD003InvalidAttributeUse_MessageFormat" xml:space="preserve">
<value>CompletedTaskAttribute can only be applied to readonly fields, properties without non-private setters, or methods. {0}</value>
</data>
<data name="VSTHRD003InvalidAttributeUse_FieldNotReadonly" xml:space="preserve">
<value>Fields must be readonly.</value>
<comment>Error message shown when the CompletedTaskAttribute is applied to a field that is not marked as readonly. The attribute is only valid on readonly fields to ensure the task value cannot be changed.</comment>
</data>
<data name="VSTHRD003InvalidAttributeUse_PropertyWithNonPrivateSetter" xml:space="preserve">
<value>Properties must not have non-private setters.</value>
<comment>Error message shown when the CompletedTaskAttribute is applied to a property that has a public, internal, or protected setter. The attribute is only valid on properties with private setters or no setter (getter-only) to ensure the task value cannot be changed from outside the class.</comment>
</data>
<data name="VSTHRD003InvalidAttributeUse_PropertyWithNonPrivateInit" xml:space="preserve">
<value>Properties with init accessors must be private.</value>
<comment>Error message shown when the CompletedTaskAttribute is applied to a property that has an init accessor and the property itself is not private (i.e., it's public, internal, or protected). Init accessors allow setting the property during object initialization. When using this attribute on a property with an init accessor, the entire property must be declared as private to ensure the task value cannot be changed from outside the class.</comment>
</data>
</root>