fat_free_crm 0.12.3 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fat_free_crm might be problematic. Click here for more details.

Files changed (521) hide show
  1. checksums.yaml +5 -13
  2. data/.travis.yml +1 -11
  3. data/Gemfile +7 -19
  4. data/Gemfile.lock +166 -166
  5. data/Procfile +1 -1
  6. data/README.md +20 -20
  7. data/app/assets/javascripts/admin/fields.js.coffee +3 -3
  8. data/app/assets/javascripts/application.js.erb +3 -0
  9. data/app/assets/javascripts/crm.js +1 -0
  10. data/app/assets/javascripts/crm_comments.js.coffee +66 -0
  11. data/app/assets/javascripts/lists.js.coffee +45 -2
  12. data/app/assets/javascripts/search.js.coffee +2 -0
  13. data/app/assets/javascripts/timeago.js +17 -0
  14. data/app/assets/stylesheets/advanced_search.css.scss +49 -25
  15. data/app/assets/stylesheets/application.css.erb +3 -0
  16. data/app/assets/stylesheets/common.scss +13 -0
  17. data/app/assets/stylesheets/format_buttons.css.scss +15 -10
  18. data/app/assets/stylesheets/header.scss +3 -0
  19. data/app/assets/stylesheets/lists.css.scss +4 -0
  20. data/app/controllers/admin/fields_controller.rb +5 -5
  21. data/app/controllers/admin/users_controller.rb +1 -3
  22. data/app/controllers/application_controller.rb +23 -23
  23. data/app/controllers/comments_controller.rb +3 -31
  24. data/app/controllers/entities/accounts_controller.rb +3 -3
  25. data/app/controllers/entities/campaigns_controller.rb +4 -4
  26. data/app/controllers/entities/contacts_controller.rb +2 -2
  27. data/app/controllers/entities/leads_controller.rb +3 -3
  28. data/app/controllers/entities/opportunities_controller.rb +4 -3
  29. data/app/controllers/entities_controller.rb +6 -6
  30. data/app/controllers/home_controller.rb +1 -1
  31. data/app/controllers/lists_controller.rb +8 -1
  32. data/app/controllers/tasks_controller.rb +1 -1
  33. data/app/controllers/users_controller.rb +46 -23
  34. data/app/helpers/admin/application_helper.rb +1 -3
  35. data/app/helpers/admin/field_groups_helper.rb +2 -1
  36. data/app/helpers/application_helper.rb +37 -16
  37. data/app/helpers/home_helper.rb +1 -2
  38. data/app/helpers/leads_helper.rb +5 -6
  39. data/app/helpers/tasks_helper.rb +36 -50
  40. data/app/models/entities/account.rb +10 -7
  41. data/app/models/entities/campaign.rb +4 -4
  42. data/app/models/entities/contact.rb +8 -5
  43. data/app/models/entities/lead.rb +8 -8
  44. data/app/models/entities/opportunity.rb +13 -18
  45. data/app/models/fields/custom_field.rb +10 -0
  46. data/app/models/fields/field.rb +3 -3
  47. data/app/models/fields/field_group.rb +1 -1
  48. data/app/models/list.rb +1 -0
  49. data/app/models/polymorphic/address.rb +3 -3
  50. data/app/models/polymorphic/comment.rb +2 -4
  51. data/app/models/polymorphic/task.rb +32 -27
  52. data/app/models/setting.rb +3 -9
  53. data/app/models/users/ability.rb +2 -13
  54. data/app/models/users/user.rb +12 -15
  55. data/app/views/accounts/_edit.html.haml +1 -1
  56. data/app/views/accounts/_index_brief.html.haml +3 -3
  57. data/app/views/accounts/_index_long.html.haml +3 -3
  58. data/app/views/accounts/_new.html.haml +1 -1
  59. data/app/views/accounts/create.js.haml +17 -0
  60. data/app/views/accounts/destroy.js.haml +6 -0
  61. data/app/views/accounts/edit.js.haml +32 -0
  62. data/app/views/accounts/index.js.haml +11 -0
  63. data/app/views/accounts/index.xls.builder +9 -7
  64. data/app/views/accounts/new.js.haml +11 -0
  65. data/app/views/accounts/show.js.haml +5 -0
  66. data/app/views/accounts/update.js.haml +17 -0
  67. data/app/views/admin/field_groups/_edit.html.haml +1 -1
  68. data/app/views/admin/field_groups/_new.html.haml +1 -1
  69. data/app/views/admin/field_groups/confirm.js.haml +7 -0
  70. data/app/views/admin/field_groups/create.js.haml +20 -0
  71. data/app/views/admin/field_groups/destroy.js.haml +9 -0
  72. data/app/views/admin/field_groups/edit.js.haml +12 -0
  73. data/app/views/admin/field_groups/new.js.haml +8 -0
  74. data/app/views/admin/field_groups/update.js.haml +8 -0
  75. data/app/views/admin/fields/_field.html.haml +2 -2
  76. data/app/views/admin/fields/_form.html.haml +2 -2
  77. data/app/views/admin/fields/create.js.haml +17 -0
  78. data/app/views/admin/fields/destroy.js.haml +8 -0
  79. data/app/views/admin/fields/edit.js.haml +3 -0
  80. data/app/views/admin/fields/update.js.haml +13 -0
  81. data/app/views/admin/groups/_edit.html.haml +1 -1
  82. data/app/views/admin/groups/_new.html.haml +1 -1
  83. data/app/views/admin/groups/create.js.haml +10 -0
  84. data/app/views/admin/groups/destroy.js.haml +9 -0
  85. data/app/views/admin/groups/edit.js.haml +14 -0
  86. data/app/views/admin/groups/index.html.haml +1 -1
  87. data/app/views/admin/groups/index.js.haml +2 -0
  88. data/app/views/admin/groups/new.js.haml +9 -0
  89. data/app/views/admin/groups/update.js.haml +9 -0
  90. data/app/views/admin/tags/_edit.html.haml +1 -1
  91. data/app/views/admin/tags/_new.html.haml +1 -1
  92. data/app/views/admin/tags/confirm.js.haml +7 -0
  93. data/app/views/admin/tags/create.js.haml +11 -0
  94. data/app/views/admin/tags/destroy.js.haml +10 -0
  95. data/app/views/admin/tags/edit.js.haml +20 -0
  96. data/app/views/admin/tags/new.js.haml +7 -0
  97. data/app/views/admin/tags/update.js.haml +9 -0
  98. data/app/views/admin/users/_edit.html.haml +1 -1
  99. data/app/views/admin/users/_new.html.haml +1 -1
  100. data/app/views/admin/users/_user.html.haml +1 -1
  101. data/app/views/admin/users/confirm.js.haml +7 -0
  102. data/app/views/admin/users/create.js.haml +10 -0
  103. data/app/views/admin/users/destroy.js.haml +10 -0
  104. data/app/views/admin/users/edit.js.haml +20 -0
  105. data/app/views/admin/users/index.js.haml +2 -0
  106. data/app/views/admin/users/new.js.haml +9 -0
  107. data/app/views/admin/users/reactivate.js.haml +3 -0
  108. data/app/views/admin/users/suspend.js.haml +3 -0
  109. data/app/views/admin/users/update.js.haml +9 -0
  110. data/app/views/authentications/new.html.haml +1 -1
  111. data/app/views/campaigns/_edit.html.haml +1 -1
  112. data/app/views/campaigns/_new.html.haml +1 -1
  113. data/app/views/campaigns/create.js.haml +20 -0
  114. data/app/views/campaigns/destroy.js.haml +6 -0
  115. data/app/views/campaigns/edit.js.haml +33 -0
  116. data/app/views/campaigns/index.js.haml +11 -0
  117. data/app/views/campaigns/index.xls.builder +9 -7
  118. data/app/views/campaigns/new.js.haml +11 -0
  119. data/app/views/campaigns/show.js.haml +5 -0
  120. data/app/views/campaigns/update.js.haml +20 -0
  121. data/app/views/comments/_comment.html.haml +1 -1
  122. data/app/views/comments/_edit.html.haml +1 -1
  123. data/app/views/comments/_new.html.haml +3 -2
  124. data/app/views/comments/create.js.haml +14 -0
  125. data/app/views/comments/destroy.js.haml +5 -0
  126. data/app/views/comments/edit.js.haml +11 -0
  127. data/app/views/comments/update.js.haml +9 -0
  128. data/app/views/contacts/_edit.html.haml +1 -1
  129. data/app/views/contacts/_index_full.html.haml +1 -1
  130. data/app/views/contacts/_index_long.html.haml +2 -1
  131. data/app/views/contacts/_new.html.haml +1 -1
  132. data/app/views/contacts/_section_general.html.haml +3 -3
  133. data/app/views/contacts/create.js.haml +23 -0
  134. data/app/views/contacts/destroy.js.haml +9 -0
  135. data/app/views/contacts/edit.js.haml +35 -0
  136. data/app/views/contacts/index.js.haml +11 -0
  137. data/app/views/contacts/index.xls.builder +9 -7
  138. data/app/views/contacts/new.js.haml +13 -0
  139. data/app/views/contacts/show.js.haml +5 -0
  140. data/app/views/contacts/update.js.haml +22 -0
  141. data/app/views/emails/destroy.js.haml +5 -0
  142. data/app/views/entities/_permissions.html.haml +1 -1
  143. data/app/views/entities/attach.js.haml +21 -0
  144. data/app/views/entities/contacts.js.haml +3 -0
  145. data/app/views/entities/discard.js.haml +6 -0
  146. data/app/views/entities/leads.js.haml +3 -0
  147. data/app/views/entities/opportunities.js.haml +3 -0
  148. data/app/views/entities/subscription_update.js.haml +4 -0
  149. data/app/views/entities/versions.js.haml +3 -0
  150. data/app/views/fields/group.js.erb +3 -0
  151. data/app/views/home/_account.html.haml +3 -3
  152. data/app/views/home/_opportunity.html.haml +3 -3
  153. data/app/views/home/index.atom.builder +3 -3
  154. data/app/views/home/index.js.haml +7 -0
  155. data/app/views/home/index.rss.builder +2 -2
  156. data/app/views/home/options.js.haml +7 -0
  157. data/app/views/layouts/_footer.html.haml +0 -4
  158. data/app/views/layouts/_sidebar.html.haml +1 -0
  159. data/app/views/layouts/_tabbed.html.haml +1 -4
  160. data/app/views/layouts/admin/application.html.haml +0 -1
  161. data/app/views/layouts/application.html.haml +5 -7
  162. data/app/views/leads/_convert.html.haml +1 -1
  163. data/app/views/leads/_edit.html.haml +1 -1
  164. data/app/views/leads/_index_long.html.haml +2 -2
  165. data/app/views/leads/_new.html.haml +1 -1
  166. data/app/views/leads/convert.js.haml +35 -0
  167. data/app/views/leads/create.js.haml +21 -0
  168. data/app/views/leads/destroy.js.haml +9 -0
  169. data/app/views/leads/edit.js.haml +35 -0
  170. data/app/views/leads/index.js.haml +11 -0
  171. data/app/views/leads/index.xls.builder +9 -7
  172. data/app/views/leads/new.js.haml +11 -0
  173. data/app/views/leads/promote.js.haml +26 -0
  174. data/app/views/leads/reject.js.haml +12 -0
  175. data/app/views/leads/show.js.haml +5 -0
  176. data/app/views/leads/update.js.haml +26 -0
  177. data/app/views/lists/_personal_sidebar.html.haml +28 -0
  178. data/app/views/lists/_sidebar.html.haml +10 -7
  179. data/app/views/lists/create.js.haml +10 -0
  180. data/app/views/lists/destroy.js.haml +1 -0
  181. data/app/views/opportunities/_edit.html.haml +1 -1
  182. data/app/views/opportunities/_index_brief.html.haml +3 -3
  183. data/app/views/opportunities/_index_long.html.haml +3 -3
  184. data/app/views/opportunities/_new.html.haml +1 -2
  185. data/app/views/opportunities/_top_section.html.haml +4 -0
  186. data/app/views/opportunities/contacts.js.haml +3 -0
  187. data/app/views/opportunities/create.js.haml +29 -0
  188. data/app/views/opportunities/destroy.js.haml +13 -0
  189. data/app/views/opportunities/edit.js.haml +35 -0
  190. data/app/views/opportunities/index.js.haml +11 -0
  191. data/app/views/opportunities/index.xls.builder +9 -7
  192. data/app/views/opportunities/new.js.haml +13 -0
  193. data/app/views/opportunities/show.js.haml +5 -0
  194. data/app/views/opportunities/update.js.haml +25 -0
  195. data/app/views/passwords/edit.html.haml +1 -1
  196. data/app/views/passwords/new.html.haml +1 -1
  197. data/app/views/shared/_comment.html.haml +1 -1
  198. data/app/views/shared/_inline_styles.html.haml +1 -1
  199. data/app/views/tasks/_edit.html.haml +1 -1
  200. data/app/views/tasks/_new.html.haml +1 -1
  201. data/app/views/tasks/complete.js.haml +14 -0
  202. data/app/views/tasks/create.js.haml +39 -0
  203. data/app/views/tasks/destroy.js.haml +7 -0
  204. data/app/views/tasks/discard.js.haml +1 -0
  205. data/app/views/tasks/edit.js.haml +26 -0
  206. data/app/views/tasks/filter.js.haml +4 -0
  207. data/app/views/tasks/index.xls.builder +7 -5
  208. data/app/views/tasks/new.js.haml +8 -0
  209. data/app/views/tasks/update.js.haml +19 -0
  210. data/app/views/users/_password.html.haml +1 -1
  211. data/app/views/users/_profile.html.haml +1 -1
  212. data/app/views/users/avatar.js.haml +9 -0
  213. data/app/views/users/change_password.js.haml +13 -0
  214. data/app/views/users/edit.js.haml +9 -0
  215. data/app/views/users/new.html.haml +1 -1
  216. data/app/views/users/password.js.haml +10 -0
  217. data/app/views/users/update.js.haml +9 -0
  218. data/app/views/users/upload_avatar.js.haml +7 -0
  219. data/app/views/versions/_version.html.haml +1 -1
  220. data/config/application.rb +1 -4
  221. data/config/environments/production.rb +3 -2
  222. data/config/initializers/custom_field_ransack_translations.rb +15 -0
  223. data/config/initializers/locale.rb +9 -1
  224. data/config/initializers/secret_token.rb +1 -25
  225. data/config/initializers/views.rb +20 -20
  226. data/config/locales/cz.yml +245 -211
  227. data/config/locales/cz_fat_free_crm.yml +105 -181
  228. data/config/locales/de.yml +162 -118
  229. data/config/locales/de_fat_free_crm.yml +760 -731
  230. data/config/locales/de_ransack.yml +91 -0
  231. data/config/locales/en-GB.yml +158 -119
  232. data/config/locales/en-GB_fat_free_crm.yml +161 -279
  233. data/config/locales/en-US.yml +158 -121
  234. data/config/locales/en-US_fat_free_crm.yml +185 -179
  235. data/config/locales/en-US_ransack.yml +81 -82
  236. data/config/locales/es.yml +164 -123
  237. data/config/locales/es_fat_free_crm.yml +151 -209
  238. data/config/locales/fr-CA.yml +167 -130
  239. data/config/locales/fr-CA_fat_free_crm.yml +142 -202
  240. data/config/locales/fr.yml +170 -125
  241. data/config/locales/fr_fat_free_crm.yml +199 -302
  242. data/config/locales/it.yml +158 -122
  243. data/config/locales/it_fat_free_crm.yml +105 -168
  244. data/config/locales/ja.yml +162 -131
  245. data/config/locales/ja_fat_free_crm.yml +118 -188
  246. data/config/locales/pl.yml +168 -132
  247. data/config/locales/pl_fat_free_crm.yml +115 -186
  248. data/config/locales/pt-BR.yml +160 -127
  249. data/config/locales/pt-BR_fat_free_crm.yml +125 -182
  250. data/config/locales/ru.yml +256 -233
  251. data/config/locales/ru_fat_free_crm.yml +136 -193
  252. data/config/locales/sv-SE.yml +164 -181
  253. data/config/locales/sv-SE_fat_free_crm.yml +129 -193
  254. data/config/locales/th_fat_free_crm.yml +114 -194
  255. data/config/locales/zh-CN.yml +176 -149
  256. data/config/locales/zh-CN_fat_free_crm.yml +78 -167
  257. data/config/routes.rb +1 -1
  258. data/config/settings.default.yml +74 -23
  259. data/custom_plan.rb +11 -0
  260. data/db/migrate/20131207033244_add_user_id_to_lists.rb +6 -0
  261. data/db/schema.rb +4 -1
  262. data/fat_free_crm.gemspec +3 -3
  263. data/lib/fat_free_crm.rb +1 -11
  264. data/lib/fat_free_crm/export_csv.rb +3 -3
  265. data/lib/fat_free_crm/fields.rb +10 -0
  266. data/lib/fat_free_crm/gem_dependencies.rb +1 -2
  267. data/lib/fat_free_crm/i18n.rb +9 -5
  268. data/lib/fat_free_crm/version.rb +2 -2
  269. data/lib/fat_free_crm/view_factory.rb +8 -5
  270. data/lib/tasks/ffcrm/config.rake +9 -12
  271. data/lib/tasks/ffcrm/missing_translations.rake +2 -1
  272. data/spec/controllers/admin/users_controller_spec.rb +6 -4
  273. data/spec/controllers/applications_controller_spec.rb +4 -4
  274. data/spec/controllers/authentications_controller_spec.rb +15 -15
  275. data/spec/controllers/comments_controller_spec.rb +9 -87
  276. data/spec/controllers/emails_controller_spec.rb +1 -1
  277. data/spec/controllers/entities/accounts_controller_spec.rb +7 -7
  278. data/spec/controllers/entities/campaigns_controller_spec.rb +5 -5
  279. data/spec/controllers/entities/contacts_controller_spec.rb +7 -7
  280. data/spec/controllers/entities/leads_controller_spec.rb +14 -14
  281. data/spec/controllers/entities/opportunities_controller_spec.rb +8 -8
  282. data/spec/controllers/home_controller_spec.rb +6 -6
  283. data/spec/controllers/tasks_controller_spec.rb +7 -7
  284. data/spec/controllers/users_controller_spec.rb +22 -50
  285. data/spec/features/support/selector_helpers.rb +1 -6
  286. data/spec/features/tasks_spec.rb +2 -2
  287. data/spec/helpers/application_helper_spec.rb +15 -15
  288. data/spec/lib/fields_spec.rb +29 -29
  289. data/spec/lib/mail_processor/base_spec.rb +7 -7
  290. data/spec/lib/mail_processor/dropbox_spec.rb +3 -3
  291. data/spec/lib/view_factory_spec.rb +14 -14
  292. data/spec/models/entities/opportunity_spec.rb +1 -1
  293. data/spec/models/fields/custom_field_date_pair_spec.rb +14 -14
  294. data/spec/models/fields/custom_field_pair_spec.rb +13 -13
  295. data/spec/models/fields/custom_field_spec.rb +5 -5
  296. data/spec/models/fields/field_spec.rb +2 -2
  297. data/spec/models/observers/entity_observer_spec.rb +2 -2
  298. data/spec/models/users/user_spec.rb +7 -7
  299. data/spec/routing/comments_routing_spec.rb +0 -9
  300. data/spec/shared/controllers.rb +75 -77
  301. data/spec/shared/models.rb +1 -1
  302. data/spec/spec_helper.rb +1 -2
  303. data/spec/support/auth_macros.rb +3 -3
  304. data/spec/support/mail_processor_mocks.rb +13 -13
  305. data/spec/views/accounts/_edit.haml_spec.rb +1 -1
  306. data/spec/views/accounts/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -14
  307. data/spec/views/accounts/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -8
  308. data/spec/views/accounts/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +10 -18
  309. data/spec/views/accounts/{index.rjs_spec.rb → index.js.haml_spec.rb} +7 -11
  310. data/spec/views/accounts/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  311. data/spec/views/accounts/show.haml_spec.rb +1 -1
  312. data/spec/views/accounts/{update.rjs_spec.rb → update.js.haml_spec.rb} +16 -25
  313. data/spec/views/admin/field_groups/create.js.haml_spec.rb +31 -0
  314. data/spec/views/admin/field_groups/destroy.js.haml_spec.rb +31 -0
  315. data/spec/views/admin/field_groups/edit.js.haml_spec.rb +24 -0
  316. data/spec/views/admin/field_groups/new.js.haml_spec.rb +25 -0
  317. data/spec/views/admin/field_groups/update.js.haml_spec.rb +30 -0
  318. data/spec/views/admin/users/_create.haml_spec.rb +1 -1
  319. data/spec/views/admin/users/{create.rjs_spec.rb → create.js.haml_spec.rb} +6 -9
  320. data/spec/views/admin/users/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -7
  321. data/spec/views/admin/users/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +6 -12
  322. data/spec/views/admin/users/index.haml_spec.rb +0 -0
  323. data/spec/views/admin/users/{index.rjs_spec.rb → index.js.haml_spec.rb} +3 -5
  324. data/spec/views/admin/users/{new.rjs_spec.rb → new.js.haml_spec.rb} +4 -6
  325. data/spec/views/admin/users/{reactivate.rjs_spec.rb → reactivate.js.haml_spec.rb} +2 -4
  326. data/spec/views/admin/users/show.haml_spec.rb +0 -0
  327. data/spec/views/admin/users/{suspend.rjs_spec.rb → suspend.js.haml_spec.rb} +2 -4
  328. data/spec/views/admin/users/{update.rjs_spec.rb → update.js.haml_spec.rb} +6 -10
  329. data/spec/views/campaigns/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -14
  330. data/spec/views/campaigns/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -7
  331. data/spec/views/campaigns/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +11 -19
  332. data/spec/views/campaigns/{index.rjs_spec.rb → index.js.haml_spec.rb} +5 -9
  333. data/spec/views/campaigns/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  334. data/spec/views/campaigns/{update.rjs_spec.rb → update.js.haml_spec.rb} +14 -21
  335. data/spec/views/comments/{new.rjs_spec.rb → edit.js.haml_spec.rb} +12 -9
  336. data/spec/views/contacts/{create.rjs_spec.rb → create.js.haml_spec.rb} +9 -16
  337. data/spec/views/contacts/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +6 -8
  338. data/spec/views/contacts/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +12 -19
  339. data/spec/views/contacts/index.haml_spec.rb +1 -1
  340. data/spec/views/contacts/{index.rjs_spec.rb → index.js.html_spec.rb} +7 -11
  341. data/spec/views/contacts/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -7
  342. data/spec/views/contacts/{update.rjs_spec.rb → update.js.haml_spec.rb} +20 -35
  343. data/spec/views/home/{index.rjs_spec.rb → index.js.haml_spec.rb} +2 -4
  344. data/spec/views/home/{options.rjs_spec.rb → options.js.haml_spec.rb} +7 -12
  345. data/spec/views/leads/{convert.rjs_spec.rb → convert.js.haml_spec.rb} +12 -20
  346. data/spec/views/leads/{create.rjs_spec.rb → create.js.haml_spec.rb} +13 -19
  347. data/spec/views/leads/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +9 -12
  348. data/spec/views/leads/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +12 -20
  349. data/spec/views/leads/{index.rjs_spec.rb → index.js.haml_spec.rb} +5 -9
  350. data/spec/views/leads/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  351. data/spec/views/leads/{promote.rjs_spec.rb → promote.js.haml_spec.rb} +28 -43
  352. data/spec/views/leads/{reject.rjs_spec.rb → reject.js.haml_spec.rb} +10 -17
  353. data/spec/views/leads/{update.rjs_spec.rb → update.js.haml_spec.rb} +25 -38
  354. data/spec/views/opportunities/{create.rjs_spec.rb → create.js.haml_spec.rb} +16 -26
  355. data/spec/views/opportunities/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +13 -16
  356. data/spec/views/opportunities/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +10 -18
  357. data/spec/views/opportunities/{index.rjs_spec.rb → index.js.haml_spec.rb} +7 -12
  358. data/spec/views/opportunities/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  359. data/spec/views/opportunities/{update.rjs_spec.rb → update.js.haml_spec.rb} +29 -46
  360. data/spec/views/tasks/_edit.haml_spec.rb +1 -1
  361. data/spec/views/tasks/{complete.rjs_spec.rb → complete.js.haml_spec.rb} +9 -14
  362. data/spec/views/tasks/{create.rjs_spec.rb → create.js.haml_spec.rb} +25 -33
  363. data/spec/views/tasks/{destroy.rjs_spec.rb → destroy.js.haml_spec.rb} +9 -11
  364. data/spec/views/tasks/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +9 -14
  365. data/spec/views/tasks/index.haml_spec.rb +1 -2
  366. data/spec/views/tasks/{new.rjs_spec.rb → new.js.haml_spec.rb} +6 -8
  367. data/spec/views/tasks/{update.rjs_spec.rb → update.js.haml_spec.rb} +28 -41
  368. data/spec/views/users/{avatar.rjs_spec.rb → avatar.js.haml_spec.rb} +7 -9
  369. data/spec/views/users/{change_password.rjs_spec.rb → change_password.js.haml_spec.rb} +10 -12
  370. data/spec/views/users/{edit.rjs_spec.rb → edit.js.haml_spec.rb} +8 -10
  371. data/spec/views/users/{password.rjs_spec.rb → password.js.haml_spec.rb} +9 -11
  372. data/spec/views/users/{update.rjs_spec.rb → update.js.haml_spec.rb} +7 -15
  373. data/spec/views/users/{upload_avatar.rjs_spec.rb → upload_avatar.js.haml_spec.rb} +8 -10
  374. data/vendor/assets/javascripts/ajax-chosen-jquery.js +2 -0
  375. data/vendor/assets/javascripts/ajax-chosen-prototype.js +2 -0
  376. data/vendor/assets/javascripts/ajax-chosen.jquery.coffee +81 -0
  377. data/vendor/assets/javascripts/ajax-chosen.proto.coffee +98 -0
  378. data/vendor/assets/javascripts/jquery_timeago/index.js +17 -0
  379. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.cz.js +18 -0
  380. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.de.js +18 -0
  381. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-GB.js +20 -0
  382. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-US.js +20 -0
  383. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es.js +18 -0
  384. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr-CA.js +17 -0
  385. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr.js +17 -0
  386. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.it.js +16 -0
  387. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ja.js +19 -0
  388. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.js +194 -0
  389. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pl.js +31 -0
  390. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pt-BR.js +18 -0
  391. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ru.js +34 -0
  392. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.sv-SE.js +18 -0
  393. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.th.js +20 -0
  394. data/vendor/assets/javascripts/jquery_timeago/jquery.timeago.zh-CN.js +20 -0
  395. data/zeus.json +2 -1
  396. metadata +240 -245
  397. data/app/assets/images/delete.png +0 -0
  398. data/app/assets/images/iconset_attribution.png +0 -0
  399. data/app/views/accounts/create.js.rjs +0 -14
  400. data/app/views/accounts/destroy.js.rjs +0 -3
  401. data/app/views/accounts/edit.js.rjs +0 -33
  402. data/app/views/accounts/index.js.rjs +0 -8
  403. data/app/views/accounts/new.js.rjs +0 -9
  404. data/app/views/accounts/show.js.erb +0 -2
  405. data/app/views/accounts/update.js.rjs +0 -17
  406. data/app/views/admin/field_groups/confirm.js.rjs +0 -6
  407. data/app/views/admin/field_groups/create.js.rjs +0 -20
  408. data/app/views/admin/field_groups/destroy.js.rjs +0 -11
  409. data/app/views/admin/field_groups/edit.js.rjs +0 -14
  410. data/app/views/admin/field_groups/new.js.rjs +0 -9
  411. data/app/views/admin/field_groups/update.js.rjs +0 -9
  412. data/app/views/admin/fields/create.js.erb +0 -19
  413. data/app/views/admin/fields/destroy.js.erb +0 -9
  414. data/app/views/admin/fields/edit.js.erb +0 -1
  415. data/app/views/admin/fields/update.js.erb +0 -13
  416. data/app/views/admin/groups/create.js.rjs +0 -11
  417. data/app/views/admin/groups/destroy.js.rjs +0 -11
  418. data/app/views/admin/groups/edit.js.rjs +0 -21
  419. data/app/views/admin/groups/index.js.rjs +0 -2
  420. data/app/views/admin/groups/new.js.rjs +0 -9
  421. data/app/views/admin/groups/update.js.rjs +0 -10
  422. data/app/views/admin/tags/confirm.js.rjs +0 -6
  423. data/app/views/admin/tags/create.js.rjs +0 -12
  424. data/app/views/admin/tags/destroy.js.rjs +0 -11
  425. data/app/views/admin/tags/edit.js.rjs +0 -21
  426. data/app/views/admin/tags/new.js.rjs +0 -8
  427. data/app/views/admin/tags/update.js.rjs +0 -10
  428. data/app/views/admin/users/confirm.js.rjs +0 -6
  429. data/app/views/admin/users/create.js.rjs +0 -11
  430. data/app/views/admin/users/destroy.js.rjs +0 -11
  431. data/app/views/admin/users/edit.js.rjs +0 -21
  432. data/app/views/admin/users/index.js.rjs +0 -3
  433. data/app/views/admin/users/new.js.rjs +0 -8
  434. data/app/views/admin/users/reactivate.js.rjs +0 -3
  435. data/app/views/admin/users/suspend.js.rjs +0 -3
  436. data/app/views/admin/users/update.js.rjs +0 -10
  437. data/app/views/campaigns/create.js.rjs +0 -18
  438. data/app/views/campaigns/destroy.js.rjs +0 -3
  439. data/app/views/campaigns/edit.js.rjs +0 -34
  440. data/app/views/campaigns/index.js.rjs +0 -8
  441. data/app/views/campaigns/new.js.rjs +0 -9
  442. data/app/views/campaigns/show.js.erb +0 -2
  443. data/app/views/campaigns/update.js.rjs +0 -21
  444. data/app/views/comments/create.js.rjs +0 -11
  445. data/app/views/comments/destroy.js.rjs +0 -6
  446. data/app/views/comments/edit.js.rjs +0 -11
  447. data/app/views/comments/new.js.rjs +0 -14
  448. data/app/views/comments/update.js.rjs +0 -11
  449. data/app/views/contacts/create.js.rjs +0 -19
  450. data/app/views/contacts/destroy.js.rjs +0 -7
  451. data/app/views/contacts/edit.js.rjs +0 -36
  452. data/app/views/contacts/index.js.rjs +0 -8
  453. data/app/views/contacts/new.js.rjs +0 -11
  454. data/app/views/contacts/show.js.erb +0 -2
  455. data/app/views/contacts/update.js.rjs +0 -22
  456. data/app/views/emails/destroy.js.rjs +0 -6
  457. data/app/views/entities/attach.js.rjs +0 -24
  458. data/app/views/entities/contacts.js.rjs +0 -3
  459. data/app/views/entities/discard.js.rjs +0 -7
  460. data/app/views/entities/leads.js.rjs +0 -3
  461. data/app/views/entities/opportunities.js.rjs +0 -3
  462. data/app/views/entities/subscription_update.js.rjs +0 -4
  463. data/app/views/entities/versions.js.erb +0 -3
  464. data/app/views/fields/group.js.rjs +0 -7
  465. data/app/views/home/index.js.rjs +0 -7
  466. data/app/views/home/options.js.rjs +0 -8
  467. data/app/views/leads/convert.js.rjs +0 -37
  468. data/app/views/leads/create.js.rjs +0 -19
  469. data/app/views/leads/destroy.js.rjs +0 -7
  470. data/app/views/leads/edit.js.rjs +0 -36
  471. data/app/views/leads/index.js.rjs +0 -8
  472. data/app/views/leads/new.js.rjs +0 -9
  473. data/app/views/leads/promote.js.rjs +0 -27
  474. data/app/views/leads/reject.js.rjs +0 -10
  475. data/app/views/leads/show.js.erb +0 -2
  476. data/app/views/leads/update.js.rjs +0 -27
  477. data/app/views/lists/create.js.rjs +0 -9
  478. data/app/views/lists/destroy.js.rjs +0 -1
  479. data/app/views/opportunities/contacts.js.rjs +0 -3
  480. data/app/views/opportunities/create.js.rjs +0 -29
  481. data/app/views/opportunities/destroy.js.rjs +0 -11
  482. data/app/views/opportunities/edit.js.rjs +0 -36
  483. data/app/views/opportunities/index.js.rjs +0 -8
  484. data/app/views/opportunities/new.js.rjs +0 -12
  485. data/app/views/opportunities/show.js.erb +0 -2
  486. data/app/views/opportunities/update.js.rjs +0 -26
  487. data/app/views/tasks/complete.js.rjs +0 -17
  488. data/app/views/tasks/create.js.rjs +0 -41
  489. data/app/views/tasks/destroy.js.rjs +0 -7
  490. data/app/views/tasks/discard.rjs +0 -1
  491. data/app/views/tasks/edit.js.rjs +0 -23
  492. data/app/views/tasks/filter.js.rjs +0 -1
  493. data/app/views/tasks/new.js.rjs +0 -9
  494. data/app/views/tasks/update.js.rjs +0 -21
  495. data/app/views/users/avatar.js.rjs +0 -10
  496. data/app/views/users/change_password.js.rjs +0 -15
  497. data/app/views/users/edit.js.rjs +0 -10
  498. data/app/views/users/password.js.rjs +0 -11
  499. data/app/views/users/update.js.rjs +0 -10
  500. data/app/views/users/upload_avatar.js.rjs +0 -8
  501. data/lib/fat_free_crm/secret_token_generator.rb +0 -65
  502. data/spec/lib/secret_token_generator_spec.rb +0 -79
  503. data/spec/models/users/abilities/user_ability_spec.rb +0 -58
  504. data/spec/support/rjs_support.rb +0 -14
  505. data/vendor/assets/images/brief.png +0 -0
  506. data/vendor/assets/images/full.png +0 -0
  507. data/vendor/assets/images/long.png +0 -0
  508. data/vendor/assets/images/tab_icons/accounts.png +0 -0
  509. data/vendor/assets/images/tab_icons/accounts_active.png +0 -0
  510. data/vendor/assets/images/tab_icons/campaigns.png +0 -0
  511. data/vendor/assets/images/tab_icons/campaigns_active.png +0 -0
  512. data/vendor/assets/images/tab_icons/contacts.png +0 -0
  513. data/vendor/assets/images/tab_icons/contacts_active.png +0 -0
  514. data/vendor/assets/images/tab_icons/dashboard.png +0 -0
  515. data/vendor/assets/images/tab_icons/dashboard_active.png +0 -0
  516. data/vendor/assets/images/tab_icons/leads.png +0 -0
  517. data/vendor/assets/images/tab_icons/leads_active.png +0 -0
  518. data/vendor/assets/images/tab_icons/opportunities.png +0 -0
  519. data/vendor/assets/images/tab_icons/opportunities_active.png +0 -0
  520. data/vendor/assets/images/tab_icons/tasks.png +0 -0
  521. data/vendor/assets/images/tab_icons/tasks_active.png +0 -0
