elabs 2.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (404) hide show
  1. checksums.yaml +7 -0
  2. data/.eslintrc.yml +26 -0
  3. data/.gitignore +49 -0
  4. data/.gitlab-ci.yml +93 -0
  5. data/.haml-lint.yml +4 -0
  6. data/.node-version +1 -0
  7. data/.rspec +1 -0
  8. data/.rubocop.yml +59 -0
  9. data/.ruby-version +1 -0
  10. data/.simplecov +5 -0
  11. data/.stylelintrc.yml +218 -0
  12. data/CHANGELOG.md +273 -0
  13. data/CODE_OF_CONDUCT.md +78 -0
  14. data/Gemfile +75 -0
  15. data/Gemfile.lock +376 -0
  16. data/LICENSE +21 -0
  17. data/LICENSES.md +6 -0
  18. data/README.md +41 -0
  19. data/ROADMAP.md +61 -0
  20. data/Rakefile +32 -0
  21. data/app/assets/config/elabs_manifest.js +3 -0
  22. data/app/assets/images/elabs/preview_placeholder.png +0 -0
  23. data/app/assets/images/elabs/preview_placeholder_nsfw.png +0 -0
  24. data/app/assets/javascripts/elabs/application.js +27 -0
  25. data/app/assets/javascripts/elabs/helpers-codemirror.js +29 -0
  26. data/app/assets/javascripts/elabs/helpers-markdown.js +42 -0
  27. data/app/assets/javascripts/elabs/helpers.js +17 -0
  28. data/app/assets/javascripts/elabs/modals.js +19 -0
  29. data/app/assets/javascripts/elabs/tabs.js +32 -0
  30. data/app/assets/stylesheets/elabs/_colors.scss +345 -0
  31. data/app/assets/stylesheets/elabs/_icons.scss +9 -0
  32. data/app/assets/stylesheets/elabs/_variables.scss +13 -0
  33. data/app/assets/stylesheets/elabs/app/_acts.scss +58 -0
  34. data/app/assets/stylesheets/elabs/app/_alerts.scss +3 -0
  35. data/app/assets/stylesheets/elabs/app/_buttons.scss +21 -0
  36. data/app/assets/stylesheets/elabs/app/_comments.scss +1 -0
  37. data/app/assets/stylesheets/elabs/app/_content.scss +10 -0
  38. data/app/assets/stylesheets/elabs/app/_content_uploads.scss +39 -0
  39. data/app/assets/stylesheets/elabs/app/_empty.scss +19 -0
  40. data/app/assets/stylesheets/elabs/app/_errors.scss +9 -0
  41. data/app/assets/stylesheets/elabs/app/_filter_links.scss +27 -0
  42. data/app/assets/stylesheets/elabs/app/_forms.scss +69 -0
  43. data/app/assets/stylesheets/elabs/app/_helpers.scss +3 -0
  44. data/app/assets/stylesheets/elabs/app/_languages.scss +6 -0
  45. data/app/assets/stylesheets/elabs/app/_layout.scss +194 -0
  46. data/app/assets/stylesheets/elabs/app/_licenses.scss +6 -0
  47. data/app/assets/stylesheets/elabs/app/_link-to-top.scss +8 -0
  48. data/app/assets/stylesheets/elabs/app/_medias.scss +12 -0
  49. data/app/assets/stylesheets/elabs/app/_modals.scss +53 -0
  50. data/app/assets/stylesheets/elabs/app/_nsfw.scss +5 -0
  51. data/app/assets/stylesheets/elabs/app/_pagination.scss +16 -0
  52. data/app/assets/stylesheets/elabs/app/_tabs.scss +54 -0
  53. data/app/assets/stylesheets/elabs/app/_tags.scss +6 -0
  54. data/app/assets/stylesheets/elabs/app/_toolbars.scss +3 -0
  55. data/app/assets/stylesheets/elabs/app/_users.scss +6 -0
  56. data/app/assets/stylesheets/elabs/app/admin-members/_forms.scss +6 -0
  57. data/app/assets/stylesheets/elabs/app/admin-members/_indexes.scss +70 -0
  58. data/app/assets/stylesheets/elabs/app/admin-members/_layout.scss +17 -0
  59. data/app/assets/stylesheets/elabs/app/areas/_devise.scss +31 -0
  60. data/app/assets/stylesheets/elabs/app/components/_cards.scss +16 -0
  61. data/app/assets/stylesheets/elabs/app/components/_container.scss +4 -0
  62. data/app/assets/stylesheets/elabs/app/mixins/_classifier-card.scss +16 -0
  63. data/app/assets/stylesheets/elabs/app/mixins/_content-card.scss +58 -0
  64. data/app/assets/stylesheets/elabs/app/mixins/_content-full.scss +39 -0
  65. data/app/assets/stylesheets/elabs/app/mixins/_icon.scss +9 -0
  66. data/app/assets/stylesheets/elabs/application.css +14 -0
  67. data/app/assets/stylesheets/elabs/lib/_codemirror.scss +26 -0
  68. data/app/assets/stylesheets/elabs/lib/fontawesome/_fontawesome.scss +38 -0
  69. data/app/assets/stylesheets/elabs/lib/fontawesome/_fonts.scss +42 -0
  70. data/app/assets/stylesheets/elabs/lib/fontawesome/_icons.scss +1118 -0
  71. data/app/assets/stylesheets/elabs/lib/knacss/_knacss-variables.scss +230 -0
  72. data/app/assets/stylesheets/elabs/lib/knacss/_knacss.scss +59 -0
  73. data/app/assets/stylesheets/elabs/style.scss +72 -0
  74. data/app/controllers/elabs/acts_controller.rb +12 -0
  75. data/app/controllers/elabs/admin/admin_application_controller.rb +19 -0
  76. data/app/controllers/elabs/admin/admin_content_application_controller.rb +66 -0
  77. data/app/controllers/elabs/admin/albums_controller.rb +10 -0
  78. data/app/controllers/elabs/admin/articles_controller.rb +10 -0
  79. data/app/controllers/elabs/admin/languages_controller.rb +77 -0
  80. data/app/controllers/elabs/admin/licenses_controller.rb +77 -0
  81. data/app/controllers/elabs/admin/notes_controller.rb +10 -0
  82. data/app/controllers/elabs/admin/projects_controller.rb +10 -0
  83. data/app/controllers/elabs/admin/reports_controller.rb +34 -0
  84. data/app/controllers/elabs/admin/tags_controller.rb +56 -0
  85. data/app/controllers/elabs/admin/uploads_controller.rb +10 -0
  86. data/app/controllers/elabs/admin/users_controller.rb +43 -0
  87. data/app/controllers/elabs/albums_controller.rb +26 -0
  88. data/app/controllers/elabs/articles_controller.rb +25 -0
  89. data/app/controllers/elabs/auth/callbacks_controller.rb +38 -0
  90. data/app/controllers/elabs/auth/confirmations_controller.rb +43 -0
  91. data/app/controllers/elabs/auth/passwords_controller.rb +47 -0
  92. data/app/controllers/elabs/auth/registrations_controller.rb +70 -0
  93. data/app/controllers/elabs/auth/sessions_controller.rb +36 -0
  94. data/app/controllers/elabs/auth/unlocks_controller.rb +38 -0
  95. data/app/controllers/elabs/concerns/elabs_controller.rb +18 -0
  96. data/app/controllers/elabs/concerns/localizable.rb +11 -0
  97. data/app/controllers/elabs/concerns/reportable.rb +17 -0
  98. data/app/controllers/elabs/content_application_controller.rb +45 -0
  99. data/app/controllers/elabs/elabs_application_controller.rb +95 -0
  100. data/app/controllers/elabs/languages_controller.rb +36 -0
  101. data/app/controllers/elabs/licenses_controller.rb +31 -0
  102. data/app/controllers/elabs/member/albums_controller.rb +11 -0
  103. data/app/controllers/elabs/member/articles_controller.rb +11 -0
  104. data/app/controllers/elabs/member/member_application_controller.rb +12 -0
  105. data/app/controllers/elabs/member/member_content_application_controller.rb +128 -0
  106. data/app/controllers/elabs/member/notes_controller.rb +11 -0
  107. data/app/controllers/elabs/member/preferences_controller.rb +36 -0
  108. data/app/controllers/elabs/member/projects_controller.rb +11 -0
  109. data/app/controllers/elabs/member/uploads_controller.rb +11 -0
  110. data/app/controllers/elabs/member/users_controller.rb +28 -0
  111. data/app/controllers/elabs/notes_controller.rb +25 -0
  112. data/app/controllers/elabs/projects_controller.rb +30 -0
  113. data/app/controllers/elabs/reports_controller.rb +36 -0
  114. data/app/controllers/elabs/tags_controller.rb +36 -0
  115. data/app/controllers/elabs/uploads_controller.rb +24 -0
  116. data/app/controllers/elabs/users_controller.rb +36 -0
  117. data/app/helpers/elabs/acts_helper.rb +22 -0
  118. data/app/helpers/elabs/admin_content_helper.rb +54 -0
  119. data/app/helpers/elabs/application_helper.rb +54 -0
  120. data/app/helpers/elabs/content_filters_helper.rb +97 -0
  121. data/app/helpers/elabs/content_renderer_helper.rb +13 -0
  122. data/app/helpers/elabs/member_content_helper.rb +47 -0
  123. data/app/helpers/elabs/thumbnails_helper.rb +28 -0
  124. data/app/helpers/elabs/time_helper.rb +19 -0
  125. data/app/helpers/elabs/uploads_helper.rb +19 -0
  126. data/app/jobs/elabs/application_job.rb +4 -0
  127. data/app/mailers/elabs/application_mailer.rb +6 -0
  128. data/app/models/elabs/act.rb +7 -0
  129. data/app/models/elabs/album.rb +24 -0
  130. data/app/models/elabs/albums_tag.rb +21 -0
  131. data/app/models/elabs/albums_upload.rb +21 -0
  132. data/app/models/elabs/application_content_record.rb +10 -0
  133. data/app/models/elabs/application_record.rb +5 -0
  134. data/app/models/elabs/article.rb +23 -0
  135. data/app/models/elabs/articles_tag.rb +21 -0
  136. data/app/models/elabs/comment.rb +12 -0
  137. data/app/models/elabs/concerns/actable_entity.rb +52 -0
  138. data/app/models/elabs/concerns/content_entity.rb +70 -0
  139. data/app/models/elabs/concerns/countable_entity.rb +81 -0
  140. data/app/models/elabs/concerns/taggable.rb +33 -0
  141. data/app/models/elabs/language.rb +17 -0
  142. data/app/models/elabs/license.rb +15 -0
  143. data/app/models/elabs/note.rb +21 -0
  144. data/app/models/elabs/notes_tag.rb +21 -0
  145. data/app/models/elabs/preference.rb +9 -0
  146. data/app/models/elabs/project.rb +25 -0
  147. data/app/models/elabs/projects_album.rb +21 -0
  148. data/app/models/elabs/projects_article.rb +21 -0
  149. data/app/models/elabs/projects_note.rb +21 -0
  150. data/app/models/elabs/projects_tag.rb +21 -0
  151. data/app/models/elabs/projects_upload.rb +21 -0
  152. data/app/models/elabs/report.rb +11 -0
  153. data/app/models/elabs/tag.rb +18 -0
  154. data/app/models/elabs/upload.rb +28 -0
  155. data/app/models/elabs/uploads_tag.rb +21 -0
  156. data/app/models/elabs/user.rb +30 -0
  157. data/app/validators/elabs/associated_author_validator.rb +11 -0
  158. data/app/views/elabs/acts/_act.json.jbuilder +2 -0
  159. data/app/views/elabs/acts/_filters.html.haml +3 -0
  160. data/app/views/elabs/acts/index.html.haml +27 -0
  161. data/app/views/elabs/acts/index.json.jbuilder +1 -0
  162. data/app/views/elabs/admin/albums/_album.json.jbuilder +2 -0
  163. data/app/views/elabs/admin/albums/index.html.haml +43 -0
  164. data/app/views/elabs/admin/albums/index.json.jbuilder +1 -0
  165. data/app/views/elabs/admin/articles/_article.json.jbuilder +2 -0
  166. data/app/views/elabs/admin/articles/index.html.haml +41 -0
  167. data/app/views/elabs/admin/articles/index.json.jbuilder +1 -0
  168. data/app/views/elabs/admin/languages/_form.html.haml +18 -0
  169. data/app/views/elabs/admin/languages/_language.json.jbuilder +2 -0
  170. data/app/views/elabs/admin/languages/edit.html.haml +6 -0
  171. data/app/views/elabs/admin/languages/index.html.haml +34 -0
  172. data/app/views/elabs/admin/languages/index.json.jbuilder +1 -0
  173. data/app/views/elabs/admin/languages/new.html.haml +3 -0
  174. data/app/views/elabs/admin/licenses/_form.html.haml +25 -0
  175. data/app/views/elabs/admin/licenses/_license.json.jbuilder +2 -0
  176. data/app/views/elabs/admin/licenses/edit.html.haml +6 -0
  177. data/app/views/elabs/admin/licenses/index.html.haml +42 -0
  178. data/app/views/elabs/admin/licenses/index.json.jbuilder +1 -0
  179. data/app/views/elabs/admin/licenses/new.html.haml +3 -0
  180. data/app/views/elabs/admin/notes/_note.json.jbuilder +2 -0
  181. data/app/views/elabs/admin/notes/index.html.haml +40 -0
  182. data/app/views/elabs/admin/notes/index.json.jbuilder +1 -0
  183. data/app/views/elabs/admin/projects/_project.json.jbuilder +2 -0
  184. data/app/views/elabs/admin/projects/index.html.haml +45 -0
  185. data/app/views/elabs/admin/projects/index.json.jbuilder +1 -0
  186. data/app/views/elabs/admin/reports/index.html.haml +27 -0
  187. data/app/views/elabs/admin/reports/index.json.jbuilder +1 -0
  188. data/app/views/elabs/admin/tags/_form.html.haml +17 -0
  189. data/app/views/elabs/admin/tags/_tag.json.jbuilder +2 -0
  190. data/app/views/elabs/admin/tags/edit.html.haml +6 -0
  191. data/app/views/elabs/admin/tags/index.html.haml +27 -0
  192. data/app/views/elabs/admin/tags/index.json.jbuilder +1 -0
  193. data/app/views/elabs/admin/uploads/_upload.json.jbuilder +2 -0
  194. data/app/views/elabs/admin/uploads/index.html.haml +45 -0
  195. data/app/views/elabs/admin/uploads/index.json.jbuilder +1 -0
  196. data/app/views/elabs/admin/users/_admin_user.json.jbuilder +2 -0
  197. data/app/views/elabs/admin/users/index.html.haml +33 -0
  198. data/app/views/elabs/admin/users/index.json.jbuilder +1 -0
  199. data/app/views/elabs/admin/users/show.html.haml +26 -0
  200. data/app/views/elabs/admin/users/show.json.jbuilder +1 -0
  201. data/app/views/elabs/albums/_album.html.haml +38 -0
  202. data/app/views/elabs/albums/_album.json.jbuilder +2 -0
  203. data/app/views/elabs/albums/_filters.html.haml +8 -0
  204. data/app/views/elabs/albums/index.html.haml +9 -0
  205. data/app/views/elabs/albums/index.json.jbuilder +1 -0
  206. data/app/views/elabs/albums/show.html.haml +60 -0
  207. data/app/views/elabs/albums/show.json.jbuilder +1 -0
  208. data/app/views/elabs/articles/_article.html.haml +30 -0
  209. data/app/views/elabs/articles/_article.json.jbuilder +2 -0
  210. data/app/views/elabs/articles/_filters.html.haml +8 -0
  211. data/app/views/elabs/articles/index.html.haml +9 -0
  212. data/app/views/elabs/articles/index.json.jbuilder +1 -0
  213. data/app/views/elabs/articles/show.html.haml +45 -0
  214. data/app/views/elabs/articles/show.json.jbuilder +1 -0
  215. data/app/views/elabs/auth/confirmations/new.html.haml +26 -0
  216. data/app/views/elabs/auth/passwords/edit.html.haml +31 -0
  217. data/app/views/elabs/auth/passwords/new.html.haml +23 -0
  218. data/app/views/elabs/auth/registrations/edit.html.haml +48 -0
  219. data/app/views/elabs/auth/registrations/new.html.haml +34 -0
  220. data/app/views/elabs/auth/sessions/_new.html.haml +15 -0
  221. data/app/views/elabs/auth/sessions/new.html.haml +8 -0
  222. data/app/views/elabs/auth/shared/_links.html.haml +16 -0
  223. data/app/views/elabs/auth/unlocks/new.html.haml +23 -0
  224. data/app/views/elabs/comments/_comment.json.jbuilder +2 -0
  225. data/app/views/elabs/comments/_comments.html.haml +21 -0
  226. data/app/views/elabs/comments/_form.html.haml +31 -0
  227. data/app/views/elabs/languages/_associations.html.haml +51 -0
  228. data/app/views/elabs/languages/_filters.html.haml +6 -0
  229. data/app/views/elabs/languages/_language.json.jbuilder +2 -0
  230. data/app/views/elabs/languages/index.html.haml +33 -0
  231. data/app/views/elabs/languages/index.json.jbuilder +1 -0
  232. data/app/views/elabs/languages/show.html.haml +38 -0
  233. data/app/views/elabs/languages/show.json.jbuilder +1 -0
  234. data/app/views/elabs/layouts/_empty.html.haml +3 -0
  235. data/app/views/elabs/layouts/_footer.html.haml +6 -0
  236. data/app/views/elabs/layouts/_hidden_entry.html.haml +6 -0
  237. data/app/views/elabs/layouts/_hidden_entry_full.html.haml +6 -0
  238. data/app/views/elabs/layouts/_language_menu.html.haml +2 -0
  239. data/app/views/elabs/layouts/_menu.html.haml +72 -0
  240. data/app/views/elabs/layouts/admin_application.html.haml +21 -0
  241. data/app/views/elabs/layouts/application.html.haml +37 -0
  242. data/app/views/elabs/layouts/lists/_albums.html.haml +10 -0
  243. data/app/views/elabs/layouts/lists/_projects.html.haml +10 -0
  244. data/app/views/elabs/layouts/lists/_tags.html.haml +9 -0
  245. data/app/views/elabs/layouts/mailer.html.haml +8 -0
  246. data/app/views/elabs/layouts/mailer.text.haml +1 -0
  247. data/app/views/elabs/layouts/member_application.html.haml +21 -0
  248. data/app/views/elabs/licenses/_associations.html.haml +51 -0
  249. data/app/views/elabs/licenses/_filters.html.haml +3 -0
  250. data/app/views/elabs/licenses/_license.json.jbuilder +2 -0
  251. data/app/views/elabs/licenses/index.html.haml +27 -0
  252. data/app/views/elabs/licenses/index.json.jbuilder +1 -0
  253. data/app/views/elabs/licenses/show.html.haml +44 -0
  254. data/app/views/elabs/licenses/show.json.jbuilder +1 -0
  255. data/app/views/elabs/member/albums/_album.json.jbuilder +2 -0
  256. data/app/views/elabs/member/albums/_form.html.haml +64 -0
  257. data/app/views/elabs/member/albums/edit.html.haml +6 -0
  258. data/app/views/elabs/member/albums/index.html.haml +49 -0
  259. data/app/views/elabs/member/albums/index.json.jbuilder +1 -0
  260. data/app/views/elabs/member/albums/new.html.haml +3 -0
  261. data/app/views/elabs/member/articles/_article.json.jbuilder +2 -0
  262. data/app/views/elabs/member/articles/_form.html.haml +70 -0
  263. data/app/views/elabs/member/articles/edit.html.haml +6 -0
  264. data/app/views/elabs/member/articles/index.html.haml +47 -0
  265. data/app/views/elabs/member/articles/index.json.jbuilder +1 -0
  266. data/app/views/elabs/member/articles/new.html.haml +3 -0
  267. data/app/views/elabs/member/layouts/_empty.html.haml +4 -0
  268. data/app/views/elabs/member/layouts/_markdown-preview.html.haml +8 -0
  269. data/app/views/elabs/member/notes/_form.html.haml +54 -0
  270. data/app/views/elabs/member/notes/_note.json.jbuilder +2 -0
  271. data/app/views/elabs/member/notes/edit.html.haml +6 -0
  272. data/app/views/elabs/member/notes/index.html.haml +47 -0
  273. data/app/views/elabs/member/notes/index.json.jbuilder +1 -0
  274. data/app/views/elabs/member/notes/new.html.haml +3 -0
  275. data/app/views/elabs/member/preferences/_form.html.haml +20 -0
  276. data/app/views/elabs/member/preferences/edit.html.haml +3 -0
  277. data/app/views/elabs/member/projects/_form.html.haml +71 -0
  278. data/app/views/elabs/member/projects/_project.json.jbuilder +2 -0
  279. data/app/views/elabs/member/projects/edit.html.haml +6 -0
  280. data/app/views/elabs/member/projects/index.html.haml +53 -0
  281. data/app/views/elabs/member/projects/index.json.jbuilder +1 -0
  282. data/app/views/elabs/member/projects/new.html.haml +3 -0
  283. data/app/views/elabs/member/uploads/_form.html.haml +67 -0
  284. data/app/views/elabs/member/uploads/_upload.json.jbuilder +2 -0
  285. data/app/views/elabs/member/uploads/edit.html.haml +6 -0
  286. data/app/views/elabs/member/uploads/index.html.haml +61 -0
  287. data/app/views/elabs/member/uploads/index.json.jbuilder +1 -0
  288. data/app/views/elabs/member/uploads/new.html.haml +3 -0
  289. data/app/views/elabs/member/users/_form.html.haml +38 -0
  290. data/app/views/elabs/notes/_filters.html.haml +7 -0
  291. data/app/views/elabs/notes/_note.html.haml +31 -0
  292. data/app/views/elabs/notes/_note.json.jbuilder +2 -0
  293. data/app/views/elabs/notes/index.html.haml +9 -0
  294. data/app/views/elabs/notes/index.json.jbuilder +1 -0
  295. data/app/views/elabs/notes/show.html.haml +44 -0
  296. data/app/views/elabs/notes/show.json.jbuilder +1 -0
  297. data/app/views/elabs/projects/_associations.html.haml +46 -0
  298. data/app/views/elabs/projects/_filters.html.haml +8 -0
  299. data/app/views/elabs/projects/_project.html.haml +29 -0
  300. data/app/views/elabs/projects/index.html.haml +9 -0
  301. data/app/views/elabs/projects/index.json.jbuilder +1 -0
  302. data/app/views/elabs/projects/show.html.haml +71 -0
  303. data/app/views/elabs/projects/show.json.jbuilder +1 -0
  304. data/app/views/elabs/reports/_form.html.haml +29 -0
  305. data/app/views/elabs/tags/_associations.html.haml +51 -0
  306. data/app/views/elabs/tags/_filters.html.haml +3 -0
  307. data/app/views/elabs/tags/_tag.json.jbuilder +2 -0
  308. data/app/views/elabs/tags/index.html.haml +26 -0
  309. data/app/views/elabs/tags/index.json.jbuilder +1 -0
  310. data/app/views/elabs/tags/show.html.haml +34 -0
  311. data/app/views/elabs/tags/show.json.jbuilder +1 -0
  312. data/app/views/elabs/uploads/_filters.html.haml +7 -0
  313. data/app/views/elabs/uploads/_player.html.haml +10 -0
  314. data/app/views/elabs/uploads/_preview.html.haml +17 -0
  315. data/app/views/elabs/uploads/_upload.html.haml +41 -0
  316. data/app/views/elabs/uploads/_upload.json.jbuilder +2 -0
  317. data/app/views/elabs/uploads/index.html.haml +9 -0
  318. data/app/views/elabs/uploads/index.json.jbuilder +1 -0
  319. data/app/views/elabs/uploads/show.html.haml +58 -0
  320. data/app/views/elabs/uploads/show.json.jbuilder +1 -0
  321. data/app/views/elabs/users/_associations.html.haml +51 -0
  322. data/app/views/elabs/users/_filters.html.haml +4 -0
  323. data/app/views/elabs/users/_user.html.haml +31 -0
  324. data/app/views/elabs/users/_user.json.jbuilder +2 -0
  325. data/app/views/elabs/users/index.html.haml +7 -0
  326. data/app/views/elabs/users/index.json.jbuilder +1 -0
  327. data/app/views/elabs/users/show.html.haml +48 -0
  328. data/app/views/elabs/users/show.json.jbuilder +1 -0
  329. data/bin/rails +14 -0
  330. data/config.ru +5 -0
  331. data/config/brakeman.ignore +124 -0
  332. data/config/brakeman.yml +3 -0
  333. data/config/cucumber.yml +9 -0
  334. data/config/routes.rb +116 -0
  335. data/db/migrate/20180813000000_devise_update_users.rb +15 -0
  336. data/db/migrate/20180813000001_create_languages.rb +16 -0
  337. data/db/migrate/20180813000002_create_tags.rb +14 -0
  338. data/db/migrate/20180813000004_create_licenses.rb +17 -0
  339. data/db/migrate/20180813000005_create_reports.rb +15 -0
  340. data/db/migrate/20180813000006_create_comments.rb +15 -0
  341. data/db/migrate/20180813000007_create_acts.rb +10 -0
  342. data/db/migrate/20180813000008_create_preferences.rb +13 -0
  343. data/db/migrate/20180813000009_create_active_storage_tables.active_storage.rb +26 -0
  344. data/db/migrate/20180813000010_create_albums.rb +23 -0
  345. data/db/migrate/20180813000011_create_articles.rb +23 -0
  346. data/db/migrate/20180813000012_create_notes.rb +21 -0
  347. data/db/migrate/20180813000013_create_uploads.rb +26 -0
  348. data/db/migrate/20180813000014_create_projects.rb +44 -0
  349. data/db/seeds.rb +10 -0
  350. data/db/seeds_development.rb +21 -0
  351. data/db/seeds_production.rb +0 -0
  352. data/docs/contributing.md +52 -0
  353. data/docs/cucumber_terms.md +9 -0
  354. data/docs/migrating.md +4 -0
  355. data/docs/overriding.md +20 -0
  356. data/docs/setup.md +136 -0
  357. data/docs/tips.md +13 -0
  358. data/elabs.gemspec +25 -0
  359. data/lib/assets/javascripts/README-highlight.js.md +39 -0
  360. data/lib/assets/javascripts/codemirror-5.39.2/addon/mode/overlay.js +90 -0
  361. data/lib/assets/javascripts/codemirror-5.39.2/lib/codemirror.js +9684 -0
  362. data/lib/assets/javascripts/codemirror-5.39.2/mode/clike/clike.js +834 -0
  363. data/lib/assets/javascripts/codemirror-5.39.2/mode/css/css.js +832 -0
  364. data/lib/assets/javascripts/codemirror-5.39.2/mode/gfm/gfm.js +129 -0
  365. data/lib/assets/javascripts/codemirror-5.39.2/mode/htmlmixed/htmlmixed.js +152 -0
  366. data/lib/assets/javascripts/codemirror-5.39.2/mode/javascript/javascript.js +896 -0
  367. data/lib/assets/javascripts/codemirror-5.39.2/mode/markdown/markdown.js +882 -0
  368. data/lib/assets/javascripts/codemirror-5.39.2/mode/meta.js +217 -0
  369. data/lib/assets/javascripts/codemirror-5.39.2/mode/xml/xml.js +402 -0
  370. data/lib/assets/javascripts/highlight.js-9.12.0/highlight.pack.js +2 -0
  371. data/lib/assets/javascripts/markdown-it-8.4.2.min.js +1 -0
  372. data/lib/assets/stylesheets/codemirror-5.39.2/lib/codemirror.css +346 -0
  373. data/lib/assets/stylesheets/codemirror-5.39.2/theme/base16-dark.css +38 -0
  374. data/lib/assets/stylesheets/codemirror-5.39.2/theme/base16-light.css +38 -0
  375. data/lib/assets/stylesheets/highlight.js-9.12.0/styles/atelier-sulphurpool-light.css +69 -0
  376. data/lib/elabs.rb +41 -0
  377. data/lib/elabs/engine.rb +5 -0
  378. data/lib/elabs/version.rb +3 -0
  379. data/lib/generators/elabs/assets_generator.rb +36 -0
  380. data/lib/generators/elabs/devise_views_generator.rb +24 -0
  381. data/lib/generators/elabs/install_generator.rb +26 -0
  382. data/lib/generators/elabs/required_assets_generator.rb +26 -0
  383. data/lib/generators/elabs/views_generator.rb +25 -0
  384. data/lib/generators/templates/elabs.rb +25 -0
  385. data/lib/generators/templates/fast_gettext.rb +3 -0
  386. data/lib/tasks/.keep +0 -0
  387. data/lib/tasks/cucumber.rake +75 -0
  388. data/lib/tasks/elabs_tasks.rake +4 -0
  389. data/lib/tasks/factory_bot.rake +14 -0
  390. data/lib/tasks/wipe.rake +31 -0
  391. data/locale/app.pot +1124 -0
  392. data/locale/devise_strings.rb +88 -0
  393. data/locale/en/app.edit.po +1123 -0
  394. data/locale/en/app.po +1123 -0
  395. data/locale/en/app.po.time_stamp +0 -0
  396. data/locale/fr/app.edit.po +1126 -0
  397. data/locale/fr/app.po +1125 -0
  398. data/locale/fr/app.po.time_stamp +0 -0
  399. data/locale/model_attributes.rb +85 -0
  400. data/package.json +22 -0
  401. data/script/cucumber +10 -0
  402. data/tmp/pids/.keep +0 -0
  403. data/yarn.lock +2759 -0
  404. metadata +463 -0
