Browse Source

Feature: sublocale of english for the cybrespace customizations that apply to translateable text

Andrew 11 months ago
parent
commit
92fd88db86

+ 1
- 0
app/helpers/settings_helper.rb View File

@@ -3,6 +3,7 @@
3 3
 module SettingsHelper
4 4
   HUMAN_LOCALES = {
5 5
     en: 'English',
6
+    'en-CY': 'English (Cybre)',
6 7
     ar: 'العربية',
7 8
     ast: 'l\'asturianu',
8 9
     bg: 'Български',

+ 221
- 0
app/javascript/mastodon/locales/en-CY.json View File

@@ -0,0 +1,221 @@
1
+{
2
+  "account.block": "Block @{name}",
3
+  "account.block_domain": "Hide everything from {domain}",
4
+  "account.disclaimer_full": "THESE NUMBERS ARE THE STUFF WHAT YOUR SERVER KNOWS ABOUT AND THERE MIGHT BE MORE THAT IT DONT KNOW ABOUT.",
5
+  "account.edit_profile": "edit ~/.profile",
6
+  "account.follow": "Follow",
7
+  "account.followers": "Followers",
8
+  "account.follows": "Follows",
9
+  "account.follows_you": "Follows you",
10
+  "account.media": "Media",
11
+  "account.mention": "Mention @{name}",
12
+  "account.mute": "Mute @{name}",
13
+  "account.posts": "Pings",
14
+  "account.report": "Report @{name}",
15
+  "account.requested": "Awaiting approval. Click to cancel follow request",
16
+  "account.share": "Share @{name}'s profile",
17
+  "account.unblock": "Unblock @{name}",
18
+  "account.unblock_domain": "Unhide {domain}",
19
+  "account.unfollow": "Unfollow",
20
+  "account.unmute": "Unmute @{name}",
21
+  "account.view_full_profile": "View full profile",
22
+  "boost_modal.combo": "You can press {combo} to skip this next time",
23
+  "bundle_column_error.body": "Something went wrong while loading this component.",
24
+  "bundle_column_error.retry": "Try again",
25
+  "bundle_column_error.title": "Network error",
26
+  "bundle_modal_error.close": "Close",
27
+  "bundle_modal_error.message": "Something went wrong while loading this component.",
28
+  "bundle_modal_error.retry": "Try again",
29
+  "column.blocks": "~/.blocked",
30
+  "column.community": "/timelines/local",
31
+  "column.favourites": "~/.florps",
32
+  "column.follow_requests": "~/.follow-requests",
33
+  "column.home": "/timelines/home",
34
+  "column.mutes": "~/.muted",
35
+  "column.notifications": "~/.notifications",
36
+  "column.public": "/timelines/federated",
37
+  "column.pins": "~/.pinned",
38
+  "column_back_button.label": "Back",
39
+  "column_header.hide_settings": "Hide settings",
40
+  "column_header.moveLeft_settings": "Move column to the left",
41
+  "column_header.moveRight_settings": "Move column to the right",
42
+  "column_header.pin": "Pin",
43
+  "column_header.show_settings": "Show settings",
44
+  "column_header.unpin": "Unpin",
45
+  "column_subheading.navigation": "Navigation",
46
+  "column_subheading.settings": "Settings",
47
+  "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
48
+  "compose_form.lock_disclaimer.lock": "locked",
49
+  "compose_form.placeholder": "What is in your databanks?",
50
+  "compose_form.publish": "Ping",
51
+  "compose_form.publish_loud": "{publish}!",
52
+  "compose_form.sensitive": "Mark media as sensitive",
53
+  "compose_form.spoiler": "Hide text behind warning",
54
+  "compose_form.spoiler_placeholder": "Write your warning here",
55
+  "confirmation_modal.cancel": "Cancel",
56
+  "confirmations.block.confirm": "Block",
57
+  "confirmations.block.message": "Are you sure you want to block {name}?",
58
+  "confirmations.delete.confirm": "Delete",
59
+  "confirmations.delete.message": "Are you sure you want to delete this status?",
60
+  "confirmations.domain_block.confirm": "Hide entire domain",
61
+  "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
62
+  "confirmations.mute.confirm": "Mute",
63
+  "confirmations.mute.message": "Are you sure you want to mute {name}?",
64
+  "confirmations.unfollow.confirm": "Unfollow",
65
+  "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
66
+  "embed.instructions": "Embed this status on your website by copying the code below.",
67
+  "embed.preview": "Here is what it will look like:",
68
+  "emoji_button.activity": "Activity",
69
+  "emoji_button.custom": "Custom",
70
+  "emoji_button.flags": "Flags",
71
+  "emoji_button.food": "Food & Drink",
72
+  "emoji_button.label": "Insert emoji",
73
+  "emoji_button.nature": "Nature",
74
+  "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
75
+  "emoji_button.objects": "Objects",
76
+  "emoji_button.people": "People",
77
+  "emoji_button.recent": "Frequently used",
78
+  "emoji_button.search": "Search...",
79
+  "emoji_button.search_results": "Search results",
80
+  "emoji_button.symbols": "Symbols",
81
+  "emoji_button.travel": "Travel & Places",
82
+  "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
83
+  "empty_column.hashtag": "There is nothing in this hashtag yet.",
84
+  "empty_column.home": "Your home timeline is empty! Visit {public} or use query to get started and meet other users.",
85
+  "empty_column.home.public_timeline": "the public timeline",
86
+  "empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
87
+  "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
88
+  "follow_request.authorize": "Authorize",
89
+  "follow_request.reject": "Reject",
90
+  "getting_started.appsshort": "Apps",
91
+  "getting_started.faq": "FAQ",
92
+  "getting_started.heading": "Getting started",
93
+  "getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
94
+  "getting_started.userguide": "User Guide",
95
+  "home.column_settings.advanced": "Advanced",
96
+  "home.column_settings.basic": "Basic",
97
+  "home.column_settings.filter_regex": "Filter out by regular expressions",
98
+  "home.column_settings.show_reblogs": "Show relays",
99
+  "home.column_settings.show_replies": "Show replies",
100
+  "home.settings": "Column settings",
101
+  "lightbox.close": "Close",
102
+  "lightbox.next": "Next",
103
+  "lightbox.previous": "Previous",
104
+  "loading_indicator.label": "Loading...",
105
+  "media_gallery.toggle_visible": "Toggle visibility",
106
+  "missing_indicator.label": "Not found",
107
+  "navigation_bar.blocks": "~/.blocks",
108
+  "navigation_bar.community_timeline": "/timelines/local",
109
+  "navigation_bar.edit_profile": "edit ~/.profile",
110
+  "navigation_bar.favourites": "~/.florps",
111
+  "navigation_bar.follow_requests": "~/.follow-requests",
112
+  "navigation_bar.info": "/about/more",
113
+  "navigation_bar.logout": "Jack out",
114
+  "navigation_bar.mutes": "~/.muted",
115
+  "navigation_bar.preferences": "Preferences",
116
+  "navigation_bar.public_timeline": "/timelines/federated",
117
+  "navigation_bar.pins": "~/.pinned",
118
+  "notification.favourite": "{name} florped your ping",
119
+  "notification.follow": "{name} followed you",
120
+  "notification.mention": "{name} mentioned you",
121
+  "notification.reblog": "{name} relayed your ping",
122
+  "notifications.clear": "Clear notifications",
123
+  "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
124
+  "notifications.column_settings.alert": "Desktop notifications",
125
+  "notifications.column_settings.favourite": "Favourites:",
126
+  "notifications.column_settings.follow": "New followers:",
127
+  "notifications.column_settings.mention": "Mentions:",
128
+  "notifications.column_settings.push": "Push notifications",
129
+  "notifications.column_settings.push_meta": "This device",
130
+  "notifications.column_settings.reblog": "Boosts:",
131
+  "notifications.column_settings.show": "Show in column",
132
+  "notifications.column_settings.sound": "Play sound",
133
+  "onboarding.done": "Done",
134
+  "onboarding.next": "Next",
135
+  "onboarding.page_five.public_timelines": "The local timeline shows public posts from everyone on {domain}. The federated timeline shows public posts from everyone who people on {domain} follow. These are the Public Timelines, a great way to discover new people.",
136
+  "onboarding.page_four.home": "The home timeline shows posts from people you follow.",
137
+  "onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
138
+  "onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
139
+  "onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
140
+  "onboarding.page_one.welcome": "Welcome to Mastodon!",
141
+  "onboarding.page_six.admin": "Your instance's admin is {admin}.",
142
+  "onboarding.page_six.almost_done": "Almost done...",
143
+  "onboarding.page_six.appetoot": "Hang ten on the cybrewaves!",
144
+  "onboarding.page_six.apps_available": "There are {apps} available for iOS, Android and other platforms.",
145
+  "onboarding.page_six.github": "Mastodon is free open-source software. You can report bugs, request features, or contribute to the code on {github}.",
146
+  "onboarding.page_six.guidelines": "community guidelines",
147
+  "onboarding.page_six.read_guidelines": "Please read {domain}'s {guidelines}!",
148
+  "onboarding.page_six.various_app": "mobile apps",
149
+  "onboarding.page_three.profile": "Edit your profile to change your avatar, bio, and display name. There, you will also find other preferences.",
150
+  "onboarding.page_three.search": "Use the search bar to find people and look at hashtags, such as {illustration} and {introductions}. To look for a person who is not on this instance, use their full handle.",
151
+  "onboarding.page_two.compose": "Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.",
152
+  "onboarding.skip": "Skip",
153
+  "privacy.change": "Adjust status privacy",
154
+  "privacy.direct.long": "Post to mentioned users only",
155
+  "privacy.direct.short": "Direct",
156
+  "privacy.private.long": "Post to followers only",
157
+  "privacy.private.short": "Followers-only",
158
+  "privacy.public.long": "Post to public timelines",
159
+  "privacy.public.short": "Public",
160
+  "privacy.unlisted.long": "Do not post to public timelines",
161
+  "privacy.unlisted.short": "Unlisted",
162
+  "relative_time.days": "{number}d",
163
+  "relative_time.hours": "{number}h",
164
+  "relative_time.just_now": "now",
165
+  "relative_time.minutes": "{number}m",
166
+  "relative_time.seconds": "{number}s",
167
+  "reply_indicator.cancel": "Cancel",
168
+  "report.placeholder": "Additional comments",
169
+  "report.submit": "Submit",
170
+  "report.target": "Reporting {target}",
171
+  "search.placeholder": "Query...",
172
+  "search_popout.search_format": "Advanced search format",
173
+  "search_popout.tips.hashtag": "hashtag",
174
+  "search_popout.tips.status": "status",
175
+  "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
176
+  "search_popout.tips.user": "user",
177
+  "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
178
+  "standalone.public_title": "Peer into the data grid...",
179
+  "status.cannot_reblog": "This ping cannot be relayed",
180
+  "status.delete": "Delete",
181
+  "status.embed": "Embed",
182
+  "status.favourite": "Florp",
183
+  "status.load_more": "Load more",
184
+  "status.media_hidden": "Media hidden",
185
+  "status.mention": "Mention @{name}",
186
+  "status.more": "More",
187
+  "status.mute_conversation": "Mute conversation",
188
+  "status.open": "Expand this status",
189
+  "status.pin": "Pin on profile",
190
+  "status.reblog": "Relay",
191
+  "status.reblogged_by": "{name} relayed",
192
+  "status.reply": "Reply",
193
+  "status.replyAll": "Reply to thread",
194
+  "status.report": "Report @{name}",
195
+  "status.sensitive_toggle": "Click to view",
196
+  "status.sensitive_warning": "Sensitive content",
197
+  "status.share": "Share",
198
+  "status.show_less": "Show less",
199
+  "status.show_more": "Show more",
200
+  "status.unmute_conversation": "Unmute conversation",
201
+  "status.unpin": "Unpin from profile",
202
+  "tabs_bar.compose": "Compose",
203
+  "tabs_bar.federated_timeline": "Federated",
204
+  "tabs_bar.home": "Home",
205
+  "tabs_bar.local_timeline": "Local",
206
+  "tabs_bar.notifications": "Notifications",
207
+  "upload_area.title": "Drag & drop to upload",
208
+  "upload_button.label": "Add media",
209
+  "upload_form.description": "Describe for the visually impaired",
210
+  "upload_form.undo": "Undo",
211
+  "upload_progress.label": "Uploading...",
212
+  "video.close": "Close video",
213
+  "video.exit_fullscreen": "Exit full screen",
214
+  "video.expand": "Expand video",
215
+  "video.fullscreen": "Full screen",
216
+  "video.hide": "Hide video",
217
+  "video.mute": "Mute sound",
218
+  "video.pause": "Pause",
219
+  "video.play": "Play",
220
+  "video.unmute": "Unmute sound"
221
+}

+ 2
- 0
app/javascript/mastodon/locales/whitelist_en-CY.json View File

@@ -0,0 +1,2 @@
1
+[
2
+]

+ 2
- 1
config/application.rb View File

@@ -37,6 +37,7 @@ module Mastodon
37 37
     # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
38 38
     config.i18n.available_locales = [
39 39
       :en,
40
+      :'en-CY',
40 41
       :ar,
41 42
       :ast,
42 43
       :bg,
@@ -89,7 +90,7 @@ module Mastodon
89 90
     config.i18n.default_locale = ENV['DEFAULT_LOCALE']&.to_sym
90 91
 
91 92
     unless config.i18n.available_locales.include?(config.i18n.default_locale)
92
-      config.i18n.default_locale = :en
93
+      config.i18n.default_locale = :'en-CY'
93 94
     end
94 95
 
95 96
     # config.paths.add File.join('app', 'api'), glob: File.join('**', '*.rb')

+ 61
- 0
config/locales/devise.en-CY.yml View File

@@ -0,0 +1,61 @@
1
+---
2
+en-CY:
3
+  devise:
4
+    confirmations:
5
+      confirmed: Your email address has been successfully confirmed.
6
+      send_instructions: You will receive an email with instructions for how to confirm your email address in a few minutes. Please check your spam folder if you didn't receive this email.
7
+      send_paranoid_instructions: If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes. Please check your spam folder if you didn't receive this email.
8
+    failure:
9
+      already_authenticated: You are already signed in.
10
+      inactive: Your account is not activated yet.
11
+      invalid: Invalid %{authentication_keys} or password.
12
+      last_attempt: You have one more attempt before your account is locked.
13
+      locked: Your account is locked.
14
+      not_found_in_database: Invalid %{authentication_keys} or password.
15
+      timeout: Your session expired. Please sign in again to continue.
16
+      unauthenticated: You need to sign in or sign up before continuing.
17
+      unconfirmed: You have to confirm your email address before continuing.
18
+    mailer:
19
+      confirmation_instructions:
20
+        subject: 'Mastodon: Confirmation instructions for %{instance}'
21
+      password_change:
22
+        subject: 'Mastodon: Password changed'
23
+      reset_password_instructions:
24
+        subject: 'Mastodon: Reset password instructions'
25
+      unlock_instructions:
26
+        subject: 'Mastodon: Unlock instructions'
27
+    omniauth_callbacks:
28
+      failure: Could not authenticate you from %{kind} because "%{reason}".
29
+      success: Successfully authenticated from %{kind} account.
30
+    passwords:
31
+      no_token: You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided.
32
+      send_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes. Please check your spam folder if you didn't receive this email.
33
+      send_paranoid_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes. Please check your spam folder if you didn't receive this email.
34
+      updated: Your password has been changed successfully. You are now signed in.
35
+      updated_not_active: Your password has been changed successfully.
36
+    registrations:
37
+      destroyed: Bye! Your account has been successfully cancelled. We hope to see you again soon.
38
+      signed_up: Welcome! You have signed up successfully.
39
+      signed_up_but_inactive: You have signed up successfully. However, we could not sign you in because your account is not yet activated.
40
+      signed_up_but_locked: You have signed up successfully. However, we could not sign you in because your account is locked.
41
+      signed_up_but_unconfirmed: A message with a confirmation link has been sent to your email address. Please follow the link to activate your account. Please check your spam folder if you didn't receive this email.
42
+      update_needs_confirmation: You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address. Please check your spam folder if you didn't receive this email.
43
+      updated: Your account has been updated successfully.
44
+    sessions:
45
+      already_signed_out: Signed out successfully.
46
+      signed_in: Signed in successfully.
47
+      signed_out: Signed out successfully.
48
+    unlocks:
49
+      send_instructions: You will receive an email with instructions for how to unlock your account in a few minutes. Please check your spam folder if you didn't receive this email.
50
+      send_paranoid_instructions: If your account exists, you will receive an email with instructions for how to unlock it in a few minutes. Please check your spam folder if you didn't receive this email.
51
+      unlocked: Your account has been unlocked successfully. Please sign in to continue.
52
+  errors:
53
+    messages:
54
+      already_confirmed: was already confirmed, please try signing in
55
+      confirmation_period_expired: needs to be confirmed within %{period}, please request a new one
56
+      expired: has expired, please request a new one
57
+      not_found: not found
58
+      not_locked: was not locked
59
+      not_saved:
60
+        one: '1 error prohibited this %{resource} from being saved:'
61
+        other: "%{count} errors prohibited this %{resource} from being saved:"

+ 119
- 0
config/locales/doorkeeper.en-CY.yml View File

@@ -0,0 +1,119 @@
1
+---
2
+en-CY:
3
+  activerecord:
4
+    attributes:
5
+      doorkeeper/application:
6
+        name: Application name
7
+        redirect_uri: Redirect URI
8
+        scopes: Scopes
9
+        website: Application website
10
+    errors:
11
+      models:
12
+        doorkeeper/application:
13
+          attributes:
14
+            redirect_uri:
15
+              fragment_present: cannot contain a fragment.
16
+              invalid_uri: must be a valid URI.
17
+              relative_uri: must be an absolute URI.
18
+              secured_uri: must be an HTTPS/SSL URI.
19
+  doorkeeper:
20
+    applications:
21
+      buttons:
22
+        authorize: Authorize
23
+        cancel: Cancel
24
+        destroy: Destroy
25
+        edit: Edit
26
+        submit: Submit
27
+      confirmations:
28
+        destroy: Are you sure?
29
+      edit:
30
+        title: Edit application
31
+      form:
32
+        error: Whoops! Check your form for possible errors
33
+      help:
34
+        native_redirect_uri: Use %{native_redirect_uri} for local tests
35
+        redirect_uri: Use one line per URI
36
+        scopes: Separate scopes with spaces. Leave blank to use the default scopes.
37
+      index:
38
+        application: Application
39
+        callback_url: Callback URL
40
+        delete: Delete
41
+        name: Name
42
+        new: New application
43
+        scopes: Scopes
44
+        show: Show
45
+        title: Your applications
46
+      new:
47
+        title: New application
48
+      show:
49
+        actions: Actions
50
+        application_id: Client key
51
+        callback_urls: Callback URLs
52
+        scopes: Scopes
53
+        secret: Client secret
54
+        title: 'Application: %{name}'
55
+    authorizations:
56
+      buttons:
57
+        authorize: Authorize
58
+        deny: Deny
59
+      error:
60
+        title: An error has occurred
61
+      new:
62
+        able_to: It will be able to
63
+        prompt: Application %{client_name} requests access to your account
64
+        title: Authorization required
65
+      show:
66
+        title: Authorization code
67
+    authorized_applications:
68
+      buttons:
69
+        revoke: Revoke
70
+      confirmations:
71
+        revoke: Are you sure?
72
+      index:
73
+        application: Application
74
+        created_at: Authorized
75
+        date_format: "%Y-%m-%d %H:%M:%S"
76
+        scopes: Scopes
77
+        title: Your authorized applications
78
+    errors:
79
+      messages:
80
+        access_denied: The resource owner or authorization server denied the request.
81
+        credential_flow_not_configured: Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured.
82
+        invalid_client: Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method.
83
+        invalid_grant: The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.
84
+        invalid_redirect_uri: The redirect uri included is not valid.
85
+        invalid_request: The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed.
86
+        invalid_resource_owner: The provided resource owner credentials are not valid, or resource owner cannot be found
87
+        invalid_scope: The requested scope is invalid, unknown, or malformed.
88
+        invalid_token:
89
+          expired: The access token expired
90
+          revoked: The access token was revoked
91
+          unknown: The access token is invalid
92
+        resource_owner_authenticator_not_configured: Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfiged.
93
+        server_error: The authorization server encountered an unexpected condition which prevented it from fulfilling the request.
94
+        temporarily_unavailable: The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
95
+        unauthorized_client: The client is not authorized to perform this request using this method.
96
+        unsupported_grant_type: The authorization grant type is not supported by the authorization server.
97
+        unsupported_response_type: The authorization server does not support this response type.
98
+    flash:
99
+      applications:
100
+        create:
101
+          notice: Application created.
102
+        destroy:
103
+          notice: Application deleted.
104
+        update:
105
+          notice: Application updated.
106
+      authorized_applications:
107
+        destroy:
108
+          notice: Application revoked.
109
+    layouts:
110
+      admin:
111
+        nav:
112
+          applications: Applications
113
+          oauth2_provider: OAuth2 Provider
114
+      application:
115
+        title: OAuth authorization required
116
+    scopes:
117
+      follow: follow, block, unblock and unfollow accounts
118
+      read: read your account's data
119
+      write: post on your behalf

+ 561
- 0
config/locales/en-CY.yml View File

@@ -0,0 +1,561 @@
1
+---
2
+en-CY:
3
+  about:
4
+    about_mastodon_html: Cybrespace is an instance of Mastodon, a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.
5
+    about_this: About
6
+    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.
7
+    contact: Contact
8
+    contact_missing: Not set
9
+    contact_unavailable: N/A
10
+    description_headline: What is %{domain}?
11
+    domain_count_after: other instances
12
+    domain_count_before: Connected to
13
+    extended_description_html: |
14
+      <h3>A good place for rules</h3>
15
+      <p>The extended description has not been set up yet.</p>
16
+    features:
17
+      humane_approach_body: Learning from failures of other networks, Mastodon aims to make ethical design choices to combat the misuse of social media.
18
+      humane_approach_title: A more humane approach
19
+      not_a_product_body: Mastodon is not a commercial network. No advertising, no data mining, no walled gardens. There is no central authority.
20
+      not_a_product_title: You’re a person, not a product
21
+      real_conversation_body: With 512 characters at your disposal and support for granular content and media warnings, you can express yourself the way you want to.
22
+      real_conversation_title: Built for real conversation
23
+      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.
24
+      within_reach_title: Always within reach
25
+    find_another_instance: Find another instance
26
+    generic_description: "%{domain} is one server in the network"
27
+    hosted_on: Mastodon hosted on %{domain}
28
+    learn_more: Learn more
29
+    other_instances: Instance list
30
+    source_code: Source code
31
+    status_count_after: pings 
32
+    status_count_before: Who authored
33
+    user_count_after: users
34
+    user_count_before: Home to
35
+    what_is_mastodon: What is Mastodon?
36
+  accounts:
37
+    follow: Follow
38
+    followers: Followers
39
+    following: Following
40
+    media: Media
41
+    nothing_here: There is nothing here!
42
+    people_followed_by: People whom %{name} follows
43
+    people_who_follow: People who follow %{name}
44
+    posts: Pings
45
+    posts_with_replies: Pings with replies
46
+    remote_follow: Remote follow
47
+    reserved_username: The username is reserved
48
+    roles:
49
+      admin: Admin
50
+    unfollow: Unfollow
51
+  admin:
52
+    accounts:
53
+      are_you_sure: Are you sure?
54
+      confirm: Confirm
55
+      confirmed: Confirmed
56
+      disable_two_factor_authentication: Disable 2FA
57
+      display_name: Display name
58
+      domain: Domain
59
+      edit: Edit
60
+      email: E-mail
61
+      feed_url: Feed URL
62
+      followers: Followers
63
+      follows: Follows
64
+      inbox_url: Inbox URL
65
+      ip: IP
66
+      location:
67
+        all: All
68
+        local: Local
69
+        remote: Remote
70
+        title: Location
71
+      media_attachments: Media attachments
72
+      moderation:
73
+        all: All
74
+        silenced: Silenced
75
+        suspended: Suspended
76
+        title: Moderation
77
+      most_recent_activity: Most recent activity
78
+      most_recent_ip: Most recent IP
79
+      not_subscribed: Not subscribed
80
+      order:
81
+        alphabetic: Alphabetic
82
+        most_recent: Most recent
83
+        title: Order
84
+      outbox_url: Outbox URL
85
+      perform_full_suspension: Perform full suspension
86
+      profile_url: Profile URL
87
+      protocol: Protocol
88
+      public: Public
89
+      push_subscription_expires: PuSH subscription expires
90
+      redownload: Refresh avatar
91
+      reset: Reset
92
+      reset_password: Reset password
93
+      resubscribe: Resubscribe
94
+      salmon_url: Salmon URL
95
+      search: Search
96
+      show:
97
+        created_reports: Reports created by this account
98
+        report: report
99
+        targeted_reports: Reports made about this account
100
+      silence: Silence
101
+      statuses: Statuses
102
+      subscribe: Subscribe
103
+      title: Accounts
104
+      undo_silenced: Undo silence
105
+      undo_suspension: Undo suspension
106
+      unsubscribe: Unsubscribe
107
+      username: Username
108
+      web: Web
109
+    domain_blocks:
110
+      add_new: Add new
111
+      created_msg: Domain block is now being processed
112
+      destroyed_msg: Domain block has been undone
113
+      domain: Domain
114
+      new:
115
+        create: Create block
116
+        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.
117
+        severity:
118
+          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. Use <strong>None</strong> if you just want to reject media files."
119
+          noop: None
120
+          silence: Silence
121
+          suspend: Suspend
122
+        title: New domain block
123
+      reject_media: Reject media files
124
+      reject_media_hint: Removes locally stored media files and refuses to download any in the future. Irrelevant for suspensions
125
+      severities:
126
+        noop: None
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
+      bootstrap_timeline_accounts:
171
+        desc_html: Separate multiple usernames by comma. Only local and unlocked accounts will work. Default when empty is all local admins.
172
+        title: Default follows for new users
173
+      contact_information:
174
+        email: Business e-mail
175
+        username: Contact username
176
+      registrations:
177
+        closed_message:
178
+          desc_html: Displayed on frontpage when registrations are closed. You can use HTML tags
179
+          title: Closed registration message
180
+        deletion:
181
+          desc_html: Allow anyone to delete their account
182
+          title: Open account deletion
183
+        open:
184
+          desc_html: Allow anyone to create an account
185
+          title: Open registration
186
+      site_description:
187
+        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>.
188
+        title: Instance description
189
+      site_description_extended:
190
+        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
191
+        title: Custom extended information
192
+      site_terms:
193
+        desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
194
+        title: Custom terms of service
195
+      site_title: Instance name
196
+      timeline_preview:
197
+        desc_html: Display public timeline on landing page
198
+        title: Timeline preview
199
+      title: Site Settings
200
+    statuses:
201
+      back_to_account: Back to account page
202
+      batch:
203
+        delete: Delete
204
+        nsfw_off: NSFW OFF
205
+        nsfw_on: NSFW ON
206
+      execute: Execute
207
+      failed_to_execute: Failed to execute
208
+      media:
209
+        hide: Hide media
210
+        show: Show media
211
+        title: Media
212
+      no_media: No media
213
+      title: Account statuses
214
+      with_media: With media
215
+    subscriptions:
216
+      callback_url: Callback URL
217
+      confirmed: Confirmed
218
+      expires_in: Expires in
219
+      last_delivery: Last delivery
220
+      title: WebSub
221
+      topic: Topic
222
+    title: Administration
223
+  admin_mailer:
224
+    new_report:
225
+      body: "%{reporter} has reported %{target}"
226
+      subject: New report for %{instance} (#%{id})
227
+  application_mailer:
228
+    salutation: "%{name},"
229
+    settings: 'Change e-mail preferences: %{link}'
230
+    signature: Mastodon notifications from %{instance}
231
+    view: 'View:'
232
+  applications:
233
+    created: Application successfully created
234
+    destroyed: Application successfully deleted
235
+    invalid_url: The provided URL is invalid
236
+    regenerate_token: Regenerate access token
237
+    token_regenerated: Access token successfully regenerated
238
+    warning: Be very careful with this data. Never share it with anyone!
239
+    your_token: Your access token
240
+  auth:
241
+    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>.
242
+    change_password: Security
243
+    delete_account: Delete account
244
+    delete_account_html: If you wish to delete your account, you can <a href="%{path}">proceed here</a>. You will be asked for confirmation.
245
+    didnt_get_confirmation: Didn't receive confirmation instructions?
246
+    forgot_password: Forgot your password?
247
+    invalid_reset_password_token: Password reset token is invalid or expired. Please try again.
248
+    login: Jack in
249
+    logout: Jack out
250
+    register: Apply for upload
251
+    resend_confirmation: Resend confirmation instructions
252
+    reset_password: Reset password
253
+    set_new_password: Set new password
254
+  authorize_follow:
255
+    error: Unfortunately, there was an error looking up the remote account
256
+    follow: Follow
257
+    follow_request: 'You have sent a follow request to:'
258
+    following: 'Success! You are now following:'
259
+    post_follow:
260
+      close: Or, you can just close this window.
261
+      return: Return to the user's profile
262
+      web: Go to web
263
+    title: Follow %{acct}
264
+  datetime:
265
+    distance_in_words:
266
+      about_x_hours: "%{count}h"
267
+      about_x_months: "%{count}mo"
268
+      about_x_years: "%{count}y"
269
+      almost_x_years: "%{count}y"
270
+      half_a_minute: Just now
271
+      less_than_x_minutes: "%{count}m"
272
+      less_than_x_seconds: Just now
273
+      over_x_years: "%{count}y"
274
+      x_days: "%{count}d"
275
+      x_minutes: "%{count}m"
276
+      x_months: "%{count}mo"
277
+      x_seconds: "%{count}s"
278
+  deletes:
279
+    bad_password_msg: Nice try, hackers! Incorrect password
280
+    confirm_password: Enter your current password to verify your identity
281
+    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.
282
+    proceed: Delete account
283
+    success_msg: Your account was successfully deleted
284
+    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.
285
+    warning_title: Disseminated content availability
286
+  errors:
287
+    '403': You don't have permission to view this page.
288
+    '404': The page you were looking for doesn't exist.
289
+    '410': The page you were looking for doesn't exist anymore.
290
+    '422':
291
+      content: Security verification failed. Are you blocking cookies?
292
+      title: Security verification failed
293
+    '429': Throttled
294
+    noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md">native apps</a> for Mastodon for your platform.
295
+  exports:
296
+    blocks: You block
297
+    csv: CSV
298
+    follows: You follow
299
+    mutes: You mute
300
+    storage: Media storage
301
+  followers:
302
+    domain: Domain
303
+    explanation_html: If you want to ensure the privacy of your pings , you must be aware of who is following you. <strong>Your private pings 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.
304
+    followers_count: Number of followers
305
+    lock_link: Lock your account
306
+    purge: Remove from followers
307
+    success:
308
+      one: In the process of soft-blocking followers from one domain...
309
+      other: In the process of soft-blocking followers from %{count} domains...
310
+    true_privacy_html: Please mind that <strong>true privacy can only be achieved with end-to-end encryption</strong>.
311
+    unlocked_warning_html: Anyone can follow you to immediately view your private pings. %{lock_link} to be able to review and reject followers.
312
+    unlocked_warning_title: Your account is not locked
313
+  generic:
314
+    changes_saved_msg: Changes successfully saved!
315
+    powered_by: powered by %{link}
316
+    save_changes: Save changes
317
+    validation_errors:
318
+      one: Something isn't quite right yet! Please review the error below
319
+      other: Something isn't quite right yet! Please review %{count} errors below
320
+  imports:
321
+    preface: You can import data that you have exported from another instance, such as a list of the people you are following or blocking.
322
+    success: Your data was successfully uploaded and will now be processed in due time
323
+    types:
324
+      blocking: Blocking list
325
+      following: Following list
326
+      muting: Muting list
327
+    upload: Upload
328
+  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."
329
+  landing_strip_signup_html: If you don't, you can <a href="%{sign_up_path}">sign up here</a>.
330
+  media_attachments:
331
+    validations:
332
+      images_and_video: Cannot attach a video to a ping that already contains images
333
+      too_many: Cannot attach more than 4 files
334
+  notification_mailer:
335
+    digest:
336
+      body: 'Here is a brief summary of what you missed on %{instance} since your last visit on %{since}:'
337
+      mention: "%{name} mentioned you in:"
338
+      new_followers_summary:
339
+        one: You have acquired one new follower! Yay!
340
+        other: You have gotten %{count} new followers! Amazing!
341
+      subject:
342
+        one: "1 new notification since your last visit \U0001F418"
343
+        other: "%{count} new notifications since your last visit \U0001F418"
344
+    favourite:
345
+      body: 'Your ping was florped by %{name}:'
346
+      subject: "%{name} florped your ping"
347
+    follow:
348
+      body: "%{name} is now following you!"
349
+      subject: "%{name} is now following you"
350
+    follow_request:
351
+      body: "%{name} has requested to follow you"
352
+      subject: 'Pending follower: %{name}'
353
+    mention:
354
+      body: 'You were mentioned by %{name} in:'
355
+      subject: You were mentioned by %{name}
356
+    reblog:
357
+      body: 'Your ping was relayed by %{name}:'
358
+      subject: "%{name} relayed your ping"
359
+  number:
360
+    human:
361
+      decimal_units:
362
+        format: "%n%u"
363
+        units:
364
+          billion: B
365
+          million: M
366
+          quadrillion: Q
367
+          thousand: K
368
+          trillion: T
369
+          unit: ''
370
+  pagination:
371
+    next: Next
372
+    prev: Prev
373
+    truncate: "&hellip;"
374
+  push_notifications:
375
+    favourite:
376
+      title: "%{name} favourited your status"
377
+    follow:
378
+      title: "%{name} is now following you"
379
+    group:
380
+      title: "%{count} notifications"
381
+    mention:
382
+      action_boost: Boost
383
+      action_expand: Show more
384
+      action_favourite: Favourite
385
+      title: "%{name} mentioned you"
386
+    reblog:
387
+      title: "%{name} boosted your status"
388
+  remote_follow:
389
+    acct: Enter your username@domain you want to follow from
390
+    missing_resource: Could not find the required redirect URL for your account
391
+    proceed: Proceed to follow
392
+    prompt: 'You are going to follow:'
393
+  sessions:
394
+    activity: Last activity
395
+    browser: Browser
396
+    browsers:
397
+      alipay: Alipay
398
+      blackberry: Blackberry
399
+      chrome: Chrome
400
+      edge: Microsoft Edge
401
+      firefox: Firefox
402
+      generic: Unknown browser
403
+      ie: Internet Explorer
404
+      micro_messenger: MicroMessenger
405
+      nokia: Nokia S40 Ovi Browser
406
+      opera: Opera
407
+      phantom_js: PhantomJS
408
+      qq: QQ Browser
409
+      safari: Safari
410
+      uc_browser: UCBrowser
411
+      weibo: Weibo
412
+    current_session: Current session
413
+    description: "%{browser} on %{platform}"
414
+    explanation: These are the web browsers currently logged in to your cybre.space account.
415
+    ip: IP
416
+    platforms:
417
+      adobe_air: Adobe Air
418
+      android: Android
419
+      blackberry: Blackberry
420
+      chrome_os: ChromeOS
421
+      firefox_os: Firefox OS
422
+      ios: iOS
423
+      linux: Linux
424
+      mac: Mac
425
+      other: unknown platform
426
+      windows: Windows
427
+      windows_mobile: Windows Mobile
428
+      windows_phone: Windows Phone
429
+    revoke: Revoke
430
+    revoke_success: Session successfully revoked
431
+    title: Sessions
432
+  settings:
433
+    authorized_apps: Authorized apps
434
+    back: Back to Mastodon
435
+    delete: Account deletion
436
+    development: Development
437
+    edit_profile: edit ~/.profile
438
+    export: Data export
439
+    followers: Authorized followers
440
+    import: Import
441
+    preferences: Preferences
442
+    settings: Settings
443
+    two_factor_authentication: Two-factor Authentication
444
+    your_apps: Your applications
445
+  themes:
446
+    default: Cybrespace
447
+    mastodon: Mastodon
448
+    win95: Masto 95
449
+  statuses:
450
+    open_in_web: Open in web
451
+    over_character_limit: character limit of %{max} exceeded
452
+    pin_errors:
453
+      ownership: Someone else's toot cannot be pinned
454
+      private: Non-public toot cannot be pinned
455
+      reblog: A boost cannot be pinned
456
+    show_more: Show more
457
+    visibilities:
458
+      private: Followers-only
459
+      private_long: Only show to followers
460
+      public: Public
461
+      public_long: Everyone can see
462
+      unlisted: Unlisted
463
+      unlisted_long: Everyone can see, but not listed on public timelines
464
+  stream_entries:
465
+    click_to_show: Click to show
466
+    pinned: Pinned ping
467
+    reblogged: relayed
468
+    sensitive_content: Sensitive content
469
+  terms:
470
+    body_html: |
471
+      <h2>Privacy Policy</h2>
472
+
473
+      <h3 id="collect">What information do we collect?</h3>
474
+
475
+      <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>
476
+
477
+      <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>
478
+
479
+      <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>
480
+
481
+      <h3 id="use">What do we use your information for?</h3>
482
+
483
+      <p>Any of the information we collect from you may be used in one of the following ways:</p>
484
+
485
+      <ul>
486
+        <li>To personalize your experience &mdash; your information helps us to better respond to your individual needs.</li>
487
+        <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>
488
+        <li>To improve customer service &mdash; your information helps us to more effectively respond to your customer service requests and support needs.</li>
489
+        <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>
490
+      </ul>
491
+
492
+      <h3 id="protect">How do we protect your information?</h3>
493
+
494
+      <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>
495
+
496
+      <h3 id="data-retention">What is your data retention policy?</h3>
497
+
498
+      <p>We will make a good faith effort to:</p>
499
+
500
+      <ul>
501
+        <li>Retain server logs containing the IP address of all requests to this server no more than 90 days.</li>
502
+        <li>Retain the IP addresses associated with registered users and their posts no more than 5 years.</li>
503
+      </ul>
504
+
505
+      <h3 id="cookies">Do we use cookies?</h3>
506
+
507
+      <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>
508
+
509
+      <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>
510
+
511
+      <h3 id="disclose">Do we disclose any information to outside parties?</h3>
512
+
513
+      <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>
514
+
515
+      <h3 id="third-party">Third party links</h3>
516
+
517
+      <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>
518
+
519
+      <h3 id="coppa">Children's Online Privacy Protection Act Compliance</h3>
520
+
521
+      <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>
522
+
523
+      <h3 id="online">Online Privacy Policy Only</h3>
524
+
525
+      <p>This online privacy policy applies only to information collected through our site and not to information collected offline.</p>
526
+
527
+      <h3 id="consent">Your Consent</h3>
528
+
529
+      <p>By using our site, you consent to our web site privacy policy.</p>
530
+
531
+      <h3 id="changes">Changes to our Privacy Policy</h3>
532
+
533
+      <p>If we decide to change our privacy policy, we will post those changes on this page.</p>
534
+
535
+      <p>This document is CC-BY-SA. It was last updated May 31, 2013.</p>
536
+
537
+      <p>Originally adapted from the <a href="https://github.com/discourse/discourse">Discourse privacy policy</a>.</p>
538
+    title: "%{instance} Terms of Service and Privacy Policy"
539
+  time:
540
+    formats:
541
+      default: "%b %d, %Y, %H:%M"
542
+  two_factor_authentication:
543
+    code_hint: Enter the code generated by your authenticator app to confirm
544
+    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.
545
+    disable: Disable
546
+    enable: Enable
547
+    enabled: Two-factor authentication is enabled
548
+    enabled_success: Two-factor authentication successfully enabled
549
+    generate_recovery_codes: Generate recovery codes
550
+    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."
551
+    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.
552
+    manual_instructions: 'If you can''t scan the QR code and need to enter it manually, here is the plain-text secret:'
553
+    recovery_codes: Backup recovery codes
554
+    recovery_codes_regenerated: Recovery codes successfully regenerated
555
+    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.
556
+    setup: Set up
557
+    wrong_code: The entered code was invalid! Are server time and device time correct?
558
+  users:
559
+    invalid_email: The e-mail address is invalid
560
+    invalid_otp_token: Invalid two-factor code
561
+    signed_in_as: 'Signed in as:'

+ 66
- 0
config/locales/simple_form.en-CY.yml View File

@@ -0,0 +1,66 @@
1
+---
2
+en-CY:
3
+  simple_form:
4
+    hints:
5
+      defaults:
6
+        avatar: PNG, GIF or JPG. At most 2MB. Will be downscaled to 120x120px
7
+        display_name:
8
+          one: <span class="name-counter">1</span> character left
9
+          other: <span class="name-counter">%{count}</span> characters left
10
+        header: PNG, GIF or JPG. At most 2MB. Will be downscaled to 700x335px
11
+        locked: Requires you to manually approve followers and defaults ping privacy to followers-only
12
+        note:
13
+          one: <span class="note-counter">1</span> character left
14
+          other: <span class="note-counter">%{count}</span> characters left
15
+        setting_noindex: Affects your public profile and status pages
16
+        setting_theme: Affects how Mastodon looks when you're logged in from any device.
17
+      imports:
18
+        data: CSV file exported from another Mastodon instance
19
+      sessions:
20
+        otp: Enter the Two-factor code from your phone or use one of your recovery codes.
21
+      user:
22
+        filtered_languages: Selected languages will be removed from your public timelines.
23
+    labels:
24
+      defaults:
25
+        avatar: Avatar
26
+        confirm_new_password: Confirm new password
27
+        confirm_password: Confirm password
28
+        current_password: Current password
29
+        data: Data
30
+        display_name: Display name
31
+        email: E-mail address
32
+        filtered_languages: Filtered languages
33
+        header: Header
34
+        locale: Language
35
+        locked: Lock account
36
+        new_password: New password
37
+        note: Bio
38
+        otp_attempt: Two-factor code
39
+        password: Password
40
+        setting_auto_play_gif: Auto-play animated GIFs
41
+        setting_boost_modal: Show confirmation dialog before boosting
42
+        setting_default_privacy: Post privacy
43
+        setting_default_sensitive: Always mark media as sensitive
44
+        setting_delete_modal: Show confirmation dialog before deleting a ping
45
+        setting_noindex: Opt-out of search engine indexing
46
+        setting_system_font_ui: Use a heuristic-based approximation of what Mastodon thinks your system font might be
47
+        setting_unfollow_modal: Show confirmation dialog before unfollowing someone
48
+        setting_theme: Site theme 
49
+        severity: Severity
50
+        type: Import type
51
+        username: Username
52
+      interactions:
53
+        must_be_follower: Block notifications from non-followers
54
+        must_be_following: Block notifications from people you don't follow
55
+      notification_emails:
56
+        digest: Send digest e-mails
57
+        favourite: Send e-mail when someone florps your ping
58
+        follow: Send e-mail when someone follows you
59
+        follow_request: Send e-mail when someone requests to follow you
60
+        mention: Send e-mail when someone mentions you
61
+        reblog: Send e-mail when someone boosts your ping
62
+    'no': 'No'
63
+    required:
64
+      mark: "*"
65
+      text: required
66
+    'yes': 'Yes'

+ 17
- 0
db/migrate/20171026200500_en_to_en_cy.rb View File

@@ -0,0 +1,17 @@
1
+class EnToEnCy < ActiveRecord::Migration[5.1]
2
+  def up
3
+    User.find_each do |user|
4
+      if user.locale == 'en'
5
+        user.update(locale: 'en-CY')
6
+      end
7
+    end
8
+  end
9
+
10
+  def down
11
+    User.find_each do |user|
12
+      if user.locale == 'en-CY'
13
+        user.update(locale: 'en')
14
+      end
15
+    end
16
+  end
17
+end