@@ -1,187 +1,224 @@
1
- # French translations for Ruby on Rails
2
- # by Christian Lescuyer (christian@flyingcoders.com)
3
- # contributors:
4
- # - Sebastien Grosjean - ZenCocoon.com
5
- # - Bruno Michel - http://github.com/nono
6
- # - Tsutomu Kuroda - http://github.com/kuroda (t-kuroda@oiax.jp)
7
- #
8
- # French Canadian adjustments
9
- # by Serafim Junior Dos Santos Fagundes <serafim@cyb3r.ca>
10
-
1
+ ---
11
2
  fr-CA:
12
3
  date:
13
4
  formats:
14
- default: "%Y-%m-%d"
15
- short: "%y-%m-%d"
16
- long: "%d %B %Y"
17
- day_names: [dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi]
18
- abbr_day_names: [dim, lun, mar, mer, jeu, ven, sam]
19
- month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
20
- abbr_month_names: [~, jan., fév., mar., avr., mai, juin, juil., août, sept., oct., nov., déc.]
5
+ default: ! '%Y-%m-%d'
6
+ short: ! '%y-%m-%d'
7
+ long: ! '%d %B %Y'
8
+ day_names:
9
+ - dimanche
10
+ - lundi
11
+ - mardi
12
+ - mercredi
13
+ - jeudi
14
+ - vendredi
15
+ - samedi
16
+ abbr_day_names:
17
+ - dim
18
+ - lun
19
+ - mar
20
+ - mer
21
+ - jeu
22
+ - ven
23
+ - sam
24
+ month_names:
25
+ -
26
+ - janvier
27
+ - février
28
+ - mars
29
+ - avril
30
+ - mai
31
+ - juin
32
+ - juillet
33
+ - août
34
+ - septembre
35
+ - octobre
36
+ - novembre
37
+ - décembre
38
+ abbr_month_names:
39
+ -
40
+ - jan.
41
+ - fév.
42
+ - mar.
43
+ - avr.
44
+ - mai
45
+ - juin
46
+ - juil.
47
+ - août
48
+ - sept.
49
+ - oct.
50
+ - nov.
51
+ - déc.
21
52
  order:
