Changeset 261921 in webkit
- Timestamp:
- May 20, 2020 8:43:19 AM (4 years ago)
- Location:
- trunk/Source
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r261919 r261921 1 2020-05-20 Andy Estes <aestes@apple.com> 2 3 [Mac] UI processes spin when creating the "Share" context menu item 4 https://bugs.webkit.org/show_bug.cgi?id=212137 5 <rdar://problem/54498394> 6 7 Reviewed by Wenson Hsieh. 8 9 Ran update-webkit-localizable-strings. 10 11 * en.lproj/Localizable.strings: 12 1 13 2020-05-20 Zalan Bujtas <zalan@apple.com> 2 14 -
trunk/Source/WebCore/PAL/ChangeLog
r261845 r261921 1 2020-05-20 Andy Estes <aestes@apple.com> 2 3 [Mac] UI processes spin when creating the "Share" context menu item 4 https://bugs.webkit.org/show_bug.cgi?id=212137 5 <rdar://problem/54498394> 6 7 Reviewed by Wenson Hsieh. 8 9 * pal/spi/mac/NSSharingServicePickerSPI.h: Declared -getMenuWithCompletion:. 10 1 11 2020-05-18 Andy Estes <aestes@apple.com> 2 12 -
trunk/Source/WebCore/PAL/pal/spi/mac/NSSharingServicePickerSPI.h
r220979 r261921 42 42 @property NSSharingServicePickerStyle style; 43 43 - (NSMenu *)menu; 44 - (void)getMenuWithCompletion:(void(^)(NSMenu *))completion; 44 45 - (void)hide; 45 46 @end -
trunk/Source/WebCore/en.lproj/Localizable.strings
r261658 r261921 1 /* accessibility help text for media controller time value >= 1 day */ 2 "%1$d days %2$d hours %3$d minutes %4$d seconds" = "%1$d days %2$d hours %3$d minutes %4$d seconds"; 3 4 /* accessibility help text for media controller time value >= 60 minutes */ 5 "%1$d hours %2$d minutes %3$d seconds" = "%1$d hours %2$d minutes %3$d seconds"; 6 7 /* accessibility help text for media controller time value >= 60 seconds */ 8 "%1$d minutes %2$d seconds" = "%1$d minutes %2$d seconds"; 9 10 /* accessibility help text for media controller time value < 60 seconds */ 11 "%1$d seconds" = "%1$d seconds"; 12 13 /* window title for a standalone image (uses multiplication symbol, not x) */ 14 "%@ %@×%@ pixels" = "%@ %@×%@ pixels"; 15 16 /* visible name of the plug-in host process. The first argument is the plug-in name and the second argument is the application name. */ 17 "%@ (%@ Internet plug-in)" = "%@ (%@ Internet plug-in)"; 18 19 /* Text track display name format that includes the language of the subtitle, in the form of 'Title (Language)' */ 20 "%@ (%@)" = "%@ (%@)"; 21 22 /* Text track display name format that includes the country and language of the subtitle, in the form of 'Title (Language-Country)' */ 23 "%@ (%@-%@)" = "%@ (%@-%@)"; 24 25 /* Text track contains Audio Descriptions */ 26 "%@ AD" = "%@ AD"; 27 28 /* Text track contains closed captions */ 29 "%@ CC" = "%@ CC"; 30 31 /* Text track contains simplified (3rd grade level) subtitles */ 32 "%@ Easy Reader" = "%@ Easy Reader"; 33 34 /* Text track contains forced subtitles */ 35 "%@ Forced" = "%@ Forced"; 36 37 /* visible name of the GPU process. The argument is the application name. */ 38 "%@ Graphics and Media" = "%@ Graphics and Media"; 39 40 /* visible name of the network process. The argument is the application name. */ 41 "%@ Networking" = "%@ Networking"; 42 43 /* Text track contains subtitles for the deaf and hard of hearing */ 44 "%@ SDH" = "%@ SDH"; 45 46 /* Visible name of Service Worker process. The argument is the application name. */ 47 "%@ Service Worker (%@)" = "%@ Service Worker (%@)"; 48 49 /* Visible name of the web process. The argument is the application name. */ 50 "%@ Web Content" = "%@ Web Content"; 51 52 /* Visible name of the web process. The argument is the application name. */ 53 "%@ Web Content (Cached)" = "%@ Web Content (Cached)"; 54 55 /* Visible name of the web process. The argument is the application name. */ 56 "%@ Web Content (Prewarmed)" = "%@ Web Content (Prewarmed)"; 57 58 /* Visible name of Web Inspector's web process. The argument is the application name. */ 59 "%@ Web Inspector" = "%@ Web Inspector"; 60 61 /* Name of application's single WebCrypto master key in Keychain */ 62 "%@ WebCrypto Master Key" = "%@ WebCrypto Master Key"; 63 64 /* Label to describe the number of files selected in a file upload control that allows multiple files */ 65 "%d files" = "%d files"; 66 67 /* Label for PDF page number indicator. */ 68 "%d of %d" = "%d of %d"; 69 70 /* label next to file upload control; parameters are the number of photos and the number of videos */ 71 "%lu photo(s) and %lu video(s)" = "%lu photo(s) and %lu video(s)"; 72 73 /* window title for a standalone image (uses multiplication symbol, not x) */ 74 "%s %d×%d pixels" = "%s %d×%d pixels"; 75 76 /* Name of application's single WebCrypto master key in Keychain */ 77 "%s WebCrypto Master Key" = "%s WebCrypto Master Key"; 78 79 /* Present the number of selected <option> items in a <select multiple> element (iOS only) */ 80 "%zu Items" = "%zu Items"; 81 82 /* Present the element <select multiple> when no <option> items are selected (iOS only) */ 83 "0 Items" = "0 Items"; 84 85 /* Present the element <select multiple> when a single <option> is selected (iOS only) */ 86 "1 Item" = "1 Item"; 87 88 /* Option in segmented control for choosing list type in text editing */ 89 "1. 2. 3." = "1. 2. 3."; 90 91 /* Menu item title for KEYGEN pop-up menu */ 92 "2048 (High Grade)" = "2048 (High Grade)"; 93 94 /* Name of application's single WebCrypto master key in Keychain */ 95 "<application> WebCrypto Master Key" = "<application> WebCrypto Master Key"; 96 97 /* window title for a standalone image (uses multiplication symbol, not x) */ 98 "<filename> %d×%d pixels" = "<filename> %d×%d pixels"; 99 100 /* WKErrorJavaScriptExceptionOccurred description */ 101 "A JavaScript exception occurred" = "A JavaScript exception occurred"; 102 103 /* Title for Add to Photos action button */ 104 "Add to Photos" = "Add to Photos"; 105 106 /* Title for Add to Reading List action button */ 107 "Add to Reading List" = "Add to Reading List"; 108 109 /* Undo action name */ 110 "Align Left (Undo action name)" = "Align Left"; 111 112 /* Undo action name */ 113 "Align Right (Undo action name)" = "Align Right"; 114 115 /* Button title in Storage Access API prompt */ 116 "Allow (cross-site cookie and website data access)" = "Allow"; 117 118 /* Button title in Device Orientation Permission API prompt */ 119 "Allow (device motion and orientation access)" = "Allow"; 120 121 /* Message for requesting cross-site cookie and website data access. */ 122 "Allow “%@” to use cookies and website data while browsing “%@”?" = "Allow “%@” to use cookies and website data while browsing “%@”?"; 123 124 /* WKErrorUnknown description */ 125 "An unknown error occurred" = "An unknown error occurred"; 126 127 /* Label for the plain Apple Pay button. */ 128 "Apple Pay" = "Apple Pay"; 129 130 /* Malware confirmation dialog title */ 131 "Are you sure you wish to go to this site?" = "Are you sure you wish to go to this site?"; 132 133 /* WKErrorAttributedStringContentFailedToLoad description */ 134 "Attributed string content failed to load" = "Attributed string content failed to load"; 135 136 /* Menu item label for automatic track selection behavior */ 137 "Auto (Recommended)" = "Auto (Recommended)"; 138 139 /* Back context menu item */ 140 "Back" = "Back"; 141 142 /* Label text to be used if plugin is blocked by a page's Content Security Policy */ 143 "Blocked Plug-In (Blocked by page's Content Security Policy)" = "Blocked Plug-in"; 144 145 /* Label text to be used when an insecure plug-in version was blocked from loading */ 146 "Blocked Plug-In (Insecure plug-in)" = "Blocked Plug-in"; 147 148 /* Bold context menu item */ 149 "Bold" = "Bold"; 150 151 /* Undo action name */ 152 "Bold (Undo action name)" = "Bold"; 153 154 /* Label for the book with Apple Pay button. */ 155 "Book with Apple Pay" = "Book with Apple Pay"; 156 157 /* File Upload alert sheet button string for choosing an existing file from the file brower */ 158 "Browse (file upload action sheet)" = "Browse"; 159 160 /* Option in segmented control for inserting a bulleted list in text editing */ 161 "Bulleted list" = "Bulleted list"; 162 163 /* Label for the buy with Apple Pay button. */ 164 "Buy with Apple Pay" = "Buy with Apple Pay"; 165 166 /* Cancel */ 167 "Cancel" = "Cancel"; 168 169 /* Button title in Device Orientation Permission API prompt */ 170 "Cancel (device motion and orientation access)" = "Cancel"; 171 172 /* Title for Cancel button label in button bar */ 173 "Cancel button label in button bar" = "Cancel"; 174 175 /* Capitalize context menu item */ 176 "Capitalize" = "Capitalize"; 177 178 /* Undo action name */ 179 "Center (Undo action name)" = "Center"; 180 181 /* Undo action name */ 182 "Change Attributes (Undo action name)" = "Change Attributes"; 183 184 /* Check spelling context menu item */ 185 "Check Document Now" = "Check Document Now"; 186 187 /* Check grammar with spelling context menu item */ 188 "Check Grammar With Spelling" = "Check Grammar With Spelling"; 189 190 /* Check spelling while typing context menu item */ 191 "Check Spelling While Typing" = "Check Spelling While Typing"; 192 193 /* Label for the check out with Apple Pay button. */ 194 "Check out with Apple Pay" = "Check out with Apple Pay"; 195 196 /* title for a single file chooser button used in HTML forms */ 197 "Choose File" = "Choose File"; 198 199 /* title for a multiple file chooser button used in HTML forms. This title should be as short as possible. */ 200 "Choose Files" = "Choose Files"; 201 202 /* Title for file button used in HTML5 forms for multiple media files */ 203 "Choose Media (Multiple)" = "Choose Media (Multiple)"; 204 205 /* Title for file button used in HTML forms for media files */ 206 "Choose Media (Single)" = "Choose Media (Single)"; 207 208 /* menu item in Recent Searches menu that empties menu's contents */ 209 "Clear Recent Searches" = "Clear Recent Searches"; 210 211 /* Message to display in browser window when in webkit full screen mode. */ 212 "Click to Exit Full Screen" = "Click to Exit Full Screen"; 213 214 /* Subtitle of the label to show on a snapshotted plug-in */ 215 "Click to restart" = "Click to restart"; 216 217 /* WKErrorContentRuleListStoreCompileFailed description */ 218 "Compiling a WKContentRuleList failed" = "Compiling a WKContentRuleList failed"; 219 220 /* WebKitErrorCannotShowMIMEType description */ 221 "Content with specified MIME type can’t be shown" = "Content with specified MIME type can’t be shown"; 222 223 /* Continue */ 224 "Continue" = "Continue"; 225 226 /* Continue with Touch ID. */ 227 "Continue with Touch ID." = "Continue with Touch ID."; 228 229 /* Media Controls context menu item */ 230 "Controls" = "Controls"; 231 232 /* Undo action name */ 233 "Convert to Ordered List (Undo action name)" = "Convert to Ordered List"; 234 235 /* Undo action name */ 236 "Convert to Unordered List (Undo action name)" = "Convert to Unordered List"; 237 238 /* Copy context menu item */ 239 "Copy" = "Copy"; 240 241 /* Title for Copy Link or Image action button */ 242 "Copy (ActionSheet)" = "Copy"; 243 244 /* Copy Audio Address Location context menu item */ 245 "Copy Audio Address" = "Copy Audio Address"; 246 247 /* Copy Image context menu item */ 248 "Copy Image" = "Copy Image"; 249 250 /* Copy Link context menu item */ 251 "Copy Link" = "Copy Link"; 252 253 /* Copy Video Address Location context menu item */ 254 "Copy Video Address" = "Copy Video Address"; 255 256 /* Correct Spelling Automatically context menu item */ 257 "Correct Spelling Automatically" = "Correct Spelling Automatically"; 258 259 /* Undo action name */ 260 "Create Link (Undo action name)" = "Create Link"; 261 262 /* Cut context menu item */ 263 "Cut" = "Cut"; 264 265 /* Undo action name */ 266 "Cut (Undo action name)" = "Cut"; 267 268 /* Day label in date picker */ 269 "DAY (Date picker for extra zoom mode)" = "DAY"; 270 271 /* Phishing warning title */ 272 "Deceptive Website Warning" = "Deceptive Website Warning"; 273 274 /* Default writing direction context menu item */ 275 "Default" = "Default"; 276 277 /* Undo action name */ 278 "Delete (Undo action name)" = "Delete"; 279 280 /* text to display in <details> tag when it has no <summary> child */ 281 "Details" = "Details"; 282 283 /* Undo action name */ 284 "Dictation (Undo action name)" = "Dictation"; 285 286 /* Message for requesting cross-site cookie and website data access. */ 287 "Do you want to allow “%@” to use cookies and website data while browsing “%@”?" = "Do you want to allow “%@” to use cookies and website data while browsing “%@”?"; 288 289 /* Button title in Storage Access API prompt */ 290 "Don't Allow (cross-site cookie and website data access)" = "Don't Allow"; 291 292 /* Label for the donate with Apple Pay button. */ 293 "Donate with Apple Pay" = "Donate with Apple Pay"; 294 295 /* Title of the Done button for zoomed form controls. */ 296 "Done" = "Done"; 297 298 /* Download Audio To Disk context menu item */ 299 "Download Audio" = "Download Audio"; 300 301 /* Download Image context menu item */ 302 "Download Image" = "Download Image"; 303 304 /* Download Linked File context menu item */ 305 "Download Linked File" = "Download Linked File"; 306 307 /* Download Video To Disk context menu item */ 308 "Download Video" = "Download Video"; 309 310 /* Undo action name */ 311 "Drag (Undo action name)" = "Drag"; 312 313 /* Video Enter Full Screen context menu item */ 314 "Enter Full Screen" = "Enter Full Screen"; 315 316 /* menu item */ 317 "Enter Picture in Picture" = "Enter Picture in Picture"; 318 319 /* Validation message for input form controls of type 'url' that have an invalid value */ 320 "Enter a URL" = "Enter a URL"; 321 322 /* Validation message for number fields where the user entered a non-number string */ 323 "Enter a number" = "Enter a number"; 324 325 /* Validation message for input form controls with value not respecting the step attribute */ 326 "Enter a valid value" = "Enter a valid value"; 327 328 /* Validation message for input form controls of type 'email' that have an invalid value */ 329 "Enter an email address" = "Enter an email address"; 330 331 /* Custom protocol synchronous load failure description */ 332 "Error handling synchronous load with custom protocol" = "Error handling synchronous load with custom protocol"; 333 334 /* Button for exiting full screen when in full screen media playback */ 335 "Exit Full Screen" = "Exit Full Screen"; 336 337 /* Full Screen Deceptive Website Exit Action */ 338 "Exit Full Screen (Element Full Screen)" = "Exit Full Screen"; 339 340 /* Video Exit Full Screen context menu item */ 341 "Exit Full Screen (context menu)" = "Exit Full Screen"; 342 343 /* menu item */ 344 "Exit Picture in Picture" = "Exit Picture in Picture"; 345 346 /* The requested file doesn't exist */ 347 "File does not exist" = "File does not exist"; 348 349 /* Validation message for required form control elements that have no value */ 350 "Fill out this field" = "Fill out this field"; 351 352 /* Default application name for Open With context menu */ 353 "Finder" = "Finder"; 354 355 /* Font context sub-menu item */ 356 "Font" = "Font"; 357 358 /* Undo action name */ 359 "Format Block (Undo action name)" = "Formatting"; 360 361 /* Forward context menu item */ 362 "Forward" = "Forward"; 363 364 /* WebKitErrorFrameLoadInterruptedByPolicyChange description */ 365 "Frame load interrupted" = "Frame load interrupted"; 366 367 /* Title of the Go button for zoomed form controls. */ 368 "Go" = "Go"; 369 370 /* Action from safe browsing warning */ 371 "Go Back" = "Go Back"; 372 373 /* Google Safe Browsing */ 374 "Google Safe Browsing" = "Google Safe Browsing"; 375 376 /* accessibility role description for web area */ 377 "HTML content" = "HTML content"; 378 379 /* Title of the Hide button for zoomed form controls. */ 380 "Hide" = "Hide"; 381 382 /* Hide Media Controls context menu item */ 383 "Hide Controls" = "Hide Controls"; 384 385 /* menu item title */ 386 "Hide Spelling and Grammar" = "Hide Spelling and Grammar"; 387 388 /* menu item title */ 389 "Hide Substitutions" = "Hide Substitutions"; 390 391 /* The default, default character encoding on Windows */ 392 "ISO-8859-1" = "ISO-8859-1"; 393 394 /* Phishing warning description */ 395 "If you believe this website is safe, you can %report-an-error%. Or, if you understand the risks involved, you can %bypass-link%." = "If you believe this website is safe, you can %report-an-error%. Or, if you understand the risks involved, you can %bypass-link%."; 396 397 /* Action from safe browsing warning */ 398 "If you understand the risks involved, you can %visit-this-unsafe-site-link%." = "If you understand the risks involved, you can %visit-this-unsafe-site-link%."; 399 400 /* Ignore Grammar context menu item */ 401 "Ignore Grammar" = "Ignore Grammar"; 402 403 /* Ignore Spelling context menu item */ 404 "Ignore Spelling" = "Ignore Spelling"; 405 406 /* Undo action name */ 407 "Indent (Undo action name)" = "Indent"; 408 409 /* Undo action name */ 410 "Insert Drawing (Undo action name)" = "Insert Drawing"; 411 412 /* Undo action name */ 413 "Insert List (Undo action name)" = "Insert List"; 414 415 /* Inspect Element context menu item */ 416 "Inspect Element" = "Inspect Element"; 417 418 /* Validation message for input form controls with a value not matching type */ 419 "Invalid value" = "Invalid value"; 420 421 /* Full Screen Deceptive Website Warning Sheet Title */ 422 "It looks like you are typing while in full screen" = "It looks like you are typing while in full screen"; 423 424 /* Italic context menu item */ 425 "Italic" = "Italic"; 426 427 /* Undo action name */ 428 "Italics (Undo action name)" = "Italics"; 429 430 /* WebKitErrorJavaUnavailable description */ 431 "Java is unavailable" = "Java is unavailable"; 432 433 /* Title for action sheet for JavaScript link */ 434 "JavaScript Action Sheet Title" = "JavaScript"; 435 436 /* WKErrorJavaScriptResultTypeIsUnsupported description */ 437 "JavaScript execution returned a result of an unsupported type" = "JavaScript execution returned a result of an unsupported type"; 438 439 /* Undo action name */ 440 "Justify (Undo action name)" = "Justify"; 441 442 /* Name of keychain key generated by the KEYGEN tag */ 443 "Key from %@" = "Key from %@"; 444 445 /* Learn Spelling context menu item */ 446 "Learn Spelling" = "Learn Spelling"; 447 448 /* Action from safe browsing warning */ 449 "Learn more…" = "Learn more…"; 450 451 /* Left to Right context menu item */ 452 "Left to Right" = "Left to Right"; 453 454 /* Media controller status message when watching a live broadcast */ 455 "Live Broadcast" = "Live Broadcast"; 456 457 /* Load request cancelled */ 458 "Load request cancelled" = "Load request cancelled"; 459 460 /* Media controller status message when the media is loading */ 461 "Loading…" = "Loading…"; 462 463 /* 'Website' name displayed when local documents have stored local data */ 464 "Local documents on your computer" = "Local documents on your computer"; 465 466 /* Look Up in Dictionary context menu item */ 467 "Look Up in Dictionary" = "Look Up in Dictionary"; 468 469 /* Look Up context menu item with selected word */ 470 "Look Up “%@”" = "Look Up “%@”"; 471 472 /* Look Up context menu item with selected word */ 473 "Look Up “%s”" = "Look Up “%s”"; 474 475 /* Look Up context menu item with selected word */ 476 "Look Up “<selection>”" = "Look Up “<selection>”"; 477 478 /* WKErrorContentRuleListStoreLookupFailed description */ 479 "Looking up a WKContentRuleList failed" = "Looking up a WKContentRuleList failed"; 480 481 /* WKErrorContentRuleListStoreVersionMismatch description */ 482 "Looking up a WKContentRuleList found a binary that is incompatible" = "Looking up a WKContentRuleList found a binary that is incompatible"; 483 484 /* Media Loop context menu item */ 485 "Loop" = "Loop"; 486 487 /* Undo action name */ 488 "Loosen Kerning (Undo action name)" = "Loosen Kerning"; 489 490 /* Undo action name */ 491 "Lower Baseline (Undo action name)" = "Lower Baseline"; 492 493 /* Month label in date picker */ 494 "MONTH (Date picker for extra zoom mode)" = "MONTH"; 495 496 /* Make Lower Case context menu item */ 497 "Make Lower Case" = "Make Lower Case"; 498 499 /* Make Upper Case context menu item */ 500 "Make Upper Case" = "Make Upper Case"; 501 502 /* Malware warning title */ 503 "Malware Website Warning" = "Malware Website Warning"; 504 505 /* Validation message for input form controls requiring a constrained value according to pattern */ 506 "Match the requested format" = "Match the requested format"; 507 508 /* Malware confirmation dialog */ 509 "Merely visiting a site is sufficient for malware to install itself and harm your computer." = "Merely visiting a site is sufficient for malware to install itself and harm your computer."; 510 511 /* Label text to be used when a plugin is missing */ 512 "Missing Plug-in" = "Missing Plug-in"; 513 514 /* Media Mute context menu item */ 515 "Mute" = "Mute"; 516 517 /* No Guesses Found context menu item */ 518 "No Guesses Found" = "No Guesses Found"; 519 520 /* Empty select list */ 521 "No Options Select Popover" = "No Options"; 522 523 /* Label for only item in menu that appears when clicking on the search field image, when no searches have been performed */ 524 "No recent searches" = "No recent searches"; 525 526 /* Option in segmented control for choosing list type in text editing */ 527 "None" = "None"; 528 529 /* WebKitErrorCannotUseRestrictedPort description */ 530 "Not allowed to use restricted network port" = "Not allowed to use restricted network port"; 531 532 /* Option in segmented control for inserting a numbered list in text editing */ 533 "Numbered list" = "Numbered list"; 534 535 /* Title of the OK button for the number pad in zoomed form controls. */ 536 "OK (OK button title in extra zoomed number pad)" = "OK"; 537 538 /* OK button label in document password failure alert */ 539 "OK (document password failure alert)" = "OK"; 540 541 /* Menu item label for the track that represents disabling closed captions */ 542 "Off" = "Off"; 543 544 /* Title for Open Link action button */ 545 "Open" = "Open"; 546 547 /* Open Audio in New Window context menu item */ 548 "Open Audio in New Window" = "Open Audio in New Window"; 549 550 /* Open Frame in New Window context menu item */ 551 "Open Frame in New Window" = "Open Frame in New Window"; 552 553 /* Open Image in New Window context menu item */ 554 "Open Image in New Window" = "Open Image in New Window"; 555 556 /* Open Link context menu item */ 557 "Open Link" = "Open Link"; 558 559 /* Open in New Window context menu item */ 560 "Open Link in New Window" = "Open Link in New Window"; 561 562 /* Open Video in New Window context menu item */ 563 "Open Video in New Window" = "Open Video in New Window"; 564 565 /* Title for Open in Safari Link action button */ 566 "Open in Safari" = "Open in Safari"; 567 568 /* Title for Open in External Application Link action button */ 569 "Open in “%@”" = "Open in “%@”"; 570 571 /* context menu item for PDF */ 572 "Open with %@" = "Open with %@"; 573 574 /* Undo action name */ 575 "Outdent (Undo action name)" = "Outdent"; 576 577 /* Outline context menu item */ 578 "Outline" = "Outline"; 579 580 /* Undo action name */ 581 "Outline (Undo action name)" = "Outline"; 582 583 /* Paragraph direction context sub-menu item */ 584 "Paragraph Direction" = "Paragraph Direction"; 585 586 /* Paste context menu item */ 587 "Paste" = "Paste"; 588 589 /* Undo action name */ 590 "Paste (Undo action name)" = "Paste"; 591 592 /* Undo action name */ 593 "Paste Font (Undo action name)" = "Paste Font"; 594 595 /* Undo action name */ 596 "Paste Ruler (Undo action name)" = "Paste Ruler"; 597 598 /* Media Pause context menu item */ 599 "Pause" = "Pause"; 600 601 /* File Upload alert sheet button string for choosing an existing media item from the Photo Library */ 602 "Photo Library (file upload action sheet)" = "Photo Library"; 603 604 /* Media Play context menu item */ 605 "Play" = "Play"; 606 607 /* accessibility help text for enter full screen button */ 608 "Play movie in full screen mode" = "Play movie in full screen mode"; 609 610 /* Label text to be used when a plug-in was blocked from loading because it was too small */ 611 "Plug-In too small" = "Plug-In too small"; 612 613 /* Label text to be used if plugin host process has crashed */ 614 "Plug-in Failure" = "Plug-in Failure"; 615 616 /* WebKitErrorPlugInCancelledConnection description */ 617 "Plug-in cancelled" = "Plug-in cancelled"; 618 619 /* WebKitErrorPlugInWillHandleLoad description */ 620 "Plug-in handled load" = "Plug-in handled load"; 621 622 /* Description of the primary type supported by the PDF pseudo plug-in. Visible in the Installed Plug-ins page in Safari. */ 623 "Portable Document Format" = "Portable Document Format"; 624 625 /* Description of the PostScript type supported by the PDF pseudo plug-in. Visible in the Installed Plug-ins page in Safari. */ 626 "PostScript" = "PostScript"; 627 628 /* Undo action name */ 629 "Raise Baseline (Undo action name)" = "Raise Baseline"; 630 631 /* label for first item in the menu that appears when clicking on the search field image, used as embedded menu title */ 632 "Recent Searches" = "Recent Searches"; 633 634 /* Reload context menu item */ 635 "Reload" = "Reload"; 636 637 /* WKErrorContentRuleListStoreRemoveFailed description */ 638 "Removing a WKContentRuleList failed" = "Removing a WKContentRuleList failed"; 639 640 /* default label for Reset buttons in forms on web pages */ 641 "Reset" = "Reset"; 642 643 /* Reset button in date input context menu */ 644 "Reset Button Date/Time Context Menu" = "Reset"; 645 646 /* Right to Left context menu item */ 647 "Right to Left" = "Right to Left"; 648 649 /* Title of the Search button for zoomed form controls. */ 650 "Search" = "Search"; 651 652 /* Search in Spotlight context menu item */ 653 "Search in Spotlight" = "Search in Spotlight"; 654 655 /* Search the Web context menu item */ 656 "Search the Web" = "Search the Web"; 657 658 /* Search with search provider context menu item with provider name inserted */ 659 "Search with %@" = "Search with %@"; 660 661 /* Validation message for required file inputs that have no value */ 662 "Select a file" = "Select a file"; 663 664 /* Validation message for required menu list controls that have no selection */ 665 "Select an item in the list" = "Select an item in the list"; 666 667 /* Validation message for required radio boxes that have no selection */ 668 "Select one of these options" = "Select one of these options"; 669 670 /* Validation message for required checkboxes that have not be selected */ 671 "Select this checkbox" = "Select this checkbox"; 672 673 /* Selection direction context sub-menu item */ 674 "Selection Direction" = "Selection Direction"; 675 676 /* Set button below date picker */ 677 "Set (Button below date picker for extra zoom mode)" = "Set"; 678 679 /* Undo action name */ 680 "Set Background Color (Undo action name)" = "Set Background Color"; 681 682 /* Undo action name */ 683 "Set Color (Undo action name)" = "Set Color"; 684 685 /* Undo action name */ 686 "Set Font (Undo action name)" = "Set Font"; 687 688 /* Undo action name */ 689 "Set Traditional Character Shape (Undo action name)" = "Set Traditional Character Shape"; 690 691 /* Undo action name */ 692 "Set Writing Direction (Undo action name)" = "Set Writing Direction"; 693 694 /* Label for the set up with Apple Pay button. */ 695 "Set up with Apple Pay" = "Set up with Apple Pay"; 696 697 /* Title for Share context menu item. */ 698 "Share" = "Share"; 699 700 /* Title for Share action button */ 701 "Share…" = "Share…"; 702 703 /* Show colors context menu item */ 704 "Show Colors" = "Show Colors"; 705 706 /* Show Media Controls context menu item */ 707 "Show Controls" = "Show Controls"; 708 709 /* Action from safe browsing warning */ 710 "Show Details" = "Show Details"; 711 712 /* Show fonts context menu item */ 713 "Show Fonts" = "Show Fonts"; 714 715 /* menu item title */ 716 "Show Spelling and Grammar" = "Show Spelling and Grammar"; 717 718 /* menu item title */ 719 "Show Substitutions" = "Show Substitutions"; 720 721 /* Title of the context menu item to show when PDFPlugin was used instead of a blocked plugin */ 722 "Show in blocked plug-in" = "Show in blocked plug-in"; 723 724 /* Smart Copy/Paste context menu item */ 725 "Smart Copy/Paste" = "Smart Copy/Paste"; 726 727 /* Smart Dashes context menu item */ 728 "Smart Dashes" = "Smart Dashes"; 729 730 /* Smart Links context menu item */ 731 "Smart Links" = "Smart Links"; 732 733 /* Smart Quotes context menu item */ 734 "Smart Quotes" = "Smart Quotes"; 735 736 /* Title of the label to show on a snapshotted plug-in */ 737 "Snapshotted Plug-In" = "Snapshotted Plug-In"; 738 739 /* Speech context sub-menu item */ 740 "Speech" = "Speech"; 741 742 /* Spelling and Grammar context sub-menu item */ 743 "Spelling and Grammar" = "Spelling and Grammar"; 744 745 /* title for Start Debugging JavaScript menu item */ 746 "Start Debugging JavaScript" = "Start Debugging JavaScript"; 747 748 /* title for Start Profiling JavaScript menu item */ 749 "Start Profiling JavaScript" = "Start Profiling JavaScript"; 750 751 /* Start speaking context menu item */ 752 "Start Speaking" = "Start Speaking"; 753 754 /* Full Screen Deceptive Website Stay Action */ 755 "Stay in Full Screen (Element Full Screen)" = "Stay in Full Screen"; 756 757 /* Stop context menu item */ 758 "Stop" = "Stop"; 759 760 /* title for Stop Debugging JavaScript menu item */ 761 "Stop Debugging JavaScript" = "Stop Debugging JavaScript"; 762 763 /* title for Stop Profiling JavaScript menu item */ 764 "Stop Profiling JavaScript" = "Stop Profiling JavaScript"; 765 766 /* Stop speaking context menu item */ 767 "Stop Speaking" = "Stop Speaking"; 768 769 /* Undo action name */ 770 "StrikeThrough (Undo action name)" = "StrikeThrough"; 771 772 /* Label for strong password. */ 773 "Strong Password" = "Strong Password"; 774 775 /* Styles context menu item */ 776 "Styles…" = "Styles…"; 777 778 /* default label for Submit buttons in forms on web pages */ 779 "Submit" = "Submit"; 780 781 /* alt text for <input> elements with no alt, title, or value */ 782 "Submit (input element)" = "Submit"; 783 784 /* Label for the subcribe with Apple Pay button. */ 785 "Subscribe with Apple Pay" = "Subscribe with Apple Pay"; 786 787 /* Undo action name */ 788 "Subscript (Undo action name)" = "Subscript"; 789 790 /* Substitutions context sub-menu item */ 791 "Substitutions" = "Substitutions"; 792 793 /* Menu section heading for subtitles */ 794 "Subtitles" = "Subtitles"; 795 796 /* Accessibility announcement for the data list suggestions dropdown going away. */ 797 "Suggestions list hidden." = "Suggestions list hidden."; 798 799 /* Accessibility announcement that the suggestions list became visible. The format argument is for the first option in the list. */ 800 "Suggestions list visible, %@" = "Suggestions list visible, %@"; 801 802 /* Undo action name */ 803 "Superscript (Undo action name)" = "Superscript"; 804 805 /* File Upload alert sheet camera button string for taking only photos */ 806 "Take Photo (file upload action sheet)" = "Take Photo"; 807 808 /* File Upload alert sheet camera button string for taking photos or videos */ 809 "Take Photo or Video (file upload action sheet)" = "Take Photo or Video"; 810 811 /* File Upload alert sheet camera button string for taking only videos */ 812 "Take Video (file upload action sheet)" = "Take Video"; 813 814 /* Tencent Safe Browsing */ 815 "Tencent Safe Browsing" = "Tencent Safe Browsing"; 816 817 /* Text Replacement context menu item */ 818 "Text Replacement" = "Text Replacement"; 819 820 /* WebKitErrorCannotShowURL description */ 821 "The URL can’t be shown" = "The URL can’t be shown"; 822 823 /* WebKitErrorBlockedByContentBlocker description */ 824 "The URL was blocked by a content blocker" = "The URL was blocked by a content blocker"; 825 826 /* WebKitErrorFrameLoadBlockedByContentFilter description */ 827 "The URL was blocked by a content filter" = "The URL was blocked by a content filter"; 828 829 /* WebKitErrorFrameLoadBlockedByRestrictions description */ 830 "The URL was blocked by device restrictions" = "The URL was blocked by device restrictions"; 831 832 /* WKErrorWebViewInvalidated description */ 833 "The WKWebView was invalidated" = "The WKWebView was invalidated"; 834 835 /* WKErrorWebContentProcessTerminated description */ 836 "The Web Content process was terminated" = "The Web Content process was terminated"; 837 838 /* WebKitErrorGeolocationLocationUnknown description */ 839 "The current location cannot be found." = "The current location cannot be found."; 840 841 /* document password failure alert message */ 842 "The document could not be opened with that password." = "The document could not be opened with that password."; 843 844 /* WebKitErrorCannotFindPlugin description */ 845 "The plug-in can’t be found" = "The plug-in can’t be found"; 846 847 /* WebKitErrorCannotLoadPlugin description */ 848 "The plug-in can’t be loaded" = "The plug-in can’t be loaded"; 849 850 /* prompt string in authentication panel */ 851 "The user name or password you entered for area “%@” on %@ was incorrect. Make sure you’re entering them correctly, and then try again." = "The user name or password you entered for area “%@” on %@ was incorrect. Make sure you’re entering them correctly, and then try again."; 852 853 /* prompt string in authentication panel */ 854 "The user name or password you entered for the %@ proxy server %@ was incorrect. Make sure you’re entering them correctly, and then try again." = "The user name or password you entered for the %@ proxy server %@ was incorrect. Make sure you’re entering them correctly, and then try again."; 855 856 /* prompt string in authentication panel */ 857 "The user name or password you entered for this area on %@ was incorrect. Make sure you’re entering them correctly, and then try again." = "The user name or password you entered for this area on %@ was incorrect. Make sure you’re entering them correctly, and then try again."; 858 859 /* text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' */ 860 "This is a searchable index. Enter search keywords: " = "This is a searchable index. Enter search keywords: "; 861 862 /* Malware warning */ 863 "This website may attempt to install dangerous software, which could harm your computer or steal your personal or financial information, like passwords, photos, or credit cards." = "This website may attempt to install dangerous software, which could harm your computer or steal your personal or financial information, like passwords, photos, or credit cards."; 864 865 /* Phishing warning */ 866 "This website may try to trick you into doing something dangerous, like installing software or disclosing personal or financial information, like passwords, phone numbers, or credit cards." = "This website may try to trick you into doing something dangerous, like installing software or disclosing personal or financial information, like passwords, phone numbers, or credit cards."; 867 868 /* Unwanted software warning */ 869 "This website may try to trick you into installing software that harms your browsing experience, like changing your settings without your permission or showing you unwanted ads. Once installed, it may be difficult to remove." = "This website may try to trick you into installing software that harms your browsing experience, like changing your settings without your permission or showing you unwanted ads. Once installed, it may be difficult to remove."; 870 871 /* Informative text for requesting cross-site cookie and website data access. */ 872 "This will allow “%@” to track your activity." = "This will allow “%@” to track your activity."; 873 874 /* Undo action name */ 875 "Tighten Kerning (Undo action name)" = "Tighten Kerning"; 876 877 /* WKErrorAttributedStringContentLoadTimedOut description */ 878 "Timed out while loading attributed string content" = "Timed out while loading attributed string content"; 879 880 /* prompt string in authentication panel */ 881 "To view this page, you must log in to area “%@” on %@." = "To view this page, you must log in to area “%@” on %@."; 882 883 /* prompt string in authentication panel */ 884 "To view this page, you must log in to the %@ proxy server %@." = "To view this page, you must log in to the %@ proxy server %@."; 885 886 /* prompt string in authentication panel */ 887 "To view this page, you must log in to this area on %@:" = "To view this page, you must log in to this area on %@:"; 888 889 /* Transformations context sub-menu item */ 890 "Transformations" = "Transformations"; 891 892 /* Undo action name */ 893 "Turn Off Kerning (Undo action name)" = "Turn Off Kerning"; 894 895 /* Undo action name */ 896 "Turn Off Ligatures (Undo action name)" = "Turn Off Ligatures"; 897 898 /* Undo action name */ 899 "Typing (Undo action name)" = "Typing"; 900 901 /* Full Screen Deceptive Website Warning Sheet Content Text */ 902 "Typing is not allowed in full screen websites. “%@” may be showing a fake keyboard to trick you into disclosing personal or financial information." = "Typing is not allowed in full screen websites. “%@” may be showing a fake keyboard to trick you into disclosing personal or financial information."; 903 904 /* accessibility role description for a URL field. */ 905 "URL field" = "URL field"; 906 907 /* Unacceptable TLS certificate error */ 908 "Unacceptable TLS certificate" = "Unacceptable TLS certificate"; 909 910 /* Underline context menu item */ 911 "Underline" = "Underline"; 912 913 /* Undo action name */ 914 "Underline (Undo action name)" = "Underline"; 915 916 /* Menu item label for an audio track that has no other name */ 917 "Unknown (audio track)" = "Unknown"; 918 919 /* Unknown filesize FTP directory listing item */ 920 "Unknown (filesize)" = "Unknown"; 921 922 /* Menu item label for a text track that has no other name */ 923 "Unknown (text track)" = "Unknown"; 924 925 /* Undo action name */ 926 "Unlink (Undo action name)" = "Unlink"; 927 928 /* Undo action name */ 929 "Unscript (Undo action name)" = "Unscript"; 930 931 /* Label text to be used when an unsupported plug-in was blocked from loading */ 932 "Unsupported Plug-In" = "Unsupported Plug-in"; 933 934 /* Undo action name */ 935 "Use All Ligatures (Undo action name)" = "Use All Ligatures"; 936 937 /* Undo action name */ 938 "Use Standard Kerning (Undo action name)" = "Use Standard Kerning"; 939 940 /* Undo action name */ 941 "Use Standard Ligatures (Undo action name)" = "Use Standard Ligatures"; 942 943 /* Validation message for form control elements with a value shorter than minimum allowed length */ 944 "Use at least %d characters" = "Use at least %d characters"; 945 946 /* Validation message for form control elements with a value shorter than maximum allowed length */ 947 "Use no more than %d character(s)" = "Use no more than %d character(s)"; 948 949 /* Validation message for form control elements with a value shorter than maximum allowed length */ 950 "Use no more than %d characters" = "Use no more than %d characters"; 951 952 /* Description of WebCrypto master keys in Keychain */ 953 "Used to encrypt WebCrypto keys in persistent storage, such as IndexedDB" = "Used to encrypt WebCrypto keys in persistent storage, such as IndexedDB"; 954 955 /* The download was cancelled by the user */ 956 "User cancelled the download" = "User cancelled the download"; 957 958 /* Validation message for input form controls with value lower than allowed minimum */ 959 "Value must be greater than or equal to %@" = "Value must be greater than or equal to %@"; 960 961 /* Validation message for input form controls with value lower than allowed minimum */ 962 "Value must be greater than or equal to %s" = "Value must be greater than or equal to %s"; 963 964 /* Validation message for input form controls with value higher than allowed maximum */ 965 "Value must be less than or equal to %@" = "Value must be less than or equal to %@"; 966 967 /* Validation message for input form controls with value higher than allowed maximum */ 968 "Value must be less than or equal to %s" = "Value must be less than or equal to %s"; 969 970 /* Phishing warning description */ 971 "Warnings are shown for websites that have been reported as deceptive. Deceptive websites try to trick you into believing they are legitimate websites you trust." = "Warnings are shown for websites that have been reported as deceptive. Deceptive websites try to trick you into believing they are legitimate websites you trust."; 972 973 /* Unwanted software warning description */ 974 "Warnings are shown for websites where harmful software has been detected. You can check %the-status-of-site% on the %safeBrowsingProvider% diagnostic page." = "Warnings are shown for websites where harmful software has been detected. You can check %the-status-of-site% on the %safeBrowsingProvider% diagnostic page."; 975 976 /* Malware warning description */ 977 "Warnings are shown for websites where malicious software has been detected. You can check the %status-link% on the %safeBrowsingProvider% diagnostic page." = "Warnings are shown for websites where malicious software has been detected. You can check the %status-link% on the %safeBrowsingProvider% diagnostic page."; 978 979 /* Web Inspector window title when inspecting Web Inspector */ 980 "Web Inspector [%d] — %@" = "Web Inspector [%d] — %@"; 981 982 /* Web Inspector window title */ 983 "Web Inspector — %@" = "Web Inspector — %@"; 984 985 /* Pseudo plug-in name, visible in the Installed Plug-ins page in Safari. */ 986 "WebKit built-in PDF" = "WebKit built-in PDF"; 987 988 /* WebKitErrorInternal description */ 989 "WebKit encountered an internal error" = "WebKit encountered an internal error"; 990 991 /* Unwanted software warning title */ 992 "Website With Harmful Software Warning" = "Website With Harmful Software Warning"; 993 994 /* Year label in date picker */ 995 "YEAR (Date picker for extra zoom mode)" = "YEAR"; 996 997 /* message in authentication panel */ 998 "Your login information will be sent securely." = "Your login information will be sent securely."; 999 1000 /* message in authentication panel */ 1001 "Your password will be sent unencrypted." = "Your password will be sent unencrypted."; 1002 1003 /* HTTP result code string */ 1004 "accepted" = "accepted"; 1005 1006 /* Verb stating the action that will occur when a text field is selected, as used by accessibility */ 1007 "activate" = "activate"; 1008 1009 /* An ARIA accessibility group that acts as an alert. */ 1010 "alert" = "alert"; 1011 1012 /* An ARIA accessibility group that acts as a status update. */ 1013 "application status" = "application status"; 1014 1015 /* An ARIA accessibility group that acts as an article. */ 1016 "article" = "article"; 1017 1018 /* accessibility role description for an attachment element */ 1019 "attachment" = "attachment"; 1020 1021 /* accessibility help text for audio element controller */ 1022 "audio element playback controls and status display" = "audio element playback controls and status display"; 1023 1024 /* accessibility label for audio element controller */ 1025 "audio playback" = "audio playback"; 1026 1027 /* accessibility label for seek back 30 seconds button */ 1028 "back 30 seconds" = "back 30 seconds"; 1029 1030 /* HTTP result code string */ 1031 "bad gateway" = "bad gateway"; 1032 1033 /* HTTP result code string */ 1034 "bad request" = "bad request"; 1035 1036 /* An ARIA accessibility group that acts as a banner. */ 1037 "banner" = "banner"; 1038 1039 /* accessibility help text for play button */ 1040 "begin playback" = "begin playback"; 1041 1042 /* accessibility description for a search field cancel button */ 1043 "cancel" = "cancel"; 1044 1045 /* Verb stating the action that will occur when an unchecked checkbox is clicked, as used by accessibility */ 1046 "check" = "check"; 1047 1048 /* HTTP result code string */ 1049 "client error" = "client error"; 1050 1051 /* accessibility role description for a color well */ 1052 "color well" = "color well"; 1053 1054 /* An ARIA accessibility group that acts as a region of complementary information. */ 1055 "complementary" = "complementary"; 1056 1057 /* HTTP result code string */ 1058 "conflict" = "conflict"; 1059 1060 /* Label for the AutoFill contacts button inside a text field. */ 1061 "contact info AutoFill" = "contact info AutoFill"; 1062 1063 /* An ARIA accessibility group that contains content. */ 1064 "content information" = "content information"; 1065 1066 /* HTTP result code string */ 1067 "continue" = "continue"; 1068 1069 /* HTTP result code string */ 1070 "created" = "created"; 1071 1072 /* Label for the credit card AutoFill button inside a text field. */ 1073 "credit card AutoFill" = "credit card AutoFill"; 1074 1075 /* The less good value description for a meter element. */ 1076 "critical value" = "critical value"; 1077 1078 /* accessibility help text for movie status display */ 1079 "current movie status" = "current movie status"; 1080 1081 /* accessibility help text for elapsed time display */ 1082 "current movie time in seconds" = "current movie time in seconds"; 1083 1084 /* accessibility role description for a date and time field. */ 1085 "date and time field" = "date and time field"; 1086 1087 /* accessibility role description for a date field. */ 1088 "date field" = "date field"; 1089 1090 /* role description of ARIA definition role */ 1091 "definition" = "definition"; 1092 1093 /* description detail */ 1094 "description" = "description"; 1095 1096 /* accessibility role description of a description list */ 1097 "description list" = "description list"; 1098 1099 /* accessibility role description for a details element */ 1100 "details" = "details"; 1101 1102 /* An ARIA accessibility group that acts as a document. */ 1103 "document" = "document"; 1104 1105 /* accessibility label for elapsed time display */ 1106 "elapsed time" = "elapsed time"; 1107 1108 /* accessibility role description for an email field. */ 1109 "email field" = "email field"; 1110 1111 /* accessibility label for enter full screen button */ 1112 "enter full screen" = "enter full screen"; 1113 1114 /* accessibility label for exit full screen button */ 1115 "exit full screen" = "exit full screen"; 1116 1117 /* HTTP result code string */ 1118 "expectation failed" = "expectation failed"; 1119 1120 /* accessibility label for fast forward button */ 1121 "fast forward" = "fast forward"; 1122 1123 /* accessibility label for fast reverse button */ 1124 "fast reverse" = "fast reverse"; 1125 1126 /* accessibility role description for a group containing a scrollable list of articles. */ 1127 "feed" = "feed"; 1128 1129 /* accessibility role description for a figure element. */ 1130 "figure" = "figure"; 1131 1132 /* accessibility role description for a file upload button */ 1133 "file upload button" = "file upload button"; 1134 1135 /* accessibility role description for a footer */ 1136 "footer" = "footer"; 1137 1138 /* HTTP result code string */ 1139 "forbidden" = "forbidden"; 1140 1141 /* HTTP result code string */ 1142 "found" = "found"; 1143 1144 /* HTTP result code string */ 1145 "gateway timed out" = "gateway timed out"; 1146 1147 /* accessibility role description for headings */ 1148 "heading" = "heading"; 1149 1150 /* accessibility label for hide closed captions button */ 1151 "hide closed captions" = "hide closed captions"; 1152 1153 /* accessibility role description for a mark element */ 1154 "highlighted" = "highlighted"; 1155 1156 /* accessibility role description for image map */ 1157 "image map" = "image map"; 1158 1159 /* accessibility help text for an indefinite media controller time value */ 1160 "indefinite time" = "indefinite time"; 1161 1162 /* HTTP result code string */ 1163 "informational" = "informational"; 1164 1165 /* HTTP result code string */ 1166 "internal server error" = "internal server error"; 1167 1168 /* Verb stating the action that will occur when a link is clicked, as used by accessibility */ 1169 "jump" = "jump"; 1170 1171 /* HTTP result code string */ 1172 "length required" = "length required"; 1173 1174 /* accessibility role description for link */ 1175 "link" = "link"; 1176 1177 /* accessibility role description for list marker */ 1178 "list marker" = "list marker"; 1179 1180 /* An ARIA accessibility group that acts as a console log. */ 1181 "log" = "log"; 1182 1183 /* An ARIA accessibility group that is the main portion of the website. */ 1184 "main" = "main"; 1185 1186 /* An ARIA accessibility group that acts as a marquee. */ 1187 "marquee" = "marquee"; 1188 1189 /* An ARIA accessibility group that contains mathematical symbols. */ 1190 "math" = "math"; 1191 1192 /* HTTP result code string */ 1193 "method not allowed" = "method not allowed"; 1194 1195 /* accessibility role description for a month field. */ 1196 "month and year field" = "month and year field"; 1197 1198 /* HTTP result code string */ 1199 "moved permanently" = "moved permanently"; 1200 1201 /* accessibility label for timeline slider */ 1202 "movie time" = "movie time"; 1203 1204 /* accessibility help text for timeline slider */ 1205 "movie time scrubber" = "movie time scrubber"; 1206 1207 /* accessibility help text for timeline slider thumb */ 1208 "movie time scrubber thumb" = "movie time scrubber thumb"; 1209 1210 /* HTTP result code string */ 1211 "multiple choices" = "multiple choices"; 1212 1213 /* accessibility label for mute button */ 1214 "mute" = "mute"; 1215 1216 /* accessibility help text for mute button */ 1217 "mute audio tracks" = "mute audio tracks"; 1218 1219 /* An ARIA accessibility group that contains the main navigation elements of a website. */ 1220 "navigation" = "navigation"; 1221 1222 /* HTTP result code string */ 1223 "needs proxy" = "needs proxy"; 1224 1225 /* HTTP result code string */ 1226 "no content" = "no content"; 1227 1228 /* HTTP result code string */ 1229 "no error" = "no error"; 1230 1231 /* text to display in file button used in HTML forms when no file is selected */ 1232 "no file selected" = "no file selected"; 1233 1234 /* text to display in file button used in HTML forms when no files are selected and the button allows multiple files to be selected */ 1235 "no files selected" = "no files selected"; 1236 1237 /* HTTP result code string */ 1238 "no longer exists" = "no longer exists"; 1239 1240 /* Text to display in file button used in HTML forms for media files when no media files are selected and the button allows multiple files to be selected */ 1241 "no media selected (multiple)" = "no media selected (multiple)"; 1242 1243 /* Text to display in file button used in HTML forms for media files when no media file is selected */ 1244 "no media selected (single)" = "no media selected (single)"; 1245 1246 /* HTTP result code string */ 1247 "non-authoritative information" = "non-authoritative information"; 1248 1249 /* HTTP result code string */ 1250 "not found" = "not found"; 1251 1252 /* HTTP result code string */ 1253 "not modified" = "not modified"; 1254 1255 /* An ARIA accessibility group that acts as a note in a document. */ 1256 "note" = "note"; 1257 1258 /* accessibility role description for a number field. */ 1259 "number field" = "number field"; 1260 1261 /* accessibility help text for remaining time display */ 1262 "number of seconds of movie remaining" = "number of seconds of movie remaining"; 1263 1264 /* The optimum value description for a meter element. */ 1265 "optimal value" = "optimal value"; 1266 1267 /* accessibility role description for an output element */ 1268 "output" = "output"; 1269 1270 /* HTTP result code string */ 1271 "partial content" = "partial content"; 1272 1273 /* Label for the AutoFill credentials button inside a text field. */ 1274 "password AutoFill" = "password AutoFill"; 1275 1276 /* accessibility label for pause button */ 1277 "pause" = "pause"; 1278 1279 /* accessibility help text for pause button */ 1280 "pause playback" = "pause playback"; 1281 1282 /* HTTP result code string */ 1283 "payment required" = "payment required"; 1284 1285 /* accessibility label for play button */ 1286 "play" = "play"; 1287 1288 /* HTTP result code string */ 1289 "precondition failed" = "precondition failed"; 1290 1291 /* Verb stating the action that will occur when a button is pressed, as used by accessibility */ 1292 "press" = "press"; 1293 1294 /* HTTP result code string */ 1295 "proxy authentication required" = "proxy authentication required"; 1296 1297 /* Validation message for input form controls with value higher than allowed maximum */ 1298 "range overflow" = "range overflow"; 1299 1300 /* Validation message for input form controls with value lower than allowed minimum */ 1301 "range underflow" = "range underflow"; 1302 1303 /* HTTP result code string */ 1304 "redirected" = "redirected"; 1305 1306 /* An ARIA accessibility group that acts as a distinct region in a document. */ 1307 "region" = "region"; 1308 1309 /* accessibility label for time remaining display */ 1310 "remaining time" = "remaining time"; 1311 1312 /* Action from safe browsing warning */ 1313 "report an error" = "report an error"; 1314 1315 /* HTTP result code string */ 1316 "request timed out" = "request timed out"; 1317 1318 /* HTTP result code string */ 1319 "request too large" = "request too large"; 1320 1321 /* HTTP result code string */ 1322 "requested URL too long" = "requested URL too long"; 1323 1324 /* HTTP result code string */ 1325 "requested range not satisfiable" = "requested range not satisfiable"; 1326 1327 /* HTTP result code string */ 1328 "reset content" = "reset content"; 1329 1330 /* accessibility help text for return streaming movie to real time button */ 1331 "resume real time streaming" = "resume real time streaming"; 1332 1333 /* accessibility label for return to real time button */ 1334 "return to real time" = "return to real time"; 1335 1336 /* An ARIA accessibility group that contains a search feature of a website. */ 1337 "search" = "search"; 1338 1339 /* HTTP result code string */ 1340 "see other" = "see other"; 1341 1342 /* accessibility help text for jump back 30 seconds button */ 1343 "seek movie back 30 seconds" = "seek movie back 30 seconds"; 1344 1345 /* accessibility help text for fast rewind button */ 1346 "seek quickly back" = "seek quickly back"; 1347 1348 /* accessibility help text for fast forward button */ 1349 "seek quickly forward" = "seek quickly forward"; 1350 1351 /* Verb stating the action that will occur when a radio button is clicked, as used by accessibility */ 1352 "select" = "select"; 1353 1354 /* accessibility role description for a horizontal rule [<hr>] */ 1355 "separator" = "separator"; 1356 1357 /* HTTP result code string */ 1358 "server error" = "server error"; 1359 1360 /* HTTP result code string */ 1361 "service unavailable" = "service unavailable"; 1362 1363 /* accessibility label for show closed captions button */ 1364 "show closed captions" = "show closed captions"; 1365 1366 /* accessibility help text for show closed captions button */ 1367 "start displaying closed captions" = "start displaying closed captions"; 1368 1369 /* accessibility label for movie status */ 1370 "status" = "status"; 1371 1372 /* accessibility help text for hide closed captions button */ 1373 "stop displaying closed captions" = "stop displaying closed captions"; 1374 1375 /* Label for the strong password AutoFill button inside a text field. */ 1376 "strong password AutoFill" = "strong password AutoFill"; 1377 1378 /* The suboptimal value description for a meter element. */ 1379 "suboptimal value" = "suboptimal value"; 1380 1381 /* HTTP result code string */ 1382 "success" = "success"; 1383 1384 /* accessibility role description for a summary element */ 1385 "summary" = "summary"; 1386 1387 /* HTTP result code string */ 1388 "switching protocols" = "switching protocols"; 1389 1390 /* An ARIA accessibility group that contains the content of a tab. */ 1391 "tab panel" = "tab panel"; 1392 1393 /* accessibility role description for a telephone number field. */ 1394 "telephone number field" = "telephone number field"; 1395 1396 /* HTTP result code string */ 1397 "temporarily redirected" = "temporarily redirected"; 1398 1399 /* term word of a description list */ 1400 "term" = "term"; 1401 1402 /* Part of malware description */ 1403 "the status of “%site%”" = "the status of “%site%”"; 1404 1405 /* accessibility role description for a time field. */ 1406 "time field" = "time field"; 1407 1408 /* accessibility label for timeline thumb */ 1409 "timeline slider thumb" = "timeline slider thumb"; 1410 1411 /* An ARIA accessibility group that acts as an updating timer. */ 1412 "timer" = "timer"; 1413 1414 /* An ARIA accessibility group that acts as a tooltip. */ 1415 "tooltip" = "tooltip"; 1416 1417 /* HTTP result code string */ 1418 "unacceptable" = "unacceptable"; 1419 1420 /* HTTP result code string */ 1421 "unauthorized" = "unauthorized"; 1422 1423 /* Verb stating the action that will occur when a checked checkbox is clicked, as used by accessibility */ 1424 "uncheck" = "uncheck"; 1425 1426 /* HTTP result code string */ 1427 "unimplemented" = "unimplemented"; 1428 1429 /* Unknown filename */ 1430 "unknown" = "unknown"; 1431 1432 /* accessibility label for turn mute off button */ 1433 "unmute" = "unmute"; 1434 1435 /* accessibility help text for un mute button */ 1436 "unmute audio tracks" = "unmute audio tracks"; 1437 1438 /* HTTP result code string */ 1439 "unsupported media type" = "unsupported media type"; 1440 1441 /* HTTP result code string */ 1442 "unsupported version" = "unsupported version"; 1443 1444 /* accessibility help text for video element controller */ 1445 "video element playback controls and status display" = "video element playback controls and status display"; 1446 1447 /* accessibility label for video element controller */ 1448 "video playback" = "video playback"; 1449 1450 /* Action from safe browsing warning */ 1451 "visit this unsafe website" = "visit this unsafe website"; 1452 1453 /* An ARIA accessibility group that acts as an alert dialog. */ 1454 "web alert dialog" = "web alert dialog"; 1455 1456 /* An ARIA accessibility group that acts as an application. */ 1457 "web application" = "web application"; 1458 1459 /* An ARIA accessibility group that acts as an dialog. */ 1460 "web dialog" = "web dialog"; 1461 1462 /* accessibility role description for a time field. */ 1463 "week and year field" = "week and year field"; 1464 1465 /* Message for requesting access to the device motion and orientation */ 1466 "“%@” Would Like to Access Motion and Orientation" = "“%@” Would Like to Access Motion and Orientation"; 1467 1468 /* Allow the specified bundle to sign in to the specified website */ 1469 "“%@” would like to sign in to “%@”." = "“%@” would like to sign in to “%@”."; 1470 1 1471 /* Allow the specified bundle to use Touch ID to sign in to the specified website on this device */ 2 1472 "“%@” would like to use Touch ID for “%@”." = "“%@” would like to use Touch ID for “%@”."; 3 1473 4 /* "Allow the specified bundle to sign in to the specified website */5 "“%@” would like to sign in to “%@”." = "“%@” would like to sign in to “%@”.";6 7 /* accessibility help text for media controller time value >= 1 day */8 "%1$d days %2$d hours %3$d minutes %4$d seconds" = "%1$d days %2$d hours %3$d minutes %4$d seconds";9 10 /* accessibility help text for media controller time value >= 60 minutes */11 "%1$d hours %2$d minutes %3$d seconds" = "%1$d hours %2$d minutes %3$d seconds";12 13 /* accessibility help text for media controller time value >= 60 seconds */14 "%1$d minutes %2$d seconds" = "%1$d minutes %2$d seconds";15 16 /* accessibility help text for media controller time value < 60 seconds */17 "%1$d seconds" = "%1$d seconds";18 19 /* window title for a standalone image (uses multiplication symbol, not x) */20 "%@ %@×%@ pixels" = "%@ %@×%@ pixels";21 22 /* visible name of the plug-in host process. The first argument is the plug-in name and the second argument is the application name. */23 "%@ (%@ Internet plug-in)" = "%@ (%@ Internet plug-in)";24 25 /* Text track display name format that includes the language of the subtitle, in the form of 'Title (Language)' */26 "%@ (%@)" = "%@ (%@)";27 28 /* Text track display name format that includes the country and language of the subtitle, in the form of 'Title (Language-Country)' */29 "%@ (%@-%@)" = "%@ (%@-%@)";30 31 /* Text track contains Audio Descriptions */32 "%@ AD" = "%@ AD";33 34 /* Text track contains closed captions */35 "%@ CC" = "%@ CC";36 37 /* Text track contains simplified (3rd grade level) subtitles */38 "%@ Easy Reader" = "%@ Easy Reader";39 40 /* Text track contains forced subtitles */41 "%@ Forced" = "%@ Forced";42 43 /* visible name of the GPU process. The argument is the application name. */44 "%@ Graphics and Media" = "%@ Graphics and Media";45 46 /* visible name of the network process. The argument is the application name. */47 "%@ Networking" = "%@ Networking";48 49 /* Text track contains subtitles for the deaf and hard of hearing */50 "%@ SDH" = "%@ SDH";51 52 /* Visible name of Service Worker process. The argument is the application name. */53 "%@ Service Worker (%@)" = "%@ Service Worker (%@)";54 55 /* Visible name of the web process. The argument is the application name. */56 "%@ Web Content" = "%@ Web Content";57 58 /* Visible name of the web process. The argument is the application name. */59 "%@ Web Content (Cached)" = "%@ Web Content (Cached)";60 61 /* Visible name of the web process. The argument is the application name. */62 "%@ Web Content (Prewarmed)" = "%@ Web Content (Prewarmed)";63 64 /* Visible name of Web Inspector's web process. The argument is the application name. */65 "%@ Web Inspector" = "%@ Web Inspector";66 67 /* Name of application's single WebCrypto master key in Keychain */68 "%@ WebCrypto Master Key" = "%@ WebCrypto Master Key";69 70 /* Label to describe the number of files selected in a file upload control that allows multiple files */71 "%d files" = "%d files";72 73 /* Label for PDF page number indicator. */74 "%d of %d" = "%d of %d";75 76 /* label next to file upload control; parameters are the number of photos and the number of videos */77 "%lu photo(s) and %lu video(s)" = "%lu photo(s) and %lu video(s)";78 79 /* window title for a standalone image (uses multiplication symbol, not x) */80 "%s %d×%d pixels" = "%s %d×%d pixels";81 82 /* Name of application's single WebCrypto master key in Keychain */83 "%s WebCrypto Master Key" = "%s WebCrypto Master Key";84 85 /* Present the number of selected <option> items in a <select multiple> element (iOS only) */86 "%zu Items" = "%zu Items";87 88 /* Present the element <select multiple> when no <option> items are selected (iOS only) */89 "0 Items" = "0 Items";90 91 /* Present the element <select multiple> when a single <option> is selected (iOS only) */92 "1 Item" = "1 Item";93 94 /* Option in segmented control for choosing list type in text editing */95 "1. 2. 3." = "1. 2. 3.";96 97 /* Menu item title for KEYGEN pop-up menu */98 "2048 (High Grade)" = "2048 (High Grade)";99 100 /* Name of application's single WebCrypto master key in Keychain */101 "<application> WebCrypto Master Key" = "<application> WebCrypto Master Key";102 103 /* window title for a standalone image (uses multiplication symbol, not x) */104 "<filename> %d×%d pixels" = "<filename> %d×%d pixels";105 106 /* WKErrorJavaScriptExceptionOccurred description */107 "A JavaScript exception occurred" = "A JavaScript exception occurred";108 109 /* Title for Add to Photos action button */110 "Add to Photos" = "Add to Photos";111 112 /* Title for Add to Reading List action button */113 "Add to Reading List" = "Add to Reading List";114 115 /* Undo action name */116 "Align Left (Undo action name)" = "Align Left";117 118 /* Undo action name */119 "Align Right (Undo action name)" = "Align Right";120 121 /* Button title in Storage Access API prompt */122 "Allow (cross-site cookie and website data access)" = "Allow";123 124 /* Button title in Device Orientation Permission API prompt */125 "Allow (device motion and orientation access)" = "Allow";126 127 /* Message for requesting cross-site cookie and website data access. */128 "Allow “%@” to use cookies and website data while browsing “%@”?" = "Allow “%@” to use cookies and website data while browsing “%@”?";129 130 /* WKErrorUnknown description */131 "An unknown error occurred" = "An unknown error occurred";132 133 /* Label for the plain Apple Pay button. */134 "Apple Pay" = "Apple Pay";135 136 /* Malware confirmation dialog title */137 "Are you sure you wish to go to this site?" = "Are you sure you wish to go to this site?";138 139 /* WKErrorAttributedStringContentFailedToLoad description */140 "Attributed string content failed to load" = "Attributed string content failed to load";141 142 /* Menu item label for automatic track selection behavior */143 "Auto (Recommended)" = "Auto (Recommended)";144 145 /* Back context menu item */146 "Back" = "Back";147 148 /* Label text to be used if plugin is blocked by a page's Content Security Policy */149 "Blocked Plug-In (Blocked by page's Content Security Policy)" = "Blocked Plug-in";150 151 /* Label text to be used when an insecure plug-in version was blocked from loading */152 "Blocked Plug-In (Insecure plug-in)" = "Blocked Plug-in";153 154 /* Bold context menu item */155 "Bold" = "Bold";156 157 /* Undo action name */158 "Bold (Undo action name)" = "Bold";159 160 /* Label for the book with Apple Pay button. */161 "Book with Apple Pay" = "Book with Apple Pay";162 163 /* File Upload alert sheet button string for choosing an existing file from the file brower */164 "Browse (file upload action sheet)" = "Browse";165 166 /* Option in segmented control for inserting a bulleted list in text editing */167 "Bulleted list" = "Bulleted list";168 169 /* Label for the buy with Apple Pay button. */170 "Buy with Apple Pay" = "Buy with Apple Pay";171 172 /* Cancel */173 "Cancel" = "Cancel";174 175 /* Button title in Device Orientation Permission API prompt */176 "Cancel (device motion and orientation access)" = "Cancel";177 178 /* Title for Cancel button label in button bar */179 "Cancel button label in button bar" = "Cancel";180 181 /* Capitalize context menu item */182 "Capitalize" = "Capitalize";183 184 /* Undo action name */185 "Center (Undo action name)" = "Center";186 187 /* Undo action name */188 "Change Attributes (Undo action name)" = "Change Attributes";189 190 /* Check spelling context menu item */191 "Check Document Now" = "Check Document Now";192 193 /* Check grammar with spelling context menu item */194 "Check Grammar With Spelling" = "Check Grammar With Spelling";195 196 /* Check spelling while typing context menu item */197 "Check Spelling While Typing" = "Check Spelling While Typing";198 199 /* Label for the check out with Apple Pay button. */200 "Check out with Apple Pay" = "Check out with Apple Pay";201 202 /* title for a single file chooser button used in HTML forms */203 "Choose File" = "Choose File";204 205 /* title for a multiple file chooser button used in HTML forms. This title should be as short as possible. */206 "Choose Files" = "Choose Files";207 208 /* Title for file button used in HTML5 forms for multiple media files */209 "Choose Media (Multiple)" = "Choose Media (Multiple)";210 211 /* Title for file button used in HTML forms for media files */212 "Choose Media (Single)" = "Choose Media (Single)";213 214 /* menu item in Recent Searches menu that empties menu's contents */215 "Clear Recent Searches" = "Clear Recent Searches";216 217 /* Message to display in browser window when in webkit full screen mode. */218 "Click to Exit Full Screen" = "Click to Exit Full Screen";219 220 /* Subtitle of the label to show on a snapshotted plug-in */221 "Click to restart" = "Click to restart";222 223 /* WKErrorContentRuleListStoreCompileFailed description */224 "Compiling a WKContentRuleList failed" = "Compiling a WKContentRuleList failed";225 226 /* WebKitErrorCannotShowMIMEType description */227 "Content with specified MIME type can’t be shown" = "Content with specified MIME type can’t be shown";228 229 /* Continue */230 "Continue" = "Continue";231 232 /* Continue with Touch ID */233 "Continue with Touch ID." = "Continue with Touch ID.";234 235 /* Media Controls context menu item */236 "Controls" = "Controls";237 238 /* Undo action name */239 "Convert to Ordered List (Undo action name)" = "Convert to Ordered List";240 241 /* Undo action name */242 "Convert to Unordered List (Undo action name)" = "Convert to Unordered List";243 244 /* Copy context menu item */245 "Copy" = "Copy";246 247 /* Title for Copy Link or Image action button */248 "Copy (ActionSheet)" = "Copy";249 250 /* Copy Audio Address Location context menu item */251 "Copy Audio Address" = "Copy Audio Address";252 253 /* Copy Image context menu item */254 "Copy Image" = "Copy Image";255 256 /* Copy Link context menu item */257 "Copy Link" = "Copy Link";258 259 /* Copy Video Address Location context menu item */260 "Copy Video Address" = "Copy Video Address";261 262 /* Correct Spelling Automatically context menu item */263 "Correct Spelling Automatically" = "Correct Spelling Automatically";264 265 /* Undo action name */266 "Create Link (Undo action name)" = "Create Link";267 268 /* Cut context menu item */269 "Cut" = "Cut";270 271 /* Undo action name */272 "Cut (Undo action name)" = "Cut";273 274 /* Day label in date picker */275 "DAY (Date picker for extra zoom mode)" = "DAY";276 277 /* Phishing warning title */278 "Deceptive Website Warning" = "Deceptive Website Warning";279 280 /* Default writing direction context menu item */281 "Default" = "Default";282 283 /* Undo action name */284 "Delete (Undo action name)" = "Delete";285 286 /* text to display in <details> tag when it has no <summary> child */287 "Details" = "Details";288 289 /* Undo action name */290 "Dictation (Undo action name)" = "Dictation";291 292 /* Message for requesting cross-site cookie and website data access. */293 "Do you want to allow “%@” to use cookies and website data while browsing “%@”?" = "Do you want to allow “%@” to use cookies and website data while browsing “%@”?";294 295 /* Button title in Storage Access API prompt */296 "Don't Allow (cross-site cookie and website data access)" = "Don't Allow";297 298 /* Label for the donate with Apple Pay button. */299 "Donate with Apple Pay" = "Donate with Apple Pay";300 301 /* Title of the Done button for zoomed form controls. */302 "Done" = "Done";303 304 /* Download Audio To Disk context menu item */305 "Download Audio" = "Download Audio";306 307 /* Download Image context menu item */308 "Download Image" = "Download Image";309 310 /* Download Linked File context menu item */311 "Download Linked File" = "Download Linked File";312 313 /* Download Video To Disk context menu item */314 "Download Video" = "Download Video";315 316 /* Undo action name */317 "Drag (Undo action name)" = "Drag";318 319 /* Video Enter Full Screen context menu item */320 "Enter Full Screen" = "Enter Full Screen";321 322 /* menu item */323 "Enter Picture in Picture" = "Enter Picture in Picture";324 325 /* Validation message for input form controls of type 'url' that have an invalid value */326 "Enter a URL" = "Enter a URL";327 328 /* Validation message for number fields where the user entered a non-number string */329 "Enter a number" = "Enter a number";330 331 /* Validation message for input form controls with value not respecting the step attribute */332 "Enter a valid value" = "Enter a valid value";333 334 /* Validation message for input form controls of type 'email' that have an invalid value */335 "Enter an email address" = "Enter an email address";336 337 /* Custom protocol synchronous load failure description */338 "Error handling synchronous load with custom protocol" = "Error handling synchronous load with custom protocol";339 340 /* Button for exiting full screen when in full screen media playback */341 "Exit Full Screen" = "Exit Full Screen";342 343 /* Full Screen Deceptive Website Exit Action */344 "Exit Full Screen (Element Full Screen)" = "Exit Full Screen";345 346 /* Video Exit Full Screen context menu item */347 "Exit Full Screen (context menu)" = "Exit Full Screen";348 349 /* menu item */350 "Exit Picture in Picture" = "Exit Picture in Picture";351 352 /* The requested file doesn't exist */353 "File does not exist" = "File does not exist";354 355 /* Validation message for required form control elements that have no value */356 "Fill out this field" = "Fill out this field";357 358 /* Default application name for Open With context menu */359 "Finder" = "Finder";360 361 /* Font context sub-menu item */362 "Font" = "Font";363 364 /* Undo action name */365 "Format Block (Undo action name)" = "Formatting";366 367 /* Forward context menu item */368 "Forward" = "Forward";369 370 /* WebKitErrorFrameLoadInterruptedByPolicyChange description */371 "Frame load interrupted" = "Frame load interrupted";372 373 /* Title of the Go button for zoomed form controls. */374 "Go" = "Go";375 376 /* Action from safe browsing warning */377 "Go Back" = "Go Back";378 379 /* Google Safe Browsing */380 "Google Safe Browsing" = "Google Safe Browsing";381 382 /* accessibility role description for web area */383 "HTML content" = "HTML content";384 385 /* Title of the Hide button for zoomed form controls. */386 "Hide" = "Hide";387 388 /* Hide Media Controls context menu item */389 "Hide Controls" = "Hide Controls";390 391 /* menu item title */392 "Hide Spelling and Grammar" = "Hide Spelling and Grammar";393 394 /* menu item title */395 "Hide Substitutions" = "Hide Substitutions";396 397 /* The default, default character encoding on Windows */398 "ISO-8859-1" = "ISO-8859-1";399 400 /* Phishing warning description */401 "If you believe this website is safe, you can %report-an-error%. Or, if you understand the risks involved, you can %bypass-link%." = "If you believe this website is safe, you can %report-an-error%. Or, if you understand the risks involved, you can %bypass-link%.";402 403 /* Action from safe browsing warning */404 "If you understand the risks involved, you can %visit-this-unsafe-site-link%." = "If you understand the risks involved, you can %visit-this-unsafe-site-link%.";405 406 /* Ignore Grammar context menu item */407 "Ignore Grammar" = "Ignore Grammar";408 409 /* Ignore Spelling context menu item */410 "Ignore Spelling" = "Ignore Spelling";411 412 /* Undo action name */413 "Indent (Undo action name)" = "Indent";414 415 /* Undo action name */416 "Insert Drawing (Undo action name)" = "Insert Drawing";417 418 /* Undo action name */419 "Insert List (Undo action name)" = "Insert List";420 421 /* Inspect Element context menu item */422 "Inspect Element" = "Inspect Element";423 424 /* Validation message for input form controls with a value not matching type */425 "Invalid value" = "Invalid value";426 427 /* Full Screen Deceptive Website Warning Sheet Title */428 "It looks like you are typing while in full screen" = "It looks like you are typing while in full screen";429 430 /* Italic context menu item */431 "Italic" = "Italic";432 433 /* Undo action name */434 "Italics (Undo action name)" = "Italics";435 436 /* WebKitErrorJavaUnavailable description */437 "Java is unavailable" = "Java is unavailable";438 439 /* Title for action sheet for JavaScript link */440 "JavaScript Action Sheet Title" = "JavaScript";441 442 /* WKErrorJavaScriptResultTypeIsUnsupported description */443 "JavaScript execution returned a result of an unsupported type" = "JavaScript execution returned a result of an unsupported type";444 445 /* Undo action name */446 "Justify (Undo action name)" = "Justify";447 448 /* Name of keychain key generated by the KEYGEN tag */449 "Key from %@" = "Key from %@";450 451 /* Learn Spelling context menu item */452 "Learn Spelling" = "Learn Spelling";453 454 /* Action from safe browsing warning */455 "Learn more…" = "Learn more…";456 457 /* Left to Right context menu item */458 "Left to Right" = "Left to Right";459 460 /* Media controller status message when watching a live broadcast */461 "Live Broadcast" = "Live Broadcast";462 463 /* Load request cancelled */464 "Load request cancelled" = "Load request cancelled";465 466 /* Media controller status message when the media is loading */467 "Loading…" = "Loading…";468 469 /* 'Website' name displayed when local documents have stored local data */470 "Local documents on your computer" = "Local documents on your computer";471 472 /* Look Up in Dictionary context menu item */473 "Look Up in Dictionary" = "Look Up in Dictionary";474 475 /* Look Up context menu item with selected word */476 "Look Up “%@”" = "Look Up “%@”";477 478 /* Look Up context menu item with selected word */479 "Look Up “%s”" = "Look Up “%s”";480 481 /* Look Up context menu item with selected word */482 "Look Up “<selection>”" = "Look Up “<selection>”";483 484 /* WKErrorContentRuleListStoreLookupFailed description */485 "Looking up a WKContentRuleList failed" = "Looking up a WKContentRuleList failed";486 487 /* WKErrorContentRuleListStoreVersionMismatch description */488 "Looking up a WKContentRuleList found a binary that is incompatible" = "Looking up a WKContentRuleList found a binary that is incompatible";489 490 /* Media Loop context menu item */491 "Loop" = "Loop";492 493 /* Undo action name */494 "Loosen Kerning (Undo action name)" = "Loosen Kerning";495 496 /* Undo action name */497 "Lower Baseline (Undo action name)" = "Lower Baseline";498 499 /* Month label in date picker */500 "MONTH (Date picker for extra zoom mode)" = "MONTH";501 502 /* Make Lower Case context menu item */503 "Make Lower Case" = "Make Lower Case";504 505 /* Make Upper Case context menu item */506 "Make Upper Case" = "Make Upper Case";507 508 /* Malware warning title */509 "Malware Website Warning" = "Malware Website Warning";510 511 /* Validation message for input form controls requiring a constrained value according to pattern */512 "Match the requested format" = "Match the requested format";513 514 /* Malware confirmation dialog */515 "Merely visiting a site is sufficient for malware to install itself and harm your computer." = "Merely visiting a site is sufficient for malware to install itself and harm your computer.";516 517 /* Label text to be used when a plugin is missing */518 "Missing Plug-in" = "Missing Plug-in";519 520 /* Media Mute context menu item */521 "Mute" = "Mute";522 523 /* No Guesses Found context menu item */524 "No Guesses Found" = "No Guesses Found";525 526 /* Empty select list */527 "No Options Select Popover" = "No Options";528 529 /* Label for only item in menu that appears when clicking on the search field image, when no searches have been performed */530 "No recent searches" = "No recent searches";531 532 /* Option in segmented control for choosing list type in text editing */533 "None" = "None";534 535 /* WebKitErrorCannotUseRestrictedPort description */536 "Not allowed to use restricted network port" = "Not allowed to use restricted network port";537 538 /* Option in segmented control for inserting a numbered list in text editing */539 "Numbered list" = "Numbered list";540 541 /* Title of the OK button for the number pad in zoomed form controls. */542 "OK (OK button title in extra zoomed number pad)" = "OK";543 544 /* OK button label in document password failure alert */545 "OK (document password failure alert)" = "OK";546 547 /* Menu item label for the track that represents disabling closed captions */548 "Off" = "Off";549 550 /* Title for Open Link action button */551 "Open" = "Open";552 553 /* Open Audio in New Window context menu item */554 "Open Audio in New Window" = "Open Audio in New Window";555 556 /* Open Frame in New Window context menu item */557 "Open Frame in New Window" = "Open Frame in New Window";558 559 /* Open Image in New Window context menu item */560 "Open Image in New Window" = "Open Image in New Window";561 562 /* Open Link context menu item */563 "Open Link" = "Open Link";564 565 /* Open in New Window context menu item */566 "Open Link in New Window" = "Open Link in New Window";567 568 /* Open Video in New Window context menu item */569 "Open Video in New Window" = "Open Video in New Window";570 571 /* Title for Open in Safari Link action button */572 "Open in Safari" = "Open in Safari";573 574 /* Title for Open in External Application Link action button */575 "Open in “%@”" = "Open in “%@”";576 577 /* context menu item for PDF */578 "Open with %@" = "Open with %@";579 580 /* Undo action name */581 "Outdent (Undo action name)" = "Outdent";582 583 /* Outline context menu item */584 "Outline" = "Outline";585 586 /* Undo action name */587 "Outline (Undo action name)" = "Outline";588 589 /* Paragraph direction context sub-menu item */590 "Paragraph Direction" = "Paragraph Direction";591 592 /* Paste context menu item */593 "Paste" = "Paste";594 595 /* Undo action name */596 "Paste (Undo action name)" = "Paste";597 598 /* Undo action name */599 "Paste Font (Undo action name)" = "Paste Font";600 601 /* Undo action name */602 "Paste Ruler (Undo action name)" = "Paste Ruler";603 604 /* Media Pause context menu item */605 "Pause" = "Pause";606 607 /* File Upload alert sheet button string for choosing an existing media item from the Photo Library */608 "Photo Library (file upload action sheet)" = "Photo Library";609 610 /* Media Play context menu item */611 "Play" = "Play";612 613 /* accessibility help text for enter full screen button */614 "Play movie in full screen mode" = "Play movie in full screen mode";615 616 /* Label text to be used when a plug-in was blocked from loading because it was too small */617 "Plug-In too small" = "Plug-In too small";618 619 /* Label text to be used if plugin host process has crashed */620 "Plug-in Failure" = "Plug-in Failure";621 622 /* WebKitErrorPlugInCancelledConnection description */623 "Plug-in cancelled" = "Plug-in cancelled";624 625 /* WebKitErrorPlugInWillHandleLoad description */626 "Plug-in handled load" = "Plug-in handled load";627 628 /* Description of the primary type supported by the PDF pseudo plug-in. Visible in the Installed Plug-ins page in Safari. */629 "Portable Document Format" = "Portable Document Format";630 631 /* Description of the PostScript type supported by the PDF pseudo plug-in. Visible in the Installed Plug-ins page in Safari. */632 "PostScript" = "PostScript";633 634 /* Undo action name */635 "Raise Baseline (Undo action name)" = "Raise Baseline";636 637 /* label for first item in the menu that appears when clicking on the search field image, used as embedded menu title */638 "Recent Searches" = "Recent Searches";639 640 /* Reload context menu item */641 "Reload" = "Reload";642 643 /* WKErrorContentRuleListStoreRemoveFailed description */644 "Removing a WKContentRuleList failed" = "Removing a WKContentRuleList failed";645 646 /* default label for Reset buttons in forms on web pages */647 "Reset" = "Reset";648 649 /* Right to Left context menu item */650 "Right to Left" = "Right to Left";651 652 /* Title of the Search button for zoomed form controls. */653 "Search" = "Search";654 655 /* Search in Spotlight context menu item */656 "Search in Spotlight" = "Search in Spotlight";657 658 /* Search the Web context menu item */659 "Search the Web" = "Search the Web";660 661 /* Search with search provider context menu item with provider name inserted */662 "Search with %@" = "Search with %@";663 664 /* Validation message for required file inputs that have no value */665 "Select a file" = "Select a file";666 667 /* Validation message for required menu list controls that have no selection */668 "Select an item in the list" = "Select an item in the list";669 670 /* Validation message for required radio boxes that have no selection */671 "Select one of these options" = "Select one of these options";672 673 /* Validation message for required checkboxes that have not be selected */674 "Select this checkbox" = "Select this checkbox";675 676 /* Selection direction context sub-menu item */677 "Selection Direction" = "Selection Direction";678 679 /* Set button below date picker */680 "Set (Button below date picker for extra zoom mode)" = "Set";681 682 /* Undo action name */683 "Set Background Color (Undo action name)" = "Set Background Color";684 685 /* Undo action name */686 "Set Color (Undo action name)" = "Set Color";687 688 /* Undo action name */689 "Set Font (Undo action name)" = "Set Font";690 691 /* Undo action name */692 "Set Traditional Character Shape (Undo action name)" = "Set Traditional Character Shape";693 694 /* Undo action name */695 "Set Writing Direction (Undo action name)" = "Set Writing Direction";696 697 /* Label for the set up with Apple Pay button. */698 "Set up with Apple Pay" = "Set up with Apple Pay";699 700 /* Title for Share action button */701 "Share…" = "Share…";702 703 /* Show colors context menu item */704 "Show Colors" = "Show Colors";705 706 /* Show Media Controls context menu item */707 "Show Controls" = "Show Controls";708 709 /* Action from safe browsing warning */710 "Show Details" = "Show Details";711 712 /* Show fonts context menu item */713 "Show Fonts" = "Show Fonts";714 715 /* menu item title */716 "Show Spelling and Grammar" = "Show Spelling and Grammar";717 718 /* menu item title */719 "Show Substitutions" = "Show Substitutions";720 721 /* Title of the context menu item to show when PDFPlugin was used instead of a blocked plugin */722 "Show in blocked plug-in" = "Show in blocked plug-in";723 724 /* Smart Copy/Paste context menu item */725 "Smart Copy/Paste" = "Smart Copy/Paste";726 727 /* Smart Dashes context menu item */728 "Smart Dashes" = "Smart Dashes";729 730 /* Smart Links context menu item */731 "Smart Links" = "Smart Links";732 733 /* Smart Quotes context menu item */734 "Smart Quotes" = "Smart Quotes";735 736 /* Title of the label to show on a snapshotted plug-in */737 "Snapshotted Plug-In" = "Snapshotted Plug-In";738 739 /* Speech context sub-menu item */740 "Speech" = "Speech";741 742 /* Spelling and Grammar context sub-menu item */743 "Spelling and Grammar" = "Spelling and Grammar";744 745 /* title for Start Debugging JavaScript menu item */746 "Start Debugging JavaScript" = "Start Debugging JavaScript";747 748 /* title for Start Profiling JavaScript menu item */749 "Start Profiling JavaScript" = "Start Profiling JavaScript";750 751 /* Start speaking context menu item */752 "Start Speaking" = "Start Speaking";753 754 /* Full Screen Deceptive Website Stay Action */755 "Stay in Full Screen (Element Full Screen)" = "Stay in Full Screen";756 757 /* Stop context menu item */758 "Stop" = "Stop";759 760 /* title for Stop Debugging JavaScript menu item */761 "Stop Debugging JavaScript" = "Stop Debugging JavaScript";762 763 /* title for Stop Profiling JavaScript menu item */764 "Stop Profiling JavaScript" = "Stop Profiling JavaScript";765 766 /* Stop speaking context menu item */767 "Stop Speaking" = "Stop Speaking";768 769 /* Undo action name */770 "StrikeThrough (Undo action name)" = "StrikeThrough";771 772 /* Label for strong password. */773 "Strong Password" = "Strong Password";774 775 /* Styles context menu item */776 "Styles…" = "Styles…";777 778 /* default label for Submit buttons in forms on web pages */779 "Submit" = "Submit";780 781 /* alt text for <input> elements with no alt, title, or value */782 "Submit (input element)" = "Submit";783 784 /* Label for the subcribe with Apple Pay button. */785 "Subscribe with Apple Pay" = "Subscribe with Apple Pay";786 787 /* Undo action name */788 "Subscript (Undo action name)" = "Subscript";789 790 /* Substitutions context sub-menu item */791 "Substitutions" = "Substitutions";792 793 /* Menu section heading for subtitles */794 "Subtitles" = "Subtitles";795 796 /* Accessibility announcement for the data list suggestions dropdown going away. */797 "Suggestions list hidden." = "Suggestions list hidden.";798 799 /* Accessibility announcement that the suggestions list became visible. The format argument is for the first option in the list. */800 "Suggestions list visible, %@" = "Suggestions list visible, %@";801 802 /* Undo action name */803 "Superscript (Undo action name)" = "Superscript";804 805 /* File Upload alert sheet camera button string for taking only photos */806 "Take Photo (file upload action sheet)" = "Take Photo";807 808 /* File Upload alert sheet camera button string for taking photos or videos */809 "Take Photo or Video (file upload action sheet)" = "Take Photo or Video";810 811 /* File Upload alert sheet camera button string for taking only videos */812 "Take Video (file upload action sheet)" = "Take Video";813 814 /* Tencent Safe Browsing */815 "Tencent Safe Browsing" = "Tencent Safe Browsing";816 817 /* Text Replacement context menu item */818 "Text Replacement" = "Text Replacement";819 820 /* WebKitErrorCannotShowURL description */821 "The URL can’t be shown" = "The URL can’t be shown";822 823 /* WebKitErrorBlockedByContentBlocker description */824 "The URL was blocked by a content blocker" = "The URL was blocked by a content blocker";825 826 /* WebKitErrorFrameLoadBlockedByContentFilter description */827 "The URL was blocked by a content filter" = "The URL was blocked by a content filter";828 829 /* WebKitErrorFrameLoadBlockedByRestrictions description */830 "The URL was blocked by device restrictions" = "The URL was blocked by device restrictions";831 832 /* WKErrorWebViewInvalidated description */833 "The WKWebView was invalidated" = "The WKWebView was invalidated";834 835 /* WKErrorWebContentProcessTerminated description */836 "The Web Content process was terminated" = "The Web Content process was terminated";837 838 /* WebKitErrorGeolocationLocationUnknown description */839 "The current location cannot be found." = "The current location cannot be found.";840 841 /* document password failure alert message */842 "The document could not be opened with that password." = "The document could not be opened with that password.";843 844 /* WebKitErrorCannotFindPlugin description */845 "The plug-in can’t be found" = "The plug-in can’t be found";846 847 /* WebKitErrorCannotLoadPlugin description */848 "The plug-in can’t be loaded" = "The plug-in can’t be loaded";849 850 /* prompt string in authentication panel */851 "The user name or password you entered for area “%@” on %@ was incorrect. Make sure you’re entering them correctly, and then try again." = "The user name or password you entered for area “%@” on %@ was incorrect. Make sure you’re entering them correctly, and then try again.";852 853 /* prompt string in authentication panel */854 "The user name or password you entered for the %@ proxy server %@ was incorrect. Make sure you’re entering them correctly, and then try again." = "The user name or password you entered for the %@ proxy server %@ was incorrect. Make sure you’re entering them correctly, and then try again.";855 856 /* prompt string in authentication panel */857 "The user name or password you entered for this area on %@ was incorrect. Make sure you’re entering them correctly, and then try again." = "The user name or password you entered for this area on %@ was incorrect. Make sure you’re entering them correctly, and then try again.";858 859 /* text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' */860 "This is a searchable index. Enter search keywords: " = "This is a searchable index. Enter search keywords: ";861 862 /* Malware warning */863 "This website may attempt to install dangerous software, which could harm your computer or steal your personal or financial information, like passwords, photos, or credit cards." = "This website may attempt to install dangerous software, which could harm your computer or steal your personal or financial information, like passwords, photos, or credit cards.";864 865 /* Phishing warning */866 "This website may try to trick you into doing something dangerous, like installing software or disclosing personal or financial information, like passwords, phone numbers, or credit cards." = "This website may try to trick you into doing something dangerous, like installing software or disclosing personal or financial information, like passwords, phone numbers, or credit cards.";867 868 /* Unwanted software warning */869 "This website may try to trick you into installing software that harms your browsing experience, like changing your settings without your permission or showing you unwanted ads. Once installed, it may be difficult to remove." = "This website may try to trick you into installing software that harms your browsing experience, like changing your settings without your permission or showing you unwanted ads. Once installed, it may be difficult to remove.";870 871 /* Informative text for requesting cross-site cookie and website data access. */872 "This will allow “%@” to track your activity." = "This will allow “%@” to track your activity.";873 874 /* Undo action name */875 "Tighten Kerning (Undo action name)" = "Tighten Kerning";876 877 /* WKErrorAttributedStringContentLoadTimedOut description */878 "Timed out while loading attributed string content" = "Timed out while loading attributed string content";879 880 /* prompt string in authentication panel */881 "To view this page, you must log in to area “%@” on %@." = "To view this page, you must log in to area “%@” on %@.";882 883 /* prompt string in authentication panel */884 "To view this page, you must log in to the %@ proxy server %@." = "To view this page, you must log in to the %@ proxy server %@.";885 886 /* prompt string in authentication panel */887 "To view this page, you must log in to this area on %@:" = "To view this page, you must log in to this area on %@:";888 889 /* Transformations context sub-menu item */890 "Transformations" = "Transformations";891 892 /* Undo action name */893 "Turn Off Kerning (Undo action name)" = "Turn Off Kerning";894 895 /* Undo action name */896 "Turn Off Ligatures (Undo action name)" = "Turn Off Ligatures";897 898 /* Undo action name */899 "Typing (Undo action name)" = "Typing";900 901 /* Full Screen Deceptive Website Warning Sheet Content Text */902 "Typing is not allowed in full screen websites. “%@” may be showing a fake keyboard to trick you into disclosing personal or financial information." = "Typing is not allowed in full screen websites. “%@” may be showing a fake keyboard to trick you into disclosing personal or financial information.";903 904 /* accessibility role description for a URL field. */905 "URL field" = "URL field";906 907 /* Unacceptable TLS certificate error */908 "Unacceptable TLS certificate" = "Unacceptable TLS certificate";909 910 /* Underline context menu item */911 "Underline" = "Underline";912 913 /* Undo action name */914 "Underline (Undo action name)" = "Underline";915 916 /* Menu item label for an audio track that has no other name */917 "Unknown (audio track)" = "Unknown";918 919 /* Unknown filesize FTP directory listing item */920 "Unknown (filesize)" = "Unknown";921 922 /* Menu item label for a text track that has no other name */923 "Unknown (text track)" = "Unknown";924 925 /* Undo action name */926 "Unlink (Undo action name)" = "Unlink";927 928 /* Undo action name */929 "Unscript (Undo action name)" = "Unscript";930 931 /* Label text to be used when an unsupported plug-in was blocked from loading */932 "Unsupported Plug-In" = "Unsupported Plug-in";933 934 /* Undo action name */935 "Use All Ligatures (Undo action name)" = "Use All Ligatures";936 937 /* Undo action name */938 "Use Standard Kerning (Undo action name)" = "Use Standard Kerning";939 940 /* Undo action name */941 "Use Standard Ligatures (Undo action name)" = "Use Standard Ligatures";942 943 /* Validation message for form control elements with a value shorter than minimum allowed length */944 "Use at least %d characters" = "Use at least %d characters";945 946 /* Validation message for form control elements with a value shorter than maximum allowed length */947 "Use no more than %d character(s)" = "Use no more than %d character(s)";948 949 /* Validation message for form control elements with a value shorter than maximum allowed length */950 "Use no more than %d characters" = "Use no more than %d characters";951 952 /* Description of WebCrypto master keys in Keychain */953 "Used to encrypt WebCrypto keys in persistent storage, such as IndexedDB" = "Used to encrypt WebCrypto keys in persistent storage, such as IndexedDB";954 955 /* The download was cancelled by the user */956 "User cancelled the download" = "User cancelled the download";957 958 /* Validation message for input form controls with value lower than allowed minimum */959 "Value must be greater than or equal to %@" = "Value must be greater than or equal to %@";960 961 /* Validation message for input form controls with value lower than allowed minimum */962 "Value must be greater than or equal to %s" = "Value must be greater than or equal to %s";963 964 /* Validation message for input form controls with value higher than allowed maximum */965 "Value must be less than or equal to %@" = "Value must be less than or equal to %@";966 967 /* Validation message for input form controls with value higher than allowed maximum */968 "Value must be less than or equal to %s" = "Value must be less than or equal to %s";969 970 /* Phishing warning description */971 "Warnings are shown for websites that have been reported as deceptive. Deceptive websites try to trick you into believing they are legitimate websites you trust." = "Warnings are shown for websites that have been reported as deceptive. Deceptive websites try to trick you into believing they are legitimate websites you trust.";972 973 /* Unwanted software warning description */974 "Warnings are shown for websites where harmful software has been detected. You can check %the-status-of-site% on the %safeBrowsingProvider% diagnostic page." = "Warnings are shown for websites where harmful software has been detected. You can check %the-status-of-site% on the %safeBrowsingProvider% diagnostic page.";975 976 /* Malware warning description */977 "Warnings are shown for websites where malicious software has been detected. You can check the %status-link% on the %safeBrowsingProvider% diagnostic page." = "Warnings are shown for websites where malicious software has been detected. You can check the %status-link% on the %safeBrowsingProvider% diagnostic page.";978 979 /* Web Inspector window title when inspecting Web Inspector */980 "Web Inspector [%d] — %@" = "Web Inspector [%d] — %@";981 982 /* Web Inspector window title */983 "Web Inspector — %@" = "Web Inspector — %@";984 985 /* Pseudo plug-in name, visible in the Installed Plug-ins page in Safari. */986 "WebKit built-in PDF" = "WebKit built-in PDF";987 988 /* WebKitErrorInternal description */989 "WebKit encountered an internal error" = "WebKit encountered an internal error";990 991 /* Unwanted software warning title */992 "Website With Harmful Software Warning" = "Website With Harmful Software Warning";993 994 /* Year label in date picker */995 "YEAR (Date picker for extra zoom mode)" = "YEAR";996 997 /* message in authentication panel */998 "Your login information will be sent securely." = "Your login information will be sent securely.";999 1000 /* message in authentication panel */1001 "Your password will be sent unencrypted." = "Your password will be sent unencrypted.";1002 1003 /* HTTP result code string */1004 "accepted" = "accepted";1005 1006 /* Verb stating the action that will occur when a text field is selected, as used by accessibility */1007 "activate" = "activate";1008 1009 /* An ARIA accessibility group that acts as an alert. */1010 "alert" = "alert";1011 1012 /* An ARIA accessibility group that acts as a status update. */1013 "application status" = "application status";1014 1015 /* An ARIA accessibility group that acts as an article. */1016 "article" = "article";1017 1018 /* accessibility role description for an attachment element */1019 "attachment" = "attachment";1020 1021 /* accessibility help text for audio element controller */1022 "audio element playback controls and status display" = "audio element playback controls and status display";1023 1024 /* accessibility label for audio element controller */1025 "audio playback" = "audio playback";1026 1027 /* accessibility label for seek back 30 seconds button */1028 "back 30 seconds" = "back 30 seconds";1029 1030 /* HTTP result code string */1031 "bad gateway" = "bad gateway";1032 1033 /* HTTP result code string */1034 "bad request" = "bad request";1035 1036 /* An ARIA accessibility group that acts as a banner. */1037 "banner" = "banner";1038 1039 /* accessibility help text for play button */1040 "begin playback" = "begin playback";1041 1042 /* accessibility description for a search field cancel button */1043 "cancel" = "cancel";1044 1045 /* Verb stating the action that will occur when an unchecked checkbox is clicked, as used by accessibility */1046 "check" = "check";1047 1048 /* HTTP result code string */1049 "client error" = "client error";1050 1051 /* accessibility role description for a color well */1052 "color well" = "color well";1053 1054 /* An ARIA accessibility group that acts as a region of complementary information. */1055 "complementary" = "complementary";1056 1057 /* HTTP result code string */1058 "conflict" = "conflict";1059 1060 /* Label for the AutoFill contacts button inside a text field. */1061 "contact info AutoFill" = "contact info AutoFill";1062 1063 /* An ARIA accessibility group that contains content. */1064 "content information" = "content information";1065 1066 /* HTTP result code string */1067 "continue" = "continue";1068 1069 /* HTTP result code string */1070 "created" = "created";1071 1072 /* Label for the credit card AutoFill button inside a text field. */1073 "credit card AutoFill" = "credit card AutoFill";1074 1075 /* The less good value description for a meter element. */1076 "critical value" = "critical value";1077 1078 /* accessibility help text for movie status display */1079 "current movie status" = "current movie status";1080 1081 /* accessibility help text for elapsed time display */1082 "current movie time in seconds" = "current movie time in seconds";1083 1084 /* accessibility role description for a date and time field. */1085 "date and time field" = "date and time field";1086 1087 /* accessibility role description for a date field. */1088 "date field" = "date field";1089 1090 /* role description of ARIA definition role */1091 "definition" = "definition";1092 1093 /* description detail */1094 "description" = "description";1095 1096 /* accessibility role description of a description list */1097 "description list" = "description list";1098 1099 /* accessibility role description for a details element */1100 "details" = "details";1101 1102 /* An ARIA accessibility group that acts as a document. */1103 "document" = "document";1104 1105 /* accessibility label for elapsed time display */1106 "elapsed time" = "elapsed time";1107 1108 /* accessibility role description for an email field. */1109 "email field" = "email field";1110 1111 /* accessibility label for enter full screen button */1112 "enter full screen" = "enter full screen";1113 1114 /* accessibility label for exit full screen button */1115 "exit full screen" = "exit full screen";1116 1117 /* HTTP result code string */1118 "expectation failed" = "expectation failed";1119 1120 /* accessibility label for fast forward button */1121 "fast forward" = "fast forward";1122 1123 /* accessibility label for fast reverse button */1124 "fast reverse" = "fast reverse";1125 1126 /* accessibility role description for a group containing a scrollable list of articles. */1127 "feed" = "feed";1128 1129 /* accessibility role description for a figure element. */1130 "figure" = "figure";1131 1132 /* accessibility role description for a file upload button */1133 "file upload button" = "file upload button";1134 1135 /* accessibility role description for a footer */1136 "footer" = "footer";1137 1138 /* HTTP result code string */1139 "forbidden" = "forbidden";1140 1141 /* HTTP result code string */1142 "found" = "found";1143 1144 /* HTTP result code string */1145 "gateway timed out" = "gateway timed out";1146 1147 /* accessibility role description for headings */1148 "heading" = "heading";1149 1150 /* accessibility label for hide closed captions button */1151 "hide closed captions" = "hide closed captions";1152 1153 /* accessibility role description for a mark element */1154 "highlighted" = "highlighted";1155 1156 /* accessibility role description for image map */1157 "image map" = "image map";1158 1159 /* accessibility help text for an indefinite media controller time value */1160 "indefinite time" = "indefinite time";1161 1162 /* HTTP result code string */1163 "informational" = "informational";1164 1165 /* HTTP result code string */1166 "internal server error" = "internal server error";1167 1168 /* Verb stating the action that will occur when a link is clicked, as used by accessibility */1169 "jump" = "jump";1170 1171 /* HTTP result code string */1172 "length required" = "length required";1173 1174 /* accessibility role description for link */1175 "link" = "link";1176 1177 /* accessibility role description for list marker */1178 "list marker" = "list marker";1179 1180 /* An ARIA accessibility group that acts as a console log. */1181 "log" = "log";1182 1183 /* An ARIA accessibility group that is the main portion of the website. */1184 "main" = "main";1185 1186 /* An ARIA accessibility group that acts as a marquee. */1187 "marquee" = "marquee";1188 1189 /* An ARIA accessibility group that contains mathematical symbols. */1190 "math" = "math";1191 1192 /* HTTP result code string */1193 "method not allowed" = "method not allowed";1194 1195 /* accessibility role description for a month field. */1196 "month and year field" = "month and year field";1197 1198 /* HTTP result code string */1199 "moved permanently" = "moved permanently";1200 1201 /* accessibility label for timeline slider */1202 "movie time" = "movie time";1203 1204 /* accessibility help text for timeline slider */1205 "movie time scrubber" = "movie time scrubber";1206 1207 /* accessibility help text for timeline slider thumb */1208 "movie time scrubber thumb" = "movie time scrubber thumb";1209 1210 /* HTTP result code string */1211 "multiple choices" = "multiple choices";1212 1213 /* accessibility label for mute button */1214 "mute" = "mute";1215 1216 /* accessibility help text for mute button */1217 "mute audio tracks" = "mute audio tracks";1218 1219 /* An ARIA accessibility group that contains the main navigation elements of a website. */1220 "navigation" = "navigation";1221 1222 /* HTTP result code string */1223 "needs proxy" = "needs proxy";1224 1225 /* HTTP result code string */1226 "no content" = "no content";1227 1228 /* HTTP result code string */1229 "no error" = "no error";1230 1231 /* text to display in file button used in HTML forms when no file is selected */1232 "no file selected" = "no file selected";1233 1234 /* text to display in file button used in HTML forms when no files are selected and the button allows multiple files to be selected */1235 "no files selected" = "no files selected";1236 1237 /* HTTP result code string */1238 "no longer exists" = "no longer exists";1239 1240 /* Text to display in file button used in HTML forms for media files when no media files are selected and the button allows multiple files to be selected */1241 "no media selected (multiple)" = "no media selected (multiple)";1242 1243 /* Text to display in file button used in HTML forms for media files when no media file is selected */1244 "no media selected (single)" = "no media selected (single)";1245 1246 /* HTTP result code string */1247 "non-authoritative information" = "non-authoritative information";1248 1249 /* HTTP result code string */1250 "not found" = "not found";1251 1252 /* HTTP result code string */1253 "not modified" = "not modified";1254 1255 /* An ARIA accessibility group that acts as a note in a document. */1256 "note" = "note";1257 1258 /* accessibility role description for a number field. */1259 "number field" = "number field";1260 1261 /* accessibility help text for remaining time display */1262 "number of seconds of movie remaining" = "number of seconds of movie remaining";1263 1264 /* The optimum value description for a meter element. */1265 "optimal value" = "optimal value";1266 1267 /* accessibility role description for an output element */1268 "output" = "output";1269 1270 /* HTTP result code string */1271 "partial content" = "partial content";1272 1273 /* Label for the AutoFill credentials button inside a text field. */1274 "password AutoFill" = "password AutoFill";1275 1276 /* accessibility label for pause button */1277 "pause" = "pause";1278 1279 /* accessibility help text for pause button */1280 "pause playback" = "pause playback";1281 1282 /* HTTP result code string */1283 "payment required" = "payment required";1284 1285 /* accessibility label for play button */1286 "play" = "play";1287 1288 /* HTTP result code string */1289 "precondition failed" = "precondition failed";1290 1291 /* Verb stating the action that will occur when a button is pressed, as used by accessibility */1292 "press" = "press";1293 1294 /* HTTP result code string */1295 "proxy authentication required" = "proxy authentication required";1296 1297 /* Validation message for input form controls with value higher than allowed maximum */1298 "range overflow" = "range overflow";1299 1300 /* Validation message for input form controls with value lower than allowed minimum */1301 "range underflow" = "range underflow";1302 1303 /* HTTP result code string */1304 "redirected" = "redirected";1305 1306 /* An ARIA accessibility group that acts as a distinct region in a document. */1307 "region" = "region";1308 1309 /* accessibility label for time remaining display */1310 "remaining time" = "remaining time";1311 1312 /* Action from safe browsing warning */1313 "report an error" = "report an error";1314 1315 /* HTTP result code string */1316 "request timed out" = "request timed out";1317 1318 /* HTTP result code string */1319 "request too large" = "request too large";1320 1321 /* HTTP result code string */1322 "requested URL too long" = "requested URL too long";1323 1324 /* HTTP result code string */1325 "requested range not satisfiable" = "requested range not satisfiable";1326 1327 /* Reset button in date input popover */1328 "Reset Button Date/Time Context Menu" = "Reset";1329 1330 /* HTTP result code string */1331 "reset content" = "reset content";1332 1333 /* accessibility help text for return streaming movie to real time button */1334 "resume real time streaming" = "resume real time streaming";1335 1336 /* accessibility label for return to real time button */1337 "return to real time" = "return to real time";1338 1339 /* An ARIA accessibility group that contains a search feature of a website. */1340 "search" = "search";1341 1342 /* HTTP result code string */1343 "see other" = "see other";1344 1345 /* accessibility help text for jump back 30 seconds button */1346 "seek movie back 30 seconds" = "seek movie back 30 seconds";1347 1348 /* accessibility help text for fast rewind button */1349 "seek quickly back" = "seek quickly back";1350 1351 /* accessibility help text for fast forward button */1352 "seek quickly forward" = "seek quickly forward";1353 1354 /* Verb stating the action that will occur when a radio button is clicked, as used by accessibility */1355 "select" = "select";1356 1357 /* accessibility role description for a horizontal rule [<hr>] */1358 "separator" = "separator";1359 1360 /* HTTP result code string */1361 "server error" = "server error";1362 1363 /* HTTP result code string */1364 "service unavailable" = "service unavailable";1365 1366 /* accessibility label for show closed captions button */1367 "show closed captions" = "show closed captions";1368 1369 /* accessibility help text for show closed captions button */1370 "start displaying closed captions" = "start displaying closed captions";1371 1372 /* accessibility label for movie status */1373 "status" = "status";1374 1375 /* accessibility help text for hide closed captions button */1376 "stop displaying closed captions" = "stop displaying closed captions";1377 1378 /* Label for the strong password AutoFill button inside a text field. */1379 "strong password AutoFill" = "strong password AutoFill";1380 1381 /* The suboptimal value description for a meter element. */1382 "suboptimal value" = "suboptimal value";1383 1384 /* HTTP result code string */1385 "success" = "success";1386 1387 /* accessibility role description for a summary element */1388 "summary" = "summary";1389 1390 /* HTTP result code string */1391 "switching protocols" = "switching protocols";1392 1393 /* An ARIA accessibility group that contains the content of a tab. */1394 "tab panel" = "tab panel";1395 1396 /* accessibility role description for a telephone number field. */1397 "telephone number field" = "telephone number field";1398 1399 /* HTTP result code string */1400 "temporarily redirected" = "temporarily redirected";1401 1402 /* term word of a description list */1403 "term" = "term";1404 1405 /* Part of malware description */1406 "the status of “%site%”" = "the status of “%site%”";1407 1408 /* accessibility role description for a time field. */1409 "time field" = "time field";1410 1411 /* accessibility label for timeline thumb */1412 "timeline slider thumb" = "timeline slider thumb";1413 1414 /* An ARIA accessibility group that acts as an updating timer. */1415 "timer" = "timer";1416 1417 /* An ARIA accessibility group that acts as a tooltip. */1418 "tooltip" = "tooltip";1419 1420 /* HTTP result code string */1421 "unacceptable" = "unacceptable";1422 1423 /* HTTP result code string */1424 "unauthorized" = "unauthorized";1425 1426 /* Verb stating the action that will occur when a checked checkbox is clicked, as used by accessibility */1427 "uncheck" = "uncheck";1428 1429 /* HTTP result code string */1430 "unimplemented" = "unimplemented";1431 1432 /* Unknown filename */1433 "unknown" = "unknown";1434 1435 /* accessibility label for turn mute off button */1436 "unmute" = "unmute";1437 1438 /* accessibility help text for un mute button */1439 "unmute audio tracks" = "unmute audio tracks";1440 1441 /* HTTP result code string */1442 "unsupported media type" = "unsupported media type";1443 1444 /* HTTP result code string */1445 "unsupported version" = "unsupported version";1446 1447 /* accessibility help text for video element controller */1448 "video element playback controls and status display" = "video element playback controls and status display";1449 1450 /* accessibility label for video element controller */1451 "video playback" = "video playback";1452 1453 /* Action from safe browsing warning */1454 "visit this unsafe website" = "visit this unsafe website";1455 1456 /* An ARIA accessibility group that acts as an alert dialog. */1457 "web alert dialog" = "web alert dialog";1458 1459 /* An ARIA accessibility group that acts as an application. */1460 "web application" = "web application";1461 1462 /* An ARIA accessibility group that acts as an dialog. */1463 "web dialog" = "web dialog";1464 1465 /* accessibility role description for a time field. */1466 "week and year field" = "week and year field";1467 1468 /* Message for requesting access to the device motion and orientation */1469 "“%@” Would Like to Access Motion and Orientation" = "“%@” Would Like to Access Motion and Orientation";1470 1471 1474 /* Option in segmented control for choosing list type in text editing */ 1472 1475 "•" = "•"; -
trunk/Source/WebKit/ChangeLog
r261912 r261921 1 2020-05-20 Andy Estes <aestes@apple.com> 2 3 [Mac] UI processes spin when creating the "Share" context menu item 4 https://bugs.webkit.org/show_bug.cgi?id=212137 5 <rdar://problem/54498394> 6 7 Reviewed by Wenson Hsieh. 8 9 On Mac, WebKit has been using the +[NSMenuItem standardShareMenuItemForItems:] SPI to create 10 the "Share" context submenu and menu item. This call performs synchronous IPC and can result 11 in UI process spins. 12 13 Where available, switch to using the asynchronous 14 -[NSSharingServicePicker getMenuWithCompletion:] SPI instead. This method only creates the 15 submenu, not the menu item, so when using this new method we must create the "Share" menu 16 item ourselves. 17 18 * UIProcess/mac/WebContextMenuProxyMac.h: 19 * UIProcess/mac/WebContextMenuProxyMac.mm: 20 (WebKit::getStandardShareMenuItem): 21 (WebKit::WebContextMenuProxyMac::getShareMenuItem): 22 (WebKit::WebContextMenuProxyMac::getContextMenuFromItems): 23 (WebKit::WebContextMenuProxyMac::getContextMenuItem): 24 (WebKit::WebContextMenuProxyMac::showContextMenuWithItems): 25 (WebKit::WebContextMenuProxyMac::createShareMenuItem): Deleted. 26 (WebKit::WebContextMenuProxyMac::createContextMenuFromItems): Deleted. 27 (WebKit::WebContextMenuProxyMac::createContextMenuItem): Deleted. 28 1 29 2020-05-20 Carlos Garcia Campos <cgarcia@igalia.com> 2 30 -
trunk/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.h
r227001 r261921 69 69 70 70 RefPtr<WebContextMenuListenerProxy> m_contextMenuListener; 71 RetainPtr<NSMenuItem> createContextMenuItem(const WebContextMenuItemData&);72 RetainPtr<NSMenu> createContextMenuFromItems(const Vector<WebContextMenuItemData>&);71 void getContextMenuItem(const WebContextMenuItemData&, CompletionHandler<void(NSMenuItem *)>&&); 72 void getContextMenuFromItems(const Vector<WebContextMenuItemData>&, CompletionHandler<void(NSMenu *)>&&); 73 73 void showContextMenu(); 74 74 75 75 #if ENABLE(SERVICE_CONTROLS) 76 RetainPtr<NSMenuItem> createShareMenuItem();76 void getShareMenuItem(CompletionHandler<void(NSMenuItem *)>&&); 77 77 void showServicesMenu(); 78 78 void setupServicesMenu(); -
trunk/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm
r242339 r261921 45 45 #import <WebCore/GraphicsContext.h> 46 46 #import <WebCore/IntRect.h> 47 #import <WebCore/LocalizedStrings.h> 47 48 #import <pal/spi/mac/NSMenuSPI.h> 48 49 #import <pal/spi/mac/NSSharingServicePickerSPI.h> … … 261 262 } 262 263 263 RetainPtr<NSMenuItem> WebContextMenuProxyMac::createShareMenuItem() 264 static void getStandardShareMenuItem(NSArray *items, void (^completionHandler)(NSMenuItem *)) 265 { 266 #if HAVE(NSSHARINGSERVICEPICKER_ASYNC_MENUS) 267 // FIXME (<rdar://problem/54551500>): Replace this with the async variant of +[NSMenuItem standardShareMenuItemForItems:] when it's available. 268 auto sharingServicePicker = adoptNS([[NSSharingServicePicker alloc] initWithItems:items]); 269 [sharingServicePicker setStyle:NSSharingServicePickerStyleMenu]; 270 [sharingServicePicker getMenuWithCompletion:^(NSMenu *shareMenu) { 271 ASSERT(isMainThread()); 272 shareMenu.delegate = (id <NSMenuDelegate>)sharingServicePicker.get(); 273 auto shareMenuItem = adoptNS([[NSMenuItem alloc] initWithTitle:WEB_UI_STRING("Share", "Title for Share context menu item.") action:nil keyEquivalent:@""]); 274 [shareMenuItem setRepresentedObject:sharingServicePicker.get()]; 275 [shareMenuItem setSubmenu:shareMenu]; 276 completionHandler(shareMenuItem.get()); 277 }]; 278 #else 279 completionHandler([NSMenuItem standardShareMenuItemForItems:items]); 280 #endif 281 } 282 283 void WebContextMenuProxyMac::getShareMenuItem(CompletionHandler<void(NSMenuItem *)>&& completionHandler) 264 284 { 265 285 const WebHitTestResultData& hitTestData = m_context.webHitTestResultData(); … … 287 307 [items addObject:(NSString *)m_context.selectedText()]; 288 308 289 if (![items count]) 290 return nil; 291 292 RetainPtr<NSMenuItem> item = [NSMenuItem standardShareMenuItemForItems:items.get()]; 293 if (!item) 294 return nil; 295 296 NSSharingServicePicker *sharingServicePicker = [item representedObject]; 297 sharingServicePicker.delegate = [WKSharingServicePickerDelegate sharedSharingServicePickerDelegate]; 298 299 [[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate] setFiltersEditingServices:NO]; 300 [[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate] setHandlesEditingReplacement:NO]; 301 [[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate] setMenuProxy:this]; 302 303 // Setting the picker lets the delegate retain it to keep it alive, but this picker is kept alive by the menu item. 304 [[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate] setPicker:nil]; 305 306 [item setIdentifier:_WKMenuItemIdentifierShareMenu]; 307 308 return item; 309 if (![items count]) { 310 completionHandler(nil); 311 return; 312 } 313 314 getStandardShareMenuItem(items.get(), makeBlockPtr([completionHandler = WTFMove(completionHandler), protectedThis = makeRef(*this), this](NSMenuItem *item) mutable { 315 if (!item) { 316 completionHandler(nil); 317 return; 318 } 319 320 NSSharingServicePicker *sharingServicePicker = item.representedObject; 321 WKSharingServicePickerDelegate *sharingServicePickerDelegate = WKSharingServicePickerDelegate.sharedSharingServicePickerDelegate; 322 sharingServicePicker.delegate = sharingServicePickerDelegate; 323 324 sharingServicePickerDelegate.filtersEditingServices = NO; 325 sharingServicePickerDelegate.handlesEditingReplacement = NO; 326 sharingServicePickerDelegate.menuProxy = this; 327 328 // Setting the picker lets the delegate retain it to keep it alive, but this picker is kept alive by the menu item. 329 sharingServicePickerDelegate.picker = nil; 330 331 item.identifier = _WKMenuItemIdentifierShareMenu; 332 333 completionHandler(item); 334 }).get()); 309 335 } 310 336 #endif … … 324 350 } 325 351 326 RetainPtr<NSMenu> WebContextMenuProxyMac::createContextMenuFromItems(const Vector<WebContextMenuItemData>& items)352 void WebContextMenuProxyMac::getContextMenuFromItems(const Vector<WebContextMenuItemData>& items, CompletionHandler<void(NSMenu *)>&& completionHandler) 327 353 { 328 354 auto menu = adoptNS([[NSMenu alloc] initWithTitle:@""]); 329 355 [menu setAutoenablesItems:NO]; 330 356 331 for (auto& item : items) { 332 if (auto menuItem = createContextMenuItem(item)) 333 [menu addItem:menuItem.get()]; 334 } 335 336 return menu; 357 if (items.isEmpty()) { 358 completionHandler(menu.get()); 359 return; 360 } 361 362 auto sparseMenuItems = retainPtr([NSPointerArray strongObjectsPointerArray]); 363 auto insertMenuItem = makeBlockPtr([completionHandler = WTFMove(completionHandler), itemsRemaining = items.size(), menu = WTFMove(menu), sparseMenuItems](NSMenuItem *item, NSUInteger index) mutable { 364 ASSERT(index < [sparseMenuItems count]); 365 ASSERT(![sparseMenuItems pointerAtIndex:index]); 366 [sparseMenuItems replacePointerAtIndex:index withPointer:item]; 367 if (--itemsRemaining) 368 return; 369 370 [menu setItemArray:[sparseMenuItems allObjects]]; 371 completionHandler(menu.get()); 372 }); 373 374 for (size_t i = 0; i < items.size(); ++i) { 375 [sparseMenuItems addPointer:nullptr]; 376 getContextMenuItem(items[i], [insertMenuItem, i](NSMenuItem *menuItem) { 377 insertMenuItem(menuItem, i); 378 }); 379 } 337 380 } 338 381 … … 417 460 } 418 461 419 RetainPtr<NSMenuItem> WebContextMenuProxyMac::createContextMenuItem(const WebContextMenuItemData& item)462 void WebContextMenuProxyMac::getContextMenuItem(const WebContextMenuItemData& item, CompletionHandler<void(NSMenuItem *)>&& completionHandler) 420 463 { 421 464 #if ENABLE(SERVICE_CONTROLS) 422 if (item.action() == ContextMenuItemTagShareMenu) 423 return createShareMenuItem(); 465 if (item.action() == ContextMenuItemTagShareMenu) { 466 getShareMenuItem(WTFMove(completionHandler)); 467 return; 468 } 424 469 #endif 425 470 … … 440 485 } 441 486 442 return menuItem; 487 completionHandler(menuItem.get()); 488 return; 443 489 } 444 490 445 491 case WebCore::SeparatorType: 446 return [NSMenuItem separatorItem]; 492 completionHandler(NSMenuItem.separatorItem); 493 return; 447 494 448 495 case WebCore::SubmenuType: { 449 auto menuItem = adoptNS([[NSMenuItem alloc] initWithTitle:item.title() action:nullptr keyEquivalent:@""]); 450 [menuItem setEnabled:item.enabled()]; 451 [menuItem setSubmenu:createContextMenuFromItems(item.submenu()).get()]; 452 [menuItem setIdentifier:menuItemIdentifier(item.action())]; 453 454 return menuItem; 496 getContextMenuFromItems(item.submenu(), [action = item.action(), completionHandler = WTFMove(completionHandler), enabled = item.enabled(), title = item.title()](NSMenu *menu) mutable { 497 auto menuItem = adoptNS([[NSMenuItem alloc] initWithTitle:title action:nullptr keyEquivalent:@""]); 498 [menuItem setEnabled:enabled]; 499 [menuItem setSubmenu:menu]; 500 [menuItem setIdentifier:menuItemIdentifier(action)]; 501 completionHandler(menuItem.get()); 502 }); 503 return; 455 504 } 456 505 } … … 469 518 for (auto& item : items) 470 519 data.uncheckedAppend(item->data()); 471 472 auto menu = createContextMenuFromItems(data); 473 [[WKMenuTarget sharedMenuTarget] setMenuProxy:this]; 474 m_page.contextMenuClient().menuFromProposedMenu(m_page, menu.get(), m_context.webHitTestResultData(), m_userData.object(), [this, protectedThis = makeRef(*this)] (RetainPtr<NSMenu>&& menu) { 475 m_menu = WTFMove(menu); 476 NSPoint menuLocation = [m_webView convertPoint:m_context.menuLocation() toView:nil]; 477 NSEvent *event = [NSEvent mouseEventWithType:NSEventTypeRightMouseUp location:menuLocation modifierFlags:0 timestamp:0 windowNumber:m_webView.window.windowNumber context:nil eventNumber:0 clickCount:0 pressure:0]; 478 [NSMenu popUpContextMenu:m_menu.get() withEvent:event forView:m_webView]; 479 480 if (m_contextMenuListener) { 481 m_contextMenuListener->invalidate(); 482 m_contextMenuListener = nullptr; 483 } 520 521 getContextMenuFromItems(data, [protectedThis = makeRef(*this), this](NSMenu *menu) mutable { 522 [[WKMenuTarget sharedMenuTarget] setMenuProxy:this]; 523 m_page.contextMenuClient().menuFromProposedMenu(m_page, menu, m_context.webHitTestResultData(), m_userData.object(), [this, protectedThis = WTFMove(protectedThis)] (RetainPtr<NSMenu>&& menu) { 524 m_menu = WTFMove(menu); 525 NSPoint menuLocation = [m_webView convertPoint:m_context.menuLocation() toView:nil]; 526 NSEvent *event = [NSEvent mouseEventWithType:NSEventTypeRightMouseUp location:menuLocation modifierFlags:0 timestamp:0 windowNumber:m_webView.window.windowNumber context:nil eventNumber:0 clickCount:0 pressure:0]; 527 [NSMenu popUpContextMenu:m_menu.get() withEvent:event forView:m_webView]; 528 529 if (m_contextMenuListener) { 530 m_contextMenuListener->invalidate(); 531 m_contextMenuListener = nullptr; 532 } 533 }); 484 534 }); 485 535 }
Note: See TracChangeset
for help on using the changeset viewer.