@@ -0,0 +1,1125 @@
1
+ # French translations for app package.
2
+ # Copyright (C) 2018 THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the app package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: app 1.0.0\n"
9
+ "Report-Msgid-Bugs-To: \n"
10
+ "PO-Revision-Date: 2018-09-06 06:49+0200\n"
11
+ "Language-Team: French\n"
12
+ "Language: fr\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=UTF-8\n"
15
+ "Content-Transfer-Encoding: 8bit\n"
16
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
17
+ "X-Language: fr_FR\n"
18
+ "X-Source-Language: C\n"
19
+ "Last-Translator: \n"
20
+ "X-Generator: Poedit 2.1.1\n"
21
+
22
+ msgid "%<icon>s %<text>s"
23
+ msgstr "%<icon>s %<text>s"
24
+
25
+ msgid "%<model_name>s was successfully created."
26
+ msgstr "%<model_name>s mis à jour avec succès."
27
+
28
+ msgid "%<model_name>s was successfully destroyed."
29
+ msgstr "%<model_name>s supprimé avec succès."
30
+
31
+ msgid "%<model_name>s was successfully locked."
32
+ msgstr "%<model_name>s verrouillé avec succès."
33
+
34
+ msgid "%<model_name>s was successfully published."
35
+ msgstr "%<model_name>s publié avec succès."
36
+
37
+ msgid "%<model_name>s was successfully removed from publication."
38
+ msgstr "%<model_name>s dé-publié avec succès."
39
+
40
+ msgid "%<model_name>s was successfully unlocked."
41
+ msgstr "%<model_name>s déverrouillé avec succès."
42
+
43
+ msgid "%<model_name>s was successfully updated."
44
+ msgstr "%<model_name>s mis à jour avec succès."
45
+
46
+ msgid "%<nb>i album"
47
+ msgid_plural "%<nb>i albums"
48
+ msgstr[0] "%<nb>i album"
49
+ msgstr[1] "%<nb>i albums"
50
+
51
+ msgid "%<nb>i article"
52
+ msgid_plural "%<nb>i articles"
53
+ msgstr[0] "%<nb>i article"
54
+ msgstr[1] "%<nb>i articles"
55
+
56
+ msgid "%<nb>i note"
57
+ msgid_plural "%<nb>i notes"
58
+ msgstr[0] "%<nb>i note"
59
+ msgstr[1] "%<nb>i notes"
60
+
61
+ msgid "%<nb>i project"
62
+ msgid_plural "%<nb>i projects"
63
+ msgstr[0] "%<nb>i projet"
64
+ msgstr[1] "%<nb>i projets"
65
+
66
+ msgid "%<nb>i upload"
67
+ msgid_plural "%<nb>i uploads"
68
+ msgstr[0] "%<nb>i fichier"
69
+ msgstr[1] "%<nb>i fichiers"
70
+
71
+ msgid "%<number>i characters minimum"
72
+ msgstr "%{number} caractères minimum"
73
+
74
+ msgid "%<s>s:"
75
+ msgstr "%<s>s :"
76
+
77
+ msgid "%<string>s has been %<event>s"
78
+ msgstr "%<string>s a été %<event>s"
79
+
80
+ msgid "%<text>s %<icon>s"
81
+ msgstr "%<text>s %<icon>s"
82
+
83
+ msgid "%I:%M %p"
84
+ msgstr "%H:%M"
85
+
86
+ msgid "%Y-%m-%d"
87
+ msgstr "%m-%d-%Y"
88
+
89
+ msgid "(leave blank if you don't want to change it)"
90
+ msgstr "(laissez vide si vous ne souhaitez pas le changer)"
91
+
92
+ msgid "(we need your current password to confirm the following changes)"
93
+ msgstr "(nous avons besoin de votre mot de passe actuel pour valider les changements suivants)"
94
+
95
+ msgid "A note"
96
+ msgstr "Une note"
97
+
98
+ msgid "About"
99
+ msgstr "À propos"
100
+
101
+ msgid "Account"
102
+ msgstr "Compte"
103
+
104
+ msgid "Act"
105
+ msgstr "Acte"
106
+
107
+ msgid "Act|Content type"
108
+ msgstr "Type de contenu"
109
+
110
+ msgid "Act|Event"
111
+ msgstr "Évènement"
112
+
113
+ msgid "Admin"
114
+ msgstr "Admin"
115
+
116
+ msgid "Administration:"
117
+ msgstr "Administration :"
118
+
119
+ msgid "Album count"
120
+ msgstr "Nb. d'albums"
121
+
122
+ msgid "Albums"
123
+ msgstr "Albums"
124
+
125
+ msgid "Albums:"
126
+ msgstr "Albums :"
127
+
128
+ msgid "Allow contact"
129
+ msgstr "Autoriser le contact"
130
+
131
+ msgid "An error prevented the instructions from being sent:"
132
+ msgid_plural "%<nb>i errors prevented the instructions from being sent:"
133
+ msgstr[0] "Une erreur a empêché les instructions d'être envoyées :"
134
+ msgstr[1] "%<nb>i erreur ont empêché les instructions d'être envoyées :"
135
+
136
+ msgid "An error prevented this album from being saved:"
137
+ msgid_plural "%<nb>i errors prevented this album from being saved:"
138
+ msgstr[0] "Une erreur a empêché cet album d'être enregistré :"
139
+ msgstr[1] "%<nb>i erreurs ont empêché cet album d'être enregistré :"
140
+
141
+ msgid "An error prevented this article from being saved:"
142
+ msgid_plural "%<nb>i errors prevented this article from being saved:"
143
+ msgstr[0] "Une erreur a empêché cet article d'être enregistré :"
144
+ msgstr[1] "%<nb>i erreurs ont empêché cet article d'être enregistré :"
145
+
146
+ msgid "An error prevented this language from being saved:"
147
+ msgid_plural "%<nb>i errors prevented this language from being saved:"
148
+ msgstr[0] "Une erreur a empêché cette langue d'être enregistrée :"
149
+ msgstr[1] "%<nb>i erreurs ont empêché cette langue d'être enregistrée :"
150
+
151
+ msgid "An error prevented this license from being saved:"
152
+ msgid_plural "%<nb>i errors prevented this license from being saved:"
153
+ msgstr[0] "Une erreur a empêché cette licence d'être enregistrée :"
154
+ msgstr[1] "%<nb>i erreurs ont empêché cette licence d'être enregistrée :"
155
+
156
+ msgid "An error prevented this note from being saved:"
157
+ msgid_plural "%<nb>i errors prevented this note from being saved:"
158
+ msgstr[0] "Une erreur a empêché cette note d'être enregistrée :"
159
+ msgstr[1] "%<nb>i erreurs ont empêché cette note d'être enregistrée :"
160
+
161
+ msgid "An error prevented this project from being saved:"
162
+ msgid_plural "%<nb>i errors prevented this project from being saved:"
163
+ msgstr[0] "Une erreur a empêché ce projet d'être enregistré :"
164
+ msgstr[1] "%<nb>i erreurs ont empêché ce projet d'être enregistré :"
165
+
166
+ msgid "An error prevented this tag from being saved:"
167
+ msgid_plural "%<nb>i errors prevented this tag from being saved:"
168
+ msgstr[0] "Une erreur a empêché ce tag d'être enregistré :"
169
+ msgstr[1] "%<nb>i erreurs ont empêché ce tag d'être enregistré :"
170
+
171
+ msgid "An error prevented this upload from being saved:"
172
+ msgid_plural "%<nb>i errors prevented this upload from being saved:"
173
+ msgstr[0] "Une erreur a empêché ce fichier d'être enregistré :"
174
+ msgstr[1] "%<nb>i erreurs ont empêché ce fichier d'être enregistré :"
175
+
176
+ msgid "An error prevented your account from being created:"
177
+ msgid_plural "%<nb>i errors prevented your account from being created:"
178
+ msgstr[0] "Une erreur a empêché la création de votre compte :"
179
+ msgstr[1] "%<nb>i erreurs ont empêché la création de votre compte :"
180
+
181
+ msgid "An error prevented your account from being updated:"
182
+ msgid_plural "%<nb>i errors prevented your account from being updated:"
183
+ msgstr[0] "Une erreur a empêché la mise à jour de votre compte :"
184
+ msgstr[1] "%<nb>i erreurs ont empêché la création de votre compte :"
185
+
186
+ msgid "An error prevented your comment from being saved:"
187
+ msgid_plural "%<nb>i errors prevented your comment from being saved:"
188
+ msgstr[0] "Une erreur a empêché ce commentaire d'être enregistré :"
189
+ msgstr[1] "%<nb>i erreurs ont empêché ce commentaire d'être enregistré :"
190
+
191
+ msgid "An error prevented your password from being changed:"
192
+ msgid_plural "%<nb>i errors prevented your password from being changed:"
193
+ msgstr[0] "Une erreur a empêché votre mot de passe d'être modifié:"
194
+ msgstr[1] "%<nb>i erreurs ont empêché votre mot de passe d'être modifié :"
195
+
196
+ msgid "An error prevented your preferences from being saved:"
197
+ msgid_plural "%<nb>i errors prevented your preferences from being saved:"
198
+ msgstr[0] "Une erreur a empêché l'enregistrement de vos preférences :"
199
+ msgstr[1] "%<nb>i erreurs ont empêché l'enregistrement de vos preférences :"
200
+
201
+ msgid "An error prevented your report from being saved:"
202
+ msgid_plural "%<nb>i errors prevented your report from being saved:"
203
+ msgstr[0] "Une erreur a empêché ce rapport d'être enregistré :"
204
+ msgstr[1] "%<nb>i erreurs ont empêché ce rapport d'être enregistré :"
205
+
206
+ msgid "Application content record"
207
+ msgstr ""
208
+
209
+ msgid "ApplicationContentRecord|Albums count"
210
+ msgstr "Nombre d'albums"
211
+
212
+ msgid "ApplicationContentRecord|Articles count"
213
+ msgstr "Nombre d'articles"
214
+
215
+ msgid "ApplicationContentRecord|Content"
216
+ msgstr "Contenu"
217
+
218
+ msgid "ApplicationContentRecord|Description"
219
+ msgstr "Description"
220
+
221
+ msgid "ApplicationContentRecord|Excerpt"
222
+ msgstr "Extrait"
223
+
224
+ msgid "ApplicationContentRecord|Hidden in history"
225
+ msgstr "Caché de l'historique"
226
+
227
+ msgid "ApplicationContentRecord|Locked"
228
+ msgstr "Verrouillé"
229
+
230
+ msgid "ApplicationContentRecord|Main url"
231
+ msgstr "URL principale"
232
+
233
+ msgid "ApplicationContentRecord|Name"
234
+ msgstr "Nom"
235
+
236
+ msgid "ApplicationContentRecord|Notes count"
237
+ msgstr "Nombre de notes"
238
+
239
+ msgid "ApplicationContentRecord|Published"
240
+ msgstr "Publié"
241
+
242
+ msgid "ApplicationContentRecord|Published at"
243
+ msgstr "Publié le"
244
+
245
+ msgid "ApplicationContentRecord|Sfw"
246
+ msgstr "Sfw"
247
+
248
+ msgid "ApplicationContentRecord|Short description"
249
+ msgstr "Description courte"
250
+
251
+ msgid "ApplicationContentRecord|Title"
252
+ msgstr "Titre"
253
+
254
+ msgid "ApplicationContentRecord|Uploads count"
255
+ msgstr "Nombre de fichers"
256
+
257
+ msgid "Are you sure?"
258
+ msgstr "Êtes-vous sûr·e ?"
259
+
260
+ msgid "Article count"
261
+ msgstr "Nb. d'articles"
262
+
263
+ msgid "Articles"
264
+ msgstr "Articles"
265
+
266
+ msgid "Articles:"
267
+ msgstr "Articles :"
268
+
269
+ msgid "Author:"
270
+ msgstr "Auteur :"
271
+
272
+ msgid "Authors"
273
+ msgstr "Auteurs"
274
+
275
+ msgid "Bio"
276
+ msgstr "Bio"
277
+
278
+ msgid "By submitting this comment, you agree to be recontacted by the author."
279
+ msgstr "En soumettant ce commentaire, vous acceptez que l'auteur prenne contact avec vous."
280
+
281
+ msgid "By submitting this report, you agree to be recontacted by administrators."
282
+ msgstr "En soumettant ce commentaire, vous acceptez que des administrateurs prennent contact avec vous."
283
+
284
+ msgid "Cancel my account"
285
+ msgstr "Annuler mon compte"
286
+
287
+ msgid "Cancelling your account will delete all the content you created, with no possibility to restore it. This is definitive."
288
+ msgstr "L'annulation de votre compte supprimera tout le contenu que vous avez créé, sans possibilité de le restaurer. C'est définitif."
289
+
290
+ msgid "Change my password"
291
+ msgstr "Changer mon mot de passe"
292
+
293
+ msgid "Change your password"
294
+ msgstr "Changer de mot de passe"
295
+
296
+ msgid "Come back later, content is being created, somewhere"
297
+ msgstr "Revenez plus tard, le contenu n'est pas encore créé"
298
+
299
+ msgid "Comment"
300
+ msgstr "Commentaire"
301
+
302
+ msgid "Comment was successfully created."
303
+ msgstr "Le commentaire a bien été sauvegardé."
304
+
305
+ msgid "Comments"
306
+ msgstr "Commentaires"
307
+
308
+ msgid "Comment|Allow contact"
309
+ msgstr "Autoriser le contact"
310
+
311
+ msgid "Comment|Comment"
312
+ msgstr "Commentaire"
313
+
314
+ msgid "Comment|Content type"
315
+ msgstr "Type de contenu"
316
+
317
+ msgid "Comment|Deleted"
318
+ msgstr "Supprimé"
319
+
320
+ msgid "Comment|Email"
321
+ msgstr "Courriel"
322
+
323
+ msgid "Comment|Name"
324
+ msgstr "Nom"
325
+
326
+ msgid "Confirm new password"
327
+ msgstr "Confirmez le nouveau mot de passe"
328
+
329
+ msgid "Confirmation"
330
+ msgstr "Confirmation"
331
+
332
+ msgid "Content"
333
+ msgstr "Contenu"
334
+
335
+ msgid "Content not displayed"
336
+ msgstr "Contenu masqué"
337
+
338
+ msgid "Create some content"
339
+ msgstr "Créer du contenu"
340
+
341
+ msgid "Created at"
342
+ msgstr "Créé le"
343
+
344
+ msgid "Currently waiting confirmation for: %<email>s"
345
+ msgstr "En attente de confirmation pour : %<email>s"
346
+
347
+ msgid "Date"
348
+ msgstr "Date"
349
+
350
+ msgid "Destroy"
351
+ msgstr "Supprimer"
352
+
353
+ msgid "Didn't receive confirmation instructions?"
354
+ msgstr "Vous n'avez pas reçu les instructions de confirmation ?"
355
+
356
+ msgid "Didn't receive unlock instructions?"
357
+ msgstr "Vous n'avez pas reçu les informations de déverouillage ?"
358
+
359
+ msgid "Download"
360
+ msgstr "Télécharger"
361
+
362
+ msgid "Edit"
363
+ msgstr "Éditer"
364
+
365
+ msgid "Edit \"%<language>s\""
366
+ msgstr "Éditer \"%<language>s\""
367
+
368
+ msgid "Edit \"%<name>s\""
369
+ msgstr "Éditer \"%<name>s\""
370
+
371
+ msgid "Editing album"
372
+ msgstr "Édition d'un album"
373
+
374
+ msgid "Editing article"
375
+ msgstr "Édition d'un article"
376
+
377
+ msgid "Editing license"
378
+ msgstr "Édition d'une licence"
379
+
380
+ msgid "Editing note"
381
+ msgstr "Édition d'une note"
382
+
383
+ msgid "Editing preferences"
384
+ msgstr "Édition des préférences"
385
+
386
+ msgid "Editing project"
387
+ msgstr "Édition d'un projet"
388
+
389
+ msgid "Editing upload"
390
+ msgstr "Édition d'un fichier"
391
+
392
+ msgid "Email"
393
+ msgstr "Courriel"
394
+
395
+ msgid "Email:"
396
+ msgstr "Courriel :"
397
+
398
+ msgid "Forgot your password?"
399
+ msgstr "Mot de passe oublié ?"
400
+
401
+ msgid "Hide NSFW"
402
+ msgstr "Cacher NSFW"
403
+
404
+ msgid "Home page"
405
+ msgstr "Accueil"
406
+
407
+ msgid "ISO 639-1 code"
408
+ msgstr "Code ISO 639-1"
409
+
410
+ msgid "ISO 639-1 code:"
411
+ msgstr "Code ISO 639-1 :"
412
+
413
+ msgid "Icon"
414
+ msgstr "Icône"
415
+
416
+ msgid "Icon:"
417
+ msgstr "Icône :"
418
+
419
+ msgid "Insc. date"
420
+ msgstr "Date d'insc."
421
+
422
+ msgid "Is SFW:"
423
+ msgstr "Est SFW :"
424
+
425
+ msgid "Javascript seems to be disabled."
426
+ msgstr "Javascript semble désactivé."
427
+
428
+ msgid "Language"
429
+ msgstr "Langue"
430
+
431
+ msgid "Language was successfully created."
432
+ msgstr "La langue a été créée avec succès."
433
+
434
+ msgid "Language was successfully destroyed."
435
+ msgstr "La langue a été supprimée avec succès."
436
+
437
+ msgid "Language was successfully updated."
438
+ msgstr "La langue a été mise à jour avec succès."
439
+
440
+ msgid "Language:"
441
+ msgstr "Langue :"
442
+
443
+ msgid "Languages"
444
+ msgstr "Langues"
445
+
446
+ msgid "Language|Albums count"
447
+ msgstr "Nb. d'albums"
448
+
449
+ msgid "Language|Articles count"
450
+ msgstr "Nb. d'articles"
451
+
452
+ msgid "Language|Iso639 1"
453
+ msgstr "Iso639 1"
454
+
455
+ msgid "Language|Name"
456
+ msgstr "Nom"
457
+
458
+ msgid "Language|Notes count"
459
+ msgstr "Nb. de notes"
460
+
461
+ msgid "Language|Projects count"
462
+ msgstr "Nb. de projets"
463
+
464
+ msgid "Language|Uploads count"
465
+ msgstr "Nb. de fichiers"
466
+
467
+ msgid "Last %<amount>i albums:"
468
+ msgstr "Derniers %<amount>i albums :"
469
+
470
+ msgid "Last %<amount>i articles:"
471
+ msgstr "Derniers %<amount>i articles :"
472
+
473
+ msgid "Last %<amount>i notes:"
474
+ msgstr "Dernières %<amount>i notes :"
475
+
476
+ msgid "Last %<amount>i projects:"
477
+ msgstr "Derniers %<amount>i projets :"
478
+
479
+ msgid "Last %<amount>i uploads:"
480
+ msgstr "Derniers %<amount>i fichiers :"
481
+
482
+ msgid "Last events"
483
+ msgstr "Derniers évènements"
484
+
485
+ msgid "Leave a comment"
486
+ msgstr "Laisser un commentaire"
487
+
488
+ msgid "License"
489
+ msgstr "Licence"
490
+
491
+ msgid "License was successfully created."
492
+ msgstr "La licence a été créée avec succès."
493
+
494
+ msgid "License was successfully destroyed."
495
+ msgstr "La licence a été supprimée avec succès."
496
+
497
+ msgid "License was successfully updated."
498
+ msgstr "La licence a été mise à jour avec succès."
499
+
500
+ msgid "License:"
501
+ msgstr "Licence :"
502
+
503
+ msgid "Licenses"
504
+ msgstr "Licences"
505
+
506
+ msgid "License|Albums count"
507
+ msgstr "Nb. d'albums"
508
+
509
+ msgid "License|Articles count"
510
+ msgstr "Nb. d'articles"
511
+
512
+ msgid "License|Icon"
513
+ msgstr "Icône"
514
+
515
+ msgid "License|Name"
516
+ msgstr "Nom"
517
+
518
+ msgid "License|Notes count"
519
+ msgstr "Nb. de notes"
520
+
521
+ msgid "License|Projects count"
522
+ msgstr "Nb. de projets"
523
+
524
+ msgid "License|Tldr url"
525
+ msgstr "URL TL;DR"
526
+
527
+ msgid "License|Uploads count"
528
+ msgstr "Nb. de fichiers"
529
+
530
+ msgid "License|Url"
531
+ msgstr "URL"
532
+
533
+ msgid "List of comma-separated tags"
534
+ msgstr "Liste de tags séparés par des virgules"
535
+
536
+ msgid "Listing reports"
537
+ msgstr "Liste des rapports"
538
+
539
+ msgid "Lock"
540
+ msgstr "Verrouiller"
541
+
542
+ msgid "Lock."
543
+ msgstr "Verr."
544
+
545
+ msgid "Log in"
546
+ msgstr "Connexion"
547
+
548
+ msgid "Log out"
549
+ msgstr "Déconnexion"
550
+
551
+ msgid "Login"
552
+ msgstr "Connexion"
553
+
554
+ msgid "Main url"
555
+ msgstr "URL principale"
556
+
557
+ msgid "Main url:"
558
+ msgstr "URL principale :"
559
+
560
+ msgid "Markdown supported. %<preview_button>s"
561
+ msgstr "Markdown supporté. %<preview_button>s"
562
+
563
+ msgid "Member"
564
+ msgstr "Membre"
565
+
566
+ msgid "Name"
567
+ msgstr "Nom"
568
+
569
+ msgid "New Album"
570
+ msgstr "Nouvel Album"
571
+
572
+ msgid "New Article"
573
+ msgstr "Nouvel Article"
574
+
575
+ msgid "New Language"
576
+ msgstr "Nouvelle Langues"
577
+
578
+ msgid "New License"
579
+ msgstr "Nouvelle Licence"
580
+
581
+ msgid "New Note"
582
+ msgstr "Nouvelle Note"
583
+
584
+ msgid "New Project"
585
+ msgstr "Nouveau Projet"
586
+
587
+ msgid "New Upload"
588
+ msgstr "Nouveau Fichier"
589
+
590
+ msgid "New album"
591
+ msgstr "Nouvel album"
592
+
593
+ msgid "New article"
594
+ msgstr "Nouvel article"
595
+
596
+ msgid "New language"
597
+ msgstr "Nouvelle langue"
598
+
599
+ msgid "New license"
600
+ msgstr "Nouvele licence"
601
+
602
+ msgid "New note"
603
+ msgstr "Nouvelle note"
604
+
605
+ msgid "New password"
606
+ msgstr "Nouveau mot de passe"
607
+
608
+ msgid "New project"
609
+ msgstr "Nouveau projet"
610
+
611
+ msgid "New upload"
612
+ msgstr "Nouveau fichier"
613
+
614
+ msgid "No comment has been left"
615
+ msgstr "Aucun commentaire"
616
+
617
+ msgid "No tags"
618
+ msgstr "Pas de tag"
619
+
620
+ msgid "Not in a project"
621
+ msgstr "Aucun projet"
622
+
623
+ msgid "Not in an album"
624
+ msgstr "Aucun album"
625
+
626
+ msgid "Note count"
627
+ msgstr "Nb. de notes"
628
+
629
+ msgid "Notes"
630
+ msgstr "Notes"
631
+
632
+ msgid "Notes:"
633
+ msgstr "Notes :"
634
+
635
+ msgid "Oh noes ! There is nothing here!"
636
+ msgstr "Oh non ! Il n'y a rien ici !"
637
+
638
+ msgid "Only NSFW"
639
+ msgstr "NSFW seuls"
640
+
641
+ msgid "Only SFW"
642
+ msgstr "SFW seuls"
643
+
644
+ msgid "Permalink"
645
+ msgstr "Lien permanent"
646
+
647
+ msgid "Posted on:"
648
+ msgstr "Posté le :"
649
+
650
+ msgid "Preference"
651
+ msgstr "Préférence"
652
+
653
+ msgid "Preference was successfully updated."
654
+ msgstr "Préference mises à jour avec succès"
655
+
656
+ msgid "Preferences"
657
+ msgstr "Préférences"
658
+
659
+ msgid "Preference|Locale"
660
+ msgstr "Langue"
661
+
662
+ msgid "Preference|Show nsfw"
663
+ msgstr "Afficher NSFW"
664
+
665
+ msgid "Preview"
666
+ msgstr "Prévisualiser"
667
+
668
+ msgid "Project count"
669
+ msgstr "Nb. de projets"
670
+
671
+ msgid "Projects"
672
+ msgstr "Projets"
673
+
674
+ msgid "Projects:"
675
+ msgstr "Projets :"
676
+
677
+ msgid "Pub."
678
+ msgstr "Pub."
679
+
680
+ msgid "Pub. date"
681
+ msgstr "Date de pub."
682
+
683
+ msgid "Publish"
684
+ msgstr "Publier"
685
+
686
+ msgid "Published at"
687
+ msgstr "Publié le"
688
+
689
+ msgid "Published at:"
690
+ msgstr "Publié le :"
691
+
692
+ msgid "Real name"
693
+ msgstr "Nom réel"
694
+
695
+ msgid "Real name:"
696
+ msgstr "Nom réel :"
697
+
698
+ msgid "Reason"
699
+ msgstr "Raison"
700
+
701
+ msgid "Report"
702
+ msgstr "Rapport"
703
+
704
+ msgid "Report this page"
705
+ msgstr "Rapporter cette page"
706
+
707
+ msgid "Report was successfully created."
708
+ msgstr "Le rapport a été créé avec succès"
709
+
710
+ msgid "Report was successfully destroyed."
711
+ msgstr "Le rapport a été supprimé avec succès"
712
+
713
+ msgid "Report will be posted as \"%<name>s\""
714
+ msgstr "Le rapport sera envoyé en tant que \"%<name>s\""
715
+
716
+ msgid "Reports"
717
+ msgstr "Rapports"
718
+
719
+ msgid "Report|Allow contact"
720
+ msgstr "Autoriser d'être contacté"
721
+
722
+ msgid "Report|Email"
723
+ msgstr "Courriel"
724
+
725
+ msgid "Report|Name"
726
+ msgstr "Nom"
727
+
728
+ msgid "Report|Reason"
729
+ msgstr "Raison"
730
+
731
+ msgid "Report|Url"
732
+ msgstr "URL"
733
+
734
+ msgid "Resend confirmation instructions"
735
+ msgstr "Ré-envoyer les instructions de confirmation"
736
+
737
+ msgid "Resend unlock instructions"
738
+ msgstr "Ré-envoyer les instructions de déverouillage"
739
+
740
+ msgid "Role"
741
+ msgstr "Rôle"
742
+
743
+ msgid "Role:"
744
+ msgstr "Rôle :"
745
+
746
+ msgid "SFW"
747
+ msgstr "SFW"
748
+
749
+ msgid "SFW:"
750
+ msgstr "SFW :"
751
+
752
+ msgid "Save"
753
+ msgstr "Enregister"
754
+
755
+ msgid "Send me reset password instructions"
756
+ msgstr "Envoyez-moi les instructions de réinitialisation du mot de passe"
757
+
758
+ msgid "Sensitive changes"
759
+ msgstr "Changements sensibles"
760
+
761
+ msgid "Show"
762
+ msgstr "Afficher"
763
+
764
+ msgid "Show NSFW"
765
+ msgstr "Afficher NSFW"
766
+
767
+ msgid "Show all"
768
+ msgstr "Afficher tout"
769
+
770
+ msgid "Show online"
771
+ msgstr "Afficher en ligne"
772
+
773
+ msgid "Sign in with %<provider>s"
774
+ msgstr "Connectez-vous avec %<provider>s"
775
+
776
+ msgid "Sign up"
777
+ msgstr "S'inscrire"
778
+
779
+ msgid "Since"
780
+ msgstr "Depuis"
781
+
782
+ msgid "Since:"
783
+ msgstr "Depuis :"
784
+
785
+ msgid "Skip hist."
786
+ msgstr "Passer l'histo."
787
+
788
+ msgid "Subscription date"
789
+ msgstr "Date d'inscription"
790
+
791
+ msgid "Subscription date:"
792
+ msgstr "Date d'inscription :"
793
+
794
+ msgid "TL; DR"
795
+ msgstr "TL ; DR"
796
+
797
+ msgid "TL;DR URL"
798
+ msgstr "URL TL ; DR"
799
+
800
+ msgid "Tag"
801
+ msgstr "Tag"
802
+
803
+ msgid "Tag was successfully destroyed."
804
+ msgstr "Tag supprimé avec succès"
805
+
806
+ msgid "Tag was successfully updated."
807
+ msgstr "Tag mis à jour avec succès"
808
+
809
+ msgid "Tags"
810
+ msgstr "Tags"
811
+
812
+ msgid "Tags list"
813
+ msgstr "Liste des tags"
814
+
815
+ msgid "Tags:"
816
+ msgstr "Tags :"
817
+
818
+ msgid "Tag|Albums count"
819
+ msgstr "Nb. d'albums"
820
+
821
+ msgid "Tag|Articles count"
822
+ msgstr "Nb. d'articles"
823
+
824
+ msgid "Tag|Name"
825
+ msgstr "Nom"
826
+
827
+ msgid "Tag|Notes count"
828
+ msgstr "Nb. de notes"
829
+
830
+ msgid "Tag|Projects count"
831
+ msgstr "Nb. de projets"
832
+
833
+ msgid "Tag|Uploads count"
834
+ msgstr "Nb. de fichiers"
835
+
836
+ msgid "The following formats will be viewable online; other will need a download: %<formats>s"
837
+ msgstr "Les formats suivant seront visionnables en ligne; les autre demanderont un téléchargement : %<formats>s"
838
+
839
+ msgid "This %<model>s is not yours"
840
+ msgstr "Ce %<model>s n'est pas le vôtre"
841
+
842
+ msgid "This comment will be posted as \"%<name>s\""
843
+ msgstr "Ce commentaire sera posté en tant que \"%<name>s\""
844
+
845
+ msgid "This content might not be appropriate for every situation."
846
+ msgstr "Ce contenu n'est sûrement pas approprié dans toutes les situations"
847
+
848
+ msgid "This content needs review and have been retired for now."
849
+ msgstr "Ce contenu a besoin d'être revu et a été enlevé pour le moment."
850
+
851
+ msgid "This space is empty"
852
+ msgstr "Cet espace est vide"
853
+
854
+ msgid "Title"
855
+ msgstr "Titre"
856
+
857
+ msgid "URL"
858
+ msgstr "URL"
859
+
860
+ msgid "Unlock"
861
+ msgstr "Déverrouiller"
862
+
863
+ msgid "Unpublish"
864
+ msgstr "Dé-publier"
865
+
866
+ msgid "Upd. date"
867
+ msgstr "Date de MàJ"
868
+
869
+ msgid "Updated at:"
870
+ msgstr "Date de MàJ :"
871
+
872
+ msgid "Upload count"
873
+ msgstr "Nb. de fichiers"
874
+
875
+ msgid "Uploads"
876
+ msgstr "Fichiers"
877
+
878
+ msgid "Uploads:"
879
+ msgstr "Fichiers :"
880
+
881
+ msgid "User"
882
+ msgstr "Utilisateur"
883
+
884
+ msgid "User was successfully destroyed."
885
+ msgstr "L'utilisateur a été supprimé avec succès."
886
+
887
+ msgid "User:"
888
+ msgstr "Utilisateur :"
889
+
890
+ msgid "Username"
891
+ msgstr "Nom d'utilisateur"
892
+
893
+ msgid "Username:"
894
+ msgstr "Nom d'utilisateur :"
895
+
896
+ msgid "Users"
897
+ msgstr "Utilisateurs"
898
+
899
+ msgid "User|Albums count"
900
+ msgstr "Nb. d'albums"
901
+
902
+ msgid "User|Articles count"
903
+ msgstr "Nb. d'articles"
904
+
905
+ msgid "User|Biography"
906
+ msgstr "User|Biographie"
907
+
908
+ msgid "User|Confirmation sent at"
909
+ msgstr "User|Confirmation envoyée le"
910
+
911
+ msgid "User|Confirmation token"
912
+ msgstr "User|Jeton de confirmation"
913
+
914
+ msgid "User|Confirmed at"
915
+ msgstr "User|Confirmé le"
916
+
917
+ msgid "User|Email"
918
+ msgstr "User|Courriel"
919
+
920
+ msgid "User|Encrypted password"
921
+ msgstr "User|Mot de passe crypté"
922
+
923
+ msgid "User|Failed attempts"
924
+ msgstr "User|Tentatives manquées"
925
+
926
+ msgid "User|Locked at"
927
+ msgstr "User|Vérouillé le"
928
+
929
+ msgid "User|Notes count"
930
+ msgstr "Nb. de notes"
931
+
932
+ msgid "User|Projects count"
933
+ msgstr "Nb. de projets"
934
+
935
+ msgid "User|Real name"
936
+ msgstr "Nom réel"
937
+
938
+ msgid "User|Remember created at"
939
+ msgstr ""
940
+
941
+ msgid "User|Reset password sent at"
942
+ msgstr ""
943
+
944
+ msgid "User|Reset password token"
945
+ msgstr ""
946
+
947
+ msgid "User|Role"
948
+ msgstr "Rôle"
949
+
950
+ msgid "User|Unconfirmed email"
951
+ msgstr "Courriel non confirmé"
952
+
953
+ msgid "User|Unlock token"
954
+ msgstr ""
955
+
956
+ msgid "User|Uploads count"
957
+ msgstr "Nb. de fichiers"
958
+
959
+ msgid "User|Username"
960
+ msgstr "Nom d'utilisateur"
961
+
962
+ msgid "View online"
963
+ msgstr "Voir en ligne"
964
+
965
+ msgid "With content only"
966
+ msgstr "Avec du contenu"
967
+
968
+ msgid "Your browser does not support the audio tag."
969
+ msgstr "Votre navigateur ne supporte pas le tag \"audio\"."
970
+
971
+ msgid "Your browser does not support the video tag."
972
+ msgstr "Votre navigateur ne supporte pas le tag \"video\"."
973
+
974
+ msgid "Your infos were successfully saved"
975
+ msgstr "Vos informations ont été sauvegardées avec succès"
976
+
977
+ msgid "created"
978
+ msgstr "créé"
979
+
980
+ msgid "devise.confirmations.confirmed"
981
+ msgstr "Addresse de courriel confirmée."
982
+
983
+ msgid "devise.confirmations.send_instructions"
984
+ msgstr "Vous allez recevoir un courriel avec les instructions de confirmation dans quelques minutes"
985
+
986
+ msgid "devise.confirmations.send_paranoid_instructions"
987
+ msgstr "Si votre addresse existe dans la base de données, vous allez recevoir un email avec les instructions de confirmation d'ici quelques minutes."
988
+
989
+ msgid "devise.failure.already_authenticated"
990
+ msgstr "Votre session est déjà ouverte."
991
+
992
+ msgid "devise.failure.inactive"
993
+ msgstr "Votre compte n'est pas encore activé."
994
+
995
+ msgid "devise.failure.invalid"
996
+ msgstr "Courriel ou mot de passe invalide."
997
+
998
+ msgid "devise.failure.last_attempt"
999
+ msgstr "Votre compte est verouillé."
1000
+
1001
+ msgid "devise.failure.locked"
1002
+ msgstr "Il ne vous reste qu'un essai avant que votre compte ne soit verrouillé."
1003
+
1004
+ msgid "devise.failure.not_found_in_database"
1005
+ msgstr "Courriel ou mot de passe invalide."
1006
+
1007
+ msgid "devise.failure.timeout"
1008
+ msgstr "La session a expiré. Veuillez vous reconnecter."
1009
+
1010
+ msgid "devise.failure.unauthenticated"
1011
+ msgstr "Vous devez vous authentifier ou vous identifier pour continuer."
1012
+
1013
+ msgid "devise.failure.unconfirmed"
1014
+ msgstr "Veuillez confirmer votre addresse de courriel avant de continuer."
1015
+
1016
+ msgid "devise.mailer.confirmation_instructions.subject"
1017
+ msgstr "Instructions de confirmation"
1018
+
1019
+ msgid "devise.mailer.email_changed.subject"
1020
+ msgstr "Instructions de changement de mot de passe"
1021
+
1022
+ msgid "devise.mailer.password_change.subject"
1023
+ msgstr "Informations de déverouillage"
1024
+
1025
+ msgid "devise.mailer.reset_password_instructions.subject"
1026
+ msgstr "Courriel changé"
1027
+
1028
+ msgid "devise.mailer.unlock_instructions.subject"
1029
+ msgstr "Mot de passe changé"
1030
+
1031
+ msgid "devise.omniauth_callbacks.failure"
1032
+ msgstr "Could not authenticate you from %{kind} because \"%{reason}\"."
1033
+
1034
+ msgid "devise.omniauth_callbacks.success"
1035
+ msgstr "Successfully authenticated from %{kind} account."
1036
+
1037
+ msgid "devise.passwords.no_token"
1038
+ msgstr "Vous ne pouvez pas accéder à cette page sans venir d'un lien présent dans un email de confirmation. Si c'est le cas, vérifiez que vous avez bien utilisé la bonne URL."
1039
+
1040
+ msgid "devise.passwords.send_instructions"
1041
+ msgstr "Vous allez recevoir un courriel avec les instructions de changement de mot de passe."
1042
+
1043
+ msgid "devise.passwords.send_paranoid_instructions"
1044
+ msgstr "Si votre addresse existe dans la base de données, vous allez recevoir un lien pour récupérer votre mot de passe."
1045
+
1046
+ msgid "devise.passwords.updated"
1047
+ msgstr "Votre mot de passe a été changé avec succès. Vous êtes maintenant authentifié·e"
1048
+
1049
+ msgid "devise.passwords.updated_not_active"
1050
+ msgstr "Votre mot de passe a été changé avec succès"
1051
+
1052
+ msgid "devise.registrations.destroyed"
1053
+ msgstr "Au revoir! Votre compte a été annulé avec succès. À la prochaine !"
1054
+
1055
+ msgid "devise.registrations.signed_up"
1056
+ msgstr "Bienvenue !"
1057
+
1058
+ msgid "devise.registrations.signed_up_but_inactive"
1059
+ msgstr "Votre inscription est réussie. Vous devez cependant activer votre compte avant de vous connecter"
1060
+
1061
+ msgid "devise.registrations.signed_up_but_locked"
1062
+ msgstr "Votre inscription est réussie. Votre compte est malheureusement verouillé"
1063
+
1064
+ msgid "devise.registrations.signed_up_but_unconfirmed"
1065
+ msgstr "Un courriel avec un lien de confirmation a été envoyé."
1066
+
1067
+ msgid "devise.registrations.update_needs_confirmation"
1068
+ msgstr "Votre compte a été mis à jour avec succès. Cependant, vous devez maintenant valider votre nouvelle addresse de courriel en suivant le lien qui vous a été envoyé."
1069
+
1070
+ msgid "devise.registrations.updated"
1071
+ msgstr "Votre compte a été mis à jour avec succès."
1072
+
1073
+ msgid "devise.sessions.already_signed_out"
1074
+ msgstr "Session ouverte avec succès."
1075
+
1076
+ msgid "devise.sessions.signed_in"
1077
+ msgstr "Session fermée avec succès."
1078
+
1079
+ msgid "devise.sessions.signed_out"
1080
+ msgstr "Session fermée avec succès."
1081
+
1082
+ msgid "devise.unlocks.send_instructions"
1083
+ msgstr "Vous allez recevoir un courriel abec les instructions de déverrouillage."
1084
+
1085
+ msgid "devise.unlocks.send_paranoid_instructions"
1086
+ msgstr "Si votre compte existe, vous allez recevoir un courriel avec les instructions de déverrouillage."
1087
+
1088
+ msgid "devise.unlocks.unlocked"
1089
+ msgstr "Votre compte a bien été déverouillé. Vous pouvez vous connecter."
1090
+
1091
+ msgid "errors.messages.already_confirmed"
1092
+ msgstr "a déjà été confirmé. Vous pouvez vous connecter."
1093
+
1094
+ msgid "errors.messages.confirmation_period_expired"
1095
+ msgstr "a besoin d'être confirmé dans une période de %{period}. Veuillez en redemander un autre."
1096
+
1097
+ msgid "errors.messages.expired"
1098
+ msgstr "a expiré, veuillez en redemander un autre"
1099
+
1100
+ msgid "errors.messages.not_found"
1101
+ msgstr "non trouvé"
1102
+
1103
+ msgid "errors.messages.not_locked"
1104
+ msgstr "n'était pas verouillé"
1105
+
1106
+ msgid "errors.messages.not_saved.one"
1107
+ msgstr "Une erreur a empêché votre compte d'être enregistré :"
1108
+
1109
+ msgid "errors.messages.not_saved.other"
1110
+ msgstr "%{count} erreurs ont empêché votre compte d'être enregistré :"
1111
+
1112
+ msgid "locked"
1113
+ msgstr "verrouillé"
1114
+
1115
+ msgid "published"
1116
+ msgstr "publié"
1117
+
1118
+ msgid "removed from publication"
1119
+ msgstr "non publié"
1120
+
1121
+ msgid "unlocked"
1122
+ msgstr "déverrouillé"
1123
+
1124
+ msgid "updated"
1125
+ msgstr "mis à jour"