22
- - :year
23
- - :month
24
- - :day
25
-
53
+ - :year
54
+ - :month
55
+ - :day
26
56
  time:
27
57
  formats:
28
- default: "%H:%M:%S"
29
- short: "%H:%M"
30
- long: "%A %d %B %Y %H:%M"
31
- am: 'am'
32
- pm: 'pm'
33
-
58
+ default: ! '%H:%M:%S'
59
+ short: ! '%H:%M'
60
+ long: ! '%A %d %B %Y %H:%M'
61
+ am: am
62
+ pm: pm
34
63
  datetime:
35
64
  distance_in_words:
36
- half_a_minute: "une demi-minute"
65
+ half_a_minute: une demi-minute
37
66
  less_than_x_seconds:
38
- zero: "moins d'une seconde"
39
- one: "moins d'une seconde"
40
- other: "moins de %{count} secondes"
67
+ zero: moins d'une seconde
68
+ one: moins d'une seconde
69
+ other: moins de %{count} secondes
41
70
  x_seconds:
42
- one: "1 seconde"
43
- other: "%{count} secondes"
71
+ one: 1 seconde
72
+ other: ! '%{count} secondes'
44
73
  less_than_x_minutes:
45
- zero: "moins d'une minute"
46
- one: "moins d'une minute"
47
- other: "moins de %{count} minutes"
74
+ zero: moins d'une minute
75
+ one: moins d'une minute
76
+ other: moins de %{count} minutes
48
77
  x_minutes:
