Skip to content

Instantly share code, notes, and snippets.

@phwd
Forked from james/Facebook leakage
Created January 6, 2016 15:20
Show Gist options
  • Save phwd/02fd33bfd721c9d37e13 to your computer and use it in GitHub Desktop.
Save phwd/02fd33bfd721c9d37e13 to your computer and use it in GitHub Desktop.
9 dir 117150 svn+ssh://tubbs/svnroot/tfb/releases/thefacebook-r116496-fb95/www/lib/display/privacy svn+ssh://tubbs/svnroot 2008-08-05T21:47:04.536211Z 114218 chad svn:special svn:externals svn:needs-lock 2c7ba8d8-a2f7-0310-a573-de162e16dcc7 pages.php file 2008-08-18T18:50:32.000000Z e69ad78841111ae71df858b23a4d356c 2008-08-05T21:47:04.536211Z 114218 chad 8328 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������abbreviated month name'), 'dt:may' => array('May', 'Non-abbreviated month name'), 'dt:june' => array('June', 'Non-abbreviated month name'), 'dt:july' => array('July', 'Non-abbreviated month name'), 'dt:august' => array('August', 'Non-abbreviated month name'), 'dt:september' => array('September', 'Non-abbreviated month name'), 'dt:october' => array('October', 'Non-abbreviated month name'), 'dt:november' => array('November', 'Non-abbreviated month name'), 'dt:december' => array('December', 'Non-abbreviated month name'), 'dt:jan' => array('Jan', 'Abbreviated month name'), 'dt:feb' => array('Feb', 'Abbreviated month name'), 'dt:mar' => array('Mar', 'Abbreviated month name'), 'dt:apr' => array('Apr', 'Abbreviated month name'), 'dt:may' => array('May', 'Abbreviated month name'), 'dt:jun' => array('Jun', 'Abbreviated month name'), 'dt:jul' => array('Jul', 'Abbreviated month name'), 'dt:aug' => array('Aug', 'Abbreviated month name'), 'dt:sep' => array('Sep', 'Abbreviated month name'), 'dt:oct' => array('Oct', 'Abbreviated month name'), 'dt:nov' => array('Nov', 'Abbreviated month name'), 'dt:dec' => array('Dec', 'Abbreviated month name'), 'dt:monday' => array('Monday', 'Day of the week'), 'dt:tuesday' => array('Tuesday', 'Day of the week'), 'dt:wednesday' => array('Wednesday', 'Day of the week'), 'dt:thursday' => array('Thursday', 'Day of the week'), 'dt:friday' => array('Friday', 'Day of the week'), 'dt:saturday' => array('Saturday', 'Day of the week'), 'dt:sunday' => array('Sunday', 'Day of the week'), 'dt:mon' => array('Mon', 'Abbreviated day of the week'), 'dt:tue' => array('Tue', 'Abbreviated day of the week'), 'dt:wed' => array('Wed', 'Abbreviated day of the week'), 'dt:thu' => array('Thu', 'Abbreviated day of the week'), 'dt:fri' => array('Fri', 'Abbreviated day of the week'), 'dt:sat' => array('Sat', 'Abbreviated day of the week'), 'dt:sun' => array('Sun', 'Abbreviated day of the week'), 'dt:today' => array('Today', 'Time period'), 'dt:yesterday' => array('Yesterday', 'Time period'), /** *** api/confirmation.js **/ 'ac01' => array('Granting access to information is required to use applications. If you are not willing to grant access to your information, do not use this application.'), 'ac02' => array('You must select the checkbox to grant these application privileges. If you do not wish to grant access, click Cancel.'), /** *** ads (create.js; admanager.js) **/ 'ads01' => array('There was an error with the information you submitted.'), 'ads02' => array('Social Actions', 'Facebook feature'), 'ads03' => array('{Social Actions} from {source} will automatically be added.', 'ad social action summary'), 'ads04' => array('There was an error processing your action.'), 'ads05' => array('You have not finished creating your ad. If you leave this page, your ad will not be saved.'), 'ads:primary-link' => array('Make this your primary credit card.'), 'ads:remove-link' => array('Remove this card from your account.'), 'ads:primary-dialog-1' => array('This is your primary credit card. We will attempt to bill invoices against your '. 'primary credit card first. However, in the event that a payment fails, we will '. 'attempt to bill other credit cards associated with your account.'), 'ads:primary-dialog-2' => array('You cannot edit or remove your primary credit card. In order to remove this card, you '. 'must first make another verified credit card the primary card. To edit the billing details '. 'for this card, add it again and then remove the original entry for the card.'), 'ads:close-dialog-1' => array('Are you sure you want to close your account? This action will pause all of your '. 'currently running campaigns and charge your credit card for any outstanding balance '. 'on your account. The credit cards on your account will be automatically removed after '. 'your outstanding balance has been paid. It may take up to 2 business days for your '. 'account balance to be settled.'), 'ads:verified-dialog-1' => array('This is a verified credit card. The information you have provided has passed '. 'verification, so you can designate this credit card as your primary credit card.'), 'ads:verified-dialog-2' => array('If you make this credit card your primary credit card, then invoices will attempt '. 'to billed against it first. However, if a payment were to fail, we would attempt '. 'to bill other credit cards associated with your account.'), 'ads:verified-dialog-3' => array('You cannot delete this credit card because it is the only verified credit card '. 'associated with your account.'), 'ads:unverified-dialog-1' => array('This is an unverified credit card. The information that you have provided has not'. ' passed verification, so you cannot designate this credit card as your primary credit card.'), 'ads:unverified-dialog-2' => array('In order to pass verification, you must remove this credit card and add it back '. 'with the correct information.'), 'ads:unverified-dialog-3' => array('You cannot remove this credit card because it is the only credit card associated with '. 'your account. In order to pass verification, you will need to add a new credit card.'), 'ads:edit-title-add' => array('Add Credit Card'), 'ads:edit-action-add' => array('Save Credit Card'), 'ads:remove-title' => array('Remove Credit Card'), 'ads:remove-dialog' => array('Are you sure that you want to remove this card from your account?'), 'ads:primary-title' => array('Change Primary Credit Card'), 'ads:primary-action' => array('Make Primary'), 'ads:primary-dialog' => array('Are you sure that you want to make this your primary card?'), 'ads:close-title' => array('Close Ads Account'), 'ads:close-action' => array('Close My Account'), 'ads:info-title' => array('Credit Card Information'), 'ads:show-details' => array('show details', 'Link: shows credit card details'), 'ads:hide-details' => array('hide details', 'Link: hides credit card details'), 'ads:csc-text' => array('A Card Security Code (CSC) is a security feature of debit and credit cards that helps fight credit card fraud. The following graphic illustrates where to find the CSC code on your credit card.', 'description of Card Security Code (CSC)', 'business-critical'), 'ads:csc-title' => array('What\'s a CSC code?', 'header: section describes what a credit card security code is'), 'ads:csc-validation-title'=> array('Why is CSC validation required?', 'header: section describes why we need to validate credit card security code for stored cards'), 'ads:csc-validation-text' => array('In order to fight credit card fraud, we have started to enforce CSC code validation in credit card payments. For credit cards we have stored before, this means they will need to be CSC validated once for later uses. You will not be prompted in the future once the card gets validated.', 'explain why we need credit card security code for stored cards', 'business-critical'), 'ads:cap-warning-title' => array('There is a chance that your ad\'s title may not meet our capitalization guidelines and could cause your ad to be rejected. Your ad may not include excessive or incorrect capitalization. Acronyms, however, may be capitalized. If you believe your ad uses9 dir 117150 svn+ssh://tubbs/svnroot/tfb/releases/thefacebook-r116496-fb95/www/lib/display/puzzles svn+ssh://tubbs/svnroot 2008-08-14T18:24:46.740620Z 116087 jhsu svn:special svn:externals svn:needs-lock 2c7ba8d8-a2f7-0310-a573-de162e16dcc7 puz1.html file 2008-08-18T18:50:32.000000Z a4feeace7288a7eff2d4460677c9c26f 2008-06-20T22:25:40.405254Z 105557 jhsu has-props 3954 puz2.html file 2008-08-18T18:50:32.000000Z 111b7b47b9ec069ff40dd223281351d1 2008-07-08T00:23:20.388784Z 108188 marcel has-props 2917 puz3.html file 2008-08-18T18:50:32.000000Z 05692949df703d10212e52cbdaa9ee95 2008-07-09T01:27:04.115817Z 108480 jhsu has-props 1222 puz4.html file 2008-08-18T18:50:32.000000Z f8434bbaa89c66f850c54981288b32af 2008-08-06T18:17:15.798733Z 114488 dellis 7752 puz5.html file 2008-08-18T18:50:32.000000Z cb3571f5bca400fc1dd1a9d7c1214a62 2008-08-14T18:24:46.740620Z 116087 jhsu 4932 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������9 dir 117150 svn+ssh://tubbs/svnroot/tfb/releases/thefacebook-r116496-fb95/www/lib/display/share svn+ssh://tubbs/svnroot 2008-08-13T11:54:53.583365Z 115810 eric svn:special svn:externals svn:needs-lock 2c7ba8d8-a2f7-0310-a573-de162e16dcc7 share_stage.php file 2008-08-18T18:50:32.000000Z 2f0d4136115a9309046f20f082c5418b 2008-08-13T11:54:53.583365Z 115810 eric 32637 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� , 'Dialog body for removing a publisher', 'fb95'), 'apps:remove-composer-button' => array('Remove' , 'Dialog button for removing a publisher', 'fb95'), 'apps:remove-composer-block-button' => array('Unblock', 'Button to unblock an app\'s publisher'), 'apps:remove-composer-block-title' => array('Unblock {app-name} Publisher?', 'Dialog title for prompt to unblocked a publisher from the profile', 'fb95'), 'apps:remove-composer-block-body' => array('Are you sure you want to allow this application\'s publisher on your profile? ', 'Dialog body for removing a block on a publisher', 'fb95'), /** *** applications/reviews/reviews.js **/ 'arev:close-button' => array('Close', 'Review Application: close review dialog'), 'arev:delete-button' => array('Delete', 'Review Application: delete a review'), 'arev:post-button' => array('Post', 'Review Application: submit a review'), 'arev:post-success' => array('Post successful.', 'Review Application: submitted a review'), 'arev:required-fields' => array('You have not filled out all the required fields.', 'Review Application: missing required information'), 'arev:no-rating' => array('You must choose a star rating', 'Review Application: missing star rating'), 'arev:update-review' => array('Update Review', 'Update a review'), /** *** html/js/lib/net/async.js **/ 'async:error' => array('Something went wrong. We\'re working on getting this fixed as soon as we can. '. 'You may be able to try again.'), 'async:oops' => array('Oops', 'Dialog title for a warning message when something bad happened'), /** *** attachments.js **/ 'at01' => array('Attach', 'Button: submits message attachment'), /** *** attachments.js **/ 'base01' => array('more', 'Link: expands your left-hand nav to show more applications'), 'base02' => array('less', 'Link: collapses your left-hand nav if you have it expanded'), /** *** business/mobile/service.js **/ 'bizmob:messages' => array('Messages', 'Label: Messages (as in SMS or MMS messages)'), 'bizmob:pv' => array('Page Views', 'Label: Page Views (as in '), 'bizmob:pvmsg' => array('Page Views and Messages', 'Label: Page Views and Messages.'), 'bizmob:dedup' => array('Note: this is the total number of de-duplicated unique users utilizing SMS, MMS, or WAP services.', 'Label: Explanation for the total unique de-duplicated number of users over SMS, MMS, and WAP services.'), /** *** beacon_manager.js **/ 'bm:site-name' => array('[Site Name]', 'label indicating "Site Name" inside square brackets', 'beacon'), /** *** calendar.js **/ 'cal:createSuccess' => array('{event_title} has been created.', '', 'horizon'), 'cal:accept' => array('Accept', 'Button: accepts the current invitation', 'horizon'), 'cal:decline' => array('Decline', 'Button: declines the current invitation', 'horizon'), 'cal:newItem' => array('New Calendar Item', 'Label for a new item on user\'s calendar.', 'horizon'), 'cal:urGoing' => array('You are going.', 'Event status text', 'horizon'), 'cal:urnotGoing' => array('You can add this.', 'Event status text', 'horizon'), 'cal:itemDetails' => array('Item Details', 'Title for calendar detailed popup dialog', 'horizon'), 'cal:rsvpAccepted' => array('"{event-name}" has been added. {undo-link}', '', 'horizon'), 'cal:rsvpDeclined' => array('"{event-name}" has been removed. {undo-link}', '', 'horizon'), 'cal:rsvpRequested' => array('"{event-name}" has been set to undecided. {undo-link}', '', 'horizon'), 'cal:rsvpDefault' => array('Your RSVP status to "{event-name}" has been changed. {undo-link}', '', 'horizon'), 'cal:deleteWarningTitle' => array('Delete Item?', 'Title of dialog asking if the user is sure they want to delete an item', 'horizon'), 'cal:deleteWarningMessage' => array('Are you sure that you want to delete this item? If you delete this item all of the attendees will be notified. This action CANNOT be undone.', '', 'horizon'), 'cal:day_header' => array('{week-day}, {month} {date}', 'Ex: Thursday, December 5', 'horizon'), 'cal:dateSelect' => array('{month}/{date}/{year}', 'MM/DD/YYYY', 'horizon'), 'cal:monthYear' => array('{month} {year}', 'Example: October 2007', 'horizon'), 'cal:dateRange' => array('{month1} {date1} to {month2} {date2}', 'Example: October 28 to December 5', 'horizon'), 'cal:saveChanges' => array('Save Changes', 'Button label to save changes to an event', 'horizon'), 'cal:inviteFriends' => array('Invite friends to come', 'Link that enables users to invite friends to attend an event', 'horizon'), 'cal:sendInvites' => array('Send Invites', 'Button label to send invites to friends', 'horizon'), 'cal:add' => array('Add', 'Button: Adds something to a user\'s calendar', 'horizon'), 'cal:addToCalendar' => array('Add To Calendar', 'Title: Adds something to a user\'s calendar', 'horizon'), 'cal:itemDetails' => array('Item Details', 'Title describing the details of an item', 'horizon'), /** *** canvas.js **/ 'can01' => array('Report', 'Link to report a bad application'), /** *** cards.js **/ 'cd01' => array('Remove Card?', 'Remove credit card from account header'), 'cd02' => array('Are you sure you want to remove this credit card from your account?' , 'Remove credit card from account message'), 'cd03' => array('Remove', 'Button: Remove credit card from account'), /** *** chat/buddy_list.js **/ 'chb01' => array('Could not load available friends.', 'Chat friends list error'), 'chb02' => array('Online Friends {number-available}', 'Number of available Chat friends'), 'chb03' => array('No one is available to chat.', 'Facebook Chat'), 'chb04' => array('{name} {status} ({time})', 'Facebook Chat: Name and status listing in available friends list'), 'chb05' => array('{Idle} - {name} {status} ({time})', 'Facebook Chat: Name and status listing in available friends list for an Idle friend'), 'chb06' => array('Could not find that friend online.', 'Facebook Chat search text'), 'chb07' => array('Idle', 'Facebook Chat Friend is Idle'), 'chb08' => array('Go Offline to List', 'Ability for a user to go offline to a particular friend list in Chat', 'chirp-fl'), 'chb09' => array('You are offline to "{friend-list-name}"', 'Notice to a user indicating being offline to a particular friendlist', 'chirp-fl'), /** *** chat/chat_display.js **/ 'chd01' => array('Chat', 'Facebook feature: Chat'), 'chd02' => array('Show/Hide {Chat} Window', 'Button label'), 'chd03' => array('Close {Chat} Window', 'Button label'), 'chd04' => array('Hide {Chat} Window', 'Button label'), 'chd05' => array('New message from {name}!', 'Alert about new Chat message'), 'chd06' => array('New message!', 'Alert about new Chat message'), /** *** chat/status_control.js **/ 'chs01' => array("Couldn't set {Chat} availability", 'Chat error'), 'chs02' => array("Couldn't change that setting", 'Chat setting change error'), /** *** chat/tabs.js **/ 'cht01' => array("Couldn't retrieve chat history", null), 'cht02' => array('The message could not be sent:', 'Chat message error'), 'cht03' => array('Sending:', 'Sending the Chat message'), 'cht05' => array('Send {name} a Message', 'Link'), 'cht06' => array('You are not online.', null), 'cht07' => array('{name} is offline.', null), 'cht08' => array('Clear {Chat} History', 'Link text'), 'cht09' => array("Couldn't clear {Chat} history", 'Chat error'), 'cht10' => array('{name} is online.', 'Message that someone is available in Chat'), 'cht11' => array(' ({send-as-a-message})', 'Part of sentence, prompts user to send a chat IM as a Facebook message' . '"send as a message" is linked'), 'cht12' => array('send as a message', 'Link: prompts user to send a chat IM as a Facebook message'), 'cht13' => array('You are online.', 'Message that user is online in Chat'), 'cht14' => array('{name} is no longer online. The following were not sent', null), /** *** confirmfriend.js **/ 'cf:friend_title' => array('You have a friend request.'), 'cf:ignore-button' => array('Ignore Request', 'Button: Ignore friend request'), /** *** contact_importer.js **/ 'ci:user-request' => array('This user will receive your friend request shortly.', 'contact importer message for one friend request'), 'ci:users-request'=> array('These users will receive your friend requests shortly.', 'contact importer message for more than 1 friend'), 'ci:user-success' => array('Success! A friend request will now be sent to your friend. '. 'Once your friend confirms your friendship, you will be able to see each other\'s profiles.' , 'added a friend'), 'ci:users-success'=> array('Success! Friend requests will now be sent to {number} friends. '. 'Once they confirm your friendship, you will be able to see each other\'s profiles.' , 'added multiple friends'), 'ci:user_error' => array('There was an error processing your request.'), 'ci:wl-password-disabled' => array('Password entered on Windows Live'), 'ci:yh-password-disabled' => array('Password entered on Yahoo! login page'), 'ci:domain-list-desc' => array('We currently support the domains listed below. If you do not see your domain in the list but would like us to support it, please email info@facebook.com.'), /** *** contact_importer.js - outlook importer (ie only) **/ // Intro Text 'ci_v00' => array('You need to install the Outlook Importer ActiveX ' . 'Control to continue.', 'Prompting users that they need an ActiveX control to ' . 'continue'), 'ci_v01' => array('' . 'If you see a yellow bar at the top of the window, ' . '' . 'right click the yellow bar and click ' . 'Install ActiveX Control. The page may refresh.', 'Description for IE users on how to install ActiveX ' . 'Controls'), 'ci_v02' => array('' . 'If you see an Internet Explorer security warning ' . 'window, ' . '' . 'click Install. Facebook will then be able to ' . 'automatically import your Outlook contacts and help ' . 'you find your friends.', 'Description for IE users on how to install ActiveX ' . 'controls'), 'ci_v03' => array('The ActiveX control does not seem to be properly '. 'installed.', 'Error if a user prematurely clicks Import but the ' . 'Outlook importer control is still inaccessible.'), 'ci_v21' => array('Your permissions may not be set to enable Facebook\'s '. 'Outlook importer control. Please check your browser\'s '. 'security settings and try again'), 'ci_v22' => array('Screenshot of installation process', 'Alternate text for installation process screenshot'), // In Progress Captions 'ci_v04' => array('Processing your contacts', 'The outlook importer is processing a user\'s contacts'), 'ci_v05' => array('Securely uploading your contacts', 'The outlook importer is uploading a user\'s contacts'), 'ci_v06' => array('Do not navigate away from the page or close this ' . 'window.', 'A warning to the user to not navigate away during ' . 'the Outlook importation process'), 'ci_v07' => array('Contacts successfully added.', 'The outlook importer has successfully imported ' . 'a user\'s contacts.'), // Custom Button Captions 'ci_v10' => array('Install', 'Dialog Button Caption: Install'), 'ci_v11' => array('Import', 'Dialog Button Caption: Import'), 'ci_v12' => array('Next', 'Dialog Button Caption: Next'), 'ci_v23' => array('Cancel', 'Dialog Button Caption: Cancel'), // Dialog Window Titles 'ci_v13' => array('Installation Required', 'Dialog title for uninstalled Outlook importer'), 'ci_v14' => array('Importing Contacts', 'Dialog title for in-process Outlook importer'), 'ci_v16' => array('Importer Error', 'Dialog title for error on Outlook import'), // Error Descriptions 'ci_v17' => array('Either Outlook does not appear to be installed on ' . 'your computer or your Outlook data is corrupt. Please ' . 'check that Outlook is installed and try again at a ' . 'later time.'), 'ci_v18' => array('An error has occurred. Please try this process again ' . 'at a later time. If you contact the Facebook support team, ' . 'reference error number {error-number}.', 'A generic error if the Outlook contact importer fails'), 'ci_v19' => array('An error has occured with your permissions. Please check '. 'your security settings and administrative access and try again.', 'A generic error if the Outlook contact importer fails'), 'ci_v20' => array('An error has occured with your permissions. Please ensure '. 'that you are not running in Protected Mode and try again.', 'A generic error if the Outlook contact importer fails'), 'ci_v24' => array('An error has occured while accessing your Outlook account. ' . 'Please check your Outlook configuration and try again at a ' . 'later time.'), /** *** microsoft/js/contacts.js **/ 'ci_ms01' => array("There was an error processing your request."), 'ci_ms02' => array("Please try again later"), /** *** classmate.js **/ 'cm01' => array('Class Year:', 'Label: School graduation year'), /** *** developers/editapp.js **/ 'de01' => array('You must check the Terms of Use agreement before continuing.','Create App error message'), 'de02' => array('Your application\'s notifications have been marked as spam by our users, meaning people who haven\'t added your application can\'t see its notifications.','App notifications blocked message'), 'de03' => array('To reduce your spam level, we recommend only sending notifications to users when a friend explicitly takes an action that directly affects that specific user - for example, our applications have notifications like "[name] tagged you in a photo." or "[name] wrote on your Wall."', 'App notifications blocked tip'), 'de04' => array('You can request to unblock it, but keep in mind your ability to do so will be on a sliding scale.', 'Unblock app notifications explanation message'), 'de05' => array('Specifically, the first time you can unblock your application immediately, but every consecutive time you will be forced to wait an additional 30 days longer than you waited for the previous unblock. So please make sure that it is no longer as spammy before requesting to unblock it.', 'Unblock app notifications detailed explanation message'), 'de06' => array('Remember, if your application is blocked again, you will have to wait for a longer period of time, so please be careful!', 'Unblock app notifications warning'), 'de07' => array('Unblock Application?', 'Unblock application dialog header'), 'de08' => array('Yes, unblock it', 'Button: Unblock application'), 'de09' => array('Please return here in approximately {days-left} days, and you will be allowed to unblock your application. Please email developers-help@facebook.com if you have any further questions.','Blocked application dialog message'), 'de10' => array('Your application has been blocked', 'Blocked application dialog header'), 'de11' => array('The spamminess score reflects our users\' reactions to your application\'s notifications (sent via notifications.send). If your score goes above a certain limit, users who have not added your application will not be able to see its notifications.', 'Application spam tip message'), 'de12' => array('What is "spamminess"?', 'Application spam tip dialog header'), 'de13' => array('Remove App from Directory?'), 'de14' => array('If you proceed, your app will no longer be listed in the application directory or search results. ' . 'To list it again in the directory, you will need to get it re-approved.'), 'de15' => array('Remove App from Directory'), /** *** applications/discography/edit.js **/ 'ded01' => array('Untitled Track', 'Untitled Discography track'), 'ded02' => array('edit', 'Link: Discography edit track'), 'ded03' => array('delete', 'Link: Discography delete track'), 'ded04' => array('No tracks in album', 'Discography no tracks message'), /** *** deprecated.js **/ 'dep01' => array('Cancel', 'Button: Cancels a pop-up dialog'), /** *** developers/intl.js **/ 'di01' => array('Enabling Translations'), 'di02' => array('Selecting this option will cause the winning translations in this language to be sent to users when they use your application. Note that if you enable this before all of your strings have been translated, untranslated parts of your application will continue to be shown in their original language.'), /** *** developers/registerfeed.js **/ 'dr01' => array('Delete this template?','Dialog message when deleting Application feed story template'), 'dr02' => array('Delete template?','Dialog title when deleting Application feed story template'), 'dr03' => array('Delete', 'Button: confirms App feed story template deletion'), /** *** editaccount.js **/ 'ea01' => array('Notifications Settings'), 'ea02' => array('Choose On to get an email whenever that action occurs.', 'Option to receive an email for every user action'), 'ea03' => array('Choose Once Daily for one email sent once a day with all of your notifications.', 'Option to receive a single email daily with all notifications'), 'ea04' => array('Choose Off to stop receiving all email notifications for that action.', 'Option to not receive any notifications for this action'), 'ea05' => array('The name you entered is already your name.', 'error message: user tries to change their name to the same name'), 'ea06a' => array('Remove Email Address', 'dialog title: removing an email address from your account'), 'ea06b' => array('To remove this email address, please enter your Facebook password.', 'dialog title: removing an email address from an account'), 'ea07a' => array('Change Contact Email Address', 'dialog title: change the contact email address for an account'), 'ea07b' => array('To change your contact email address, please enter your Facebook password.', 'dialog title: change the contact email address for an account'), 'ea08a' => array('Change Security Question', 'dialog title: change the security question for an account'), 'ea08b' => array('To change your security question, please enter your Facebook password.', 'dialog title: change the security question for an account'), /** *** edit_badge.js **/ 'eb01' => array('Delete Badge?', 'Facebook feature: title of confirmation dialog'), 'eb02' => array('Are you sure you want to delete this badge?', 'Facebook feature'), 'eb04' => array('Error loading badge.', 'Error message'), 'eb05' => array('Cannot remove the last item.', 'Error message'), 'eb06' => array('Loading...'), /** *** example_code.js **/ 'ec01' => array("Follow the simple steps below to create a working skeleton for your Application.","Facebook feature: example of building an application"), 'ec02' => array("Step 1: Download Facebook's PHP Library","Facebook feature: example of building an application"), 'ec03' => array("Extract this archive into a directory on your hosting server where you can host and run PHP code (let's call this directory MY_DIR)","Facebook feature: example of building an application"), 'ec04' => array("Step 2: Create An 'index.php' File","Facebook feature: example of building an application"), 'ec05' => array("It should look like this, and should also go into MY_DIR:","Facebook feature: example of building an application"), 'ec06' => array("Step 3: Test Your Application","Facebook feature: example of building an application"), 'ec07' => array("You're almost done!","Facebook feature: example of building an application"), 'ec08' => array("Head over to your Canvas Page URL to test your application:","Facebook feature: example of building an application"), 'ec09' => array("Now we just need to know where your application is hosted.","Facebook feature: example of building an application"), 'ec10' => array("Edit Settings","Facebook feature: example of building an application"), 'ec11' => array("{edit_settings} for your application and enter the Callback URL that corresponds to the MY_DIR directory","Facebook feature: example of building an application"), 'ec12' => array("Quick Creation Guide For '{app_name}'","Facebook feature: example of building an application"), 'ec13' => array("Done","Button: close the developer example code popup"), 'ec14' => array("We just need to know two more things. {edit_settings} for your application and enter:", "Facebook feature: example of building an application"), 'ec15' => array("The Callback URL - where your app is hosted.", "Facebook feature: example of building an application"), 'ec16' => array("The Canvas Page URL - the apps.facebook.com/yourapp URL for your application.", "Facebook feature: example of building an application"), 'ec17' => array("We just need you to specify the apps.facebook.com/yourapp URL for your application. {edit_settings} for your app and choose a Canvas Page URL.", "Facebook feature: example of building an application"), /** *** editevent.js ***/ 'eev01' => array('the guest list', 'List of users who have been invited to event'), 'eev02' => array('the wall', 'Events Wall display name'), 'eev03' => array('videos', 'Events videos display name'), 'eev04' => array('photos', 'Events photos display name'), 'eev05' => array('People can add themselves to the guest list and invite others to the event. Anyone can see the event information and content.'), 'eev06' => array('Only people you invite will be on the guest list. People can request invitations. Anyone can see the event time and description, but only people you invite can see the other information and content.'), 'eev07' => array('The event will not appear in search results. Only people you invite can see the event information and content.'), 'eev08' => array('Please check the event start and end time.'), 'eev09' => array('A Facebook event must end within 31 days from when it starts.'), 'eev10' => array('An event must not end before it begins.'), 'eev11' => array('Only those invited can see following:'), 'eev12' => array('Event Name'), 'eev13' => array('Event Network'), 'eev14' => array('Host', 'Event Host'), 'eev15' => array('Event Type'), 'eev16' => array('Location'), 'eev17' => array('City'), 'eev18' => array('Phone'), 'eev19' => array('Please fill in all of the required fields.', 'Fill in Event required fields message'), 'eev20' => array('Some of the information you entered was invalid.', 'Invalid input message for Event editing or creation.'), /** *** editfgroup.js **/ 'efg01' => array('Name'), 'efg02' => array('Description'), 'efg03' => array('Please fill in all of the required fields.'), 'efg04' => array('You must provide a question.'), 'efg05' => array('You must provide at least two answers.'), 'efg06' => array('You must provide a question and at least two answers.'), 'efg07' => array('Hide in Group', 'Button: '), 'efg08' => array('Show in Group', 'Button: '), 'efg09' => array('This poll is currently shown in the group.'), 'efg10' => array('You can hide the poll from the group or leave it showing.'), 'efg11' => array('This poll is currently hidden from the group.'), 'efg12' => array('You can show the poll in the group or leave it hidden.'), /** *** editgroup.js **/ 'eg01' => array('the discussion board', 'Groups message board display name'), 'eg02' => array('the wall', 'Groups Wall display name'), 'eg03' => array('videos', 'Groups videos display name'), 'eg04' => array('photos', 'Groups photos display name'), 'eg05' => array('posted items', 'Groups posted items display name'), 'eg06' => array('Anyone can join and invite others to join. Anyone can see the group information and content.', 'Groups public access description'), 'eg07' => array('Administrative approval is required for new members to join. Anyone can see the group description, but only members can see the other content.', 'Groups closed access description'), 'eg08' => array('The group will not appear in search results or in the profiles of its members. Membership is by invitation only, and only members can see the group information and content.', 'Groups private access description'), 'eg09' => array('Please fill in all of the required fields', 'Fill in Group required fields message'), 'eg10' => array('You didn\'t enter a title for this user!', 'Missing Group officer title error message'), 'eg11' => array('Name', 'Group name'), 'eg12' => array('Network', 'Group network'), 'eg13' => array('Description', 'Group description'), 'eg14' => array('Group Type', 'Group category listing'), 'eg15' => array('Only the members will be able to see the following:'), 'eg16' => array('Please enter a position for {user-name}:'), 'eg17' => array('Make Officer?','Confirmation dialog if a user wants to make someone else an officer in a group'), 'eg18' => array('Add', 'user confirms that he wants to add another user as an officer in a group'), 'eg19' => array('Remove Officer?', 'Prompt to remove an officer from a group'), 'eg20' => array('Are you sure you want to remove {user-name} as an officer?'), 'eg21' => array('Remove', 'removes an officer from a group'), 'eg22' => array('Edit Officer?','Prompt to edit the an officer\'s title in a group'), 'eg23' => array('Please update {user-name}\'s position'), 'eg24' => array('Save', 'saves an update to an officer\'s title'), 'eg25' => array('Anyone can see the following:'), /** *** editor.js **/ 'el01' => array('{thing-1} is required.', 'Error message description- error title explains that user did not fill in required field.'), 'el02' => array('{thing-1} and {thing-2} are required.', 'Error message description- error title explains that user did not fill in required fields.'), 'el03' => array('{thing-1}, {thing-2}, and {thing-3} are required.', 'Error message description- error title explains that user did not fill in required fields.'), 'el04' => array('{thing-1}, {thing-2}, {thing-3}, and {thing-4} are required.', 'Error message description- error title explains that user did not fill in required fields.'), 'el05' => array('{thing-1}, {thing-2}, {thing-3}, and {num} other fields are required.', 'Error message description- error title explains that user did not fill in required fields.'), 'el06' => array('{thing-1} appears to be invalid.', 'Error message description- error title explains that user gave malformed input.'), 'el07' => array('{thing-1} and {thing-2} appear to be invalid.', 'Error message description- error title explains that user gave malformed input.'), 'el08' => array('{thing-1}, {thing-2}, and {thing-3} appear to be invalid.', 'Error message description- error title explains that user gave malformed input.'), 'el09' => array('{thing-1}, {thing-2}, {thing-3}, and {thing-4} appear to be invalid.', 'Error message description- error title explains that user gave malformed input.'), 'el10' => array('{thing-1}, {thing-2}, {thing-3}, and {num} other fields appear to be invalid.', 'Error message description- error title explains that user gave malformed input.'), 'el11' => array('Country', 'refers to a country in the world (for location field)'), 'el12' => array('State', 'refers to a state in the United States (for location field)'), 'el13' => array('Province', 'refers to a province in Canada (for location field)'), /** ** editobject.js **/ 'eobj:gp' => array('Show this group on the Networks page and in search results.'), 'eobj:ev' => array('Show this event on the Networks page and in search results.'), 'eobj1' => array('{item1}.'), 'eobj2' => array('{item1} and {item2}.'), 'eobj3' => array('{item1}, {item2} and {item3}.'), 'eobj4' => array('{item1}, {item2}, {item3} and {item4}.'), 'eobj5' => array('{item1}, {item2}, {item3}, {item4} and {item5}.'), 'eobj6' => array('{item1}, {item2}, {item3}, {item4}, {item5} and {item6}.'), 'eobj7' => array('{item1}, {item2}, {item3}, {item4}, {item5}, {item6} and {item7}.'), /** *** editprofile.js **/ 'ep01' => array('Type your major or minor', 'Label: prompt to add school concentration'), 'ep02' => array('Remove this school?', 'title of dialog confirming from user if user wants to remove school'), 'ep03' => array('Are you sure you want to remove this school? You will lose all the data currently stored about it.'), 'ep04' => array('Remove this job?', 'remove job from work history listing'), 'ep05' => array('Are you sure you want to remove this job? You will lose all the data currently stored.'), /** *** editprofile_inline.js **/ 'epi01' => array('An error occurred. Please try again later.'), /** *** emu/comment.js **/ 'emu:show-more' => array('Show more comments.'), 'emu:show-fewer' => array('Show fewer comments.'), /** *** event.js **/ 'ev04' => array('RSVP to this Event', ' title of dialog letting a user RSVP to an event'), 'ev05' => array('Select your RSVP:'), 'ev06' => array('Attending', 'Attending the event'), 'ev07' => array('Maybe Attending', 'Maybe attending the event'), 'ev08' => array('Not Attending', 'Not attending the event'), 'ev09' => array('RSVP', 'RSVP to the event'), 'ev10' => array('You can export your Facebook Events into many other programs, such as Apple iCal, Microsoft Outlook, and Google Calendar.'), 'ev11' => array('Simply click the Export button that appears beneath the picture on any Event page or use the following URL to export all your upcoming events:'), 'ev12' => array('Export Events', 'Link: export Facebook Events to an external calendar product.'), 'ev13' => array('Add to My Events', 'Title: Add an event to my events and rsvp.'), 'ev14' => array('Please select a RSVP option.', 'Instruction when no option was selected.'), 'ev15' => array('Add', 'Button: add to my events'), /** *** event_profile.js **/ 'evp01' => array('Remove event?', 'Dialog header'), 'evp02' => array('Are you sure you want to remove your membership from {event-name}?'), 'evp03' => array('Remove', 'Button: remove event'), "evp04" => array("Join", "Button: Confirm that you want to join an event"), "evp05" => array("Do you want to add {event-name} to your events?"), "evp06" => array("Add to My Events?", "Title of confirmation dialog shown when the user wants to add an event"), /** *** feedcrawl.js **/ 'fc01' => array('Remove this Site?', null, 'feedcrawl'), 'fc02' => array('Are you sure you want to remove this site from your list?', null, 'feedcrawl'), 'fc03' => array('Remove from List', 'button', 'feedcrawl'), /** *** applications/flash/add.js **/ 'fa01' => array('You must specify a SWF file.', 'Add Flash error message'), 'fa02' => array('You must specify a preview image file.', 'Add Flash error message'), 'fa03' => array('You must specify a width', 'Add Flash error message'), 'fa04' => array('You must specify a height', 'Add Flash error message'), /** *** iphone/fb.js **/ 'fbjs01' => array('Loading Friends...', 'Loading your friends onto the iphone page'), 'fbjs02' => array('tel:','Label for a person\'s telephone number'), 'fbjs03' => array("Updated seconds ago"), 'fbjs04' => array('Loading Friends...','Loading friends onto iphone page'), 'fbjs05' => array('You are about to add {name} as a friend. We will then notify {name}, who will have to confirm that you are friends.','Adding a friend via the iphone'), 'fbjs06' => array("We can't deliver your message until you write one!",'Error on iphone Facebook site.'), 'fbjs07' => array("Sorry, there was an error and we cannot post your message.",'Error message from iphone site.'), 'fbjs08' => array('Searching...','Message while searching on an iphone'), 'fbml:publish-story' => array('Story published.','Confirmation message'), 'fbml:dialog-error' => array('There was an application error. Please try again later.', 'App dialog failure'), 'fbml:confirm-box' => array('Profile box created.','Confirmation message for profile form'), 'fbml:confirm-box2' => array('Profile content added.','Confirmation message for profile form'), 'fbml:redirect-prof' => array('Going to your profile.','Status message'), 'fbml:check-it' => array('Check it out.','Confirmation message for profile form'), /** *** feedcomment.js **/ 'fc01' => array('Delete Comment', 'Title: Title of form for deleting a comment'), 'fc02' => array('Are you sure you want to delete this comment?', 'Prompt on form for deleting a comment'), 'fc03' => array('1 comment', 'One comment has been posted'), 'fc04' => array('{num-comments} comments', 'Multiple comments have been posted'), 'fc05' => array('Show 1 comment', 'Link: Link to show one comment'), // keep this in sync with lib/display/minifeed.php:render_comment_box 'fc06' => array('Show all {num-comments} comments...', 'Link: Link to show all comments. Ellipses specifies that this link is in the midst of other comments.'), 'fc07' => array('Comment', 'Link to add a comment to an object'), 'fc08' => array('1 Comment', 'Link to view comments'), 'fc09' => array('{num-comments} comments', 'Link to view comments'), /** *** feedcomment.js **/ 'ff01' => array('Save and Publish', 'Button: confirm options and publish feed story'), 'ff02' => array('Publish', 'Button: confirm publishing a story to your profile'), /** *** friendspro.js **/ 'fl01' => array('This list contains no friends.'), 'fl02' => array('This list contains 1 friend.'), 'fl03' => array('This list contains {count} friends.'), 'fl04' => array('New List', 'Default name for a list'), 'fl05' => array('Remove from List?'), 'fl06' => array('Are you sure you want to remove {name} from this list?'), 'fl07' => array('Remove from List', 'button'), 'fl08' => array('Remove from Friends', 'button'), 'fl10' => array('Remove friend?'), 'fl11' => array('Are you sure you want to remove {name} as a friend? This cannot be undone. {name} will not be notified.'), 'fl12' => array('Remove Friend'), 'fl13' => array('This list has been updated.'), 'fl14' => array('Grid'), 'fl15' => array('Search Results'), 'fl16' => array('Add to list...'), 'fl17' => array('Added to "{list}"'), 'fl18' => array('Sorry, an error occurred.'), 'fl21' => array('Status Updates', 'Link: takes you to status updates'), 'fl22' => array('Recently Updated', 'tab label: show only friends with recent updates'), 'fl23' => array('Phonebook', 'Link to Facebook feature that lets you browse your friends\' phone numbers.'), /** *** Flash Detection -- html/js/base.js **/ 'flash:upgrade-required' => array('Flash Player upgrade required', 'Upgrade Flash alert header'), 'flash:upgrade-explanation' => array('Flash {required-version} is required to view this content. Your current version is {current-version}. Please download the latest Flash Player.', 'Upgrade Flash alert explanation'), /** *** html/js/friend_lists/manager.js **/ 'flm:new-list' => array('', 'String for empty list name'), 'flm:empty-list' => array('This list contains no friends. Add friends by selecting from above', 'Blank state text for Friend List Manager'), 'flm:new-list-help-title' => array('Choose a Name', 'Helper text instructing the user to choose a friend list name'), 'flm:new-list-help-text' => array('Pick something short and easy to remember. Hit enter when you\'re done.', 'Instructions for entering friend list name'), 'flm:pagination' => array('{start-pos}-{end-pos} of {total-num}', 'Friend List Manager pagination. e.g. 1-12 of 32'), /** ** feed_prefs.js **/ 'fp00' => array('remove'), 'fp01' => array('There was an error adding your friend. You are limited to {max-friends} friends in each list.'), 'fp02' => array('There was an error removing your friend.'), 'fp03' => array('Saved setting.'), 'fp04' => array('Reset all settings.'), 'fp05' => array('Restored setting.'), 'fph00' => array('How do I use this?', 'Heading of News Feed Preferences help dialog'), 'fph01' => array('Your friends take thousands of actions on Facebook every day. By adjusting these preferences you can help News Feed show you the ones you care about most.'), 'fph02' => array('Some things to keep in mind:'), 'fph03' => array('Moving a slider all the way to the top means that you will see that story type more often, provided your friends are taking that action.'), 'fph04' => array('Moving a slider all the way to the bottom means that you will see that story type less often, but you may see it on occasion.'), 'fph05' => array('Moving all the sliders down to the bottom will not turn off News Feed.'), 'fph06' => array('These sliders are pretty sensitive, and your News Feed tastes may change - you may want to readjust your preferences from time to time.'), 'fph07' => array( 'Close', 'Button: closes News Feed Preferences help dialog'), /** *** friend_suggester.js **/ 'fs:none-selected' => array('You have not selected any friends. Select friends by clicking on their pictures.', 'Friend Suggester: message that appears if you hit submit but haven\'t selected anyone.'), 'fs:friend-suggestions' => array('Friend Suggestions'), 'fs:feature-explanation' => array('Your friend suggestions are generated when one of your friends select you as someone who knows someone else on Facebook. If you add your suggested friends as friends, a normal friend request will be sent. If you do not, no one will be notified that you ignored a suggestion.', 'Friend Suggestion: explanation of the feature'), /** *** gifts.js **/ 'gft01' => array('Delete Gift?', 'Title for Popup dialog when a user deletes a gift'), 'gft02' => array('Are you sure you want to delete this gift? It will be removed from your profile and this page. You will not be able to undo this action.', 'Body text in the popup dialog when a user deletes a gift'), 'gft03' => array('Delete', 'Button text for deleting a gift'), 'gft04' => array('Make Gift Private?', 'Title for popup dialog when a user makes a gift private'), 'gft05' => array('Are you sure you want to make this gift private? It will only be visible by the sender and the receiver. You will not be able to undo this action.', 'Body text in the popup dialog when a user makes a gift private'), 'gft06' => array('Make Private', 'Button text on popup dialog when a user makes a gift private'), /** *** group_profile.js **/ "gp01" => array("Remove group membership?", "Title of confirmation dialog shown when the user wants to leave a group"), "gp02" => array("You are attempting to remove yourself from a group for which you are the last member. If you remove yourself, the group will be deleted."), "gp03" => array("You are attempting to remove yourself from a group for which you are the only administrator. You will not be able to get these privileges back. The administrator position will be offered to other people who are currently in your group."), "gp04" => array("You are attempting to remove yourself from a group for which you are an administrator. You will not be able to get these privileges back."), "gp05" => array("Are you sure you want to remove your membership from {group-name}?"), "gp06" => array("Remove", "Button: Confirm that you want to remove yourself from a group"), "gp07" => array("Join", "Button: Confirm that you want to join a group"), "gp08" => array("Do you want to join {group-name}?"), "gp09" => array("Add group membership?", "Title of confirmation dialog shown when the user wants to join a group"), // note if you change this string, change the equivalent string in lib/sgroup.php: sgroup_get_disclaimer "gp10" => array('By joining this group, you agree to the Facebook Development Platform ' . '{=User Terms of Service} in your use of the {group-name} group.'), "gp11" => array('User Terms of Service'), /** *** geo selector **/ 'gs:no-suggestions' => array('There are no suggestions, this may be because you are logged out.'), 'gs:please-login' => array('Please log in for country options.'), /** *** giftshop.js **/ 'gsh01' => array('Show only gifts that {name} doesn\'t already have'), /** *** help.js **/ 'he01' => array('College Name:','Help suggesting a new network'), 'he02' => array('College Email:','Help suggesting a new network'), 'he03' => array('High School Name:','Help suggesting a new network'), 'he04' => array('High School Email:
(optional)','Help suggesting a new network'), 'he05' => array('Company Name:','Help suggesting a new network'), 'he06' => array('Company Email:','Help suggesting a new network'), 'he07' => array('Region Name:','Help suggesting a new network'), 'he08' => array('Network Name:','Help suggesting a new network'), 'he09' => array('Network Email:','Help suggesting a new network'), /** *** home.js **/ 'hm01' => array('I don\'t like this', 'Button label: News Feed item feedback', 'feedback'), 'hm02' => array('I like this', 'Button label: News Feed item feedback', 'feedback'), 'hm03' => array('Undo this', 'Button label: undo News Feed item feedback', 'feedback'), 'hm04' => array('This feedback will make {News Feed} better for you. To undo, click the {icon} again. Other users will not see this action.', 'News Feed feedback description', 'feedback'), 'hm05' => array('icon', 'News Feed feedback icon', 'feedback'), 'hm07' => array('thumbs up icon', 'News Feed feedback icon', 'feedback'), 'hm10' => array('x icon', 'News Feed feedback icon', 'feedback'), /** *** simple_home.js **/ 'shm01' => array('3 of', 'Tab Caption: 3 of {total number}'), 'shm02' => array('Profile Photo', 'Alternate text for profile photo thumbnail'), /** *** inbox/js/megaboxx.js **/ 'inbox:are-you-sure-delete-single' => array('Are you sure you want to delete this thread?', 'singular confirmation for deleting messages'), 'inbox:are-you-sure-delete-plural' => array('Are you sure you want to delete these threads?', 'plural confirmation for deleting messages'), 'inbox:this-will-remove-messages' => array('This will remove the associated messages.', 'warning when deleting messages'), 'inbox:delete-thread-title' => array('Delete Thread', 'title for dialog to delete a thread'), 'inbox:delete-button' => array('Delete', 'Button: confirm that you want to delete this thread'), 'inbox:security-check' => array('Security Check', 'title of captcha box'), // this text is replicated from lib/grammar/inbox.php. can't call directly because it would double-translate them 'inbox:MSG_ERR_NO_BODY' => array('You may not send a message without any text.', 'error while sending a message'), 'inbox:MSG_ERR_TOO_LONG' => array('Your message is too long. Please shorten your message and try again.', 'error while sending a message'), 'inbox:MSG_ERR_NO_RECIP' => array('You must specify at least one recipient for this message.', 'error while sending a message'), /** *** invite_history.js ***/ 'im01' => array('Delete Entry?', 'title: warning when someone edits an entry in the invite manager tool (tool to keep track of all invitations sent to friends from facebook)'), 'im02' => array('Are you sure you want to delete this entry from the Invite History ? ', 'description of warning when someone wants to remove '), 'im03' => array('Are you sure you want to delete these {number-of} entries from the Invite History ?','description of warning when someone wants to remove '), 'im04' => array('Delete', 'Button: Close delete invite tracking of a person'), 'im05' => array('Cancel', 'Button: do not perform the action'), 'im06' => array('Send Reminder', 'Button: resend email invitation'), 'im07' => array('To:', 'emails of people invitation is being sent to'), 'im08' => array('Message:', 'additional message sent inside the email invitation to friends'), 'im09' => array('(optional)', 'text: Adding a personal message is optional'), 'im10' => array('Please not that this person will still be able to join Facebook from your invitation.', 'text: warning when deleting entry from invite history'), 'im11' => array('Send Reminders', 'Button: resend email invitations (plural)'), 'im12' => array('Delete Entries?', 'Title:(plural) warning when someone edits an entry in the invite manager tool (tool to keep track of all invitations sent to friends from facebook)'), 'im13' => array('Send Reminders', 'Button:(plural) resend email invitations'), 'im14' => array('Sent {date}', 'text: date the invitation was sent'), 'im15' => array('{name1} and {name2}', 'text: names of the two people the invitation is being sent to'), 'im16' => array('{name1}, {name2} and {name3}', 'text: names of the three people the invitation is being sent to'), 'im17' => array('{name1}, {name2}, {name3} and {name4}', 'text: names of the four people the invitation is being sent to'), 'im18' => array('{name1}, {name2}, {name3}, {name4} and {number-of-friends} more...', 'text: Names of the four people plus count of the other friends the invitation is being sent to'), 'im19' => array('Sending Reminders', 'text: Title of message while emails are being sent'), 'im20' => array('Sending Reminder', 'text: Title of message while email is being sent'), /** *** invitetoolpro.js ***/ 'inv01' => array('You are attempting to remove yourself from this {entity-type}.'), 'inv02' => array('You are attempting to remove {user-name} from this {entity-type}.'), 'inv03' => array('Since you are the last administrator, removing yourself will cause this {entity-type} to be deleted.'), 'inv04' => array('You will not be able to get these privileges back without invitation.'), 'inv05' => array('Are you sure you want to remove yourself?'), 'inv06' => array('Are you sure you want to remove {user-name}?'), 'inv07' => array('Are you sure you want to make {user-name} an admin? This will let {user-name} have the same control that you do over your {entity-type}.'), 'inv08' => array('You are attempting to remove yourself as an administrator.'), 'inv09' => array('You are attempting to remove {user-name} as an administrator.'), 'inv10' => array('Are you sure you want to remove yourself as an administrator?'), 'inv11' => array('Are you sure you want to remove {user-name} as an administrator?'), 'inv12' => array('Remove Admin', 'Removes administrator privileges from a group/event/etc'), 'inv13' => array('Make Admin', 'Adds administrator privileges to user for a group/event/etc'), 'inv14' => array('Remove','Removes a user from a group/event'), 'inv15' => array('Ban Permanently', 'Ban a user from joining a group/event again'), 'inv16' => array('Showing the only {member-label}'), 'inv17' => array('Showing {display-count} out of {total-count} {member-label}'), 'inv18' => array('One person has not been sent an invitation yet.'), 'inv19' => array('{pending-count} people have not been sent invitations yet.'), 'inv20' => array('Unable to add user.','General error when user was not added to a list, such as invitation list'), 'inv21' => array('Please try again later.'), 'inv22' => array('A pop-up blocker may be disabling the address book.'), 'inv23' => array('Are you sure you want to remove the ban on {user-name}?'), 'inv24' => array('Remove Ban'), /** *** iphone/mail.js **/ 'iphone:done' => array('Done', 'iphone button: finished typing a message'), 'iphone:edit' => array('Edit', 'iphone button: edit a message'), 'iphone:to:' => array('To:', 'iphone label: showing a single recipient of a message'), 'iphone:send' => array('Send', 'iphone button: send a message'), 'iphone:reply' => array('Reply', 'iphone button: reply to a message thread'), 'iphone:stop' => array('Stop', 'iphone button: stop sending a message (while message is in the process of being sent)'), 'iphone:cannot-delete-thread' => array('Sorry, there was an error and we cannot delete the thread.'), 'iphone:are-you-sure-cancel' => array('Are you sure you want to cancel and lose what you\'ve written?'), 'iphone:sorry-there-was-an-error' => array('Sorry, there was an error and we cannot send your message.'), /** *** iuembed.js **/ 'iue:dl-common-instructions' => array('File Downloader ActiveX control is necessary to download files quickly and easily. '. 'You will be able to select required files by simply clicking a "Download" button. '. 'Installation will take up to few minutes, please be patient.'), 'iue:dl-not-winxp-sp2' => array('To install File Downloader, please reload the page and click the "Yes" button '. 'when you see the control installation dialog.'), 'iue:dl-winxp-sp2' => array('To install File Downloader, please click the Information Bar. After page reloads click "Yes" when '. 'you see the control installation dialog.'), 'iue:install-instructions' => array('Please install the Active X Control. '. 'This control enables you to upload photos quickly and easily.
' . 'You should be seeing a prompt, either in the form of a pop-up window or ' . 'a yellow bar at the top of this window. Confirm that you would like to ' . 'install the Active X Control. ' . 'Installation might take a few minutes; please be patient.
' . 'If the Active X Control is incompatible with your computer or ' . 'you don\'t want to install it, you can always use our {Simple Uploader}. ' . 'It will enable you to create albums, but it won\'t be as fast '. 'or as easy as the Active X Control.'), 'iue:simple-uploader' => array('Simple Uploader', 'Facebook feature'), /** *** inline_participants.js **/ 'ip:see-all' => array('See all...', 'Link text to see all participants of a news feed story'), 'ip:see-mutuals' => array('See all mutual friends'), /** *** insights: html/swf/analytics/vq_lmi.swf, html/swf/analytics/vq_lsi.swf **/ 'in01' => array('in Ones', 'Non-numerical expression for values under 10'), 'in10' => array('in Tens', 'Non-numerical expression for values over 10 and under 99'), 'in100' => array('in Hundreds', 'Non-numerical expression for values over 99 and under 9999'), 'in1k' => array('in Thousands', 'Non-numerical expression for values over 999 and under 9,999'), 'in10k' => array('in Tens of Thousands', 'Non-numerical expression for values over 9,9999 and under 99,999'), 'in100k' => array('in Hundreds of Thousands', 'Non-numerical expression for values over 99,999 and under 999,999'), 'in1m' => array('in Millions', 'Non-numerical expression for values over 999,999 and under 9,999,999'), 'in10m' => array('in Tens of Millions', 'Non-numerical expression for values over 9,999,999 and under 99,999,999'), 'in100m' => array('in Hundreds of Millions', 'Non-numerical expression for values over 99,999,999 and under 999,999,999'), 'in1b' => array('in Billions', 'Non-numerical expression for values over 999,999,999 and under 9,999,999,999'), 'in02' => array('Choose a graph', 'Pick an graph to display'), /** *** message_dialog.js **/ 'md01' => array('Send Message', 'Title for dialog to send a message'), /** *** moveable_box.js **/ 'mb01' => array('The box cannot be placed any higher in this column.', 'Message displayed when the user moves a box on their profile page.'), 'mb02' => array('This box cannot be moved into this column.', 'Message displayed when the user moves a box on their profile page.'), 'mb03' => array('Move profile boxes below this line, and they will only appear in the extended version of your profile.'), 'mb04' => array('This box will be in the extended portion of your profile.', 'Message displayed when ' . ' a user drags a profile box to their extended profile'), /** *** marketplace/common.js **/ 'mc01' => array('Remove Listing?','Dialog title when deleting Marketplace listing'), 'mc02' => array('Did this listing result in a success?', 'Marketplace remove listing feedback message'), 'mc03' => array('Yes', 'Marketplace listing success option'), 'mc04' => array('No', 'Marketplace listing failure option'), 'mc05' => array('Remove', 'Button: confirms Marketplace listing removal'), 'mc06' => array('Remove Video?','Dialog title when deleting video from Marketplace listing'), 'mc07' => array('Are you sure you want to remove the video ?', 'Marketplace listing delete video confirmation'), 'mc08' => array('Video', 'Marketplace delete video response header'), 'mc09' => array('Okay', 'Button: close delete Marketplace listing dialog confirmation dialog'), /** *** multi_friend_selector.js **/ 'mfs00' => array('Add up to {limit} of your friends by clicking on their pictures below.'), 'mfs01' => array('You have already selected the maximum number of friends for the day.'), 'mfs02' => array('You have no unselected friends.'), 'mfs03' => array('You may only select {maximum} friends.', 'limit on number of friends you\'re allowed to select'), 'mfs04' => array('You have no selected friends.'), 'mfs05' => array('Only {remaining-friends} more', 'limit on number of friends you\'re allowed to select'), 'mfs06' => array('Limit is {limit}', 'limit on number of friends you\'re allowed to select'), 'mfs07' => array('You are viewing 1 friend in {network}'), 'mfs08' => array('You are viewing {count} friends in {network}', 'two or more friends'), 'mfs09' => array('You haven\'t selected anyone.'), 'mfs10' => array('You have already selected {maximum} people.'), 'mfs11' => array('Remove Application', 'button to remove an application'), 'mfs12' => array('Continue Anyway', 'button: after reporting a force invite, a user can click this if they want to continue with the application after reporting it'), 'mfs13' => array('You are viewing 1 friend on {list}'), 'mfs14' => array('You are viewing {count} friends from {list}', 'two or more friends'), 'mfs15' => array('Leave Application', 'button: after reporting a force invite, a user can click this to leave the application'), 'mfs16' => array('You have already selected 1 person.'), 'mfs17' => array('You may only select 1 friend.', 'limit on number of friends you\'re allowed to select'), /** *** marketplace/marketplace.js **/ 'mp:choose-instr' => array('Choose a network or city to browse'), 'mp:browse-instr' => array('To browse the marketplace listings from a network, please type the network or city name below and click browse network:'), 'mp:browse-button' => array('Browse Network', 'Button label in Marketplace'), 'mp:click-to-hide-link' => array('Hide this message', 'Link in Marketplace'), 'mp:search-button' => array('Search Marketplace', 'Button label in Marketplace'), /** *** MOBILE STRINGS *** These are some random mobile strings needed in embedded js. **/ 'mo01' => array('Enter your text here', 'mobile text in preview box'), 'mo02' => array('Preview what? You didn\'t enter any text.', 'preview button was clicked with empty text box'), 'mo03' => array('Oops! There was some kind of error. Please try again.'), 'mo04' => array('No response for that text!', 'preview output when SMS message had no pre-formatted response'), /** *** mobile/account.js **/ 'moba01' => array('Are you sure you want to remove this phone?', 'Remove phone from Facebook account'), 'moba02' => array('You will no longer be able to use this phone to receive notifications or upload any photos and videos to Facebook.', 'Removing a phone from Facebook account'), 'moba03' => array('Remove Phone', 'Button: Remove phone from Facebook account'), 'moba04' => array('You must confirm this phone to receive notifications or upload any photos and videos to Facebook.'), /** *** js/mobile.js **/ 'mob:confirmed' => array('Your mobile phone has been confirmed.'), 'mob:error' => array('Sorry, an unknown error occurred. Please try again.'), 'mob:sms_button' => array('Receive SMS Messages'), /** *** mobile/js/phonebook.js **/ 'mph:req-num' => array('Request Number', 'Label: When selected, a request will be made for your friend\'s phone number'), 'mph:req-conf' => array('Would you like to request {first-name}\'s phone number?'), 'mph:m' => array('M', 'PhoneBook: 1-character marking symbol to indicate a phone number is a mobile phone'), 'mph:o' => array('O', 'PhoneBook: 1-character marking symbol to indicate an "other" phone number that is not the user\'s mobile phone number'), /** *** js/mobile_settings.js **/ 'ms:turn-off-sms-title' => array('Do you want to stop receiving sms from {app_name}?', 'Stop receiving sms text messages from an application'), 'ms:turn-off-sms-content' => array('This will turn off sms from this application.', 'stop receiving sms text messages from an application.'), 'ms:turn-off-sms-button' => array('Turn off', 'turn off sms text messages from an application'), 'ms:mark-sms-spam-button' => array('Turn off and mark spam', 'Turn off SMS text messages from an app, and tell Facebook that the app is spammy'), 'ms:turn-on-sms-title' => array('Do you want to enable sms from {app_name}?', 'Start receiving text messages from an application'), 'ms:turn-on-sms-content' => array('This will enable sms from this application.', 'Start receiving text messages from an application'), 'ms:turn-on-sms-button' => array('Enable', 'turn on sms text messages from an application'), /** *** network_actions.js **/ 'na01' => array('Leave {network_name} Network', 'dialog title'), 'na02' => array('Leave Network', 'Button: network action'), 'na03' => array('Make {network_name} Network Primary', 'dialog title'), 'na04' => array('Make Primary', 'Button: network action'), 'na05' => array('{network_name} Network Settings', 'dialog title'), 'na06' => array('Save Settings', 'Button: network action'), 'na07' => array('Change Regional Network', 'dialog title'), 'na08' => array('Change Network', 'Button: network action'), /** *** notifications.js **/ 'notif:hidden' => array('Notifications from {application-name} are now hidden.', 'Notifications: confirming that notifications from a certain application are hidden'), 'notif:hide-and-mark-button' => array('Hide all and mark as spam', 'Notifications: dialog button to confirm hiding notifications from an application '. 'and marking them as spam'), 'notif:hide-button' => array('Hide all', 'Notifications: dialog button to confirm hiding notifications from an application'), 'notif:hide-desc-short' => array('This will hide all notifications from this application. ', 'Notifications: dialog description for hiding notifications from an application (from the notification area of the chat bar)'), 'notif:hide-desc' => array('This will hide all notifications from this application. '. 'Use the right hand checkboxes to change your settings.', 'Notifications: dialog description for hiding notifications from an application'), 'notif:hide-title' => array('Do you want to hide all notifications from {application-name}?', 'Notifications: dialog title for hiding notifications from an application'), 'notif:mark-as-spam' => array('Mark {application-name} notifications as Spam', 'Notifications: link to mark application as spam'), 'notif:marked-spam' => array('Notifications from {application-name} are now marked as spam.', 'Notifications: confirmation that nofications from application are marked as spam'), 'notif:marked-spam-undo' => array('Undo marking as spam', 'Notifications: link to undo marking application as spam'), 'notif:remove' => array('Remove the {application-name} Application', 'Notifications: link to remove application from account'), 'notif:remove-button' => array('Remove', 'Notifications: dialog button to confirm removing application from account'), 'notif:remove-desc' => array('When you remove this application, it will disappear from your profile, '. 'applications menu, and edit application page. '. 'If you want to use it again, you will need to re-add it.', 'Notifications: dialog description for removing application from account'), 'notif:remove-failed' => array('Sorry, removing this application failed.', 'Notifications: error removing application from account'), 'notif:remove-succeeded' => array('The application {application-name} has been removed.', 'Notifications: confirmation that application was removed from account'), 'notif:remove-title' => array('Do you want to remove the application {application-name}?', 'Notifications: dialog title for removing application from account'), 'notif:report-button' => array('Report Spam', 'Notifications: dialog button to confirm reporting application as spam and hiding notifications'), 'notif:report-desc' => array('This will also hide all notifications from this application.', 'Notifications: dialog description for reporting application as spam'), 'notif:report-title' => array('Report notifications from {application-name} as spam?', 'Notifications: dialog title for reporting application as spam'), 'notif:sent-button' => array('Submit Report', 'Notifications: dialog button to confirm sending report of notifications sent on user\'s behalf'), 'notif:sent-desc' => array('What is the reason for reporting this notification?', 'Notifications: dialog description for reporting notifications sent '. 'on user\'s behalf prompting for reason for reporting'), 'notif:sent-did-not-do' => array('I didn\'t do the action specified in the notification.', 'Notifications: dialog option for specifying why notification sent on user\'s behalf is spam'), 'notif:sent-did-not-want' => array('I did this action but did not want to send a notification.', 'Notifications: dialog option for specifying why notification sent on user\'s behalf is spam'), 'notif:sent-reported' => array('This sent notifications has been reported.', 'Notifications: confirmation that notifications sent on user\'s behalf were reported'), 'notif:sent-title' => array('Report a notification sent by {application-name}?', 'Notifications: dialog title for reporting notifications sent on user\'s behalf'), 'notif:spam-button' => array('Remove {application-name}', 'Notifications: dialog button to confirm removing application after marking as spam'), 'notif:spam-desc' => array('You told us the notification sent by {application-name} was spam. In addition to hiding notifications from this application, would you also like to remove this application from your account?', 'Notifications: dialog description for removing application after marking as spam'), 'notif:no-remove-button' => array('Just Hide Notifications', 'Notifications: dialog button for application after marking as spam'), 'notif:spam-title' => array('Spam Report submitted.', 'Notifications: dialog title for removing application after marking as spam'), /** *** networks.js **/ 'ns01' => array('Looking for Facebook in your area? Select a region above.','Facebook feature: regional networks'), /** *** notes.js **/ 'nt01' => array('Are you sure you want to delete {note-link}?', 'Note deletion message'), 'nt02' => array('Deleting this note will also delete all its comments and photos', 'Note deletion warning'), 'nt03' => array('Delete Note', 'Title of confirmation dialog shown when the user wants to delete a note'), 'nt04' => array('Delete', 'Note delete button'), 'nt05' => array('There was an error deleting your note. Please try again later.', 'Note deletion error message'), // keep this text and comment in sync with lib/display/notes.php:render_note_photos 'nt06' => array('Photo {photo-index}', 'Label for a photo in a list of photos. Like Photo 4'), /** *** lib/display/object.php **/ 'obj:map' => array('View {brand} Map'), // same as lib/display/object.php /** *** picture.js **/ 'pc01' => array('Terms of Use', 'Link: picture terms of use'), 'pc02' => array('You must certify that you have permission to upload this picture and that it does not violate our {tos-link}.', 'Picture upload permissions message'), 'pc03' => array('Please click the checkbox to certify.', 'Picture upload permissions verification'), /** *** fbpage/profile.js **/ 'pf01' => array('Do you want to remove {application-name}?', 'Confirmation message when removing app from Page'), 'pf02' => array('You can remove this application from {page}.', 'Remove app from Page explanation text'), 'pf03' => array('Sorry, removing this application failed.', 'Remove app from Page error'), /** *** pages/pages.js **/ 'pg01' => array('Save', 'Button: confirms Page fan settings save'), 'pg02' => array('Add', 'Button: confirms become Page fan'), 'pg03' => array('Why is this required?', 'title for dialog explaining why user needs to verify the Page before using the music player'), 'pg04' => array('In order to upload music to your Page, we need you to submit a valid form of identification' . ' that identifies you, the admin of the Page. By submitting a valid form of identification, ' . 'you are confirming that you either own the copyright to the content you will be uploading or ' . 'that you are authorized by the copyright owner to upload that copyrighted content to your ' . 'Page. Please note that you can black out any sensitive information on your identification if ' . 'you wish, other than your name and picture. We currently only accept photo passports, school IDs, ' . 'and drivers licenses.', 'body for dialog explaining why Page admin needs to verify the Page before using the music player', 'legal'), /* *** pages/edit/util.js */ 'pgeu:fbml' => array('You have successfully added a new FBML box. To configure the box, click edit', 'Status confirming to Page admin successfully adding FBML box'), 'pgeu:flash' => array('You have successfully added a new Flash box. To configure the box, click edit', 'Status confirming to Page admin successfully adding Flash box'), 'pgeu:delete-title' => array('Delete Page?', 'Title: confirming Page deletion'), 'pgeu:delete-button' => array('Delete', 'Button: confirming Page deletion'), /** *** poke.js **/ "pk01" => array("Poke", "Button: confirm that you want to poke someone"), "pk02" => array("Displaying the only poke.", "Shown when there is only one poke to display"), "pk03" => array("I've got nothing for you.", "Shown when there are no pokes to display on the pokes page"), "pk04" => array("Displaying all {number} pokes."), "pk05" => array("Displaying pokes {start} - {end} of {total}."), 'pk06' => array('Poke {user_first_name}?', 'Title for Dialog to Poke someone'), /** *** portal.js **/ 'po01' => array('Join the {network-name} Network', 'Title: Join a Network Dialog'), 'po02' => array('Join', 'Button: Confirm that you want to join a network'), 'po03' => array('You must have a valid {network-name} email address to join this network. Please enter it below.', 'Message prompting a user to enter their e-mail address in order to join a network'), /** *** js/pwd_strength.js **/ 'pwst:strength' => array('Password strength','Label indicating password strength'), 'pwst:too_short' => array('Too short','Warning that a user password is too short'), 'pwst:weak' => array('Weak','Message informing a user that their password is weak'), 'pwst:medium' => array('Medium','Message informing a user that their password is secure'), 'pwst:strong' => array('Strong','Message informing a user that their password is very secure'), 'pwst:help_title' => array('Create a Strong Password', 'Title of popup helping user create a strong password'), 'pwst:help_intro' => array('As you create your password, remember the following:', 'Instruction to a user creating a strong password'), 'pwst:help_body_1' => array('It should not contain your name.', 'Tip helping user create a strong password'), 'pwst:help_body_2' => array('It should not contain a common dictionary word.', 'Tip helping user create a strong password'), 'pwst:help_body_3' => array('It should contain one or more numbers.', 'Tip helping user create a strong password'), 'pwst:help_body_4' => array('It should have both upper and lower case characters.', 'Tip helping user create a strong password'), 'pwst:help_body_5' => array('It should be over 8 characters long.', 'Tip helping user create a strong password'), /** *** editpoll.js **/ "pl01" => array("Yes", "Answer choice to a yes-or-no poll question"), "pl02" => array("No", "Answer choice to a yes-or-no poll question"), "pl03" => array("Strongly Agree", "Answer choice to poll question about whether or not one agrees with something"), "pl04" => array("Agree", "Answer choice to poll question about whether or not one agrees with something"), "pl05" => array("Neutral", "Answer choice to poll question about whether or not one agrees with something"), "pl06" => array("Disagree", "Answer choice to poll question about whether or not one agrees with something"), "pl07" => array("Strongly Disagree", "Answer choice to poll question about whether or not one agrees with something"), "pl08" => array("24 hours", "Possible Duration for a Facebook Poll"), "pl09" => array("4 hours", "Possible Duration for a Facebook Poll"), "pl10" => array("30 minutes", "Possible Duration for a Facebook Poll"), /** *** POLLS/POLLS.JS **/ 'pls01' => array('Recording Vote...', 'Label: progress prompt as vote is recorded for a poll'), 'pls02' => array('Oops, there was an error getting results. Reload the page to try again.', 'Error message'), /** *** privacypro.js **/ 'pp01' => array('Edit Privacy Settings', 'Title: Edit Privacy Settings Dialog'), 'pp02' => array('Save as Friend List', 'Title: Save List of Friends Dialog'), 'pp03' => array('All of My Networks', 'Privacy Setting: Show to all Networks'), 'pp04' => array('Customize...', 'Privacy Setting in dropdown'), 'pp05' => array('Custom', 'Privacy setting in dropdown'), 'pp06' => array('Create a Friend List?', 'Prompt to save a list of friends as a friend list'), 'pp07' => array('You have unsaved privacy changes.', 'Prompt when user leaves privacy page without saving'), 'pp08' => array('{num} others', 'Count of a list of people'), /** *** photocrop.js **/ 'ptc01' => array('Make Profile Picture', 'Title for dialog when creating a profile picture from a photo'), 'ptc02' => array('Do you want to make this your profile picture?', 'Text for dialog when creating a profile picture from a photo'), 'ptc03' => array('Do you want to make this {page_name}\'s profile picture?', 'Text for dialog when creating a profile picture from a photo for a Page'), 'ptc04' => array('Cropping Photo...', 'Message shown to user when their photo is being cropped'), /** *** photos_upload.js **/ 'pu01' => array('You must specify a file to upload.'), 'pu02' => array('You must specify at least one file to upload.'), 'pu03' => array('You must certify that you have the right to distribute these photos before uploading.'), 'pu04' => array('Please wait while the photo upload tool is installed.'), 'pu05' => array('Facebook Upload', 'Title for dialog while uploading and status of upload later on'), 'pu06' => array('Upload Failed. Please try again.', 'Message display after failed upload'), 'pu07' => array('Upload Successful!', 'Message display after successful upload'), 'pu08' => array('Select All', 'Button label: select all files for uploading to Facebook'), 'pu09' => array('Deselect All', 'Button label: deselect all files from upoading to Facebook'), 'pu10' => array('Upload', 'Button label: upload files to Facebook'), 'pu11' => array('Cancel', 'Button/Link: Cancel an action'), 'pu12' => array('hours', 'label: text of hours unit in the upload progress bar'), 'pu13' => array('miutes', 'label: text of minutes unit in the upload progress bar'), 'pu14' => array('seconds', 'label: text of seconds unit in the upload progress bar'), 'pu15' => array('KB', 'label: text of kilobytes unit in the upload progress bar'), 'pu16' => array('MB', 'label: text of megabytes unit in the upload progress bar'), 'pu17' => array('Loading files', 'label: text on the folder pane that is displayed while uploader is scanning folder content'), 'pu18' => array('Unable to reach server', 'label: error text when uploader fails to connect to the server'), 'pu19' => array('Upload Cancelled', 'label: text displayed when user cancels the upload process'), 'pu20' => array('Upload Complete', 'label: text displayed when upload process finishes successfully'), 'pu21' => array('Upload Failed', 'label: text displayed when upload process fails'), 'pu22' => array('Cancel', 'Button/Link: Cancel an action'), 'pu23' => array('Close', 'Button/Link: Close a window or message'), 'pu24' => array('Close when upload completes', 'label: text of the option to close progress dialog after upload finishes'), 'pu25' => array('Estimated time', 'label: text of the time estimate on upload progress dialog'), 'pu26' => array('Preparing data', 'label: text of the message while preparing data in upload progress dialog'), 'pu27' => array('Data sent', 'label: text of the message after sending data in upload progress dialog'), 'pu28' => array('Waiting for response', 'label: text of the message while waiting for server response in upload progress dialog'), 'pu29' => array('Waiting for retry', 'label: text of the message while uploader is waiting to retry after a failed upload attempt'), 'pu30' => array('Rotate Clockwise', 'label: tooltip text of the rotate clockwise icon in uploader'), 'pu31' => array('Rotate Counterclockwise', 'label: tooltip text of the rotate counterclockwise icon in uploader'), 'pu32' => array('Server not found', 'label: message text displayed when upload server can not be found'), 'pu33' => array('Unexpected Error', 'label: message text displayed when unexpected error occurs in uploader'), /** *** photostream.js **/ 'pstr1' => array('Photo {photo-number} of {total-count}', ' Telling the user which photo they are seeing, and the total number of photos in the album'), /** *** presence/presence.js **/ 'pr02' => array('Your session has timed out. Please {login}.', null), 'pr03' => array('Facebook Chat Error', 'Facebook Chat error heading'), 'pr04' => array('Could not connect to Facebook {Chat} at this time.', 'Facebook Chat connection error'), 'pr05' => array('Facebook {Chat} is experiencing technical problems.', 'Facebook Chat error'), 'pr08' => array('Please refresh the page to get the latest version of Facebook {Chat}.', 'Facebook Chat error'), 'pr10' => array('Facebook {Chat} is down for maintenance at this time.', 'Facebook Chat error'), /** *** privacy.js **/ 'prv:lp-title' => array('Limited Profile', 'Facebook feature: allows you to limit what information certain friends see'), 'prv:lp-text' => array('Your limited profile allows you to hide some of your information from specific people.'), 'prv:lp-edit' => array('Edit Limited Profile', 'Button label'), 'prv:pl-title' => array('Public Search Listing', 'A subset of the profile information that\'s available for public view.'), 'prv:pl-text-1' => array('Your public search listing consists of your name, networks, the thumbnail version of your profile picture, and your friends. This listing will be shown to people who search for your name when they are not logged in to Facebook.'), 'prv:pl-text-1a' => array('Your public search listing consists of your name and the thumbnail version of your profile picture. This listing will be shown to people who search for your name when they are not logged in to Facebook.'), 'prv:pl-text-2' => array('Use your search privacy settings to control whether your public search listing appears in searches from Facebook\'s Welcome page or external search engines. Changes you make will take effect immediately on Facebook, but there may be a delay before search engines are updated as well.'), 'prv:pl-text-3' => array('For more information, see the {=Facebook Privacy Policy}.'), 'prv:policy' => array('Facebook Privacy Policy'), /** *** profile.js **/ 'prf:remove-applink' => array("Remove Link", "Buttom: confirms removing an application action from a profile"), 'prf:remove-app' => array("Remove Application", "Button: confirms removing an entire application from your account"), 'prf:edit-box' => array('Edit Box', 'Title: Menu for editing an application box'), 'prf:move-box' => array('Move to {tab_name} tab', 'Menu Option: Move the position of a profile box'), 'prf:remove-box' => array("Remove Box", "Button: confirms removing an application box from your profile"), 'prf:error-box' => array("Sorry, removing this profile box failed.", "error message"), 'prf:error-applink' => array("Sorry, removing this profile link failed.", "error message"), 'prf:error-app' => array("Sorry, removing this application failed.", "error message"), 'prf:just-hide-story' => array('Just Hide Story', 'button text for confirming hiding a Wall story.'), 'prf:hide-story' => array('Hide Story', 'button text for confirming hiding a Wall story.'), 'prf:delete-story' => array('Delete Story', 'button text for confirming deletion of a Wall story.'), 'prf:delete-post' => array('Delete Post', 'button text for confirming deleting a post from the Wall.'), 'prf:didnt-do' => array('I didn\'t do this', 'button text for reporting a Wall story that you didn\'t do'), 'prf:dont-want' => array('I don\'t want this', 'button text for reporting a Wall story that you don\'t do'), 'prf:error-hide-mf' => array("Sorry, hiding this story failed.", "error message"), 'prf:dont-want-title'=> array('Undesired application story', 'Spam story titleb'), 'prf:dont-want-msg' => array('You told us the story published by this application was undesired. Thanks for the feedback. In addition to hiding the story, would you also like to block stories from this application?', 'spam story message'), 'prf:block-app-stories' => array('Block Application', 'spam story button'), 'prf:story-options' => array('Story Options', 'Menu Title: Options on a mini-feed story'), 'prf:tab-options' => array('Tab Options', 'Menu Title: Options on a profile tab.'), 'prf:edit-tab-name' => array('Edit Tab Name', 'Menu Option: Edit the name of a profile tab.'), 'prf:delete-tab' => array('Delete Tab', 'Menu Option: Delete a profile tab.'), 'prf01' => array("Show More Profile Boxes", "link text"), 'prf02' => array("Show Fewer Profile Boxes", "link text"), 'prf03' => array("You can remove this link or remove this application from your account.", "remove profile action link dialog text"), 'prf04' => array("Do you want to remove this link from {application-name}?", 'dialog text for confirming application action link removal'), 'prf05' => array("You can remove this application box from your profile or remove this application from your account entirely.", "remove profile box dialog text"), 'prf06' => array("Do you want to remove {application-name}?", 'dialog text for confirming application box removal'), 'prf07' => array("Are you sure you want to remove this Wall story?", 'prompt for confirming hiding a Wall story'), 'prf08' => array('You will not be able to undo this.', 'dialog explanation for hiding a Wall story'), 'prf09' => array("Inaccurate application story", 'dialog title for confirming marking a Wall story as inaccurate'), 'prf10' => array('You told us the story published by this application was inaccurate. ' . 'Thanks for the feedback. In addition to hiding the story, would you ' . 'also like to remove this application from your account entirely?', 'dialog description for confirming marking a Wall story as inaccurate'), 'prf11' => array('If you are removing this because it is inaccurate, click on "I didn\'t do this".', 'dialog description for confirming removing a Wall story.'), 'prf12' => array('1 story', '1 Mini-feed story'), 'prf13' => array('{count} stories', 'more than 1 Wall story'), 'prf14' => array('Profile Layout', 'dialog title for describing how to rearrange your profile layout'), 'prf15' => array('You can edit the layout of your profile at any time. Simply use your mouse to drag and drop ' . 'boxes anywhere on your profile.' . '
' . 'Please note that you cannot move your Mini-Feed, Information, or Friends box. ' . 'Also, some boxes may be restricted to either the right or left column of the profile.', 'dialog description for describing how to rearrange your profile layout'), 'prf17' => array('Public Listing', 'dialog header for explaining your profile\'s public listing'), 'prf18' => array('Your public listing contains some information about you that may be viewed by people outside of Facebook.' . '
' . 'If you allow people to view your public listing, people not logged in to Facebook can view it at this URL:', 'dialog description for explaining your profile\'s public listing'), 'prf20' => array('You can control who can see your public listing on your {search-privacy-link}.'), 'prf21' => array('search privacy page', 'link text'), 'prf22' => array('Profile', 'Facebook feature'), 'prf23' => array('Learn more about the Wall', 'Wall is a Facebook feature'), 'prf24' => array('Here is what a Wall post looks like:', 'Wall is a Facebook feature'), 'prf25' => array('Edit Extended Profile', 'dialog popup title'), 'prf26' => array('Move Boxes', 'button text'), 'prf27' => array('You have {count} boxes on your profile. ' . 'To keep your profile uncluttered, you have the option to move specific ' . 'boxes to the extended portion of your profile. ' . 'You and your friends will be able to click through at any time to see the boxes you move.' . '
' . 'Which profile boxes should only appear in your extended profile?'), 'prf28' => array('The profile boxes you selected have been moved to your extended profile.', 'confirmation message after you move profile ' . 'boxes to the extended section of your profile'), 'prf29' => array('Scroll to the bottom of your profile and look for the link to "Show more profile boxes." You can change which boxes appear in your extended profile at any time by dragging and dropping boxes, or by using the {edit_extended_profile_link} link found at the bottom of your profile.'), 'prf30' => array('Keep'), 'prf32' => array('Profile Box Created'), 'prf33' => array('If you are hiding this because you don\'t want stories from this application, click on "I don\'t want this".', 'dialog description for confirming removing a Wall story.'), 'prf34' => array('Hiding will remove the story from your Wall.', 'dialog explanation for hiding a Wall story'), 'prf35' => array("Are you sure you want to delete this story?", 'prompt for confirming hiding a Feed story'), 'prf36' => array('Who can see this?', 'Title: Dialog for editing privacy from a mini-feed story.', 'fb95'), 'prf37' => array('Never allow this application to publish to my profile.', 'Checkbox: Option to block all mini-feed stories for an application.', 'fb95'), 'prf38' => array('Are you sure you want to delete this post?', 'prompt for confirming deleting a post from the Wall.'), /** *** profile/picture/ **/ 'ppe01:edit-square-pic' => array('Edit Thumbnail', 'Header for prompt to modify square thumbnail of your profile picture'), 'ppe02:remove-picture' => array('Remove Picture', 'Button: Remove your profile photo'), 'ppe03:remove-picture-question' => array('Remove Picture?', 'Title of dialog box confirming you want to delete a picture'), 'ppe04:remove-picture-confirm' => array('Are you sure you want to remove this picture?'), /** *** quickling.js **/ 'ql:leave-warn-title' => array('Are you sure you want to navigate away from this page?', 'The title of the dialog box warning users they are navigating away from the page but may not want to yet.'), 'ql:leave-warn-body' => array('Press {ok} to continue, or {cancel} to stay on the current page.', 'The body of the dialog box warning users they are navigating away from the page but may not want to yet.'), /** *** redesign-feedback.js **/ 'rdf:error-title' => array('Please make a selection', 'Title of the dialog box when a user fails to make a selection about a type of feedback about the redesign.', 'fb95'), 'rdf:error-body' => array('Please select whether you\'re providing feedback about the redesign or reporting a bug that is related to the redesign.', 'Error message when a user fails to make a selection about a type of feedback about the redesign.', 'fb95'), /** *** register.js **/ 're01' => array("You must select your high school from the list.", "Registration error message", 'growth-critical'), 're02' => array("Your password must be at least 6 characters long.", "Registration error message", 'growth-critical'), 're03' => array("Please choose a more secure password.", "Registration error message", 'growth-critical'), 're04' => array("A full birthday is required.", "Registration error message", 'growth-critical'), 're05' => array("You must agree to the Terms of Use", "Registration error message", 'growth-critical'), /** *** recaptcha.js **/ 'rec13' => array("Can't hear the sound?",'Link: Cannot hear audio CAPTCHA challenge.', 'growth-critical'), 'rec16' => array('This is a standard security test that we use to prevent spammers from creating fake accounts and spamming users.','Plain text: explanation of captcha.', 'growth-critical'), 'rec17' => array('Our captchas are provided by {provider_link}.','Link to the provider of captchas on Facebook', 'growth-critical'), 'rec18' => array('Security Check','Plain text: short reason why Facebook is using captchas on the captcha stuff.', 'growth-critical'), /** *** removefriend.js **/ 'rep01' => array('Before you report this {content}...', 'Title of dialog to report bad content'), /** *** removefriend.js **/ 'rf:remove-friend' => array('Remove Friend', 'Title of dialog to confirm friend removal'), 'rf:add-to-friends'=> array('Add as Friend', 'Link text: Add this person as a friend'), 'rf:zero-friends' => array('friends', 'friend noun for the friendless: preceded by "no"'), 'rf:one-friend' => array('friend', 'friend noun for single friend: preceded by "one"'), 'rf:many-friends' => array('friends', 'friend noun for many friends: preceded by friend count'), 'rf:zero' => array('no', 'friend count for friendless: i.e. _no_ friends'), 'rf:dialog-title' => array('Remove {user_name} as a friend?', 'Title for dialog to remove a friend'), /** *** reqs.js **/ 'rq01' => array('no more relationship requests.', 'Facebook feature: request to confirm relationship status between the current user and a friend'), 'rq02' => array('Confirm Network', 'Title: Confirm that a friend is in the correct high school network'), 'rq03' => array('Remove Event?', 'Title: Remove an event from the list of users events'), 'rq04' => array('Are you sure you want to remove {event-name}?', 'Plain Text: prompt confirming the removal of event from the list of users events'), 'rq05' => array('Remove event', 'Button: remove listed event from users event list'), 'rq06' => array('Do not remove', 'Button: do not remove the event from the users list'), 'rq07' => array('Block Application?', 'Dialog title: Confirmation for blocking an application'), 'rq08' => array('Block', 'Button: block an application'), 'rq09' => array('Hide mobile confirmation?'), 'rq10' => array('Are you sure you want to hide your mobile confirmation?'), 'rq11' => array('Details Requested'), 'rq12' => array('Ignore all future application invites from {name}', 'Dialog Title: Confirmation for blocking application invites from a user'), 'rq13' => array('Ignore All', 'Button: block invites from a user'), 'rq14' => array('Which types of requests do you want to ignore?', 'Dialog title: ignoring all requests'), 'rq15' => array('Ignore these requests', 'Button: ignore requests of the selected types'), 'rq16' => array('Ignoring these requests now...', 'Dialog progress message for ignoring requests'), 'reqs:hs_confirm' => array('Confirm', 'Button: Confirm a friend into the high school network'), 'reqs:hs_reject' => array('Does Not Attend', 'Button: Reject a friend from the high school network'), 'reqs:hs_idontknow' => array('I Don\'t Know', 'Button, : I don\'t know whether someone is in a high school network.'), 'reqs:age_confirm' => array('Yes', 'Button: Confirm a friend\'s age'), 'reqs:age_reject' => array('No', 'Button: Refute a friend\'s age.'), 'reqs:age_idontknow' => array('I Don\'t Know', 'Button, : I don\'t know the age of the friend.'), /** *** share.js **/ 'sh01' => array('Invalid URL', 'Share invalid URL title'), 'sh02' => array('Sorry, you have entered an invalid URL.', 'Share invalid URL message'), 'sh03' => array('Share', 'Share bookmarklet success title'), 'sh04' => array('You\'ve successfully installed the bookmarklet.', 'Share bookmarklet install success message'), 'sh05' => array('Click it on an external site to share it with your friends.', 'Share bookmarklet message'), 'sh06' => array('Delete Comment?', 'Title: delete share comment dialog'), 'sh07' => array('Are you sure you want to delete this comment?', 'Delete share comment message'), 'sh08' => array('Delete', 'Button: delete share comment'), 'sh09' => array('Cancel', 'Button: cancel delete share comment'), 'sh10' => array('Are you sure you want to delete this item?', 'Delete share item message'), 'sh11' => array('Deleting this item will also remove all its comments.', 'Delete share item warning'), 'sh12' => array('Delete Item', 'Button: delete share item'), 'sh13' => array('You must specifiy at least one recipient for this message.', 'Share no recipients error message'), 'sh14' => array('Choose a Thumbnail', 'Select a picture from a group of thumbnails'), 'sh15' => array('No Picture', 'Checkbox: to select no picture for a posted item'), 'sh:n_of_m' => array('{selected} of {total}', 'Label indicating selected image and number of image thumbnails found for a share dialog'), /** *** fbclient/sidebar.js **/ 'si:form-validate' => array('Please make sure you have filled in both fields before continuing.'), 'si:unavailable' => array('{=Facebook} could not log you in at this time.'), /** *** socialmap.js **/ 'sm01' => array('Can\'t load friend detail editor. Check your Internet connection and try again in a few moments.'), 'sm02' => array('Couldn\'t submit form:'), 'sm03' => array('Remove from Friends'), 'sm04' => array('Request Confirmation', 'Request confirmation of friendship'), 'sm05' => array('Present', 'As in the present time'), /** *** statuspro.js **/ 'sp01' => array('Updated just a moment ago', 'status message'), 'sp03' => array('Your status has been cleared.', 'status message'), 'sp04' => array('What are you doing right now?', 'status message'), 'sp05' => array('Clearing status...', 'status message'), 'sp06' => array('Your status has been cleared.', 'status message'), 'sp07' => array('Updating status...', 'status message'), 'sp08' => array('a moment ago ', 'status message'), 'sp09' => array('Error updating status.', 'status message'), 'sp10' => array('remove', 'status message'), /** *** simple_reg.js **/ 'sre01' => array('Please enter your full birthday.', null, 'growth-critical'), 'sre02' => array("You didn't correctly type the text in the box.",'Error message on incorrect captcha.', 'growth-critical'), 'sre03' => array('Accepting Terms of Use and Privacy Policy','Facebook registration title of captcha dialog prompt.', 'growth-critical'), 'sre04' => array('Sign up for Facebook', 'Facebook registration dialog prompt.', 'growth-critical'), 'sre05' => array('Please enter your full name.','Facebook registration error prompt.', 'growth-critical'), 'sre06' => array('You must provide your full name.','Facebook registration error prompt.', 'growth-critical'), 'sre07' => array('The name contains too many words.','Facebook registration error prompt.', 'growth-critical'), 'sre08' => array('The name contains invalid characters.','Facebook registration error prompt.', 'growth-critical'), 'sre09' => array('The name contains too many repetitive characters.','Facebook registration error prompt.', 'growth-critical'), 'sre10' => array('The name contains too many characters.','Facebook registration error prompt.', 'growth-critical'), 'sre11' => array('The name contains too many capital letters.','Facebook registration error prompt.', 'growth-critical'), 'sre12' => array('The name contains too many apostrophes.','Facebook registration error prompt.', 'growth-critical'), 'sre13' => array('The name contains too many hyphens.','Facebook registration error prompt.', 'growth-critical'), 'sre14' => array('The name contains too many periods.','Facebook registration error prompt.', 'growth-critical'), 'sre15' => array('Please enter your email address','Facebook registration error prompt.', 'growth-critical'), 'sre16' => array('Please enter a valid email address','Facebook registration error prompt.', 'growth-critical'), 'sre17' => array('Please create a password to use on Facebook','Facebook registration error prompt.', 'growth-critical'), 'sre18' => array('Your password should be more secure.','Facebook registration error prompt.', 'growth-critical'), 'sre19' => array('Your password must be at least 6 characters long.','Facebook registration error prompt.', 'growth-critical'), 'sre20' => array('Please enter your real birthday.', null, 'growth-critical'), 'sre21' => array('Your passwords do not match. Please try again.', 'Error message during registration when user\'s confirmation password does not match the first one entered', 'growth-critical'), 'sre22' => array('Facebook requires all users to provide their real date of birth as both a safety precaution and as a means of preserving ' .'the integrity of the site. You will be able to hide this information from your profile if you wish.', 'A paragraph explaining why a birthday is asked for at registration time.', 'growth-critical'), 'sre23' => array('You are about to create a personal account. If you are here to represent your band, business, or product you should first', 'Full: you should first create a Facebook page.', 'growth-critical'), 'sre24' => array('create a Facebook Page', 'Link to Facebook Page creation workflow', 'growth-critical'), 'sre25' => array('Why do I need to provide my birthday?', 'Dialogue header for a popup on registration', 'growth-critical'), 'sre26' => array('Okay', 'Button caption for a popup window.', 'growth-critical'), /** *** fbstruct.js **/ "st01" => array("Time", "Prefilled input text: time selector"), 'st02' => array('Age Registrictions'), 'st03' => array('Selecting an age restriction means that anyone under the specified age will not ' . 'be able to find your Page in search, friends\' profiles or view the content in ' . 'other ways. The Legal Drinking Age restriction sets the minimum age based on the ' . 'location of the user. Only users in the US over 21+, in Canada 19+ (Alberta, ' . 'Manitoba and Quebec are 18+), and elsewhere 21+ will able to view your Page.'), 'st04' => array('If you change your age restrictions, all current fans of the Page that are underage will be removed. ' . 'Are you sure you want to do this? ' . 'As a Page administer you are solely responsible for setting the age restrictions appropriately.'), 'st05' => array('Yes', 'Button: Page admin confirming that they want to increase age restrictions'), /** *** suggest.js **/ "su01" => array("An error occurred populating this pulldown. Please reload and try again.", "Occurs when no data can be returned for network selector"), "su02" => array("Type to select a network", "Instructions to use the network selector"), /** *** typeaheadpro.js **/ 'ta01' => array('No matches found', 'No matches in typeahead friend selector'), 'ta02' => array('Loading...', 'Typeahead is loading friends'), 'ta03' => array('Start typing...', 'Prompt to type friend name in selector'), 'ta04' => array('Start typing a friend\'s name', 'Prompt to type a friend name into selector'), 'ta05' => array('Type the name of a friend, friend list, or email address', 'Prompt to compose a message to someone'), 'ta06' => array('You can type an email address...', 'Prompt to send message to an email'), 'ta07' => array('Enter a city, workplace, school, or region.', 'Prompt in networks typeahead selector'), 'ta08' => array('Type your major or minor', 'Prompt for typeahead selector'), 'ta09' => array('Type a keyword', 'Prompt for ad targeting keyword selector'), 'ta10' => array('Type a region', 'Prompt to select a geographic region'), 'ta11' => array('Enter a time.', 'Prompt to type a calendar date'), 'ta12' => array('Cannot add list.', 'Error message for large lists'), 'ta13' => array('You may only message up to 20 people at once.', 'Error message for large lists'), 'ta14' => array('Start typing a language...', 'Prompt to type a language in the language selector'), 'ta15' => array('{name1}, {name2}, {count} others', 'Used to describe number of friends in a friend list'), 'ta16' => array('0 friends', 'Displayed when there are no friends in a friend list'), 'ta17' => array('You do not have any friend lists. Use the friends page to create a list.'), 'ta18' => array('Start typing the name of a friend or friend list...', 'Prompt to type in the privacy selector'), /** *** tagpeople.js **/ 'tp01' => array('You\'ve reached the tag limit for this photo.', 'Error message when trying to create too many tags for a single photo'), 'tp02' => array('Me', 'Label when tagging yourself in a photo'), /** *** tagshow.js **/ 'ts01' => array('Unable to save tag. A photo may only have up to 30 tags. To add a new tag, you must first remove one of the existing tags on the photo.', 'Too many photo tags error message'), 'ts02' => array('You can continue to tag the photo below.','Continue tagging photo message'), 'ts03' => array('You can continue to request tags in the photo below.','Continue tag requests photo message'), 'ts04' => array('When you are done, click the "Done Tagging" button to resume browsing.', 'Done tagging photos message'), 'ts05' => array('There was an error tagging this photo. Try again later.', 'Photo tag error message'), 'ts06' => array('Tag for yourself saved', 'Photo tag self message'), 'ts07' => array('Tag for {name} saved', 'Photo tag other message'), 'ts08' => array('Tag request for yourself sent to {photo-owner} for approval', 'Photo tag self request message'), 'ts09' => array('Tag request for {name} sent to {photo-owner} for approval', 'Photo tag other request message'), /** *** tv javascript **/ 'tv:count' => array('{current-page} of {page-total}', 'Shows he user their progress through pages. example: 3 of 20'), /* * typeahead_ns.js */ 'typeahead_ns:no-matches' => array('No Matches Found', 'no networks found in network typeahead selector'), 'typeahead_ns:search-elsewhere' => array('Search elsewhere...', 'fallback for search typeahead in case nothing is said. this should never be used. '), /** *** inbox/js/updates.js **/ 'updates:mark-as-spam-title' => array('Do you want to mark updates from {sender-name} as spam?'), 'updates:mark-as-spam-content' => array('By marking this as spam, you will no longer receive updates from '. '{sender-name}. You can change this setting at any time.'), 'updates:mark-as-spam-button' => array('Mark As Spam', 'Button: tell facebook that this message is spam'), /** *** unconfirmed_actions.js (a few are used by profile.js) **/ 'ua01' => array('Are you sure you want to remove this story from publication?', 'dialog title- user rejects a prompt to put a third-party story on their feed'), 'ua02' => array('Removing this story will prevent it from appearing in your Wall '. 'or in your friends\' News Feeds. If you did not take this action, '. 'please click on "I didn\'t do this".'), 'ua03' => array('False external website story', 'an external site wants to add a feed story '. 'about you that is inaccurate'), 'ua04' => array('You\'ve said that an external website sent a story to your profile about '. 'an action you did not take. Would you like to block this website from '. 'sending any more stories to your profile?'), 'ua:reject' => array('Remove Story'), 'ua:did-not-do' => array('I didn\'t do this'), 'ua:just-reject' => array('Just Remove Story'), 'ua:block-source' => array('Block Website'), /** *** Unsaved form warnings **/ 'uw:title' => array('Unsaved Changes', 'dialog title: user tries to leave a form without submitting it'), 'uw:body' => array('Some of your changes have not been saved. Would you like to save your changes now?', 'dialog body: user tries to leave a form without submitting it'), 'uw:dont-save' => array('Don\'t Save', 'button label: leave the form without saving changes'), /** *** video/common.js **/ 'vc01' => array('Make Profile Video', 'Button to set video as profile video'), /** *** video/permalink.js **/ 'vp01' => array("Sorry, your video couldn't be rotated. Please try again later.", "Video rotation error message"), /** *** voter_reg.js **/ 'vt01' => array('Yes, I have already registered', 'Confirmation for voter registration dialog'), 'vt02' => array('No', 'Button: not already registered to vote'), /** *** video/upload.js **/ 'vu01' => array('Invalid extension', 'Header: Video upload alert'), 'vu02' => array('help page', 'Link'), 'vu03' => array('Sorry, that\'s not a video file that we support. We currently only support the following extensions:'), 'vu04' => array('If you need help, please read our {=help page}.'), 'vu05' => array('Terms of Service', 'Header: Video terms of service', 'legal'), 'vu06' => array('Agree', 'Button: agree to terms of service', 'legal'), 'vu07' => array('Do Not Agree', 'Button: don\'t agree to terms of service', 'legal'), 'vu08' => array('{current-MB} MB of {total-MB} MB ({KB-per-second} KB/sec)'), 'vu09' => array('Cancel Upload', 'Header: cancel upload dialog'), 'vu10' => array('Cancel Upload', 'Button: cancel upload'), 'vu11' => array('Don\'t Cancel', 'Button: don\'t cancel upload'), 'vu12' => array('Are you sure you want to cancel this video upload?'), 'vu13' => array('A pop-up blocker may be disabling the Mobile verification window.'), 'vu14' => array('Upload Successful', 'Header: Video upload successful'), 'vu15' => array('After you finish editing your video data, click "Save Info" to continue.'), 'vu16' => array('Do you have a pop-up blocker?', 'Header: Error dialog when video upload popup cannot be created'), 'vu17' => array('In order to upload videos on your profile, Facebook needs to be able to create a pop-up window. Please disable your pop-up blocker or allow this page to create popups, then try again.', 'Explanation for error dialog when video upload popup cannot be created'), // time stuff 'vut01' => array('{num-hours} hours, {num-minutes} minutes remaining', 'upload time'), 'vut02' => array('{num-hours} hours, 1 minute remaining', 'upload time'), 'vut03' => array('{num-hours} hours remaining', 'upload time'), 'vut04' => array('1 hour, {num-minutes} remaining', 'upload time'), 'vut05' => array('1 hour, 1 minute remaining', 'upload time'), 'vut06' => array('1 hour remaining', 'upload time'), 'vut07' => array('{num-minutes} minutes remaining', 'upload time'), 'vut08' => array('1 minute remaining', 'upload time'), 'vut09' => array('{num-seconds} seconds remaining', 'upload time'), 'vut10' => array('1 second remaining', 'upload time'), //fvr stuff 'vfvr01' => array('Detecting camera.','the system is looking for a webcam'), 'vfvr02' => array('Connecting','the system is connecting to the server'), 'vfvr03' => array('Loading','loading the video for playback'), 'vfvr04' => array('Saving','saving the video'), 'vfvr05' => array('Audio is not being recorded.','audio is not currently being recorded'), 'vfvr06' => array('An error occurred.','error'), 'vfvr07' => array('You have been logged out of Facebook. Please log back in and try again.','you are not logged into facebook, you must log in'), 'vfvr08' => array('Login','login'), 'vfvr09' => array('Unable to connect to server. Please try again later, or right now.','the server is not responding, please try again'), 'vfvr10' => array('We were unable to save your video. Give it another shot.','unable to save, please try again'), 'vfvr11' => array('You were disconnected from the video server. Please try again.','the connection to the server failed, please try again'), 'vfvr12' => array('Your camera seems to have stopped working. Click \'Try Again\' to attempt to resurrect it.','the camera stopped functioning, click try again'), 'vfvr13' => array('Reload Page','reload'), 'vfvr14' => array('Look for Cameras Again','have the system look for the camera again'), 'vfvr15' => array('Save','save the video'), 'vfvr16' => array('Reset','reset the video'), 'vfvr17' => array('Play','play the video'), 'vfvr18' => array('Stop','stop the video'), 'vfvr19' => array('Cancel','cancel recording'), 'vfvr20' => array('Try Again','start the whole process over'), 'vfvr21' => array('Camera Not Found','the system has not found a camera'), 'vfvr22' => array('Please turn your camera on or make sure that it is not in use by another application.','turn on your camera or turn off any application in use'), 'vfvr23' => array('We are unable to detect any available cameras on your system. Please connect a camera and try again.','We are unable to detect a camera, please connect one and try it again'), 'vfvr24' => array('Select \'Allow\' to use your webcam.'), 'vfvr25' => array('Select \'Remember\' to hide this in the future.'), 'vfvr26' => array('You must take a picture.', 'Error message when user tries to submit without a photo'), 'vfvr27' => array('Please choose a camera from the list below. Click the camera icon to preview.', 'Error message camera cannot be detected'), 'vfvr28' => array('I don\'t have a camera.', 'User action: does not have camera'), /** *** wallpost_ajax.js **/ 'wp01' => array('Posting...', 'Temporary message shown while wall post is made'), 'wp02' => array('Wall is currently unavailable.', 'Wall unavailable message'), 'wp03' => array('Please try again later.', 'Wall unavailable try again message'), 'wp04' => array('Post successful!', 'Successful wall post message'), 'wp05' => array('Displaying {number} of {wall-total-link}.', 'Wall header message when not displaying all posts'), 'wp06' => array('{number} wall posts', 'Link: See all wall posts'), 'wp07' => array('Displaying the only 2 wall posts.','Wall header message for 2 posts'), 'wp08' => array('Displaying all {number} wall posts.','Wall header message when displaying all posts'), 'wp09' => array('Displaying the only wall post.','Wall header message when 1 post'), 'wp10' => array('No wall posts.', 'Wall header message when no posts'), 'wp11' => array('No wall text entered.'), /** *** wizard.js **/ "wz01" => array("There was an error processing your request.", null, 'growth-critical'), "wz02" => array("A confirmation email has been sent. Follow the confirmation link in that email to complete this step.", null, 'growth-critical'), "wz03" => array('0 people in this region', null, 'growth-critical'), "wz04" => array('1 person in this region', null, 'growth-critical'), "wz05" => array('{number} people in this region', null, 'growth-critical'), "wz06" => array('0 people you may know', null, 'growth-critical'), "wz07" => array('1 person you may know', null, 'growth-critical'), "wz08" => array('500+ people you may know', null, 'growth-critical'), "wz09" => array('{number} people you may know', null, 'growth-critical'), /* adding more strings? remember to keep this alphabetized by key. */ /* Tip: use verbose keys to maintain readability. */ ); } /** * Ouputs a string table for a locale in array form. If $keys * are specified then the translation is done only for those keys. * * @param $locale The target locale for the translations. * @param $keys If specified, then only the specified translations * for those keys will be returned. * @return A string identifier to translation mapping. E.g. * * array( ..., * [wp06] => {number} wall posts, * ...) */ function js_string_table_array_locale($locale, $keys = null) { global $DEFAULT_APPLICATION_ID; if ($keys !== null && count($keys) == 0) { return array(); } // check if we have the result already cached. $translated = array(); if (isset($GLOBALS['INTL_JS_TRANSLATED'][$locale])) { $translated = $GLOBALS['INTL_JS_TRANSLATED'][$locale]; // if all keys are requested and we have them all cached return them. if ($keys === null && count($translated) == count(js_string_table_array())) { return $translated; // if keys are requested and we have all the keys cached then return them. } else if ($keys && count(array_diff_key(array_fill_keys($keys, true), $translated)) == 0){ return array_intersect_key($translated, array_fill_keys($keys, true)); } } $intl_settings = get_site_variable('INTL_SETTINGS'); $to_fetch = js_string_table_array(); if ($keys) { $to_fetch = array_intersect_key($to_fetch, array_fill_keys($keys, true)); } // only process strings not already cached. $to_fetch = array_diff_key($to_fetch, $translated); if ($locale == 'fb_AC') { foreach ($to_fetch as $key => $value) { $translated[$key] = intl_fb_ac($value[0]); } } else if ($locale == 'fb_LS') { foreach ($to_fetch as $key => $value) { $translated[$key] = intl_longify($value[0]); } } else if ($locale == 'fb_ZH') { foreach ($to_fetch as $key => $value) { $translated[$key] = intl_fb_zh($value[0]); } } else if ($locale == 'fb_AR') { foreach ($to_fetch as $key => $value) { $translated[$key] = intl_fb_ar($value[0]); } } else if (!$intl_settings['render_fbml'] || $locale == 'en_US') { foreach ($to_fetch as $key => $value) { $translated[$key] = $value[0]; } } else { $hashes = array(); $results = array(); foreach ($to_fetch as $key => $value) { $suffix = (count($value) > 1 ? $value[1] : '') . ':'; $hash = intl_hash($value[0], $suffix); $hashes[$hash] = array('text' => $value[0], 'suffix' => $suffix); // populate $hashes with tokens info preg_match_all('|{[^}]+}|', $value[0], $matches); if (!empty($matches)) { $tokens = $matches[0]; foreach ($tokens as $token) { // TODO: This won't lookup the correct translation for a locale that needs // token variation support because we are just pretending the token text // is an empty string. However since there's no easy way to know the token value // for a JS string, the following will at least suppress php errors. $hashes[$hash]['tokens'][] = array(intl_extract_token_name($token), '', null); } } $translated[$key] = $hash; } intl_multitranslate($DEFAULT_APPLICATION_ID, $hashes, $results, $locale); foreach ($translated as $key => $hash) { if (!empty($results[$hash])) { $translated[$key] = intl_multitranslate_extract_translation($results[$hash]); } else { $translated[$key] = $hashes[$hash]['text']; } } } // we are gauranteed that $translated is the superset of // what's globally cached. $GLOBALS['INTL_JS_TRANSLATED'][$locale] = $translated; if ($keys) { return array_intersect_key($translated, array_fill_keys($keys, true)); } else { return $translated; } } /** * Renders the JavaScript string table for a locale. This outputs JavaScript * code, not HTML. */ function render_js_string_table($locale) { $translated = js_string_table_array_locale($locale); return "var _string_table = " . json_encode($translated) . ";\n"; } /** * Returns a list of all the translatable strings for the string extractor. * * @return array An array of (secret_type, text, description) arrays. */ function js_strings_extract() { $result = array(); foreach (js_string_table_array() as $key => $value) { if (count($value) > 2) { $secret = $value[2]; } else { $secret = null; } if (count($value) > 1) { $desc = $value[1]; } else { $desc = null; } $result[] = array($secret, $value[0], $desc); } return $result; }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment