Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Side by Side Diff: extensions/extensions_strings.grd

Issue 410023002: Show read-only messages for non-interact non-desktop Automation extensions (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: rebase Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 2
3 <!-- 3 <!--
4 Strings for the extensions module. Used mostly for low-level error messages. 4 Strings for the extensions module. Used mostly for low-level error messages.
5 Where possible new strings should be kept in Chrome and the extensions module 5 Where possible new strings should be kept in Chrome and the extensions module
6 should return an error code, message flag, etc. 6 should return an error code, message flag, etc.
7 --> 7 -->
8 8
9 <grit latest_public_release="0" current_release="1" 9 <grit latest_public_release="0" current_release="1"
10 source_lang_id="en" enc_check="möl"> 10 source_lang_id="en" enc_check="möl">
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 </message> 189 </message>
190 <message name="IDS_EXTENSION_LOCALES_NO_DEFAULT_LOCALE_SPECIFIED" desc=""> 190 <message name="IDS_EXTENSION_LOCALES_NO_DEFAULT_LOCALE_SPECIFIED" desc="">
191 Localization used, but default_locale wasn't specified in the manifest. 191 Localization used, but default_locale wasn't specified in the manifest.
192 </message> 192 </message>
193 <message name="IDS_EXTENSION_MANIFEST_UNREADABLE" desc=""> 193 <message name="IDS_EXTENSION_MANIFEST_UNREADABLE" desc="">
194 Manifest file is missing or unreadable. 194 Manifest file is missing or unreadable.
195 </message> 195 </message>
196 <message name="IDS_EXTENSION_MANIFEST_INVALID" desc=""> 196 <message name="IDS_EXTENSION_MANIFEST_INVALID" desc="">
197 Manifest file is invalid. 197 Manifest file is invalid.
198 </message> 198 </message>
199 199
200 <!-- Host access permissions. Please keep alphabetized. --> 200 <!-- Host access permissions. Please keep alphabetized. -->
201 <message name="IDS_EXTENSION_PROMPT_WARNING_1_HOST" desc="Permission strin g for access to data on one website."> 201 <message name="IDS_EXTENSION_PROMPT_WARNING_1_HOST" desc="Permission strin g for access to data on one website.">
202 Read and modify your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ ex></ph> 202 Read and modify your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ ex></ph>
203 </message> 203 </message>
204 <message name="IDS_EXTENSION_PROMPT_WARNING_1_HOST_READ_ONLY" desc="Permis sion string for read-only access to data on one website.">
205 Read your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>
206 </message>
204 <message name="IDS_EXTENSION_PROMPT_WARNING_2_HOSTS" desc="Permission stri ng for access to data on two websites."> 207 <message name="IDS_EXTENSION_PROMPT_WARNING_2_HOSTS" desc="Permission stri ng for access to data on two websites.">
205 Read and modify your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ ex></ph> and <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph> 208 Read and modify your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ ex></ph> and <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>
206 </message> 209 </message>
210 <message name="IDS_EXTENSION_PROMPT_WARNING_2_HOSTS_READ_ONLY" desc="Permi ssion string for read-only access to data on two websites.">
211 Read your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph> an d <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>
212 </message>
207 <message name="IDS_EXTENSION_PROMPT_WARNING_3_HOSTS" desc="Permission stri ng for access to data on three websites."> 213 <message name="IDS_EXTENSION_PROMPT_WARNING_3_HOSTS" desc="Permission stri ng for access to data on three websites.">
208 Read and modify your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ ex></ph>, <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>, and <ph name="WEB SITE_3">$3<ex>news.ycombinator.com</ex></ph> 214 Read and modify your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ ex></ph>, <ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>, and <ph name="WEB SITE_3">$3<ex>news.ycombinator.com</ex></ph>
209 </message> 215 </message>
216 <message name="IDS_EXTENSION_PROMPT_WARNING_3_HOSTS_READ_ONLY" desc="Permi ssion string for access to data on three websites.">
217 Read your data on <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>, < ph name="WEBSITE_2">$2<ex>www.reddit.com</ex></ph>, and <ph name="WEBSITE_3">$3< ex>news.ycombinator.com</ex></ph>
218 </message>
210 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_DEFAULT" desc="Permissio n string for access to data on four or more websites. This is necessary for ever y language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turki sh and Kannada, this is the only string necessary. For languages with singular-p lural distinction, this is the generic plural. For Lithuanian, NUMBER_OF_WEBSITE S is 11 .. 19."> 219 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_DEFAULT" desc="Permissio n string for access to data on four or more websites. This is necessary for ever y language. This is the default for all the numbers NOT covered by special cases (singular, dual/two, few, many) some languages need. For CJK, Vietnamese, Turki sh and Kannada, this is the only string necessary. For languages with singular-p lural distinction, this is the generic plural. For Lithuanian, NUMBER_OF_WEBSITE S is 11 .. 19.">
211 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>5</ex></ ph> websites 220 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>5</ex></ ph> websites
212 </message> 221 </message>
222 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_DEFAULT_READ_ONLY" desc= "Permission string for read-only access to data on four or more websites. This i s necessary for every language. This is the default for all the numbers NOT cove red by special cases (singular, dual/two, few, many) some languages need. For CJ K, Vietnamese, Turkish and Kannada, this is the only string necessary. For langu ages with singular-plural distinction, this is the generic plural. For Lithuania n, NUMBER_OF_WEBSITES is 11 .. 19.">
223 Read your data on <ph name="NUMBER_OF_WEBSITES">#<ex>5</ex></ph> website s
224 </message>
213 225
214 <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']"> 226 <if expr="lang not in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
215 <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_SINGULAR" desc="Permissio n string for access to data on four or more websites. NUMBER_OF_WEBSITES is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (Fren ch, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada"> 227 <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_SINGULAR" desc="Permissio n string for access to data on four or more websites. NUMBER_OF_WEBSITES is one or one-like numbers : 1 (many European and most Indian languages), 1 and 0 (Fren ch, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, Ukrainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
216 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>1</ex></ ph> websites 228 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>1</ex></ ph> websites
217 </message> 229 </message>
230 <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_SINGULAR_READ_ONLY" desc= "Permission string for read-only access to data on four or more websites. NUMBER _OF_WEBSITES is one or one-like numbers : 1 (many European and most Indian langu ages), 1 and 0 (French, Brazilian Portuguese and Hindi), 1,21,31, .. (Russian, U krainian, Croatian, Serbian, Latvian, Lithuanian), or 1, 101, 201, .. (Slovenian ). Do NOT translate this for CJK, Vietnamese, Turkish and Kannada">
231 Read your data on <ph name="NUMBER_OF_WEBSITES">#<ex>1</ex></ph> website s
232 </message>
218 </if> 233 </if>
219 <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']"> 234 <if expr="lang in ['zh-CN', 'zh-TW', 'ko', 'ja', 'vi', 'tr', 'kn']">
220 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOST_SIN GULAR" desc=""> 235 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOST_SIN GULAR" desc="">
221 NA 236 NA
222 </message> 237 </message>
223 </if> 238 </if>
224 239
225 <if expr="lang in ['ar', 'ro', 'lv']"> 240 <if expr="lang in ['ar', 'ro', 'lv']">
226 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZERO" desc="Permission s tring for access to data on four or more websites. NUMBER_OF_WEBSITES is 0 (Arab ic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate."> 241 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZERO" desc="Permission s tring for access to data on four or more websites. NUMBER_OF_WEBSITES is 0 (Arab ic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For other languages, do NOT translate.">
227 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>0</ex></ ph> websites 242 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>0</ex></ ph> websites
228 </message> 243 </message>
244 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZERO_READ_ONLY" desc="Pe rmission string for read-only access to data on four or more websites. NUMBER_OF _WEBSITES is 0 (Arabic, Latvian) or 0, 2..19, 101..119, ... (Romanian). For othe r languages, do NOT translate.">
245 Read your data on <ph name="NUMBER_OF_WEBSITES">#<ex>0</ex></ph> website s
246 </message>
229 </if> 247 </if>
230 <if expr="lang not in ['ar', 'ro', 'lv']"> 248 <if expr="lang not in ['ar', 'ro', 'lv']">
231 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZE RO" desc=""> 249 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZE RO" desc="">
232 NA 250 NA
233 </message> 251 </message>
252 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_ZE RO_READ_ONLY" desc="">
253 NA
254 </message>
234 </if> 255 </if>
235 256
236 <if expr="lang in ['ga', 'sl', 'ar']"> 257 <if expr="lang in ['ga', 'sl', 'ar']">
237 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_TWO" desc="Permission st ring for access to data on four or more websites. NUMBER_OF_WEBSITES is two or t wo-like/dual numbers : 2 (Arabic and Irish) or 2, 102, 202 ... (Slovenian). Fo r other languages, do NOT translated."> 258 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_TWO" desc="Permission st ring for access to data on four or more websites. NUMBER_OF_WEBSITES is two or t wo-like/dual numbers : 2 (Arabic and Irish) or 2, 102, 202 ... (Slovenian). Fo r other languages, do NOT translated.">
238 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>2</ex></ ph> websites 259 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>2</ex></ ph> websites
239 </message> 260 </message>
261 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_TWO_READ_ONLY" desc="Per mission string for read-only access to data on four or more websites. NUMBER_OF_ WEBSITES is two or two-like/dual numbers : 2 (Arabic and Irish) or 2, 102, 202 ... (Slovenian). For other languages, do NOT translated.">
262 Read your data on <ph name="NUMBER_OF_WEBSITES">#<ex>2</ex></ph> website s
263 </message>
240 </if> 264 </if>
241 <if expr="lang not in ['ga', 'sl', 'ar']"> 265 <if expr="lang not in ['ga', 'sl', 'ar']">
242 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_TW O" desc=""> 266 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_TW O" desc="">
243 NA 267 NA
244 </message> 268 </message>
269 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_TW O_READ_ONLY" desc="">
270 NA
271 </message>
245 </if> 272 </if>
246 273
247 <if expr="lang in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']" > 274 <if expr="lang in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar']" >
248 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_FEW" desc="Permission st ring for access to data on four or more websites. NUMBER_OF_WEBSITES is few or f ew-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate."> 275 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_FEW" desc="Permission st ring for access to data on four or more websites. NUMBER_OF_WEBSITES is few or f ew-like numbers in Arabic, Russian, Polish, Croatian, Serbian, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT translate.">
249 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>3</ex></ ph> websites 276 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>3</ex></ ph> websites
250 </message> 277 </message>
278 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_FEW_READ_ONLY" desc="Per mission string for read-only access to data on four or more websites. NUMBER_OF_ WEBSITES is few or few-like numbers in Arabic, Russian, Polish, Croatian, Serbia n, Ukrainian, Czech, Slovak, Slovenian, Latvian. For other languages, do NOT tra nslate.">
279 Read your data on <ph name="NUMBER_OF_WEBSITES">#<ex>3</ex></ph> website s
280 </message>
251 </if> 281 </if>
252 <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar ']"> 282 <if expr="lang not in ['ru', 'lt', 'hr', 'uk', 'cs', 'sk', 'pl', 'sl', 'ar ']">
253 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_FE W" desc=""> 283 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_FE W" desc="">
254 NA 284 NA
255 </message> 285 </message>
286 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_FE W_READ_ONLY" desc="">
287 NA
288 </message>
256 </if> 289 </if>
257 290
258 <if expr="lang == 'ar'"> 291 <if expr="lang == 'ar'">
259 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_MANY" meaning="many" des c="Permission string for access to data on four or more websites. NUMBER_OF_WEBS ITES is 11 through 99 in Arabic. For all other languages, do NOT translate."> 292 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_MANY" meaning="many" des c="Permission string for access to data on four or more websites. NUMBER_OF_WEBS ITES is 11 through 99 in Arabic. For all other languages, do NOT translate.">
260 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>23</ex>< /ph> websites 293 Read and modify your data on <ph name="NUMBER_OF_WEBSITES">#<ex>23</ex>< /ph> websites
261 </message> 294 </message>
295 <message name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_MANY_READ_ONLY" meaning= "many" desc="Permission string for read-only access to data on four or more webs ites. NUMBER_OF_WEBSITES is 11 through 99 in Arabic. For all other languages, do NOT translate.">
296 Read your data on <ph name="NUMBER_OF_WEBSITES">#<ex>23</ex></ph> websit es
297 </message>
262 </if> 298 </if>
263 <if expr="lang != 'ar'"> 299 <if expr="lang != 'ar'">
264 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_MA NY" desc=""> 300 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_MA NY" desc="">
265 NA 301 NA
266 </message> 302 </message>
303 <message translateable="false" name="IDS_EXTENSION_PROMPT_WARNING_HOSTS_MA NY_READ_ONLY" desc="">
304 NA
305 </message>
267 </if> 306 </if>
268 <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_LIST_ENTRY" desc="Single entry in a list of websites."> 307 <message name="IDS_EXTENSION_PROMPT_WARNING_HOST_LIST_ENTRY" desc="Single entry in a list of websites.">
269 - <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph> 308 - <ph name="WEBSITE_1">$1<ex>www.google.com</ex></ph>
270 </message> 309 </message>
271 310
272 <!-- Media galleries strings. Please keep alphabetized. --> 311 <!-- Media galleries strings. Please keep alphabetized. -->
273 <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ" desc="Pe rmission string for access to read all of the user's media galleries."> 312 <message name="IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ" desc="Pe rmission string for access to read all of the user's media galleries.">
274 Access photos, music, and other media from your computer 313 Access photos, music, and other media from your computer
275 </message> 314 </message>
276 315
(...skipping 28 matching lines...) Expand all
305 </message> 344 </message>
306 <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAINS" desc= "Permission string for access to any computer within multiple domains on the loc al network or internet."> 345 <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAINS" desc= "Permission string for access to any computer within multiple domains on the loc al network or internet.">
307 Exchange data with any computer in the domains: <ph name="DOMAINS">$1<ex >example.com example.org</ex></ph> 346 Exchange data with any computer in the domains: <ph name="DOMAINS">$1<ex >example.com example.org</ex></ph>
308 </message> 347 </message>
309 <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOST" desc="Pe rmission string for access to a single specific computers on the local network o r internet."> 348 <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOST" desc="Pe rmission string for access to a single specific computers on the local network o r internet.">
310 Exchange data with the computer named <ph name="HOSTNAME">$1<ex>foo.exam ple.com</ex></ph> 349 Exchange data with the computer named <ph name="HOSTNAME">$1<ex>foo.exam ple.com</ex></ph>
311 </message> 350 </message>
312 <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOSTS" desc="P ermission string for access to multiple specific computers on the local network or internet."> 351 <message name="IDS_EXTENSION_PROMPT_WARNING_SOCKET_SPECIFIC_HOSTS" desc="P ermission string for access to multiple specific computers on the local network or internet.">
313 Exchange data with the computers named: <ph name="HOSTNAMES">$1<ex>foo.e xample.com bar.example.com</ex></ph> 352 Exchange data with the computers named: <ph name="HOSTNAMES">$1<ex>foo.e xample.com bar.example.com</ex></ph>
314 </message> 353 </message>
315 354
316 <!-- USB API strings. Please keep alphabetized. --> 355 <!-- USB API strings. Please keep alphabetized. -->
317 <message name="IDS_EXTENSION_PROMPT_WARNING_USB" desc="Permission string f or access to USB devices."> 356 <message name="IDS_EXTENSION_PROMPT_WARNING_USB" desc="Permission string f or access to USB devices.">
318 Access your USB devices 357 Access your USB devices
319 </message> 358 </message>
320 <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE" desc="Permission s tring for access to a specific USB device."> 359 <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE" desc="Permission s tring for access to a specific USB device.">
321 Access the USB device <ph name="PRODUCT_NAME">$1<ex>SoundKnob</ex></ph> from <ph name="VENDOR_NAME">$2<ex>Griffin Technology</ex></ph> 360 Access the USB device <ph name="PRODUCT_NAME">$1<ex>SoundKnob</ex></ph> from <ph name="VENDOR_NAME">$2<ex>Griffin Technology</ex></ph>
322 </message> 361 </message>
323 <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_MISSING_PRODUCT" de sc="Permission string for access to a specific USB device when a product name ca nnot be established for a USB device."> 362 <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_MISSING_PRODUCT" de sc="Permission string for access to a specific USB device when a product name ca nnot be established for a USB device.">
324 Access the USB device from <ph name="VENDOR_NAME">$1<ex>Griffin Technolo gy</ex></ph> 363 Access the USB device from <ph name="VENDOR_NAME">$1<ex>Griffin Technolo gy</ex></ph>
325 </message> 364 </message>
326 <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_MISSING_VENDOR" des c="Permission string for access to a specific USB device when a vendor name cann ot be established for a USB device."> 365 <message name="IDS_EXTENSION_PROMPT_WARNING_USB_DEVICE_MISSING_VENDOR" des c="Permission string for access to a specific USB device when a vendor name cann ot be established for a USB device.">
327 Access the USB device 366 Access the USB device
328 </message> 367 </message>
329 368
330 </messages> 369 </messages>
331 </release> 370 </release>
332 </grit> 371 </grit>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698