49
- one: "1 minute"
50
- other: "%{count} minutes"
78
+ one: 1 minute
79
+ other: ! '%{count} minutes'
51
80
  about_x_hours:
52
- one: "environ une heure"
53
- other: "environ %{count} heures"
81
+ one: environ une heure
82
+ other: environ %{count} heures
54
83
  x_days:
55
- one: "1 jour"
56
- other: "%{count} jours"
84
+ one: 1 jour
85
+ other: ! '%{count} jours'
57
86
  about_x_months:
58
- one: "environ un mois"
59
- other: "environ %{count} mois"
87
+ one: environ un mois
88
+ other: environ %{count} mois
60
89
  x_months:
61
- one: "1 mois"
62
- other: "%{count} mois"
90
+ one: 1 mois
91
+ other: ! '%{count} mois'
63
92
  about_x_years:
64
- one: "environ un an"
65
- other: "environ %{count} ans"
93
+ one: environ un an
94
+ other: environ %{count} ans
66
95
  over_x_years:
67
- one: "plus d'un an"
68
- other: "plus de %{count} ans"
96
+ one: plus d'un an
97
+ other: plus de %{count} ans
69
98
  almost_x_years:
70
- one: "presqu'un an"
71
- other: "presque %{count} ans"
99
+ one: presqu'un an
100
+ other: presque %{count} ans
72
101
  prompts:
73
- year: "Année"
74
- month: "Mois"
75
- day: "Jour"
76
- hour: "Heure"
77
- minute: "Minute"
78
- second: "Seconde"
79
-
102
+ year: Année
103
+ month: Mois
104
+ day: Jour
105
+ hour: Heure
106
+ minute: Minute
107
+ second: Seconde
80
108
  number:
