afalkear_translation_center 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +293 -0
- data/Rakefile +40 -0
- data/app/assets/images/translation_center/badr_it.png +0 -0
- data/app/assets/images/translation_center/loading.gif +0 -0
- data/app/assets/images/translation_center/translation_center_logo.png +0 -0
- data/app/assets/javascripts/translation_center/application.js +75 -0
- data/app/assets/javascripts/translation_center/bootstrap.js +2025 -0
- data/app/assets/javascripts/translation_center/categories.js +18 -0
- data/app/assets/javascripts/translation_center/center.js +55 -0
- data/app/assets/javascripts/translation_center/inspector.js.erb +59 -0
- data/app/assets/javascripts/translation_center/jquery-ui.js +14912 -0
- data/app/assets/javascripts/translation_center/jquery.jeditable.mini.js +38 -0
- data/app/assets/javascripts/translation_center/routes.js +15 -0
- data/app/assets/javascripts/translation_center/spin.min.js +1 -0
- data/app/assets/javascripts/translation_center/translation_keys.js +31 -0
- data/app/assets/javascripts/translation_center/translations.js +245 -0
- data/app/assets/stylesheets/translation_center/application.css +49 -0
- data/app/assets/stylesheets/translation_center/bootstrap.css +5894 -0
- data/app/assets/stylesheets/translation_center/categories.css +29 -0
- data/app/assets/stylesheets/translation_center/center.css +28 -0
- data/app/assets/stylesheets/translation_center/inspector.css +110 -0
- data/app/assets/stylesheets/translation_center/translation_keys.css +48 -0
- data/app/assets/stylesheets/translation_center/translations.css +32 -0
- data/app/controllers/translation_center/application_controller.rb +42 -0
- data/app/controllers/translation_center/categories_controller.rb +61 -0
- data/app/controllers/translation_center/center_controller.rb +67 -0
- data/app/controllers/translation_center/translation_keys_controller.rb +93 -0
- data/app/controllers/translation_center/translations_controller.rb +78 -0
- data/app/helpers/translation_center/application_helper.rb +58 -0
- data/app/helpers/translation_center/categories_helper.rb +4 -0
- data/app/helpers/translation_center/center_helper.rb +19 -0
- data/app/helpers/translation_center/translation_keys_helper.rb +4 -0
- data/app/helpers/translation_center/translations_helper.rb +4 -0
- data/app/models/translation_center/activity_query.rb +46 -0
- data/app/models/translation_center/category.rb +46 -0
- data/app/models/translation_center/translation.rb +94 -0
- data/app/models/translation_center/translation_key.rb +188 -0
- data/app/views/layouts/translation_center/application.html.haml +82 -0
- data/app/views/translation_center/categories/_category.html.haml +11 -0
- data/app/views/translation_center/categories/index.html.haml +7 -0
- data/app/views/translation_center/categories/keys.js.haml +10 -0
- data/app/views/translation_center/categories/show.html.haml +32 -0
- data/app/views/translation_center/categories/show.js.haml +7 -0
- data/app/views/translation_center/center/_activity.html.haml +49 -0
- data/app/views/translation_center/center/dashboard.html.haml +102 -0
- data/app/views/translation_center/center/manage.js.haml +3 -0
- data/app/views/translation_center/center/search_activity.js.haml +1 -0
- data/app/views/translation_center/errors/exception.html.haml +50 -0
- data/app/views/translation_center/translation_keys/_form.html.haml +18 -0
- data/app/views/translation_center/translation_keys/_show.html.haml +27 -0
- data/app/views/translation_center/translation_keys/_show_keys.html.haml +25 -0
- data/app/views/translation_center/translation_keys/_translation_keys.html.haml +16 -0
- data/app/views/translation_center/translation_keys/destroy.js.haml +4 -0
- data/app/views/translation_center/translation_keys/show.html.haml +8 -0
- data/app/views/translation_center/translation_keys/translations.js.haml +3 -0
- data/app/views/translation_center/translations/_accept_translation.html.haml +6 -0
- data/app/views/translation_center/translations/_index.html.haml +9 -0
- data/app/views/translation_center/translations/_search_results.html.haml +30 -0
- data/app/views/translation_center/translations/_show.html.haml +35 -0
- data/app/views/translation_center/translations/accept.js.haml +18 -0
- data/app/views/translation_center/translations/destroy.js.haml +11 -0
- data/app/views/translation_center/translations/search.html.haml +2 -0
- data/app/views/translation_center/translations/search.js.haml +1 -0
- data/app/views/translation_center/translations/unaccept.js.haml +9 -0
- data/app/views/translation_center/translations/unvote.js.haml +1 -0
- data/app/views/translation_center/translations/vote.js.haml +1 -0
- data/config/routes.rb +34 -0
- data/lib/afalkear_translation_center.rb +12 -0
- data/lib/generators/translation_center/USAGE +6 -0
- data/lib/generators/translation_center/add_lang/add_lang_generator.rb +31 -0
- data/lib/generators/translation_center/add_lang/templates/migrations/add_lang_status_translation_keys.rb +5 -0
- data/lib/generators/translation_center/install/install_generator.rb +38 -0
- data/lib/generators/translation_center/install/templates/assets/translation_center_logo.png +0 -0
- data/lib/generators/translation_center/install/templates/config/translation_center.yml +55 -0
- data/lib/generators/translation_center/install/templates/migrations/create_translation_center_categories.rb +9 -0
- data/lib/generators/translation_center/install/templates/migrations/create_translation_center_translation_keys.rb +16 -0
- data/lib/generators/translation_center/install/templates/migrations/create_translation_center_translations.rb +32 -0
- data/lib/tasks/translation_center.rake +56 -0
- data/lib/translation_center/acts_as_translator.rb +22 -0
- data/lib/translation_center/engine.rb +15 -0
- data/lib/translation_center/locale/en.yml +75 -0
- data/lib/translation_center/translation_helpers.rb +133 -0
- data/lib/translation_center/translations_transfer.rb +131 -0
- data/lib/translation_center/version.rb +3 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/images/translation_center_logo.png +0 -0
- data/test/dummy/app/assets/javascripts/application.js +16 -0
- data/test/dummy/app/assets/javascripts/articles.js +2 -0
- data/test/dummy/app/assets/stylesheets/application.css +14 -0
- data/test/dummy/app/assets/stylesheets/articles.css +4 -0
- data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
- data/test/dummy/app/controllers/application_controller.rb +6 -0
- data/test/dummy/app/controllers/articles_controller.rb +85 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/helpers/articles_helper.rb +2 -0
- data/test/dummy/app/models/article.rb +7 -0
- data/test/dummy/app/models/user.rb +16 -0
- data/test/dummy/app/views/articles/_form.html.haml +16 -0
- data/test/dummy/app/views/articles/edit.html.haml +7 -0
- data/test/dummy/app/views/articles/index.html.haml +32 -0
- data/test/dummy/app/views/articles/new.html.haml +5 -0
- data/test/dummy/app/views/articles/show.html.haml +14 -0
- data/test/dummy/app/views/layouts/application.html.erb +15 -0
- data/test/dummy/config/application.rb +60 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +42 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/devise.rb +240 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/ar.yml +6 -0
- data/test/dummy/config/locales/de.yml +2 -0
- data/test/dummy/config/locales/devise.en.yml +59 -0
- data/test/dummy/config/locales/en.yml +361 -0
- data/test/dummy/config/routes.rb +10 -0
- data/test/dummy/config/translation_center.yml +58 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/migrate/20130410082611_devise_create_users.rb +46 -0
- data/test/dummy/db/migrate/20130410082701_create_articles.rb +10 -0
- data/test/dummy/db/migrate/20130410084711234392_create_translation_center_categories.rb +9 -0
- data/test/dummy/db/migrate/20130410084711235054_create_translation_center_translation_keys.rb +14 -0
- data/test/dummy/db/migrate/20130410084711235601_create_translation_center_translations.rb +13 -0
- data/test/dummy/db/migrate/20130410084711235602_install_audited.rb +28 -0
- data/test/dummy/db/migrate/20130410084711_acts_as_votable_migration.rb +23 -0
- data/test/dummy/db/migrate/20130410113111070575_add_de_status_translation_center_translation_keys.rb +5 -0
- data/test/dummy/db/migrate/20130417134539377014_add_ar_status_translation_center_translation_keys.rb +5 -0
- data/test/dummy/db/migrate/20130506103956_fix_translation_user_relation.rb +12 -0
- data/test/dummy/db/migrate/20130801102022_add_indicies.rb +8 -0
- data/test/dummy/db/schema.rb +110 -0
- data/test/dummy/log/test.log +0 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/spec/spec_helper.rb +38 -0
- data/test/dummy/test/fixtures/articles.yml +9 -0
- data/test/dummy/test/fixtures/posts.yml +9 -0
- data/test/dummy/test/fixtures/users.yml +11 -0
- data/test/dummy/test/functional/articles_controller_test.rb +49 -0
- data/test/dummy/test/functional/posts_controller_test.rb +49 -0
- data/test/dummy/test/unit/article_test.rb +7 -0
- data/test/dummy/test/unit/helpers/articles_helper_test.rb +4 -0
- data/test/dummy/test/unit/helpers/posts_helper_test.rb +4 -0
- data/test/dummy/test/unit/post_test.rb +7 -0
- data/test/dummy/test/unit/user_test.rb +7 -0
- data/test/fixtures/translation_center/categories.yml +7 -0
- data/test/fixtures/translation_center/translation_keys.yml +11 -0
- data/test/fixtures/translation_center/translations.yml +15 -0
- data/test/functional/translation_center/categories_controller_test.rb +51 -0
- data/test/functional/translation_center/center_controller_test.rb +9 -0
- data/test/functional/translation_center/translation_keys_controller_test.rb +51 -0
- data/test/functional/translation_center/translations_controller_test.rb +51 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/test_helper.rb +15 -0
- data/test/translation_center_test.rb +7 -0
- data/test/unit/helpers/translation_center/categories_helper_test.rb +6 -0
- data/test/unit/helpers/translation_center/center_helper_test.rb +6 -0
- data/test/unit/helpers/translation_center/translation_keys_helper_test.rb +6 -0
- data/test/unit/helpers/translation_center/translations_helper_test.rb +6 -0
- data/test/unit/translation_center/category_test.rb +9 -0
- data/test/unit/translation_center/translation_key_test.rb +9 -0
- data/test/unit/translation_center/translation_test.rb +9 -0
- metadata +418 -0
@@ -0,0 +1,361 @@
|
|
1
|
+
---
|
2
|
+
en:
|
3
|
+
activerecord:
|
4
|
+
errors:
|
5
|
+
messages:
|
6
|
+
record_invalid: "Validation failed: %{errors}"
|
7
|
+
taken: "has already been taken"
|
8
|
+
articles:
|
9
|
+
index:
|
10
|
+
content: Content
|
11
|
+
name: Name
|
12
|
+
title: Title
|
13
|
+
date:
|
14
|
+
abbr_day_names:
|
15
|
+
- Sun
|
16
|
+
- Mon
|
17
|
+
- Tue
|
18
|
+
- Wed
|
19
|
+
- Thu
|
20
|
+
- Fri
|
21
|
+
- Sat
|
22
|
+
abbr_month_names:
|
23
|
+
- ~
|
24
|
+
- Jan
|
25
|
+
- Feb
|
26
|
+
- Mar
|
27
|
+
- Apr
|
28
|
+
- May
|
29
|
+
- Jun
|
30
|
+
- Jul
|
31
|
+
- Aug
|
32
|
+
- Sep
|
33
|
+
- Oct
|
34
|
+
- Nov
|
35
|
+
- Dec
|
36
|
+
day_names:
|
37
|
+
- Sunday
|
38
|
+
- Monday
|
39
|
+
- Tuesday
|
40
|
+
- Wednesday
|
41
|
+
- Thursday
|
42
|
+
- Friday
|
43
|
+
- Saturday
|
44
|
+
formats:
|
45
|
+
default: "%Y-%m-%d"
|
46
|
+
long: "%B %d, %Y"
|
47
|
+
short: "%b %d"
|
48
|
+
month_names:
|
49
|
+
- ~
|
50
|
+
- January
|
51
|
+
- February
|
52
|
+
- March
|
53
|
+
- April
|
54
|
+
- May
|
55
|
+
- June
|
56
|
+
- July
|
57
|
+
- August
|
58
|
+
- September
|
59
|
+
- October
|
60
|
+
- November
|
61
|
+
- December
|
62
|
+
order:
|
63
|
+
- !ruby/symbol year
|
64
|
+
- !ruby/symbol month
|
65
|
+
- !ruby/symbol day
|
66
|
+
datetime:
|
67
|
+
distance_in_words:
|
68
|
+
about_x_hours:
|
69
|
+
one: "about 1 hour"
|
70
|
+
other: "about %{count} hours"
|
71
|
+
about_x_months:
|
72
|
+
one: "about 1 month"
|
73
|
+
other: "about %{count} months"
|
74
|
+
about_x_years:
|
75
|
+
one: "about 1 year"
|
76
|
+
other: "about %{count} years"
|
77
|
+
almost_x_years:
|
78
|
+
one: "almost 1 year"
|
79
|
+
other: "almost %{count} years"
|
80
|
+
half_a_minute: "half a minute"
|
81
|
+
less_than_x_minutes:
|
82
|
+
one: "less than a minute"
|
83
|
+
other: "less than %{count} minutes"
|
84
|
+
less_than_x_seconds:
|
85
|
+
one: "less than 1 second"
|
86
|
+
other: "less than %{count} seconds"
|
87
|
+
over_x_years:
|
88
|
+
one: "over 1 year"
|
89
|
+
other: "over %{count} years"
|
90
|
+
x_days:
|
91
|
+
one: "1 day"
|
92
|
+
other: "%{count} days"
|
93
|
+
x_minutes:
|
94
|
+
one: "1 minute"
|
95
|
+
other: "%{count} minutes"
|
96
|
+
x_months:
|
97
|
+
one: "1 month"
|
98
|
+
other: "%{count} months"
|
99
|
+
x_seconds:
|
100
|
+
one: "1 second"
|
101
|
+
other: "%{count} seconds"
|
102
|
+
prompts:
|
103
|
+
day: Day
|
104
|
+
hour: Hour
|
105
|
+
minute: Minute
|
106
|
+
month: Month
|
107
|
+
second: Seconds
|
108
|
+
year: Year
|
109
|
+
devise:
|
110
|
+
confirmations:
|
111
|
+
confirmed: "Your account was successfully confirmed. You are now signed in."
|
112
|
+
send_instructions: "You will receive an email with instructions about how to confirm your account in a few minutes."
|
113
|
+
send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions about how to confirm your account in a few minutes."
|
114
|
+
failure:
|
115
|
+
already_authenticated: "You are already signed in."
|
116
|
+
inactive: "Your account was not activated yet."
|
117
|
+
invalid: "Invalid email or password."
|
118
|
+
invalid_token: "Invalid authentication token."
|
119
|
+
locked: "Your account is locked."
|
120
|
+
not_found_in_database: "Invalid email or password."
|
121
|
+
timeout: "Your session expired, please sign in again to continue."
|
122
|
+
unauthenticated: "You need to sign in or sign up before continuing."
|
123
|
+
unconfirmed: "You have to confirm your account before continuing."
|
124
|
+
mailer:
|
125
|
+
confirmation_instructions:
|
126
|
+
subject: "Confirmation instructions"
|
127
|
+
reset_password_instructions:
|
128
|
+
subject: "Reset password instructions"
|
129
|
+
unlock_instructions:
|
130
|
+
subject: "Unlock Instructions"
|
131
|
+
omniauth_callbacks:
|
132
|
+
failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
|
133
|
+
success: "Successfully authenticated from %{kind} account."
|
134
|
+
passwords:
|
135
|
+
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."
|
136
|
+
send_instructions: "You will receive an email with instructions about how to reset your password in a few minutes."
|
137
|
+
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."
|
138
|
+
updated: "Your password was changed successfully. You are now signed in."
|
139
|
+
updated_not_active: "Your password was changed successfully."
|
140
|
+
registrations:
|
141
|
+
destroyed: "Bye! Your account was successfully cancelled. We hope to see you again soon."
|
142
|
+
signed_up: "Welcome! You have signed up successfully."
|
143
|
+
signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
|
144
|
+
signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
|
145
|
+
signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please open the link to activate your account."
|
146
|
+
update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and click on the confirm link to finalize confirming your new email address."
|
147
|
+
updated: "You updated your account successfully."
|
148
|
+
sessions:
|
149
|
+
signed_in: "Signed in successfully."
|
150
|
+
signed_out: "Signed out successfully."
|
151
|
+
unlocks:
|
152
|
+
send_instructions: "You will receive an email with instructions about how to unlock your account in a few minutes."
|
153
|
+
send_paranoid_instructions: "If your account exists, you will receive an email with instructions about how to unlock it in a few minutes."
|
154
|
+
unlocked: "Your account has been unlocked successfully. Please sign in to continue."
|
155
|
+
errors:
|
156
|
+
format: "%{attribute} %{message}"
|
157
|
+
messages:
|
158
|
+
accepted: "must be accepted"
|
159
|
+
already_confirmed: "was already confirmed, please try signing in"
|
160
|
+
blank: "can't be blank"
|
161
|
+
confirmation: "doesn't match confirmation"
|
162
|
+
confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
|
163
|
+
empty: "can't be empty"
|
164
|
+
equal_to: "must be equal to %{count}"
|
165
|
+
even: "must be even"
|
166
|
+
exclusion: "is reserved"
|
167
|
+
expired: "has expired, please request a new one"
|
168
|
+
greater_than: "must be greater than %{count}"
|
169
|
+
greater_than_or_equal_to: "must be greater than or equal to %{count}"
|
170
|
+
inclusion: "is not included in the list"
|
171
|
+
invalid: "is invalid"
|
172
|
+
less_than: "must be less than %{count}"
|
173
|
+
less_than_or_equal_to: "must be less than or equal to %{count}"
|
174
|
+
not_a_number: "is not a number"
|
175
|
+
not_an_integer: "must be an integer"
|
176
|
+
not_found: "not found"
|
177
|
+
not_locked: "was not locked"
|
178
|
+
not_saved:
|
179
|
+
one: "1 error prohibited this %{resource} from being saved:"
|
180
|
+
other: "%{count} errors prohibited this %{resource} from being saved:"
|
181
|
+
odd: "must be odd"
|
182
|
+
too_long: "is too long (maximum is %{count} characters)"
|
183
|
+
too_short: "is too short (minimum is %{count} characters)"
|
184
|
+
wrong_length: "is the wrong length (should be %{count} characters)"
|
185
|
+
helpers:
|
186
|
+
button:
|
187
|
+
create: "Create %{model}"
|
188
|
+
submit: "Save %{model}"
|
189
|
+
update: "Update %{model}"
|
190
|
+
select:
|
191
|
+
prompt: "Please select"
|
192
|
+
submit:
|
193
|
+
create: "Create %{model}"
|
194
|
+
submit: "Save %{model}"
|
195
|
+
update: "Update %{model}"
|
196
|
+
meta_search:
|
197
|
+
or: or
|
198
|
+
predicates:
|
199
|
+
contains: "%{attribute} contains"
|
200
|
+
does_not_contain: "%{attribute} doesn't contain"
|
201
|
+
does_not_end_with: "%{attribute} doesn't end with"
|
202
|
+
does_not_equal: "%{attribute} doesn't equal"
|
203
|
+
does_not_start_with: "%{attribute} doesn't start with"
|
204
|
+
ends_with: "%{attribute} ends with"
|
205
|
+
equals: "%{attribute} equals"
|
206
|
+
greater_than: "%{attribute} greater than"
|
207
|
+
greater_than_or_equal_to: "%{attribute} greater than or equal to"
|
208
|
+
in: "%{attribute} is one of"
|
209
|
+
is_blank: "%{attribute} is blank"
|
210
|
+
is_false: "%{attribute} is false"
|
211
|
+
is_not_null: "%{attribute} isn't null"
|
212
|
+
is_null: "%{attribute} is null"
|
213
|
+
is_present: "%{attribute} is present"
|
214
|
+
is_true: "%{attribute} is true"
|
215
|
+
less_than: "%{attribute} less than"
|
216
|
+
less_than_or_equal_to: "%{attribute} less than or equal to"
|
217
|
+
not_in: "%{attribute} isn't one of"
|
218
|
+
starts_with: "%{attribute} starts with"
|
219
|
+
number:
|
220
|
+
currency:
|
221
|
+
format:
|
222
|
+
delimiter: ","
|
223
|
+
format: "%u%n"
|
224
|
+
negative_format: "-%u%n"
|
225
|
+
precision: 2
|
226
|
+
separator: "."
|
227
|
+
unit: $
|
228
|
+
format:
|
229
|
+
delimiter: ","
|
230
|
+
precision: 3
|
231
|
+
separator: "."
|
232
|
+
human:
|
233
|
+
decimal_units:
|
234
|
+
format: "%n %u"
|
235
|
+
units:
|
236
|
+
billion: Billion
|
237
|
+
million: Million
|
238
|
+
quadrillion: Quadrillion
|
239
|
+
thousand: Thousand
|
240
|
+
trillion: Trillion
|
241
|
+
format:
|
242
|
+
precision: 3
|
243
|
+
significant: true
|
244
|
+
strip_insignificant_zeros: true
|
245
|
+
storage_units:
|
246
|
+
format: "%n %u"
|
247
|
+
units:
|
248
|
+
byte:
|
249
|
+
one: Byte
|
250
|
+
other: Bytes
|
251
|
+
gb: GB
|
252
|
+
kb: KB
|
253
|
+
mb: MB
|
254
|
+
tb: TB
|
255
|
+
pagination:
|
256
|
+
first: First
|
257
|
+
last: Last
|
258
|
+
next: Next
|
259
|
+
prev: Prev
|
260
|
+
support:
|
261
|
+
array:
|
262
|
+
last_word_connector: ", and "
|
263
|
+
two_words_connector: " and "
|
264
|
+
words_connector: ", "
|
265
|
+
time:
|
266
|
+
am: am
|
267
|
+
formats:
|
268
|
+
default: "%a, %d %b %Y %H:%M:%S %z"
|
269
|
+
long: "%B %d, %Y %H:%M"
|
270
|
+
short: "%d %b %H:%M"
|
271
|
+
pm: pm
|
272
|
+
translation_center:
|
273
|
+
actions:
|
274
|
+
are_you_sure: "Are you sure ?"
|
275
|
+
back_to_app: "Back To App"
|
276
|
+
categories:
|
277
|
+
category:
|
278
|
+
complete: Complete
|
279
|
+
keys: Keys
|
280
|
+
index:
|
281
|
+
categories: Categories
|
282
|
+
show:
|
283
|
+
all: All
|
284
|
+
pending: Pending
|
285
|
+
translated: Translated
|
286
|
+
untranslated: Untranslated
|
287
|
+
center:
|
288
|
+
activity:
|
289
|
+
ago: ago
|
290
|
+
changes: Changes
|
291
|
+
key: Key
|
292
|
+
locale: Locale
|
293
|
+
of: Of
|
294
|
+
time: Time
|
295
|
+
user: User
|
296
|
+
dashboard:
|
297
|
+
activity: Activity
|
298
|
+
all: All
|
299
|
+
controls: Controls
|
300
|
+
dashboard: Dashboard
|
301
|
+
language: Language
|
302
|
+
pending: Pending
|
303
|
+
progress: Progress
|
304
|
+
reset: Reset
|
305
|
+
search: Search
|
306
|
+
select_locale: "Select Locale"
|
307
|
+
these_actions_will_affect_existing_data: "These actions will affect existing data"
|
308
|
+
translated: Translated
|
309
|
+
untranslated: Untranslated
|
310
|
+
pagination_links:
|
311
|
+
of: Of
|
312
|
+
search:
|
313
|
+
title: "Keys with translations that contain '%{value}'"
|
314
|
+
dashboard: Dashboard
|
315
|
+
pagination:
|
316
|
+
first: First
|
317
|
+
last: Last
|
318
|
+
next: Next
|
319
|
+
prev: Prev.
|
320
|
+
search_keys: Keys
|
321
|
+
search_translations: Translations
|
322
|
+
translate_to: "Translate To"
|
323
|
+
translation_center: "Translation Center"
|
324
|
+
translation_keys:
|
325
|
+
destroyed_successfully: "Destroyed Successfully"
|
326
|
+
show:
|
327
|
+
add_edit_translation: "Add/Edit Translation"
|
328
|
+
back_to_category: "Back to"
|
329
|
+
destroy: Destroy
|
330
|
+
translations: Translations
|
331
|
+
show_keys:
|
332
|
+
created_on: "created on"
|
333
|
+
translated: Translated
|
334
|
+
translation_keys:
|
335
|
+
no_translation_keys: "No Translation Keys"
|
336
|
+
translations:
|
337
|
+
accept_translation:
|
338
|
+
unaccept: Unaccept
|
339
|
+
index:
|
340
|
+
date: Date
|
341
|
+
sort_by: "Sort by"
|
342
|
+
votes: Votes
|
343
|
+
votings: Votes
|
344
|
+
search:
|
345
|
+
first: First
|
346
|
+
last: Last
|
347
|
+
next: Next
|
348
|
+
of: Of
|
349
|
+
prev: Prev
|
350
|
+
search_results:
|
351
|
+
first: First
|
352
|
+
last: Last
|
353
|
+
next: Next
|
354
|
+
of: Of
|
355
|
+
prev: Prev
|
356
|
+
show:
|
357
|
+
by: by
|
358
|
+
on_date: "on"
|
359
|
+
vote: Vote
|
360
|
+
votings: Votes
|
361
|
+
you: You
|
@@ -0,0 +1,58 @@
|
|
1
|
+
common_atts: &common_atts
|
2
|
+
# what language to support and their display names
|
3
|
+
lang:
|
4
|
+
en:
|
5
|
+
name: 'English'
|
6
|
+
direction: 'ltr'
|
7
|
+
de:
|
8
|
+
name: 'Deutch'
|
9
|
+
direction: 'ltr'
|
10
|
+
ar:
|
11
|
+
name: 'Arabic'
|
12
|
+
direction: 'rtl'
|
13
|
+
|
14
|
+
# yaml imported translations created by translator email, usually User email
|
15
|
+
yaml_translator_identifier: 'khaled@badrit.com'
|
16
|
+
|
17
|
+
# when import translation from yaml to db set it to accepted by default
|
18
|
+
yaml2db_translations_accepted: true # default is false
|
19
|
+
|
20
|
+
# when admins add/edit translations they are considered accepted directly
|
21
|
+
accept_admin_translations: true
|
22
|
+
|
23
|
+
# identifier_type: 'email' # Uncomment and change the identifier if your User model has no email attribute
|
24
|
+
# translator_type: 'User' # Uncomment and change if you want to change the translator type
|
25
|
+
|
26
|
+
development:
|
27
|
+
enabled: true # default false
|
28
|
+
|
29
|
+
# Keys inspector allowed values:
|
30
|
+
# "missing" to inspect only untranslated keys
|
31
|
+
# "all" to enable inspector for translated and untranslated keys
|
32
|
+
# "off" to turn off keys inspector
|
33
|
+
inspector: 'all' # default missing
|
34
|
+
|
35
|
+
# I18n.translate source
|
36
|
+
i18n_source: 'yaml' # can be db or yaml; default is db
|
37
|
+
|
38
|
+
# when a new key is added to db, the value of the key is added as the default translation in English
|
39
|
+
save_default_translation: true
|
40
|
+
|
41
|
+
<<: *common_atts
|
42
|
+
|
43
|
+
production:
|
44
|
+
enabled: true # default false
|
45
|
+
|
46
|
+
# Keys inspector allowed values:
|
47
|
+
# "missing" to inspect only untranslated keys
|
48
|
+
# "all" to enable inspector for translated and untranslated keys
|
49
|
+
# "off" to turn off keys inspector
|
50
|
+
inspector: 'off' # default missing
|
51
|
+
|
52
|
+
# I18n.translate source
|
53
|
+
i18n_source: 'yaml' # can be db or yaml; default is yaml
|
54
|
+
|
55
|
+
# when a new key is added to db, the value of the key is added as the default translation in English
|
56
|
+
save_default_translation: false
|
57
|
+
|
58
|
+
<<: *common_atts
|
@@ -0,0 +1,46 @@
|
|
1
|
+
class DeviseCreateUsers < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table(:users) do |t|
|
4
|
+
## Database authenticatable
|
5
|
+
t.string :email, :null => false, :default => ""
|
6
|
+
t.string :encrypted_password, :null => false, :default => ""
|
7
|
+
|
8
|
+
## Recoverable
|
9
|
+
t.string :reset_password_token
|
10
|
+
t.datetime :reset_password_sent_at
|
11
|
+
|
12
|
+
## Rememberable
|
13
|
+
t.datetime :remember_created_at
|
14
|
+
|
15
|
+
## Trackable
|
16
|
+
t.integer :sign_in_count, :default => 0
|
17
|
+
t.datetime :current_sign_in_at
|
18
|
+
t.datetime :last_sign_in_at
|
19
|
+
t.string :current_sign_in_ip
|
20
|
+
t.string :last_sign_in_ip
|
21
|
+
|
22
|
+
## Confirmable
|
23
|
+
# t.string :confirmation_token
|
24
|
+
# t.datetime :confirmed_at
|
25
|
+
# t.datetime :confirmation_sent_at
|
26
|
+
# t.string :unconfirmed_email # Only if using reconfirmable
|
27
|
+
|
28
|
+
## Lockable
|
29
|
+
# t.integer :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
|
30
|
+
# t.string :unlock_token # Only if unlock strategy is :email or :both
|
31
|
+
# t.datetime :locked_at
|
32
|
+
|
33
|
+
## Token authenticatable
|
34
|
+
# t.string :authentication_token
|
35
|
+
|
36
|
+
|
37
|
+
t.timestamps
|
38
|
+
end
|
39
|
+
|
40
|
+
add_index :users, :email, :unique => true
|
41
|
+
add_index :users, :reset_password_token, :unique => true
|
42
|
+
# add_index :users, :confirmation_token, :unique => true
|
43
|
+
# add_index :users, :unlock_token, :unique => true
|
44
|
+
# add_index :users, :authentication_token, :unique => true
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class CreateTranslationCenterTranslationKeys < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :translation_center_translation_keys do |t|
|
4
|
+
t.string :name
|
5
|
+
t.integer :category_id
|
6
|
+
t.datetime :last_accessed
|
7
|
+
|
8
|
+
t.string :en_status, default: 'untranslated'
|
9
|
+
|
10
|
+
|
11
|
+
t.timestamps
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateTranslationCenterTranslations < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :translation_center_translations do |t|
|
4
|
+
t.integer :translation_key_id
|
5
|
+
t.string :value
|
6
|
+
t.string :lang
|
7
|
+
t.integer :user_id
|
8
|
+
t.string :status, default: 'pending'
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class InstallAudited < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :audits, :force => true do |t|
|
4
|
+
t.column :auditable_id, :integer
|
5
|
+
t.column :auditable_type, :string
|
6
|
+
t.column :associated_id, :integer
|
7
|
+
t.column :associated_type, :string
|
8
|
+
t.column :user_id, :integer
|
9
|
+
t.column :user_type, :string
|
10
|
+
t.column :username, :string
|
11
|
+
t.column :action, :string
|
12
|
+
t.column :audited_changes, :text
|
13
|
+
t.column :version, :integer, :default => 0
|
14
|
+
t.column :comment, :string
|
15
|
+
t.column :remote_address, :string
|
16
|
+
t.column :created_at, :datetime
|
17
|
+
end
|
18
|
+
|
19
|
+
add_index :audits, [:auditable_id, :auditable_type], :name => 'auditable_index'
|
20
|
+
add_index :audits, [:associated_id, :associated_type], :name => 'associated_index'
|
21
|
+
add_index :audits, [:user_id, :user_type], :name => 'user_index'
|
22
|
+
add_index :audits, :created_at
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.down
|
26
|
+
drop_table :audits
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class ActsAsVotableMigration < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :votes do |t|
|
4
|
+
|
5
|
+
t.references :votable, :polymorphic => true
|
6
|
+
t.references :voter, :polymorphic => true
|
7
|
+
|
8
|
+
t.boolean :vote_flag
|
9
|
+
t.string :vote_scope
|
10
|
+
|
11
|
+
t.timestamps
|
12
|
+
end
|
13
|
+
|
14
|
+
add_index :votes, [:votable_id, :votable_type]
|
15
|
+
add_index :votes, [:voter_id, :voter_type]
|
16
|
+
add_index :votes, [:voter_id, :voter_type, :vote_scope]
|
17
|
+
add_index :votes, [:votable_id, :votable_type, :vote_scope]
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.down
|
21
|
+
drop_table :votes
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class FixTranslationUserRelation < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
rename_column :translation_center_translations, :user_id, :translator_id
|
4
|
+
add_column :translation_center_translations, :translator_type, :string
|
5
|
+
TranslationCenter::Translation.update_all(translator_type: 'User')
|
6
|
+
end
|
7
|
+
|
8
|
+
def down
|
9
|
+
rename_column :translation_center_translations, :translator_id, :user_id
|
10
|
+
remove_column :translation_center_translations, :translator_type
|
11
|
+
end
|
12
|
+
end
|