afalkear_translation_center 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +293 -0
  4. data/Rakefile +40 -0
  5. data/app/assets/images/translation_center/badr_it.png +0 -0
  6. data/app/assets/images/translation_center/loading.gif +0 -0
  7. data/app/assets/images/translation_center/translation_center_logo.png +0 -0
  8. data/app/assets/javascripts/translation_center/application.js +75 -0
  9. data/app/assets/javascripts/translation_center/bootstrap.js +2025 -0
  10. data/app/assets/javascripts/translation_center/categories.js +18 -0
  11. data/app/assets/javascripts/translation_center/center.js +55 -0
  12. data/app/assets/javascripts/translation_center/inspector.js.erb +59 -0
  13. data/app/assets/javascripts/translation_center/jquery-ui.js +14912 -0
  14. data/app/assets/javascripts/translation_center/jquery.jeditable.mini.js +38 -0
  15. data/app/assets/javascripts/translation_center/routes.js +15 -0
  16. data/app/assets/javascripts/translation_center/spin.min.js +1 -0
  17. data/app/assets/javascripts/translation_center/translation_keys.js +31 -0
  18. data/app/assets/javascripts/translation_center/translations.js +245 -0
  19. data/app/assets/stylesheets/translation_center/application.css +49 -0
  20. data/app/assets/stylesheets/translation_center/bootstrap.css +5894 -0
  21. data/app/assets/stylesheets/translation_center/categories.css +29 -0
  22. data/app/assets/stylesheets/translation_center/center.css +28 -0
  23. data/app/assets/stylesheets/translation_center/inspector.css +110 -0
  24. data/app/assets/stylesheets/translation_center/translation_keys.css +48 -0
  25. data/app/assets/stylesheets/translation_center/translations.css +32 -0
  26. data/app/controllers/translation_center/application_controller.rb +42 -0
  27. data/app/controllers/translation_center/categories_controller.rb +61 -0
  28. data/app/controllers/translation_center/center_controller.rb +67 -0
  29. data/app/controllers/translation_center/translation_keys_controller.rb +93 -0
  30. data/app/controllers/translation_center/translations_controller.rb +78 -0
  31. data/app/helpers/translation_center/application_helper.rb +58 -0
  32. data/app/helpers/translation_center/categories_helper.rb +4 -0
  33. data/app/helpers/translation_center/center_helper.rb +19 -0
  34. data/app/helpers/translation_center/translation_keys_helper.rb +4 -0
  35. data/app/helpers/translation_center/translations_helper.rb +4 -0
  36. data/app/models/translation_center/activity_query.rb +46 -0
  37. data/app/models/translation_center/category.rb +46 -0
  38. data/app/models/translation_center/translation.rb +94 -0
  39. data/app/models/translation_center/translation_key.rb +188 -0
  40. data/app/views/layouts/translation_center/application.html.haml +82 -0
  41. data/app/views/translation_center/categories/_category.html.haml +11 -0
  42. data/app/views/translation_center/categories/index.html.haml +7 -0
  43. data/app/views/translation_center/categories/keys.js.haml +10 -0
  44. data/app/views/translation_center/categories/show.html.haml +32 -0
  45. data/app/views/translation_center/categories/show.js.haml +7 -0
  46. data/app/views/translation_center/center/_activity.html.haml +49 -0
  47. data/app/views/translation_center/center/dashboard.html.haml +102 -0
  48. data/app/views/translation_center/center/manage.js.haml +3 -0
  49. data/app/views/translation_center/center/search_activity.js.haml +1 -0
  50. data/app/views/translation_center/errors/exception.html.haml +50 -0
  51. data/app/views/translation_center/translation_keys/_form.html.haml +18 -0
  52. data/app/views/translation_center/translation_keys/_show.html.haml +27 -0
  53. data/app/views/translation_center/translation_keys/_show_keys.html.haml +25 -0
  54. data/app/views/translation_center/translation_keys/_translation_keys.html.haml +16 -0
  55. data/app/views/translation_center/translation_keys/destroy.js.haml +4 -0
  56. data/app/views/translation_center/translation_keys/show.html.haml +8 -0
  57. data/app/views/translation_center/translation_keys/translations.js.haml +3 -0
  58. data/app/views/translation_center/translations/_accept_translation.html.haml +6 -0
  59. data/app/views/translation_center/translations/_index.html.haml +9 -0
  60. data/app/views/translation_center/translations/_search_results.html.haml +30 -0
  61. data/app/views/translation_center/translations/_show.html.haml +35 -0
  62. data/app/views/translation_center/translations/accept.js.haml +18 -0
  63. data/app/views/translation_center/translations/destroy.js.haml +11 -0
  64. data/app/views/translation_center/translations/search.html.haml +2 -0
  65. data/app/views/translation_center/translations/search.js.haml +1 -0
  66. data/app/views/translation_center/translations/unaccept.js.haml +9 -0
  67. data/app/views/translation_center/translations/unvote.js.haml +1 -0
  68. data/app/views/translation_center/translations/vote.js.haml +1 -0
  69. data/config/routes.rb +34 -0
  70. data/lib/afalkear_translation_center.rb +12 -0
  71. data/lib/generators/translation_center/USAGE +6 -0
  72. data/lib/generators/translation_center/add_lang/add_lang_generator.rb +31 -0
  73. data/lib/generators/translation_center/add_lang/templates/migrations/add_lang_status_translation_keys.rb +5 -0
  74. data/lib/generators/translation_center/install/install_generator.rb +38 -0
  75. data/lib/generators/translation_center/install/templates/assets/translation_center_logo.png +0 -0
  76. data/lib/generators/translation_center/install/templates/config/translation_center.yml +55 -0
  77. data/lib/generators/translation_center/install/templates/migrations/create_translation_center_categories.rb +9 -0
  78. data/lib/generators/translation_center/install/templates/migrations/create_translation_center_translation_keys.rb +16 -0
  79. data/lib/generators/translation_center/install/templates/migrations/create_translation_center_translations.rb +32 -0
  80. data/lib/tasks/translation_center.rake +56 -0
  81. data/lib/translation_center/acts_as_translator.rb +22 -0
  82. data/lib/translation_center/engine.rb +15 -0
  83. data/lib/translation_center/locale/en.yml +75 -0
  84. data/lib/translation_center/translation_helpers.rb +133 -0
  85. data/lib/translation_center/translations_transfer.rb +131 -0
  86. data/lib/translation_center/version.rb +3 -0
  87. data/test/dummy/README.rdoc +261 -0
  88. data/test/dummy/Rakefile +7 -0
  89. data/test/dummy/app/assets/images/translation_center_logo.png +0 -0
  90. data/test/dummy/app/assets/javascripts/application.js +16 -0
  91. data/test/dummy/app/assets/javascripts/articles.js +2 -0
  92. data/test/dummy/app/assets/stylesheets/application.css +14 -0
  93. data/test/dummy/app/assets/stylesheets/articles.css +4 -0
  94. data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
  95. data/test/dummy/app/controllers/application_controller.rb +6 -0
  96. data/test/dummy/app/controllers/articles_controller.rb +85 -0
  97. data/test/dummy/app/helpers/application_helper.rb +2 -0
  98. data/test/dummy/app/helpers/articles_helper.rb +2 -0
  99. data/test/dummy/app/models/article.rb +7 -0
  100. data/test/dummy/app/models/user.rb +16 -0
  101. data/test/dummy/app/views/articles/_form.html.haml +16 -0
  102. data/test/dummy/app/views/articles/edit.html.haml +7 -0
  103. data/test/dummy/app/views/articles/index.html.haml +32 -0
  104. data/test/dummy/app/views/articles/new.html.haml +5 -0
  105. data/test/dummy/app/views/articles/show.html.haml +14 -0
  106. data/test/dummy/app/views/layouts/application.html.erb +15 -0
  107. data/test/dummy/config/application.rb +60 -0
  108. data/test/dummy/config/boot.rb +10 -0
  109. data/test/dummy/config/database.yml +42 -0
  110. data/test/dummy/config/environment.rb +5 -0
  111. data/test/dummy/config/environments/development.rb +37 -0
  112. data/test/dummy/config/environments/production.rb +67 -0
  113. data/test/dummy/config/environments/test.rb +37 -0
  114. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  115. data/test/dummy/config/initializers/devise.rb +240 -0
  116. data/test/dummy/config/initializers/inflections.rb +15 -0
  117. data/test/dummy/config/initializers/mime_types.rb +5 -0
  118. data/test/dummy/config/initializers/secret_token.rb +7 -0
  119. data/test/dummy/config/initializers/session_store.rb +8 -0
  120. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  121. data/test/dummy/config/locales/ar.yml +6 -0
  122. data/test/dummy/config/locales/de.yml +2 -0
  123. data/test/dummy/config/locales/devise.en.yml +59 -0
  124. data/test/dummy/config/locales/en.yml +361 -0
  125. data/test/dummy/config/routes.rb +10 -0
  126. data/test/dummy/config/translation_center.yml +58 -0
  127. data/test/dummy/config.ru +4 -0
  128. data/test/dummy/db/migrate/20130410082611_devise_create_users.rb +46 -0
  129. data/test/dummy/db/migrate/20130410082701_create_articles.rb +10 -0
  130. data/test/dummy/db/migrate/20130410084711234392_create_translation_center_categories.rb +9 -0
  131. data/test/dummy/db/migrate/20130410084711235054_create_translation_center_translation_keys.rb +14 -0
  132. data/test/dummy/db/migrate/20130410084711235601_create_translation_center_translations.rb +13 -0
  133. data/test/dummy/db/migrate/20130410084711235602_install_audited.rb +28 -0
  134. data/test/dummy/db/migrate/20130410084711_acts_as_votable_migration.rb +23 -0
  135. data/test/dummy/db/migrate/20130410113111070575_add_de_status_translation_center_translation_keys.rb +5 -0
  136. data/test/dummy/db/migrate/20130417134539377014_add_ar_status_translation_center_translation_keys.rb +5 -0
  137. data/test/dummy/db/migrate/20130506103956_fix_translation_user_relation.rb +12 -0
  138. data/test/dummy/db/migrate/20130801102022_add_indicies.rb +8 -0
  139. data/test/dummy/db/schema.rb +110 -0
  140. data/test/dummy/log/test.log +0 -0
  141. data/test/dummy/public/404.html +26 -0
  142. data/test/dummy/public/422.html +26 -0
  143. data/test/dummy/public/500.html +25 -0
  144. data/test/dummy/public/favicon.ico +0 -0
  145. data/test/dummy/script/rails +6 -0
  146. data/test/dummy/spec/spec_helper.rb +38 -0
  147. data/test/dummy/test/fixtures/articles.yml +9 -0
  148. data/test/dummy/test/fixtures/posts.yml +9 -0
  149. data/test/dummy/test/fixtures/users.yml +11 -0
  150. data/test/dummy/test/functional/articles_controller_test.rb +49 -0
  151. data/test/dummy/test/functional/posts_controller_test.rb +49 -0
  152. data/test/dummy/test/unit/article_test.rb +7 -0
  153. data/test/dummy/test/unit/helpers/articles_helper_test.rb +4 -0
  154. data/test/dummy/test/unit/helpers/posts_helper_test.rb +4 -0
  155. data/test/dummy/test/unit/post_test.rb +7 -0
  156. data/test/dummy/test/unit/user_test.rb +7 -0
  157. data/test/fixtures/translation_center/categories.yml +7 -0
  158. data/test/fixtures/translation_center/translation_keys.yml +11 -0
  159. data/test/fixtures/translation_center/translations.yml +15 -0
  160. data/test/functional/translation_center/categories_controller_test.rb +51 -0
  161. data/test/functional/translation_center/center_controller_test.rb +9 -0
  162. data/test/functional/translation_center/translation_keys_controller_test.rb +51 -0
  163. data/test/functional/translation_center/translations_controller_test.rb +51 -0
  164. data/test/integration/navigation_test.rb +10 -0
  165. data/test/test_helper.rb +15 -0
  166. data/test/translation_center_test.rb +7 -0
  167. data/test/unit/helpers/translation_center/categories_helper_test.rb +6 -0
  168. data/test/unit/helpers/translation_center/center_helper_test.rb +6 -0
  169. data/test/unit/helpers/translation_center/translation_keys_helper_test.rb +6 -0
  170. data/test/unit/helpers/translation_center/translations_helper_test.rb +6 -0
  171. data/test/unit/translation_center/category_test.rb +9 -0
  172. data/test/unit/translation_center/translation_key_test.rb +9 -0
  173. data/test/unit/translation_center/translation_test.rb +9 -0
  174. 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,10 @@