81
109
  format:
82
- separator: ","
83
- delimiter: " "
110
+ separator: ! ','
111
+ delimiter: ! ' '
84
112
  precision: 3
85
113
  significant: false
86
114
  strip_insignificant_zeros: false
87
115
  currency:
88
116
  format:
89
- format: "%n %u"
90
- unit: "$"
91
- separator: ","
92
- delimiter: " "
117
+ format: ! '%n %u'
118
+ unit: $
119
+ separator: ! ','
120
+ delimiter: ! ' '
93
121
  precision: 2
94
122
  significant: false
95
123
  strip_insignificant_zeros: false
96
124
  percentage:
97
125
  format:
98
- delimiter: ""
126
+ delimiter: ''
99
127
  precision:
100
128
  format:
101
- delimiter: ""
129
+ delimiter: ''
102
130
  human:
103
131
  format:
104
- delimiter: ""
132
+ delimiter: ''
105
133
  precision: 2
106
134
  significant: true
107
135
  strip_insignificant_zeros: true
108
136
  storage_units:
109
- format: "%n %u"
137
+ format: ! '%n %u'
110
138
  units:
111
139
  byte:
112
- one: "Octet"
113
- other: "Octets"
114
- kb: "ko"
115
- mb: "Mo"
116
- gb: "Go"
117
- tb: "To"
140
+ one: Octet
141
+ other: Octets
142
+ kb: ko
143
+ mb: Mo
144
+ gb: Go
145
+ tb: To
118
146
  decimal_units:
119
- format: "%n %u"
147
+ format: ! '%n %u'
120
148
  units:
121
- unit: ""
122
- thousand: "Millier"
123
- million: "Million"
124
- billion: "Milliard"
125
- trillion: "Mille milliard"
126
- quadrillion: "Million de milliards"
127
-
149
+ unit: ''
150
+ thousand: Millier
151
+ million: Million
152
+ billion: Milliard
153
+ trillion: Mille milliard
154
+ quadrillion: Million de milliards
128
155
  support:
129
156
  array:
130
- words_connector: ", "
131
- two_words_connector: " et "
132
- last_word_connector: " et "
157
+ words_connector: ! ', '
158
+ two_words_connector: ! ' et '
159
+ last_word_connector: ! ' et '
133
160
  select:
134
- prompt: "Veuillez sélectionner"
135
-
161
+ prompt: Veuillez sélectionner
136
162
  helpers:
137
163
  select:
138
- prompt: "Veuillez sélectionner"
164
+ prompt: Veuillez sélectionner
139
165
  submit:
140
- create: "Créer un %{model}"
141
- update: "Modifier ce %{model}"
142
- submit: "Enregistrer ce %{model}"
143
-
166
+ create: Créer un %{model}
167
+ update: Modifier ce %{model}
168
+ submit: Enregistrer ce %{model}
144
169
  errors:
145
- template: &errors_template
146
- header:
147
- one: "Impossible d'enregistrer ce %{model} : 1 erreur"
148
- other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
149
- body: "Veuillez vérifier les champs suivants : "
150
-
170
+ format: Le %{attribute} %{message}
171
+ messages:
172
+ inclusion: n'est pas inclus(e) dans la liste
173
+ exclusion: n'est pas disponible
174
+ invalid: n'est pas valide
175
+ confirmation: ne concorde pas avec la confirmation
176
+ accepted: doit être accepté(e)
177
+ empty: doit être rempli(e)
178
+ blank: doit être rempli(e)
179
+ too_long: est trop long (pas plus de %{count} caractères)
180
+ too_short: est trop court (au moins %{count} caractères)
181
+ wrong_length: ne fait pas la bonne longueur (doit comporter %{count} caractères)
182
+ not_a_number: n'est pas un nombre
183
+ not_an_integer: doit être un nombre entier
184
+ greater_than: doit être supérieur à %{count}
185
+ greater_than_or_equal_to: doit être supérieur ou égal à %{count}
186
+ equal_to: doit être égal à %{count}
187
+ less_than: doit être inférieur à %{count}
188
+ less_than_or_equal_to: doit être inférieur ou égal à %{count}
189
+ odd: doit être impair
190
+ even: doit être pair
151
191
  attributes:
152
- created_at: "Créé le"
153
- updated_at: "Modifié le"
154
-
155
- errors:
156
- format: "Le %{attribute} %{message}"
157
- messages: &errors_messages
158
- inclusion: "n'est pas inclus(e) dans la liste"
159
- exclusion: "n'est pas disponible"
160
- invalid: "n'est pas valide"
161
- confirmation: "ne concorde pas avec la confirmation"
162
- accepted: "doit être accepté(e)"
163
- empty: "doit être rempli(e)"
164
- blank: "doit être rempli(e)"
165
- too_long: "est trop long (pas plus de %{count} caractères)"
166
- too_short: "est trop court (au moins %{count} caractères)"
167
- wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
168
- not_a_number: "n'est pas un nombre"
169
- not_an_integer: "doit être un nombre entier"
170
- greater_than: "doit être supérieur à %{count}"
171
- greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
172
- equal_to: "doit être égal à %{count}"
173
- less_than: "doit être inférieur à %{count}"
174
- less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
175
- odd: "doit être impair"
176
- even: "doit être pair"
177
-
192
+ created_at: Créé le
193
+ updated_at: Modifié le
178
194
  activerecord:
179
195
  errors:
180
196
  messages:
181
- taken: "n'est pas disponible"
182
- record_invalid: "La validation a échoué : %{errors}"
183
- <<: *errors_messages
197
+ inclusion: n'est pas inclus(e) dans la liste
198
+ exclusion: n'est pas disponible
199
+ invalid: n'est pas valide
200
+ confirmation: ne concorde pas avec la confirmation
201
+ accepted: doit être accepté(e)
202
+ empty: doit être rempli(e)
203
+ blank: doit être rempli(e)
204
+ too_long: est trop long (pas plus de %{count} caractères)
205
+ too_short: est trop court (au moins %{count} caractères)
206
+ wrong_length: ne fait pas la bonne longueur (doit comporter %{count} caractères)
207
+ not_a_number: n'est pas un nombre
208
+ not_an_integer: doit être un nombre entier
209
+ greater_than: doit être supérieur à %{count}
210
+ greater_than_or_equal_to: doit être supérieur ou égal à %{count}
211
+ equal_to: doit être égal à %{count}
212
+ less_than: doit être inférieur à %{count}
213
+ less_than_or_equal_to: doit être inférieur ou égal à %{count}
214
+ odd: doit être impair
215
+ even: doit être pair
216
+ taken: n'est pas disponible
217
+ record_invalid: ! 'La validation a échoué : %{errors}'
184
218
  template:
185
- <<: *errors_template
219
+ header:
220
+ one: ! 'Impossible d''enregistrer ce %{model} : 1 erreur'
221
+ other: ! 'Impossible d''enregistrer ce %{model} : %{count} erreurs'
222
+ body: ! 'Veuillez vérifier les champs suivants : '
186
223
  full_messages:
187
- format: "%{attribute} %{message}"
224
+ format: ! '%{attribute} %{message}'
@@ -5,46 +5,37 @@
5
5
  # French Canadian adjustments
6
6
  # by Serafim Junior Dos Santos Fagundes <serafim@cyb3r.ca>
7
7
 
8
+ ---
8
9
  fr-CA:
9
10
  language: Français (Canadien)
10
-
11
- # Generic terms.
12
- #----------------------------------------------------------------------------
13
11
  all: Tous
14
12
  at: à
15
13
  here: ici
16
- no_button: 'Non'
14
+ no_button: Non
17
15
  not_implemented: Pas encore implémenté.
18
16
  or: ou
19
- select_none: '-- Aucun --'
20
- select_blank: '-- Selectionnez --'
21
- yes_button: 'Oui'
22
-
23
- # Settings.
24
- #----------------------------------------------------------------------------
17
+ select_none: -- Aucun --
18
+ select_blank: -- Selectionnez --
19
+ yes_button: Oui
25
20
  tab_dashboard: Résumé
26
- tab_tasks: Tâches
21
+ tab_tasks: Tâches
27
22
  tab_campaigns: Campagnes
28
23
  tab_leads: Pistes
29
24
  tab_accounts: Comptes
30
25
  tab_contacts: Contacts
31
26
  tab_opportunities: Opportunités
32
-
33
27
  admin_tab_users: Utilisateurs
34
28
  admin_tab_settings: Paramètres
35
29
  admin_tab_plugins: Plugins
36
-
37
30
  planned: Planifié
38
31
  started: Démarré
39
32
  on_hold: En attente
40
33
  completed: Complétée
41
34
  called_off: Abandonné
42
-
43
35
  new: Nouveau
44
36
  contacted: Contacté
45
37
  converted: Converti
46
38
  rejected: Rejeté
47
-
48
39
  cold_call: Appel entrant
49
40
  conference: Conférence
50
41
  online: Online Marketing
@@ -53,7 +44,6 @@ fr-CA:
53
44
  web: Website
54
45
  word_of_mouth: Bouche à oreille
55
46
  other: Autre
56
-
57
47
  prospecting: Prospection
58
48
  analysis: Analyse
59
49
  presentation: Présentation
@@ -62,7 +52,6 @@ fr-CA:
62
52
  final_review: Examen final
63
53
  won: Clôturé/Gagné
64
54
  lost: Clôture/Perdu
65
-
66
55
  call: Appel
67
56
  email: E-mail
68
57
  follow_up: Relance
@@ -70,138 +59,125 @@ fr-CA:
70
59
  meeting: Réunion
71
60
  money: Argent
72
61
  trip: Voyage
73
-
74
62
  overdue: Délai expiré
75
63
  due_asap: Dès que possible
76
- due_today: "Aujourd'hui"
64
+ due_today: Aujourd'hui
77
65
  due_tomorrow: Demain
78
66
  due_this_week: Cette semaine
79
67
  due_next_week: La semaine prochaine
80
68
  due_later: Plus tard
81
69
  due_specific_date: A date précise...
82
-
83
- completed_today: "Ajourd'hui"
70
+ completed_today: Ajourd'hui
84
71
  completed_yesterday: Hier
