闭社主体 forked from https://github.com/tootsuite/mastodon
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

512 lines
23 KiB

8 years ago
7 years ago
Web Push Notifications (#3243) * feat: Register push subscription * feat: Notify when mentioned * feat: Boost, favourite, reply, follow, follow request * feat: Notification interaction * feat: Handle change of public key * feat: Unsubscribe if things go wrong * feat: Do not send normal notifications if push is enabled * feat: Focus client if open * refactor: Move push logic to WebPushSubscription * feat: Better title and body * feat: Localize messages * chore: Fix lint errors * feat: Settings * refactor: Lazy load * fix: Check if push settings exist * feat: Device-based preferences * refactor: Simplify logic * refactor: Pull request feedback * refactor: Pull request feedback * refactor: Create /api/web/push_subscriptions endpoint * feat: Spec PushSubscriptionController * refactor: WebPushSubscription => Web::PushSubscription * feat: Spec Web::PushSubscription * feat: Display first media attachment * feat: Support direction * fix: Stuff broken while rebasing * refactor: Integration with session activations * refactor: Cleanup * refactor: Simplify implementation * feat: Set VAPID keys via environment * chore: Comments * fix: Crash when no alerts * fix: Set VAPID keys in testing environment * fix: Follow link * feat: Notification actions * fix: Delete previous subscription * chore: Temporary logs * refactor: Move migration to a later date * fix: Fetch the correct session activation and misc bugs * refactor: Move migration to a later date * fix: Remove follow request (no notifications) * feat: Send administrator contact to push service * feat: Set time-to-live * fix: Do not show sensitive images * fix: Reducer crash in error handling * feat: Add badge * chore: Fix lint error * fix: Checkbox label overlap * fix: Check for payload support * fix: Rename action "type" (crash in latest Chrome) * feat: Action to expand notification * fix: Lint errors * fix: Unescape notification body * fix: Do not allow boosting if the status is hidden * feat: Add VAPID keys to the production sample environment * fix: Strip HTML tags from status * refactor: Better error messages * refactor: Handle browser not implementing the VAPID protocol (Samsung Internet) * fix: Error when target_status is nil * fix: Handle lack of image * fix: Delete reference to invalid subscriptions * feat: Better error handling * fix: Unescape HTML characters after tags are striped * refactor: Simpify code * fix: Modify to work with #4091 * Sort strings alphabetically * i18n: Updated Polish translation it annoys me that it's not fully localized :P * refactor: Use current_session in PushSubscriptionController * fix: Rebase mistake * fix: Set cacheName to mastodon * refactor: Pull request feedback * refactor: Remove logging statements * chore(yarn): Fix conflicts with master * chore(yarn): Copy latest from master * chore(yarn): Readd offline-plugin * refactor: Use save! and update! * refactor: Send notifications async * fix: Allow retry when push fails * fix: Save track for failed pushes * fix: Minify sw.js * fix: Remove account_id from fabricator
7 years ago
  1. ---
  2. en:
  3. about:
  4. about_mastodon_html: Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.
  5. about_this: About
  6. business_email: 'Business e-mail:'
  7. closed_registrations: Registrations are currently closed on this instance. However! You can find a different instance to make an account on and get access to the very same network from there.
  8. contact: Contact
  9. description_headline: What is %{domain}?
  10. domain_count_after: other instances
  11. domain_count_before: Connected to
  12. features:
  13. humane_approach_body: Learning from failures of other networks, Mastodon aims to make ethical design choices to combat the misuse of social media.
  14. humane_approach_title: A more humane approach
  15. not_a_product_body: Mastodon is not a commercial network. No advertising, no data mining, no walled gardens. There is no central authority.
  16. not_a_product_title: You’re a person, not a product
  17. real_conversation_body: With 500 characters at your disposal and support for granular content and media warnings, you can express yourself the way you want to.
  18. real_conversation_title: Built for real conversation
  19. within_reach_body: Multiple apps for iOS, Android, and other platforms thanks to a developer-friendly API ecosystem allow you to keep up with your friends anywhere.
  20. within_reach_title: Always within reach
  21. find_another_instance: Find another instance
  22. generic_description: "%{domain} is one server in the network"
  23. get_started: Get started
  24. hosted_on: Mastodon hosted on %{domain}
  25. learn_more: Learn more
  26. links: Links
  27. other_instances: Instance list
  28. source_code: Source code
  29. status_count_after: statuses
  30. status_count_before: Who authored
  31. terms: Terms
  32. user_count_after: users
  33. user_count_before: Home to
  34. version: Version
  35. what_is_mastodon: What is Mastodon?
  36. accounts:
  37. follow: Follow
  38. followers: Followers
  39. following: Following
  40. nothing_here: There is nothing here!
  41. people_followed_by: People whom %{name} follows
  42. people_who_follow: People who follow %{name}
  43. posts: Posts
  44. remote_follow: Remote follow
  45. reserved_username: The username is reserved
  46. unfollow: Unfollow
  47. activitypub:
  48. activity:
  49. announce:
  50. name: "%{account_name} shared an activity."
  51. create:
  52. name: "%{account_name} created a note."
  53. outbox:
  54. name: "%{account_name}'s Outbox"
  55. summary: A collection of activities from user %{account_name}.
  56. admin:
  57. accounts:
  58. are_you_sure: Are you sure?
  59. confirm: Confirm
  60. confirmed: Confirmed
  61. disable_two_factor_authentication: Disable 2FA
  62. display_name: Display name
  63. domain: Domain
  64. edit: Edit
  65. email: E-mail
  66. feed_url: Feed URL
  67. followers: Followers
  68. follows: Follows
  69. ip: IP
  70. location:
  71. all: All
  72. local: Local
  73. remote: Remote
  74. title: Location
  75. media_attachments: Media attachments
  76. moderation:
  77. all: All
  78. silenced: Silenced
  79. suspended: Suspended
  80. title: Moderation
  81. most_recent_activity: Most recent activity
  82. most_recent_ip: Most recent IP
  83. not_subscribed: Not subscribed
  84. order:
  85. alphabetic: Alphabetic
  86. most_recent: Most recent
  87. title: Order
  88. perform_full_suspension: Perform full suspension
  89. profile_url: Profile URL
  90. public: Public
  91. push_subscription_expires: PuSH subscription expires
  92. redownload: Refresh avatar
  93. reset: Reset
  94. reset_password: Reset password
  95. resubscribe: Resubscribe
  96. salmon_url: Salmon URL
  97. search: Search
  98. show:
  99. created_reports: Reports created by this account
  100. report: report
  101. targeted_reports: Reports made about this account
  102. silence: Silence
  103. statuses: Statuses
  104. subscribe: Subscribe
  105. title: Accounts
  106. undo_silenced: Undo silence
  107. undo_suspension: Undo suspension
  108. unsubscribe: Unsubscribe
  109. username: Username
  110. web: Web
  111. domain_blocks:
  112. add_new: Add new
  113. created_msg: Domain block is now being processed
  114. destroyed_msg: Domain block has been undone
  115. domain: Domain
  116. new:
  117. create: Create block
  118. hint: The domain block will not prevent creation of account entries in the database, but will retroactively and automatically apply specific moderation methods on those accounts.
  119. severity:
  120. desc_html: "<strong>Silence</strong> will make the account's posts invisible to anyone who isn't following them. <strong>Suspend</strong> will remove all of the account's content, media, and profile data."
  121. silence: Silence
  122. suspend: Suspend
  123. title: New domain block
  124. reject_media: Reject media files
  125. reject_media_hint: Removes locally stored media files and refuses to download any in the future. Irrelevant for suspensions
  126. severities:
  127. silence: Silence
  128. suspend: Suspend
  129. severity: Severity
  130. show:
  131. affected_accounts:
  132. one: One account in the database affected
  133. other: "%{count} accounts in the database affected"
  134. retroactive:
  135. silence: Unsilence all existing accounts from this domain
  136. suspend: Unsuspend all existing accounts from this domain
  137. title: Undo domain block for %{domain}
  138. undo: Undo
  139. title: Domain Blocks
  140. undo: Undo
  141. instances:
  142. account_count: Known accounts
  143. domain_name: Domain
  144. title: Known Instances
  145. reports:
  146. action_taken_by: Action taken by
  147. are_you_sure: Are you sure?
  148. comment:
  149. label: Comment
  150. none: None
  151. delete: Delete
  152. id: ID
  153. mark_as_resolved: Mark as resolved
  154. nsfw:
  155. 'false': Unhide media attachments
  156. 'true': Hide media attachments
  157. report: 'Report #%{id}'
  158. report_contents: Contents
  159. reported_account: Reported account
  160. reported_by: Reported by
  161. resolved: Resolved
  162. silence_account: Silence account
  163. status: Status
  164. suspend_account: Suspend account
  165. target: Target
  166. title: Reports
  167. unresolved: Unresolved
  168. view: View
  169. settings:
  170. contact_information:
  171. email: Business e-mail
  172. username: Contact username
  173. registrations:
  174. closed_message:
  175. desc_html: Displayed on frontpage when registrations are closed. You can use HTML tags
  176. title: Closed registration message
  177. deletion:
  178. desc_html: Allow anyone to delete their account
  179. title: Open account deletion
  180. open:
  181. desc_html: Allow anyone to create an account
  182. title: Open registration
  183. site_description:
  184. desc_html: Introductory paragraph on the frontpage and in meta tags. You can use HTML tags, in particular <code>&lt;a&gt;</code> and <code>&lt;em&gt;</code>.
  185. title: Instance description
  186. site_description_extended:
  187. desc_html: A good place for your code of conduct, rules, guidelines and other things that set your instance apart. You can use HTML tags
  188. title: Custom extended information
  189. site_terms:
  190. desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
  191. title: Custom terms of service
  192. site_title: Instance name
  193. timeline_preview:
  194. desc_html: Display public timeline on landing page
  195. title: Timeline preview
  196. title: Site Settings
  197. subscriptions:
  198. callback_url: Callback URL
  199. confirmed: Confirmed
  200. expires_in: Expires in
  201. last_delivery: Last delivery
  202. title: PubSubHubbub
  203. topic: Topic
  204. title: Administration
  205. admin_mailer:
  206. new_report:
  207. body: "%{reporter} has reported %{target}"
  208. subject: New report for %{instance} (#%{id})
  209. application_mailer:
  210. settings: 'Change e-mail preferences: %{link}'
  211. signature: Mastodon notifications from %{instance}
  212. view: 'View:'
  213. applications:
  214. invalid_url: The provided URL is invalid
  215. auth:
  216. agreement_html: By signing up you agree to <a href="%{rules_path}">our terms of service</a> and <a href="%{terms_path}">privacy policy</a>.
  217. change_password: Security
  218. delete_account: Delete account
  219. delete_account_html: If you wish to delete your account, you can <a href="%{path}">proceed here</a>. You will be asked for confirmation.
  220. didnt_get_confirmation: Didn't receive confirmation instructions?
  221. forgot_password: Forgot your password?
  222. login: Log in
  223. logout: Logout
  224. register: Sign up
  225. resend_confirmation: Resend confirmation instructions
  226. reset_password: Reset password
  227. set_new_password: Set new password
  228. authorize_follow:
  229. error: Unfortunately, there was an error looking up the remote account
  230. follow: Follow
  231. follow_request: 'You have sent a follow request to:'
  232. following: 'Success! You are now following:'
  233. post_follow:
  234. close: Or, you can just close this window.
  235. return: Return to the user's profile
  236. web: Go to web
  237. prompt_html: 'You (<strong>%{self}</strong>) have requested to follow:'
  238. title: Follow %{acct}
  239. datetime:
  240. distance_in_words:
  241. about_x_hours: "%{count}h"
  242. about_x_months: "%{count}mo"
  243. about_x_years: "%{count}y"
  244. almost_x_years: "%{count}y"
  245. half_a_minute: Just now
  246. less_than_x_minutes: "%{count}m"
  247. less_than_x_seconds: Just now
  248. over_x_years: "%{count}y"
  249. x_days: "%{count}d"
  250. x_minutes: "%{count}m"
  251. x_months: "%{count}mo"
  252. x_seconds: "%{count}s"
  253. deletes:
  254. bad_password_msg: Nice try, hackers! Incorrect password
  255. confirm_password: Enter your current password to verify your identity
  256. description_html: This will <strong>permanently, irreversibly</strong> remove content from your account and deactivate it. Your username will remain reserved to prevent future impersonations.
  257. proceed: Delete account
  258. success_msg: Your account was successfully deleted
  259. warning_html: Only deletion of content from this particular instance is guaranteed. Content that has been widely shared is likely to leave traces. Offline servers and servers that have unsubscribed from your updates will not update their databases.
  260. warning_title: Disseminated content availability
  261. errors:
  262. '403': You don't have permission to view this page.
  263. '404': The page you were looking for doesn't exist.
  264. '410': The page you were looking for doesn't exist anymore.
  265. '422':
  266. content: Security verification failed. Are you blocking cookies?
  267. title: Security verification failed
  268. '429': Throttled
  269. noscript: To use Mastodon, please enable JavaScript.
  270. exports:
  271. blocks: You block
  272. csv: CSV
  273. follows: You follow
  274. mutes: You mute
  275. storage: Media storage
  276. followers:
  277. domain: Domain
  278. explanation_html: If you want to ensure the privacy of your statuses, you must be aware of who is following you. <strong>Your private statuses are delivered to all instances where you have followers</strong>. You may wish to review them, and remove followers if you do not trust your privacy to be respected by the staff or software of those instances.
  279. followers_count: Number of followers
  280. lock_link: Lock your account
  281. purge: Remove from followers
  282. success:
  283. one: In the process of soft-blocking followers from one domain...
  284. other: In the process of soft-blocking followers from %{count} domains...
  285. true_privacy_html: Please mind that <strong>true privacy can only be achieved with end-to-end encryption</strong>.
  286. unlocked_warning_html: Anyone can follow you to immediately view your private statuses. %{lock_link} to be able to review and reject followers.
  287. unlocked_warning_title: Your account is not locked
  288. generic:
  289. changes_saved_msg: Changes successfully saved!
  290. powered_by: powered by %{link}
  291. save_changes: Save changes
  292. validation_errors:
  293. one: Something isn't quite right yet! Please review the error below
  294. other: Something isn't quite right yet! Please review %{count} errors below
  295. imports:
  296. preface: You can import data that you have exported from another instance, such as a list of the people you are following or blocking.
  297. success: Your data was successfully uploaded and will now be processed in due time
  298. types:
  299. blocking: Blocking list
  300. following: Following list
  301. muting: Muting list
  302. upload: Upload
  303. landing_strip_html: "<strong>%{name}</strong> is a user on %{link_to_root_path}. You can follow them or interact with them if you have an account anywhere in the fediverse."
  304. landing_strip_signup_html: If you don't, you can <a href="%{sign_up_path}">sign up here</a>.
  305. media_attachments:
  306. validations:
  307. images_and_video: Cannot attach a video to a status that already contains images
  308. too_many: Cannot attach more than 4 files
  309. notification_mailer:
  310. digest:
  311. body: 'Here is a brief summary of what you missed on %{instance} since your last visit on %{since}:'
  312. mention: "%{name} mentioned you in:"
  313. new_followers_summary:
  314. one: You have acquired one new follower! Yay!
  315. other: You have gotten %{count} new followers! Amazing!
  316. subject:
  317. one: "1 new notification since your last visit \U0001F418"
  318. other: "%{count} new notifications since your last visit \U0001F418"
  319. favourite:
  320. body: 'Your status was favourited by %{name}:'
  321. subject: "%{name} favourited your status"
  322. follow:
  323. body: "%{name} is now following you!"
  324. subject: "%{name} is now following you"
  325. follow_request:
  326. body: "%{name} has requested to follow you"
  327. subject: 'Pending follower: %{name}'
  328. mention:
  329. body: 'You were mentioned by %{name} in:'
  330. subject: You were mentioned by %{name}
  331. reblog:
  332. body: 'Your status was boosted by %{name}:'
  333. subject: "%{name} boosted your status"
  334. pagination:
  335. next: Next
  336. prev: Prev
  337. truncate: "&hellip;"
  338. push_notifications:
  339. favourite:
  340. title: "%{name} favourited your status"
  341. follow:
  342. title: "%{name} is now following you"
  343. mention:
  344. action_boost: 'Boost'
  345. action_expand: 'Show more'
  346. action_favourite: 'Favourite'
  347. title: "%{name} mentioned you"
  348. reblog:
  349. title: "%{name} boosted your status"
  350. subscribed:
  351. body: "You can now receive push notifications."
  352. title: "Subscription registered!"
  353. remote_follow:
  354. acct: Enter your username@domain you want to follow from
  355. missing_resource: Could not find the required redirect URL for your account
  356. proceed: Proceed to follow
  357. prompt: 'You are going to follow:'
  358. sessions:
  359. activity: Last activity
  360. browser: Browser
  361. browsers:
  362. alipay: Alipay
  363. blackberry: Blackberry
  364. chrome: Chrome
  365. edge: Microsoft Edge
  366. firefox: Firefox
  367. generic: Unknown browser
  368. ie: Internet Explorer
  369. micro_messenger: MicroMessenger
  370. nokia: Nokia S40 Ovi Browser
  371. opera: Opera
  372. phantom_js: PhantomJS
  373. qq: QQ Browser
  374. safari: Safari
  375. uc_browser: UCBrowser
  376. weibo: Weibo
  377. current_session: Current session
  378. description: "%{browser} on %{platform}"
  379. explanation: These are the web browsers currently logged in to your Mastodon account.
  380. ip: IP
  381. platforms:
  382. adobe_air: Adobe Air
  383. android: Android
  384. blackberry: Blackberry
  385. chrome_os: ChromeOS
  386. firefox_os: Firefox OS
  387. ios: iOS
  388. linux: Linux
  389. mac: Mac
  390. other: unknown platform
  391. windows: Windows
  392. windows_mobile: Windows Mobile
  393. windows_phone: Windows Phone
  394. title: Sessions
  395. settings:
  396. authorized_apps: Authorized apps
  397. back: Back to Mastodon
  398. delete: Account deletion
  399. edit_profile: Edit profile
  400. export: Data export
  401. followers: Authorized followers
  402. import: Import
  403. preferences: Preferences
  404. settings: Settings
  405. two_factor_authentication: Two-factor Authentication
  406. statuses:
  407. open_in_web: Open in web
  408. over_character_limit: character limit of %{max} exceeded
  409. show_more: Show more
  410. visibilities:
  411. private: Followers-only
  412. private_long: Only show to followers
  413. public: Public
  414. public_long: Everyone can see
  415. unlisted: Unlisted
  416. unlisted_long: Everyone can see, but not listed on public timelines
  417. stream_entries:
  418. click_to_show: Click to show
  419. reblogged: boosted
  420. sensitive_content: Sensitive content
  421. terms:
  422. body_html: |
  423. <h2>Privacy Policy</h2>
  424. <h3 id="collect">What information do we collect?</h3>
  425. <p>We collect information from you when you register on our site and gather data when you participate in the forum by reading, writing, and evaluating the content shared here.</p>
  426. <p>When registering on our site, you may be asked to enter your name and e-mail address. You may, however, visit our site without registering. Your e-mail address will be verified by an email containing a unique link. If that link is visited, we know that you control the e-mail address.</p>
  427. <p>When registered and posting, we record the IP address that the post originated from. We also may retain server logs which include the IP address of every request to our server.</p>
  428. <h3 id="use">What do we use your information for?</h3>
  429. <p>Any of the information we collect from you may be used in one of the following ways:</p>
  430. <ul>
  431. <li>To personalize your experience &mdash; your information helps us to better respond to your individual needs.</li>
  432. <li>To improve our site &mdash; we continually strive to improve our site offerings based on the information and feedback we receive from you.</li>
  433. <li>To improve customer service &mdash; your information helps us to more effectively respond to your customer service requests and support needs.</li>
  434. <li>To send periodic emails &mdash; The email address you provide may be used to send you information, notifications that you request about changes to topics or in response to your user name, respond to inquiries, and/or other requests or questions.</li>
  435. </ul>
  436. <h3 id="protect">How do we protect your information?</h3>
  437. <p>We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information.</p>
  438. <h3 id="data-retention">What is your data retention policy?</h3>
  439. <p>We will make a good faith effort to:</p>
  440. <ul>
  441. <li>Retain server logs containing the IP address of all requests to this server no more than 90 days.</li>
  442. <li>Retain the IP addresses associated with registered users and their posts no more than 5 years.</li>
  443. </ul>
  444. <h3 id="cookies">Do we use cookies?</h3>
  445. <p>Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.</p>
  446. <p>We use cookies to understand and save your preferences for future visits and compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future. We may contract with third-party service providers to assist us in better understanding our site visitors. These service providers are not permitted to use the information collected on our behalf except to help us conduct and improve our business.</p>
  447. <h3 id="disclose">Do we disclose any information to outside parties?</h3>
  448. <p>We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.</p>
  449. <h3 id="third-party">Third party links</h3>
  450. <p>Occasionally, at our discretion, we may include or offer third party products or services on our site. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.</p>
  451. <h3 id="coppa">Children's Online Privacy Protection Act Compliance</h3>
  452. <p>Our site, products and services are all directed to people who are at least 13 years old. If this server is in the USA, and you are under the age of 13, per the requirements of COPPA (<a href="https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act">Children's Online Privacy Protection Act</a>) do not use this site.</p>
  453. <h3 id="online">Online Privacy Policy Only</h3>
  454. <p>This online privacy policy applies only to information collected through our site and not to information collected offline.</p>
  455. <h3 id="consent">Your Consent</h3>
  456. <p>By using our site, you consent to our web site privacy policy.</p>
  457. <h3 id="changes">Changes to our Privacy Policy</h3>
  458. <p>If we decide to change our privacy policy, we will post those changes on this page.</p>
  459. <p>This document is CC-BY-SA. It was last updated May 31, 2013.</p>
  460. <p>Originally adapted from the <a href="https://github.com/discourse/discourse">Discourse privacy policy</a>.
  461. title: "%{instance} Terms of Service and Privacy Policy"
  462. time:
  463. formats:
  464. default: "%b %d, %Y, %H:%M"
  465. two_factor_authentication:
  466. code_hint: Enter the code generated by your authenticator app to confirm
  467. description_html: If you enable <strong>two-factor authentication</strong>, logging in will require you to be in possession of your phone, which will generate tokens for you to enter.
  468. disable: Disable
  469. enable: Enable
  470. enabled: Two-factor authentication is enabled
  471. enabled_success: Two-factor authentication successfully enabled
  472. generate_recovery_codes: Generate recovery codes
  473. instructions_html: "<strong>Scan this QR code into Google Authenticator or a similiar TOTP app on your phone</strong>. From now on, that app will generate tokens that you will have to enter when logging in."
  474. lost_recovery_codes: Recovery codes allow you to regain access to your account if you lose your phone. If you've lost your recovery codes, you can regenerate them here. Your old recovery codes will be invalidated.
  475. manual_instructions: 'If you can''t scan the QR code and need to enter it manually, here is the plain-text secret:'
  476. recovery_codes: Backup recovery codes
  477. recovery_codes_regenerated: Recovery codes successfully regenerated
  478. recovery_instructions_html: If you ever lose access to your phone, you can use one of the recovery codes below to regain access to your account. <strong>Keep the recovery codes safe</strong>. For example, you may print them and store them with other important documents.
  479. setup: Set up
  480. wrong_code: The entered code was invalid! Are server time and device time correct?
  481. users:
  482. invalid_email: The e-mail address is invalid
  483. invalid_otp_token: Invalid two-factor code