1
+ Rails.application.routes.draw do
2
+
3
+ resources :articles
4
+
5
+ devise_for :users
6
+
7
+ mount TranslationCenter::Engine => "/translation_center"
8
+
9
+ root to: "articles#index"
10
+ end
@@ -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,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Dummy::Application
@@ -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,10 @@
1
+ class CreateArticles < ActiveRecord::Migration
2
+ def change
3
+ create_table :articles do |t|
4
+ t.string :title
5
+ t.text :content
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ class CreateTranslationCenterCategories < ActiveRecord::Migration
2
+ def change
3
+ create_table :translation_center_categories do |t|
4
+ t.string :name
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+ 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,5 @@
1
+ class AddDeStatusTranslationCenterTranslationKeys < ActiveRecord::Migration
2
+ def change
3
+ add_column :translation_center_translation_keys, :de_status, :string, default: 'untranslated'
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddArStatusTranslationCenterTranslationKeys < ActiveRecord::Migration
2
+ def change
3
+ add_column :translation_center_translation_keys, :ar_status, :string, default: 'untranslated'
4
+ end
5
+ 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
@@ -0,0 +1,8 @@
1
+ class AddIndicies < ActiveRecord::Migration
2
+
3
+ def change
4
+ add_index :translation_center_translation_keys, :name
5
+ add_index :translation_center_translations, :translation_key_id
6
+ end
7
+
8
+ end