85
72
  completed_last_week: La semaine dernière
86
73
  completed_this_month: Ce mois
87
74
  completed_last_month: Le mois dernier
88
-
89
- # Models/Activity.
90
- #----------------------------------------------------------------------------
91
75
  one_hour: Une heure
92
76
  one_day: Un jour
93
77
  two_days: Deux jours
94
78
  one_week: Une semaine
95
79
  two_weeks: Deux semaines
96
80
  one_month: Un mois
97
-
98
- # Model Validations.
99
- #----------------------------------------------------------------------------
100
81
  activerecord:
101
82
  errors:
102
83
  models:
103
84
  authentication:
104
85
  attributes:
105
86
  login_field:
106
- is_not_valid: "n'est pas valide"
87
+ is_not_valid: n'est pas valide
107
88
  password_field:
108
- is_not_valid: "n'est pas valide"
89
+ is_not_valid: n'est pas valide
109
90
  account:
110
91
  attributes:
111
92
  name:
112
- missing_account_name: "^Vérifiez le nom de compte."
93
+ missing_account_name: ^Vérifiez le nom de compte.
113
94
  access:
114
- share_account: "^Spécifiez un utilisateur avec qui partager le compte."
95
+ share_account: ^Spécifiez un utilisateur avec qui partager le compte.
115
96
  campaign:
116
97
  attributes:
117
98
  name:
118
- missing_campaign_name: "^Précisez un nom de campagne."
99
+ missing_campaign_name: ^Précisez un nom de campagne.
119
100
  ends_on:
120
- dates_not_in_sequence: "^Vérifiez que la date de fin de campagne soit avant la date de début."
101
+ dates_not_in_sequence: ^Vérifiez que la date de fin de campagne soit
102
+ avant la date de début.
121
103
  access:
122
- share_campaign: "^Préciser un utilisateur avec qui partager la campagne."
104
+ share_campaign: ^Préciser un utilisateur avec qui partager la campagne.
123
105
  contact:
124
106
  attributes:
125
107
  first_name:
126
- missing_first_name: "^Précisez le prénom"
108
+ missing_first_name: ^Précisez le prénom
127
109
  last_name:
128
- missing_last_name: "^Précisez le nom."
110
+ missing_last_name: ^Précisez le nom.
129
111
  access:
130
- share_contact: "^Précisez avec quel utilisateur partager le contact."
112
+ share_contact: ^Précisez avec quel utilisateur partager le contact.
131
113
  lead:
132
114
  attributes:
133
115
  first_name:
134
- missing_first_name: "^Précisez le prénom"
116
+ missing_first_name: ^Précisez le prénom
135
117
  last_name:
136
- missing_last_name: "^Précisez le nom."
118
+ missing_last_name: ^Précisez le nom.
137
119
  access:
138
- share_lead: "^Précisez avec quel utilisateur partager la piste."
120
+ share_lead: ^Précisez avec quel utilisateur partager la piste.
139
121
  opportunity:
140
122
  attributes:
141
123
  name:
142
- missing_opportunity_name: "^Spécifiez un nom d'opportunité."
124
+ missing_opportunity_name: ^Spécifiez un nom d'opportunité.
143
125
  access:
144
- share_opportunity: "^Précisez avec quel utilisateur partager l'opportunité."
126
+ share_opportunity: ^Précisez avec quel utilisateur partager l'opportunité.
145
127
  task:
146
128
  attributes:
147
129
  name:
148
- missing_task_name: "^Précisez le nom de la tâche."
130
+ missing_task_name: ^Précisez le nom de la tâche.
149
131
  calendar:
150
- invalid_date: "^Précisez une date valide"
132
+ invalid_date: ^Précisez une date valide
151
133
  user:
152
134
  attributes:
153
135
  username:
154
- missing_username: "^Précisez un nom d'utilisateur."
155
- username_taken: "^Ce nom d'utilisateur est déjà pris"
136
+ missing_username: ^Précisez un nom d'utilisateur.
137
+ username_taken: ^Ce nom d'utilisateur est déjà pris
156
138
  email:
157
- missing_email: "^Précisez une adresse e-mail"
158
- email_in_use: "^Un utilisateur existe déjà avec cette adresse."
159
-
160
- # dynamic_form plugin translations.
161
- #----------------------------------------------------------------------------
139
+ missing_email: ^Précisez une adresse e-mail
140
+ email_in_use: ^Un utilisateur existe déjà avec cette adresse.
162
141
  errors:
163
142
  template:
164
143
  header:
165
- one: "Impossible d'enregistrer ce %{model} : 1 erreur"
166
- other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
167
- body: "Veuillez vérifier les champs suivants : "
168
-
144
+ one: ! 'Impossible d''enregistrer ce %{model} : 1 erreur'
145
+ other: ! 'Impossible d''enregistrer ce %{model} : %{count} erreurs'
146
+ body: ! 'Veuillez vérifier les champs suivants : '
169
147
  msg_account_suspended: Ce compte utilisateur a été suspendu.
170
148
  password_reset_instruction: instruction de reinitialisation du mot de passe
171
-
172
- # Controllers.
173
- #----------------------------------------------------------------------------
174
- msg_account_created: "Votre compte a été créé, il est en attente d'approbation par l'administrateur"
175
- msg_account_not_approved: "Votre compte n'à pas encore été approuvé"
176
- msg_asset_deleted: "%{value} à été supprimé"
177
- msg_asset_not_available: "Ce %{value} n'est plus disponible."
178
- msg_asset_not_authorized: You are not authorized to view this %{value}. # TODO
179
- msg_assets_not_available: "Les %{value} ne sont pas disponibles."
180
- msg_asset_rejected: "%{value} à été rejetée."
181
- msg_bad_image_file: "^Nous n'avons pu télécharger ou redimensionner votre image."
182
- msg_cant_create_related: "Impossible de crée le %{asset} puisque le %{related} n'est plus disponnible."
183
- msg_cant_delete_user: "^Impossible de supprimer car %{value} a des objets présents."
184
- msg_cant_do: "Impossible de %{action} le %{asset} puisqu'il n'est plus disponible."
185
- msg_email_not_found: "Aucun utilisateur ne correspond a cette adresse"
149
+ msg_account_created: Votre compte a été créé, il est en attente d'approbation par
150
+ l'administrateur
151
+ msg_account_not_approved: Votre compte n'à pas encore été approuvé
152
+ msg_asset_deleted: ! '%{value} à été supprimé'
153
+ msg_asset_not_available: Ce %{value} n'est plus disponible.
154
+ msg_asset_not_authorized: You are not authorized to view this %{value}.
155
+ msg_assets_not_available: Les %{value} ne sont pas disponibles.
156
+ msg_asset_rejected: ! '%{value} à été rejetée.'
157
+ msg_bad_image_file: ^Nous n'avons pu télécharger ou redimensionner votre image.
158
+ msg_cant_create_related: Impossible de crée le %{asset} puisque le %{related} n'est
159
+ plus disponnible.
160
+ msg_cant_delete_user: ^Impossible de supprimer car %{value} a des objets présents.
161
+ msg_cant_do: Impossible de %{action} le %{asset} puisqu'il n'est plus disponible.
162
+ msg_email_not_found: Aucun utilisateur ne correspond a cette adresse
186
163
  msg_enter_new_password: Saisissez votre nouveau mot de passe.
187
- msg_goodbye: "Vous avez été déconnecté, merci d'utiliser Fat Free CRM!"
188
- msg_invalid_password: "^Saisissez votre mot de passe actuel"
164
+ msg_goodbye: Vous avez été déconnecté, merci d'utiliser Fat Free CRM!
165
+ msg_invalid_password: ^Saisissez votre mot de passe actuel
189
166
  msg_invalig_login: Utilisateur ou mot de passe non valide.
190
- msg_last_login: "Votre dernière connection était le %{value}."
167
+ msg_last_login: Votre dernière connection était le %{value}.
191
168
  msg_login_needed: Vous devez être connecté pour accéder a cette page.
192
169
  msg_logout_needed: Vous devez être déconnecté pour accéder a cette page.
193
- msg_password_changed: "Votre mot de passe a été modifié"
194
- msg_password_not_changed: "Votre mot de passe n'a pas été modifié"
170
+ msg_password_changed: Votre mot de passe a été modifié
171
+ msg_password_not_changed: Votre mot de passe n'a pas été modifié
195
172
  msg_password_updated: Modification de mot de passe réussie.
196
- msg_pwd_instructions_sent: "Les instruction de modification de mot de passe vous on été envoyées. Vérifiez vos e-mails"
197
- msg_require_admin: Vous devez être administrateur pour accéder a cette page
173
+ msg_pwd_instructions_sent: Les instruction de modification de mot de passe vous
174
+ on été envoyées. Vérifiez vos e-mails
175
+ msg_require_admin: Vous devez être administrateur pour accéder a cette page
198
176
  msg_successful_signup: Enregistrement réussi. Bienvenu dans Fat Free CRM
199
- msg_welcome: Bienvenu dans Fat Free CRM
200
-
201
- # Options.
202
- #----------------------------------------------------------------------------
203
- "option_amount*probability": Montant pondéré
204
- activity_options: Voir les actions %{models} effectuées par %{user} dans les derniers %{period}.
177
+ msg_welcome: Bienvenu dans Fat Free CRM
178
+ option_amount*probability: Montant pondéré
179
+ activity_options: Voir les actions %{models} effectuées par %{user} dans les derniers
180
+ %{period}.
205
181
  all_users: tous les utilisateurs
206
182
  option_after: après
207
183
  option_all: tous
@@ -225,12 +201,10 @@ fr-CA:
225
201
  option_target_leads: pistes cibles
226
202
  option_target_revenue: revenus cibles
227
203
  option_updated_at: date de modification
228
- show_per_page: Voir %{number} %{models} par page au format %{fmt}.
204
+ show_per_page: Voir %{number} %{models} par page au format %{fmt}.
229
205
  sort_by: Trier %{models} par %{field}.
230
- sort_by_displaying: Trier %{models} par %{field} afficher le prénom %{position} le nom.
231
-
232
- # Views -> Profile.
233
- #----------------------------------------------------------------------------
206
+ sort_by_displaying: Trier %{models} par %{field} afficher le prénom %{position}
207
+ le nom.
234
208
  aim: AOL IM
235
209
  already_signed_up: Déjà enregistré?
236
210
  alt_email: e-mail secondaire
@@ -240,12 +214,12 @@ fr-CA:
240
214
  contact_info: Informations de contact
241
215
  current_password: Mot de passe actuel
242
216
  edit_profile: Modifier le profile
243
- # email: E-mail # <-- Already defined as the task type if Settings.
244
217
  first_name: Prénom
245
218
  google: Google IM
246
219
  gravatar_help: Vous ne connaissez pas Gravatar? Informations sur Gravatar
247
220
  image_file: Fichier image
248
- image_help: "L'image que vous envoyez sera redimensionnée à 75 x 75 pixels. Les formats supportés sont GIF, JPEG et PNG."
221
+ image_help: L'image que vous envoyez sera redimensionnée à 75 x 75 pixels. Les formats
222
+ supportés sont GIF, JPEG et PNG.
249
223
  job_title: Titre/Fonction
250
224
  last_name: Nom
251
225
  login_now_link: Connectez vous maintenant!
@@ -264,19 +238,13 @@ fr-CA:
264
238
  upload_picture: Envoyez une image
265
239
  use_gravatar: Utilisez Gravatar
266
240
  user: Utilisateur
267
- username: "Nom d'utilisateur"
241
+ username: Nom d'utilisateur
268
242
  yahoo: Yahoo IM
269
-
270
- # Views -> Authenticate.
271
- #----------------------------------------------------------------------------
272
243
  forgot_password: Mot de passe oublié
273
244
  login: Connection
274
245
  no_account: Vous ne possédez pas de compte?
275
246
  remember_me: Se souvenir de moi
276
- sign_up_now: "S'enregistrer maintenant!"
277
-
278
- # Views -> Accounts.
279
- #----------------------------------------------------------------------------
247
+ sign_up_now: S'enregistrer maintenant!
280
248
  account: Compte
281
249
  account_small: compte
282
250
  accounts: Comptes
@@ -300,9 +268,6 @@ fr-CA:
300
268
  share_with: Partager avec les personnes suivantes
301
269
  shipping_address: Adresse de livraison
302
270
  website: Site Web
303
-
304
- # Views -> Campaigns.
305
- #----------------------------------------------------------------------------
306
271
  actual: Actuel
307
272
  actual_performance: Performance Actuelle
308
273
  budget: Budget
@@ -317,7 +282,7 @@ fr-CA:
317
282
  campaigns_small: campagnes
318
283
  conversion: Conversion
319
284
  conversion_label: Conversion (%)
320
- conversion_number: "%{value} conversion"
285
+ conversion_number: ! '%{value} conversion'
321
286
  create_campaign: Créer une Campagne
322
287
  end_date: Date de fin
323
288
  finished_on: terminé le %{value}
@@ -325,23 +290,22 @@ fr-CA:
325
290
  no_start_date: pas de date de début spécifiée
326
291
  number_of_leads: Nombre de pistes
327
292
  objectives: Objectifs
328
- objectives_help: "Spécifiez un objectif en nombre de pistes, taux de conversion de pistes/opportunités, revenu espéré et budget. Ces valeurs seront utilisées lors de l'évaluation des performances de la campagne"
293
+ objectives_help: Spécifiez un objectif en nombre de pistes, taux de conversion de
294
+ pistes/opportunités, revenu espéré et budget. Ces valeurs seront utilisées lors
295
+ de l'évaluation des performances de la campagne
329
296
  objectives_small: objectifs de la campagne
330
297
  revenue: Revenu
331
298
  revenue_label: Revenu ($)
332
- revenue_number: "%{value} pour revenu"
299
+ revenue_number: ! '%{value} pour revenu'
333
300
  save_campaign: Enregistrer la campagne
334
301
  start_date: Date de début
335
302
  started_ago: démarré il y a %{value}
336
303
  starts_in: démarré dans %{value}
337
- starts_today: "démarre aujourd'hui!"
304
+ starts_today: démarre aujourd'hui!
338
305
  target: Cible
339
306
  total_campaigns: Total des Campagnes
340
307
  was_supposed_to_finish: présumée se terminer le %{value}
341
308
  was_supposed_to_start: était supposée démarrer il y a %{time_ago} le %{start_date}
342
-
343
- # Views -> Contacts.
344
- #----------------------------------------------------------------------------
345
309
  address: Adresse
346
310
  alt_email_small: Autre
347
311
  blog: Site Web/Blog
@@ -352,37 +316,47 @@ fr-CA:
352
316
  contacts_small: contacts
353
317
  create_contact: Créer un Contact
354
318
  department: Département
355
- department_small: 'département %{value} '
319
+ department_small: ! 'département %{value} '
356
320
  do_not_call: ne pas appeler
357
321
  extra_info: Informations supplémentaires
358
322
  extra_info_small: contact supplémentaire
359
323
  facebook: Facebook
360
324
  linked_in: LinkedIn
361
325
  myself: Moi-même
362
- permissions_intro_private: Par défaut vous seul aurez accès à %{value}. Vous pouvez modifier les permissions ultérieurement.
363
- permissions_intro_public: Par défaut tous les utilisateurs auront accès à %{value}. Vous pouvez modifier les permissions ultérieurement.
364
- permissions_intro_shared: Par défaut seul les utilisateurs sélectionnés auront accès à %{value}. Vous pouvez modifier les permissions ultérieurement.
326
+ permissions_intro_private: Par défaut vous seul aurez accès à %{value}. Vous pouvez
327
+ modifier les permissions ultérieurement.
328
+ permissions_intro_public: Par défaut tous les utilisateurs auront accès à %{value}.
329
+ Vous pouvez modifier les permissions ultérieurement.
330
+ permissions_intro_shared: Par défaut seul les utilisateurs sélectionnés auront accès
331
+ à %{value}. Vous pouvez modifier les permissions ultérieurement.
365
332
  referred_by: Référencé par
366
333
  referred_by_small: référence par
367
334
  save_contact: Enregistrer le contact
368
335
  twitter: Twitter
369
- web_presence: Présence Web
370
- web_presence_small: présence web
371
- works_at: "%{job_title} chez %{company}"
372
-
373
- # Views -> Leads.
374
- #----------------------------------------------------------------------------
336
+ web_presence: Présence Web
337
+ web_presence_small: présence web
338
+ works_at: ! '%{job_title} chez %{company}'
375
339
  convert: Convertir
376
340
  convert_lead: Convertir la piste
377
- convert_lead_permissions_intro: Les permissions du contact seront dupliquées depuis la piste. Vous pouvez modifier les permissions du contact ultérieurement.
378
- convert_lead_text: En convertissant la piste %{value} il/elle deviendras un contact associé a un compte existant ou nouvellement créé. Le statut de la piste sera automatiquement positionné à converti.
341
+ convert_lead_permissions_intro: Les permissions du contact seront dupliquées depuis
342
+ la piste. Vous pouvez modifier les permissions du contact ultérieurement.
343
+ convert_lead_text: En convertissant la piste %{value} il/elle deviendras un contact
344
+ associé a un compte existant ou nouvellement créé. Le statut de la piste sera
345
+ automatiquement positionné à converti.
379
346
  create_lead: Créer une piste
380
- create_opp_for_contact: "Vous pouvez éventuellement créer une opportunité pour le contact %{value} en spécifiant le nom, l'étape courante, la date de clôture estimée, la probabilité de vente, le montant de l'affaire, la remise offerte."
347
+ create_opp_for_contact: Vous pouvez éventuellement créer une opportunité pour le
348
+ contact %{value} en spécifiant le nom, l'étape courante, la date de clôture estimée,
349
+ la probabilité de vente, le montant de l'affaire, la remise offerte.
381
350
  lead: Piste
382
351
  lead_info_small: contact de la piste
383
- lead_permissions_intro_private: Par défaut les permissions seront dupliquée depuis la campagne ou positionnées sur privé. Vous pouvez modifier les permissions ultérieurement.
384
- lead_permissions_intro_public: Par défaut les permissions seront dupliquée depuis la campagne ou positionnées sur publique. Vous pouvez modifier les permissions ultérieurement.
385
- lead_permissions_intro_shared: Par défaut les permissions seront dupliquée depuis la campagne ou partagées avec les utilisateurs spécifiés. Vous pouvez modifier les permissions ultérieurement.
352
+ lead_permissions_intro_private: Par défaut les permissions seront dupliquée depuis
353
+ la campagne ou positionnées sur privé. Vous pouvez modifier les permissions ultérieurement.
354
+ lead_permissions_intro_public: Par défaut les permissions seront dupliquée depuis
355
+ la campagne ou positionnées sur publique. Vous pouvez modifier les permissions
356
+ ultérieurement.
357
+ lead_permissions_intro_shared: Par défaut les permissions seront dupliquée depuis
358
+ la campagne ou partagées avec les utilisateurs spécifiés. Vous pouvez modifier
359
+ les permissions ultérieurement.
386
360
  lead_small: piste
387
361
  lead_status_small: statut de la piste
388
362
  lead_summary: Résumé de la piste
@@ -397,13 +371,10 @@ fr-CA:
397
371
  source: Source
398
372
  status: Statut
399
373
  total_leads: Total des pistes
400
-
401
- # Views -> Opportunities.
402
- #----------------------------------------------------------------------------
403
374
  amount: Montant
404
375
  close_date: Date de clôture
405
376
  closed_ago_on: clôturé il y à%{time_ago} le %{date}
406
- closes_today: "doit être clôturé aujourd'hui!"
377
+ closes_today: doit être clôturé aujourd'hui!
407
378
  closing_date: la date de clôture est %{value}
408
379
  create_opportunity: Créer une opportunité
409
380
  currency: ($)
@@ -421,17 +392,15 @@ fr-CA:
421
392
  opportunity: Opportunité
422
393
  opportunity_small: opportunité
423
394
  opportunity_summary: Opportunité At a Glance
424
- opportunity_summary_text: "%{amount} avec %{discount} de remise et %{probability} de probabilité"
425
- past_due: en retard, devais être clôturé il y a %{value}.
395
+ opportunity_summary_text: ! '%{amount} avec %{discount} de remise et %{probability}
396
+ de probabilité'
397
+ past_due: en retard, devais être clôturé il y a %{value}.
426
398
  probability: Probabilité
427
399
  probability_number: et %{value} de probabilité
428
- save_opportunity: "Enregistrer l'opportunité"
400
+ save_opportunity: Enregistrer l'opportunité
429
401
  stage: Etape
430
402
  total_opportunities: Total des opportunités
431
403
  weighted_amount: Montant pondéré
432
-
433
- # Views -> Tasks.
434
- #----------------------------------------------------------------------------
435
404
  assign_to: Assigner à
436
405
  assigned_tab: Assigné
437
406
  assigned_tasks: Tâches assignées
@@ -443,13 +412,13 @@ fr-CA:
443
412
  due: A faire
444
413
  feel_free: N'hésitez pas à
445
414
  move_to: aller à
446
- no_tasks: "Vous n'avez aucune tâche %{value} "
415
+ no_tasks: ! 'Vous n''avez aucune tâche %{value} '
447
416
  no_tasks_pending: en attente
448
417
  no_tasks_assigned: assignée
449
418
  no_tasks_completed: complétée
450
419
  pending_tab: En attente
451
420
  pending_tasks: Taches en attente
452
- related: 're:'
421
+ related: ! 're:'
453
422
  save_task: Enregistrer la tâche
454
423
  task_assigned: La tâche à été assignée à %{value}
455
424
  task_assigned_to: et assignée à %{value}
@@ -460,7 +429,7 @@ fr-CA:
460
429
  task_due_in: échéance dans %{value}
461
430
  task_due_later: a faire bientôt
462
431
  task_due_now: échoit maintenant
463
- task_due_today: "échoit aujourd'hui"
432
+ task_due_today: échoit aujourd'hui
464
433
  task_from: De %{value}
465
434
  task_overdue: en retard, échoyait le
466
435
  task_pending: La tâche à été mise en attente.
@@ -469,9 +438,6 @@ fr-CA:
469
438
  total_tasks: Total %{value}
470
439
  view_assigned_tasks: voir les tâches assignées
471
440
  view_pending_tasks: voir les tâches en attente
472
-
473
- # Views -> Home.
474
- #----------------------------------------------------------------------------
475
441
  action_commented: commenté le
476
442
  action_completed: Complété
477
443
  action_created: créé
@@ -492,138 +458,112 @@ fr-CA:
492
458
  subject_lead: piste
493
459
  subject_opportunity: opportunité
494
460
  subject_task: tache
495
-
496
- # Views -> Common.
497
- #----------------------------------------------------------------------------
498
461
  add_note: Ajouter une note
499
462
  save_note: Enregistrer la note
500
463
  add_note_help: Ajouter une nouvelle note...
501
464
  added_ago: ajoutée il y à %{value}
502
- added_by: ajoutée il y à %{time_ago} par %{user}
465
+ added_by: ajoutée il y à %{time_ago} par %{user}
503
466
  back: Retour
504
467
  cancel: Annuler
505
468
  close_form: Fermer le formulaire
506
- confirm_delete: "Êtes-vous certain de vouloir supprimer ceci : %{value}?"
507
- copy_permissions: Copier les permissions de %{value}
508
- could_not_find: "%{value} N'a pas été trouvé. N'hésitez pas à "
509
- could_not_find_matching: "Aucun(e) %{value} n'a été trouvé correspondant à"
469
+ confirm_delete: ! 'Êtes-vous certain de vouloir supprimer ceci : %{value}?'
470
+ copy_permissions: Copier les permissions de %{value}
471
+ could_not_find: ! '%{value} N''a pas été trouvé. N''hésitez pas à '
472
+ could_not_find_matching: Aucun(e) %{value} n'a été trouvé correspondant à
510
473
  create_new: créer un(e)
511
474
  select_existing: sélectionnez
512
475
  delete: Supprimer
513
476
  discard: Rejeter
514
477
  edit: Modifier
515
- items_total: '%{count} total.'
478
+ items_total: ! '%{count} total.'
516
479
  less: Moins...
517
480
  me: moi
518
481
  more: Plus...
519
482
  n_a: N/A
520
483
  name: Nom
521
484
  no_match: Acun(e) %{value} ne correspond
522
- no_recent_items: "Il n'y rien de récent à afficher"
485
+ no_recent_items: Il n'y rien de récent à afficher
523
486
  options: Options
524
487
  permissions: Permissions
525
488
  please_retry: tentez une autre requête.
526
489
  recent_items: Objets récents
527
490
  search_assets: Recherche de %{value}
528
- time_ago: "il y à %{value}"
529
-
530
- # Views -> Layout.
531
- #----------------------------------------------------------------------------
491
+ time_ago: il y à %{value}
532
492
  about: A propos
533
493
  about_dev_group: Groupe de discussion développeur
534
494
  about_features: Fonctionnalités et bugs
535
495
  about_ffc: A propos Fat Free CRM
536
496
  about_ffc_resources: Ressources Fat Free CRM (Nouvelle fenêtre)
537
497
  about_ffc_version: Fat Free CRM version
538
- about_home_page: "Page d'accueil"
498
+ about_home_page: Page d'accueil
539
499
  about_project_page: Page du projet
540
- about_thank_you: "Merci d'utiliser Fat Free CRM!"
500
+ about_thank_you: Merci d'utiliser Fat Free CRM!
541
501
  about_twitter: Twitter commit updates
542
502
  about_user_group: Discussion group for users
543
503
  admin: Admin
544
504
  logout: Déconnection
545
505
  quick_find: Recherche rapide
546
506
  welcome: Bienvenu
547
-
548
- # Views -> Comments.
549
- #----------------------------------------------------------------------------
550
507
  edit_comment: Edition de commentaire
551
508
  show: Voir
552
509
  update: Modifier
553
-
554
- # Views -> Passwords.
555
- #----------------------------------------------------------------------------
556
510
  confirm_password_intro: Saisissez votre nouveau mot de passe et sa confirmation.
557
- password_intro: Précisez votre adresse e-mail, et les instructions pour les réinitialiser vous seront communiquées.
511
+ password_intro: Précisez votre adresse e-mail, et les instructions pour les réinitialiser
512
+ vous seront communiquées.
558
513
  reset_password: Ré-initialisation du mot de passe
559
- update_password_and_login: "Modification de l'identifiant et du mot de passe"
560
-
561
- # Views -> Admin
562
- #----------------------------------------------------------------------------
514
+ update_password_and_login: Modification de l'identifiant et du mot de passe
563
515
  back_to_crm: Retour à Fat Free CRM
564
516
  crm_admin_page: Administration Fat Free CRM
565
-
566
- # Views -> Admin -> Users.
567
- #----------------------------------------------------------------------------
568
517
  approve: Approuver
569
518
  create_user: Créer un utilisateur
570
519
  last_seen: vu pour la dernière fois il y à %{value}
571
520
  personal_information: Informations personnelles
572
521
  reactivate: Réactiver
573
- save_user: "Enregistrer l'utilisateur"
522
+ save_user: Enregistrer l'utilisateur
574
523
  suspend: Suspendre
575
524
  user_active: Actif
576
525
  user_admin: Admin
577
526
  user_awaits_approval: en attente de votre approbation
578
- user_confirm_delete: Un utilisateur ne peut être supprimé que si aucun objet lui appartenant existent toujours.
579
- user_is_admin: "L'utilisateur est administrateur"
580
- user_never_logged_in: "ne s'est pas encore connecté"
527
+ user_confirm_delete: Un utilisateur ne peut être supprimé que si aucun objet lui
528
+ appartenant existent toujours.
529
+ user_is_admin: L'utilisateur est administrateur
530
+ user_never_logged_in: ne s'est pas encore connecté
581
531
  user_signed_up: Est enregistré
582
- user_signed_up_on: "s'est enregistré le %{value}"
532
+ user_signed_up_on: s'est enregistré le %{value}
583
533
  user_since: utilisateur depuis %{value}
584
534
  user_suspended: Suspendu
585
535
  user_suspended_on: suspendu le %{value}
586
536
  users: Utilisateurs
587
537
  users_small: utilisateurs
588
-
589
- # Dropbox.
590
- #----------------------------------------------------------------------------
591
538
  dropbox_notification_subject: dropbox - Ajouté email - %{subject}
592
539
  dropbox_notification_intro: D'ajouter l'email que vous avez envoyé à la sélection
593
540
  dropbox_notification_to: Ajoutés aux
594
541
  subject: Sujet
595
542
  body: Corps
596
-
597
- # Pluralizations.
598
- #----------------------------------------------------------------------------
599
543
  pluralize:
600
544
  comment:
601
- one: '1 comment' # TODO
602
- other: '%{count} comments' # TODO
603
- contact:
604
- one: '1 contact'
605
- other: '%{count} contacts'
545
+ one: 1 comment
546
+ other: ! '%{count} comments'
547
+ contact:
548
+ one: 1 contact
549
+ other: ! '%{count} contacts'
606
550
  opportunity:
607
- one: '1 opportunité'
608
- other: '%{count} opportunités'
551
+ one: 1 opportunité
552
+ other: ! '%{count} opportunités'
609
553
  lead:
610
- one: '1 piste'
611
- other: '%{count} pistes'
554
+ one: 1 piste
555
+ other: ! '%{count} pistes'
612
556
  day:
613
- one: '1 jour'
614
- other: '%{count} jours'
557
+ one: 1 jour
558
+ other: ! '%{count} jours'
615
559
  login:
616
- one: '1 identifiant'
617
- other: '%{count} identifiants'
618
-
619
- # Custom date/time formats.
620
- #----------------------------------------------------------------------------
560
+ one: 1 identifiant
561
+ other: ! '%{count} identifiants'
621
562
  date:
622
563
  formats:
623
- mmddyyyy: "%d/%m/%Y"
624
- mmdd: "%e %b"
625
- mmddyy: "%e %b, %Y"
626
-
564
+ mmddyyyy: ! '%d/%m/%Y'
565
+ mmdd: ! '%e %b'
566
+ mmddyy: ! '%e %b, %Y'
627
567
  time:
628
568
  formats:
629
- mmddhhss: "%e %b à %l:%M%p"
569
+ mmddhhss: ! '%e %b à %l:%M%p'