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,182 +1,227 @@
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
-
1
+ ---
8
2
  fr:
9
3
  date:
10
4
  formats:
11
- default: "%d/%m/%Y"
12
- short: "%e %b"
13
- long: "%e %B %Y"
14
- day_names: [dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi]
15
- abbr_day_names: [dim, lun, mar, mer, jeu, ven, sam]
16
- month_names: [~, janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
17
- abbr_month_names: [~, jan., fév., mar., avr., mai, juin, juil., août, sept., oct., nov., déc.]
5
+ default: ! '%d/%m/%Y'
6
+ short: ! '%e %b'
7
+ long: ! '%e %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.
18
52
  order:
19
- - :day
20
- - :month
21
- - :year
22
-
53
+ - :day
54
+ - :month
55
+ - :year
23
56
  time:
24
57
  formats:
25
- default: "%d %B %Y %H:%M:%S"
26
- short: "%d %b %H:%M"
27
- long: "%A %d %B %Y %H:%M"
28
- am: 'am'
29
- pm: 'pm'
30
-
58
+ default: ! '%d %B %Y %H:%M:%S'
59
+ short: ! '%d %b %H:%M'
60
+ long: ! '%A %d %B %Y %H:%M'
61
+ am: am
62
+ pm: pm
31
63
  datetime:
32
64
  distance_in_words:
33
- half_a_minute: "une demi-minute"
65
+ half_a_minute: une demi-minute
34
66
  less_than_x_seconds:
35
- zero: "moins d'une seconde"
36
- one: "moins d'une seconde"
37
- other: "moins de %{count} secondes"
67
+ zero: moins d'une seconde
68
+ one: moins d'une seconde
69
+ other: moins de %{count} secondes
38
70
  x_seconds:
39
- one: "1 seconde"
40
- other: "%{count} secondes"
71
+ one: 1 seconde
72
+ other: ! '%{count} secondes'
41
73
  less_than_x_minutes:
42
- zero: "moins d'une minute"
43
- one: "moins d'une minute"
44
- other: "moins de %{count} minutes"
74
+ zero: moins d'une minute
75
+ one: moins d'une minute
76
+ other: moins de %{count} minutes
45
77
  x_minutes:
46
- one: "1 minute"
47
- other: "%{count} minutes"
78
+ one: 1 minute
79
+ other: ! '%{count} minutes'
48
80
  about_x_hours:
49
- one: "environ une heure"
50
- other: "environ %{count} heures"
81
+ one: environ une heure
82
+ other: environ %{count} heures
51
83
  x_days:
52
- one: "1 jour"
53
- other: "%{count} jours"
84
+ one: 1 jour
85
+ other: ! '%{count} jours'
54
86
  about_x_months:
55
- one: "environ un mois"
56
- other: "environ %{count} mois"
87
+ one: environ un mois
88
+ other: environ %{count} mois
57
89
  x_months:
58
- one: "1 mois"
59
- other: "%{count} mois"
90
+ one: 1 mois
91
+ other: ! '%{count} mois'
60
92
  about_x_years:
61
- one: "environ un an"
62
- other: "environ %{count} ans"
93
+ one: environ un an
94
+ other: environ %{count} ans
63
95
  over_x_years:
64
- one: "plus d'un an"
65
- other: "plus de %{count} ans"
96
+ one: plus d'un an
97
+ other: plus de %{count} ans
66
98
  almost_x_years:
67
- one: "presqu'un an"
68
- other: "presque %{count} ans"
99
+ one: presqu'un an
100
+ other: presque %{count} ans
69
101
  prompts:
70
- year: "Année"
71
- month: "Mois"
72
- day: "Jour"
73
- hour: "Heure"
74
- minute: "Minute"
75
- second: "Seconde"
76
-
102
+ year: Année
103
+ month: Mois
104
+ day: Jour
105
+ hour: Heure
106
+ minute: Minute
107
+ second: Seconde
77
108
  number:
78
109
  format:
79
- separator: ","
80
- delimiter: " "
110
+ separator: ! ','
111
+ delimiter: ! ' '
81
112
  precision: 3
82
113
  significant: false
83
114
  strip_insignificant_zeros: false
84
115
  currency:
85
116
  format:
86
- format: "%n %u"
87
- unit: ""
88
- separator: ","
89
- delimiter: " "
117
+ format: ! '%n %u'
118
+ unit: €
119
+ separator: ! ','
120
+ delimiter: ! ' '
90
121
  precision: 2
91
122
  significant: false
92
123
  strip_insignificant_zeros: false
93
124
  percentage:
94
125
  format:
95
- delimiter: ""
126
+ delimiter: ''
96
127
  precision:
97
128
  format:
98
- delimiter: ""
129
+ delimiter: ''
99
130
  human:
100
131
  format:
101
- delimiter: ""
132
+ delimiter: ''
102
133
  precision: 2
103
134
  significant: true
104
135
  strip_insignificant_zeros: true
105
136
  storage_units:
106
- format: "%n %u"
137
+ format: ! '%n %u'
107
138
  units:
108
139
  byte:
109
- one: "octet"
110
- other: "octets"
111
- kb: "ko"
112
- mb: "Mo"
113
- gb: "Go"
114
- tb: "To"
140
+ one: octet
141
+ other: octets
142
+ kb: ko
143
+ mb: Mo
144
+ gb: Go
145
+ tb: To
115
146
  decimal_units:
116
- format: "%n %u"
147
+ format: ! '%n %u'
117
148
  units:
118
- unit: ""
119
- thousand: "millier"
120
- million: "million"
121
- billion: "milliard"
122
- trillion: "billion"
123
- quadrillion: "million de milliards"
124
-
149
+ unit: ''
150
+ thousand: millier
151
+ million: million
152
+ billion: milliard
153
+ trillion: billion
154
+ quadrillion: million de milliards
125
155
  support:
126
156
  array:
127
- words_connector: ", "
128
- two_words_connector: " et "
129
- last_word_connector: " et "
157
+ words_connector: ! ', '
158
+ two_words_connector: ! ' et '
159
+ last_word_connector: ! ' et '
130
160
  select:
131
- prompt: "Veuillez sélectionner"
132
-
161
+ prompt: Veuillez sélectionner
133
162
  helpers:
134
163
  select:
135
- prompt: "Veuillez sélectionner"
164
+ prompt: Veuillez sélectionner
136
165
  submit:
137
- create: "Créer un %{model}"
138
- update: "Modifier ce %{model}"
139
- submit: "Enregistrer ce %{model}"
140
-
166
+ create: Créer un %{model}
167
+ update: Modifier ce %{model}
168
+ submit: Enregistrer ce %{model}
141
169
  attributes:
142
- created_at: "Créé le"
143
- updated_at: "Modifié le"
144
-
170
+ created_at: Créé le
171
+ updated_at: Modifié le
145
172
  errors:
146
- format: "Le %{attribute} %{message}"
147
- messages: &errors_messages
148
- inclusion: "n'est pas inclus(e) dans la liste"
149
- exclusion: "n'est pas disponible"
150
- invalid: "n'est pas valide"
151
- confirmation: "ne concorde pas avec la confirmation"
152
- accepted: "doit être accepté(e)"
153
- empty: "doit être rempli(e)"
154
- blank: "doit être rempli(e)"
155
- too_long: "est trop long (pas plus de %{count} caractères)"
156
- too_short: "est trop court (au moins %{count} caractères)"
157
- wrong_length: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
158
- not_a_number: "n'est pas un nombre"
159
- not_an_integer: "doit être un nombre entier"
160
- greater_than: "doit être supérieur à %{count}"
161
- greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
162
- equal_to: "doit être égal à %{count}"
163
- less_than: "doit être inférieur à %{count}"
164
- less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
165
- odd: "doit être impair"
166
- even: "doit être pair"
167
- template: &errors_template
168
- header:
169
- one: "Impossible d'enregistrer ce %{model} : 1 erreur"
170
- other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
171
- body: "Veuillez vérifier les champs suivants : "
172
-
173
+ format: Le %{attribute} %{message}
174
+ messages:
175
+ inclusion: n'est pas inclus(e) dans la liste
176
+ exclusion: n'est pas disponible
177
+ invalid: n'est pas valide
178
+ confirmation: ne concorde pas avec la confirmation
179
+ accepted: doit être accepté(e)
180
+ empty: doit être rempli(e)
181
+ blank: doit être rempli(e)
182
+ too_long: est trop long (pas plus de %{count} caractères)
183
+ too_short: est trop court (au moins %{count} caractères)
184
+ wrong_length: ne fait pas la bonne longueur (doit comporter %{count} caractères)
185
+ not_a_number: n'est pas un nombre
186
+ not_an_integer: doit être un nombre entier
187
+ greater_than: doit être supérieur à %{count}
188
+ greater_than_or_equal_to: doit être supérieur ou égal à %{count}
189
+ equal_to: doit être égal à %{count}
190
+ less_than: doit être inférieur à %{count}
191
+ less_than_or_equal_to: doit être inférieur ou égal à %{count}
192
+ odd: doit être impair
193
+ even: doit être pair
194
+ template:
195
+ header: &73570860
196
+ one: ! 'Impossible d''enregistrer ce %{model} : 1 erreur'
197
+ other: ! 'Impossible d''enregistrer ce %{model} : %{count} erreurs'
198
+ body: ! 'Veuillez vérifier les champs suivants : '
173
199
  activerecord:
174
200
  errors:
175
201
  messages:
176
- taken: "n'est pas disponible"
177
- record_invalid: "La validation a échoué : %{errors}"
178
- <<: *errors_messages
202
+ inclusion: n'est pas inclus(e) dans la liste
203
+ exclusion: n'est pas disponible
204
+ invalid: n'est pas valide
205
+ confirmation: ne concorde pas avec la confirmation
206
+ accepted: doit être accepté(e)
207
+ empty: doit être rempli(e)
208
+ blank: doit être rempli(e)
209
+ too_long: est trop long (pas plus de %{count} caractères)
210
+ too_short: est trop court (au moins %{count} caractères)
211
+ wrong_length: ne fait pas la bonne longueur (doit comporter %{count} caractères)
212
+ not_a_number: n'est pas un nombre
213
+ not_an_integer: doit être un nombre entier
214
+ greater_than: doit être supérieur à %{count}
215
+ greater_than_or_equal_to: doit être supérieur ou égal à %{count}
216
+ equal_to: doit être égal à %{count}
217
+ less_than: doit être inférieur à %{count}
218
+ less_than_or_equal_to: doit être inférieur ou égal à %{count}
219
+ odd: doit être impair
220
+ even: doit être pair
221
+ taken: n'est pas disponible
222
+ record_invalid: ! 'La validation a échoué : %{errors}'
179
223
  template:
180
- <<: *errors_template
224
+ header: *73570860
225
+ body: ! 'Veuillez vérifier les champs suivants : '
181
226
  full_messages:
182
- format: "%{attribute} %{message}"
227
+ format: ! '%{attribute} %{message}'
@@ -4,24 +4,18 @@
4
4
  # Updated by David Keita aka ManInGA
5
5
  # maninga@gmail.com
6
6
 
7
+ ---
7
8
  fr:
8
9
  language: Français
9
-
10
- # Generic terms.
11
- #----------------------------------------------------------------------------
12
10
  all: Tous
13
11
  at: à
14
12
  here: ici
15
- no_button: 'Non'
13
+ no_button: Non
16
14
  not_implemented: Pas encore implémenté.
17
15
  or: ou
18
- select_none: '-- Aucun --'
19
- select_blank: '-- Sélectionnez --'
20
- yes_button: 'Oui'
21
-
22
-
23
- # Settings.
24
- #----------------------------------------------------------------------------
16
+ select_none: -- Aucun --
17
+ select_blank: -- Sélectionnez --
18
+ yes_button: Oui
25
19
  tab_dashboard: Tableau de bord
26
20
  tab_tasks: Tâches
27
21
  tab_campaigns: Campagnes
@@ -29,31 +23,26 @@ fr:
29
23
  tab_accounts: Comptes
30
24
  tab_contacts: Contacts
31
25
  tab_opportunities: Opportunités
32
-
33
26
  admin_tab_users: Utilisateurs
34
27
  admin_tab_fields: Champs Personnalisés
35
28
  admin_tab_tags: Tags
36
29
  admin_tab_settings: Paramètres
37
30
  admin_tab_plugins: Plugins
38
-
39
31
  affiliate: Affilié
40
32
  competitor: Concurrent
41
33
  customer: Client
42
34
  partner: Partenaire adm
43
35
  reseller: Revendeur
44
36
  vendor: Vendeur
45
-
46
37
  planned: Planifié
47
38
  started: Démarré
48
39
  on_hold: En attente
49
40
  completed: Complétée
50
41
  called_off: Abandonné
51
-
52
42
  new: Nouvelle
53
43
  contacted: Contactée
54
44
  converted: Convertie
55
45
  rejected: Rejetée
56
-
57
46
  cold_call: Appel entrant
58
47
  conference: Conférence
59
48
  online: Marketing web
@@ -62,7 +51,6 @@ fr:
62
51
  web: Website
63
52
  word_of_mouth: Bouche à oreille
64
53
  other: Autre
65
-
66
54
  prospecting: Prospection
67
55
  analysis: Analyse
68
56
  presentation: Présentation
@@ -71,138 +59,127 @@ fr:
71
59
  final_review: Examen final
72
60
  won: Clôturée/Gagnée
73
61
  lost: Clôturée/Perdue
74
-
75
62
  call: Appel
76
63
  email: E-mail
77
64
  follow_up: Suivi
78
65
  lunch: Dîner
79
66
  meeting: Réunion
80
67
  money: Finance
81
- presentation: Présentation
82
68
  trip: Voyage
83
-
84
69
  overdue: Délai expiré
85
70
  due_asap: Dès que possible
86
- due_today: "Aujourd'hui"
71
+ due_today: Aujourd'hui
87
72
  due_tomorrow: Demain
88
73
  due_this_week: Cette semaine
89
74
  due_next_week: La semaine prochaine
90
75
  due_later: Plus tard
91
76
  due_specific_date: A la date précise...
92
-
93
- completed_today: "Ajourd'hui"
77
+ completed_today: Ajourd'hui
94
78
  completed_yesterday: Hier
95
79
  completed_last_week: La semaine dernière
96
80
  completed_this_month: Ce mois
97
81
  completed_last_month: Le mois dernier
98
-
99
- # Models/Activity.
100
- #----------------------------------------------------------------------------
101
82
  one_hour: Une heure
102
83
  one_day: Un jour
103
84
  two_days: Deux jours
104
85
  one_week: Une semaine
105
86
  two_weeks: Deux semaines
106
87
  one_month: Un mois
107
-
108
- # Model Validations.
109
- #----------------------------------------------------------------------------
110
88
  activerecord:
111
89
  errors:
112
90
  models:
113
91
  authentication:
114
92
  attributes:
115
93
  login_field:
116
- is_not_valid: "n'est pas valide"
94
+ is_not_valid: n'est pas valide
117
95
  password_field:
118
- is_not_valid: "n'est pas valide"
96
+ is_not_valid: n'est pas valide
119
97
  account:
120
98
  attributes:
121
99
  name:
122
- missing_account_name: "^Vérifiez le nom de compte."
100
+ missing_account_name: ^Vérifiez le nom de compte.
123
101
  access:
124
- share_account: "^Spécifiez un utilisateur avec qui partager le compte."
102
+ share_account: ^Spécifiez un utilisateur avec qui partager le compte.
125
103
  campaign:
126
104
  attributes:
127
105
  name:
128
- missing_campaign_name: "^Précisez un nom de campagne."
106
+ missing_campaign_name: ^Précisez un nom de campagne.
129
107
  ends_on:
130
- dates_not_in_sequence: "^Vérifiez que la date de fin de campagne soit avant la date de début."
108
+ dates_not_in_sequence: ^Vérifiez que la date de fin de campagne soit
109
+ avant la date de début.
131
110
  access:
132
- share_campaign: "^Préciser un utilisateur avec qui partager la campagne."
111
+ share_campaign: ^Préciser un utilisateur avec qui partager la campagne.
133
112
  contact:
134
113
  attributes:
135
114
  first_name:
136
- missing_first_name: "^Précisez le prénom"
115
+ missing_first_name: ^Précisez le prénom
137
116
  last_name:
138
- missing_last_name: "^Précisez le nom."
117
+ missing_last_name: ^Précisez le nom.
139
118
  access:
140
- share_contact: "^Précisez avec quel utilisateur partager le contact."
119
+ share_contact: ^Précisez avec quel utilisateur partager le contact.
141
120
  lead:
142
121
  attributes:
143
122
  first_name:
144
- missing_first_name: "^Précisez le prénom"
123
+ missing_first_name: ^Précisez le prénom
145
124
  last_name:
146
- missing_last_name: "^Précisez le nom."
125
+ missing_last_name: ^Précisez le nom.
147
126
  access:
148
- share_lead: "^Précisez avec quel utilisateur partager la piste."
127
+ share_lead: ^Précisez avec quel utilisateur partager la piste.
149
128
  opportunity:
150
129
  attributes:
151
130
  name:
152
- missing_opportunity_name: "^Spécifiez un nom d'opportunité."
131
+ missing_opportunity_name: ^Spécifiez un nom d'opportunité.
153
132
  access:
154
- share_opportunity: "^Précisez avec quel utilisateur partager l'opportunité."
133
+ share_opportunity: ^Précisez avec quel utilisateur partager l'opportunité.
155
134
  task:
156
135
  attributes:
157
136
  name:
158
- missing_task_name: "^Précisez le nom de la tâche."
137
+ missing_task_name: ^Précisez le nom de la tâche.
159
138
  calendar:
160
- invalid_date: "^Précisez une date valide"
139
+ invalid_date: ^Précisez une date valide
161
140
  user:
162
141
  attributes:
163
142
  username:
164
- missing_username: "^Précisez un nom d'utilisateur."
165
- username_taken: "^Ce nom d'utilisateur est déjà pris"
143
+ missing_username: ^Précisez un nom d'utilisateur.
144
+ username_taken: ^Ce nom d'utilisateur est déjà pris
166
145
  email:
167
- missing_email: "^Précisez une adresse e-mail"
168
- email_in_use: "^Un utilisateur existe déjà avec cette adresse."
169
-
146
+ missing_email: ^Précisez une adresse e-mail
147
+ email_in_use: ^Un utilisateur existe déjà avec cette adresse.
170
148
  msg_account_suspended: Ce compte utilisateur a été suspendu.
171
149
  password_reset_instruction: instructions de réinitialisation du mot de passe
172
-
173
- # Controllers.
174
- #----------------------------------------------------------------------------
175
- msg_account_created: "Votre compte a été créé, il est en attente d'approbation par l'administrateur"
176
- msg_account_not_approved: "Votre compte n'à pas encore été approuvé"
177
- msg_asset_deleted: "%{value} à été supprimé"
178
- msg_asset_not_available: "Ce %{value} n'est plus disponible."
179
- msg_asset_not_authorized: "Vous n'êtes pas autorisé à accéder à ce/cette %{value}."
180
- msg_assets_not_available: "Les %{value} ne sont pas disponibles."
181
- msg_asset_rejected: "%{value} à été rejetée."
182
- msg_bad_image_file: "^Nous n'avons pas pu télécharger ou redimensionner votre image."
183
- msg_cant_create_related: "Impossible de crée le %{asset} puisque le %{related} n'est plus disponnible."
184
- msg_cant_delete_user: "^Impossible de supprimer l'utilisateur car %{value} a des objets liés encore présents."
185
- msg_cant_do: "Impossible de %{action} le %{asset} puisqu'il n'est plus disponible."
186
- msg_email_not_found: "Aucun utilisateur ne correspond a cette adresse"
150
+ msg_account_created: Votre compte a été créé, il est en attente d'approbation par
151
+ l'administrateur
152
+ msg_account_not_approved: Votre compte n'à pas encore été approuvé
153
+ msg_asset_deleted: ! '%{value} à été supprimé'
154
+ msg_asset_not_available: Ce %{value} n'est plus disponible.
155
+ msg_asset_not_authorized: Vous n'êtes pas autorisé à accéder à ce/cette %{value}.
156
+ msg_assets_not_available: Les %{value} ne sont pas disponibles.
157
+ msg_asset_rejected: ! '%{value} à été rejetée.'
158
+ msg_bad_image_file: ^Nous n'avons pas pu télécharger ou redimensionner votre image.
159
+ msg_cant_create_related: Impossible de crée le %{asset} puisque le %{related} n'est
160
+ plus disponnible.
161
+ msg_cant_delete_user: ^Impossible de supprimer l'utilisateur car %{value} a des
162
+ objets liés encore présents.
163
+ msg_cant_do: Impossible de %{action} le %{asset} puisqu'il n'est plus disponible.
164
+ msg_email_not_found: Aucun utilisateur ne correspond a cette adresse
187
165
  msg_enter_new_password: Saisissez votre nouveau mot de passe.
188
- msg_goodbye: "Vous avez été déconnecté, merci d'utiliser Fat Free CRM!"
189
- msg_invalid_password: "^Saisissez votre mot de passe actuel"
166
+ msg_goodbye: Vous avez été déconnecté, merci d'utiliser Fat Free CRM!
167
+ msg_invalid_password: ^Saisissez votre mot de passe actuel
190
168
  msg_invalig_login: Utilisateur ou mot de passe non valide.
191
- msg_last_login: "Votre dernière connection était le %{value}."
169
+ msg_last_login: Votre dernière connection était le %{value}.
192
170
  msg_login_needed: Vous devez être connecté pour accéder a cette page.
193
171
  msg_logout_needed: Vous devez être déconnecté pour accéder a cette page.
194
- msg_password_changed: "Votre mot de passe a été modifié"
195
- msg_password_not_changed: "Votre mot de passe n'a pas été modifié"
172
+ msg_password_changed: Votre mot de passe a été modifié
173
+ msg_password_not_changed: Votre mot de passe n'a pas été modifié
196
174
  msg_password_updated: Modification de mot de passe réussie.
197
- msg_pwd_instructions_sent: "Les instruction de modification de mot de passe vous on été envoyées. Vérifiez vos e-mails"
175
+ msg_pwd_instructions_sent: Les instruction de modification de mot de passe vous
176
+ on été envoyées. Vérifiez vos e-mails
198
177
  msg_require_admin: Vous devez être administrateur pour accéder a cette page
199
178
  msg_successful_signup: Enregistrement réussi. Bienvenu dans Fat Free CRM
200
- msg_welcome: Bienvenue dans Fat Free CRM
201
-
202
- # Options.
203
- #----------------------------------------------------------------------------
204
- "option_amount*probability": Montant pondéré
205
- activity_options: Voir les %{action_type} %{models} effectuées par %{user} dans les derniers %{period}.
179
+ msg_welcome: Bienvenue dans Fat Free CRM
180
+ option_amount*probability: Montant pondéré
181
+ activity_options: Voir les %{action_type} %{models} effectuées par %{user} dans
182
+ les derniers %{period}.
206
183
  all_users: tous les utilisateurs
207
184
  option_after: après
208
185
  option_all: tous
@@ -228,10 +205,8 @@ fr:
228
205
  option_updated_at: date de modification
229
206
  show_per_page: Voir %{number} %{models} par page au format %{fmt}.
230
207
  sort_by: Trier les %{models} par %{field}.
231
- sort_by_displaying: Trier les %{models} par %{field} et afficher le prénom %{position} le nom.
232
-
233
- # Views -> Profile.
234
- #----------------------------------------------------------------------------
208
+ sort_by_displaying: Trier les %{models} par %{field} et afficher le prénom %{position}
209
+ le nom.
235
210
  aim: AOL IM
236
211
  already_signed_up: Déjà inscrit?
237
212
  alt_email: e-mail secondaire
@@ -241,12 +216,12 @@ fr:
241
216
  contact_info: Informations de contact
242
217
  current_password: Mot de passe actuel
243
218
  edit_profile: Modifier le profil
244
- # email: E-mail # <-- Already defined as the task type if Settings.
245
219
  first_name: Prénom
246
220
  google: Google IM
247
221
  gravatar_help: Vous ne connaissez pas Gravatar? Informations sur Gravatar
248
222
  image_file: Fichier image
249
- image_help: "L'image que vous envoyez sera redimensionnée à 75 x 75 pixels. Les formats supportés sont GIF, JPEG et PNG."
223
+ image_help: L'image que vous envoyez sera redimensionnée à 75 x 75 pixels. Les formats
224
+ supportés sont GIF, JPEG et PNG.
250
225
  job_title: Titre/Fonction
251
226
  last_name: Nom
252
227
  login_now_link: Connectez vous maintenant!
@@ -265,19 +240,13 @@ fr:
265
240
  upload_picture: Envoyez une image
266
241
  use_gravatar: Utilisez Gravatar
267
242
  user: Utilisateur
268
- username: "Nom d'utilisateur"
243
+ username: Nom d'utilisateur
269
244
  yahoo: Yahoo IM
270
-
271
- # Views -> Authenticate.
272
- #----------------------------------------------------------------------------
273
245
  forgot_password: Mot de passe oublié
274
246
  login: Se connecter
275
- no_account: "Vous n'avez pas de compte?"
247
+ no_account: Vous n'avez pas de compte?
276
248
  remember_me: Se souvenir de moi
277
- sign_up_now: "Créez le maintenant!"
278
-
279
- # Views -> Accounts.
280
- #----------------------------------------------------------------------------
249
+ sign_up_now: Créez le maintenant!
281
250
  account: Compte
282
251
  select_an_account: Sélectionner un compte
283
252
  account_small: compte
@@ -306,9 +275,6 @@ fr:
306
275
  shipping_address: Adresse de livraison
307
276
  total_accounts: Total des comptes
308
277
  website: Site web
309
-
310
- # Views -> Campaigns.
311
- #----------------------------------------------------------------------------
312
278
  actual: Etat actuel
313
279
  actual_performance: Performance Actuelle
314
280
  budget: Budget
@@ -323,7 +289,7 @@ fr:
323
289
  campaigns_small: campagnes
324
290
  conversion: Conversion
325
291
  conversion_label: Conversion (%)
326
- conversion_number: "%{value} de conversion"
292
+ conversion_number: ! '%{value} de conversion'
327
293
  create_campaign: Créer une Campagne
328
294
  end_date: Date de fin
329
295
  finished_on: terminée le %{value}
@@ -331,24 +297,22 @@ fr:
331
297
  no_start_date: pas de date de début spécifiée
332
298
  number_of_leads: Nombre de pistes
333
299
  objectives: Objectifs
334
- 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"
300
+ objectives_help: Spécifiez un objectif en nombre de pistes, taux de conversion de
301
+ pistes/opportunités, revenu espéré et budget. Ces valeurs seront utilisées lors
302
+ de l'évaluation des performances de la campagne
335
303
  objectives_small: objectifs de la campagne
336
304
  revenue: Revenu
337
305
  revenue_label: Revenu (€)
338
- revenue_number: "%{value} pour revenu"
306
+ revenue_number: ! '%{value} pour revenu'
339
307
  save_campaign: Enregistrer la campagne
340
308
  start_date: Date de début
341
309
  started_ago: démarré il y a %{value}
342
310
  starts_in: démarré dans %{value}
343
- starts_today: "démarre aujourd'hui!"
311
+ starts_today: démarre aujourd'hui!
344
312
  target: Prévisionnel
345
313
  total_campaigns: Total des Campagnes
346
314
  was_supposed_to_finish: présumée se terminer le %{value}
347
315
  was_supposed_to_start: était supposée démarrer il y a %{time_ago} le %{start_date}
348
- #was_supposed_to_start_in: was supposed to start in %{starts_in} on %{start_date} # Not in use in the project
349
-
350
- # Views -> Contacts.
351
- #----------------------------------------------------------------------------
352
316
  alt_email_small: Autre
353
317
  blog: Site Web/Blog
354
318
  contact: Contact
@@ -358,38 +322,47 @@ fr:
358
322
  contacts_small: contacts
359
323
  create_contact: Créer un Contact
360
324
  department: Département
361
- department_small: 'département %{value} '
325
+ department_small: ! 'département %{value} '
362
326
  do_not_call: ne pas appeler
363
327
  extra_info: Informations supplémentaires
364
328
  extra_info_small: infos supplémentaires
365
329
  facebook: Facebook
366
330
  linked_in: LinkedIn
367
331
  myself: Moi-même
368
- permissions_intro_private: Par défaut vous seul aurez accès à %{value}. Vous pouvez modifier les permissions ultérieurement.
369
- permissions_intro_public: Par défaut tous les utilisateurs auront accès à %{value}. Vous pouvez modifier les permissions ultérieurement.
370
- permissions_intro_shared: Par défaut seul les utilisateurs sélectionnés auront accès à %{value}. Vous pouvez modifier les permissions ultérieurement.
332
+ permissions_intro_private: Par défaut vous seul aurez accès à %{value}. Vous pouvez
333
+ modifier les permissions ultérieurement.
334
+ permissions_intro_public: Par défaut tous les utilisateurs auront accès à %{value}.
335
+ Vous pouvez modifier les permissions ultérieurement.
336
+ permissions_intro_shared: Par défaut seul les utilisateurs sélectionnés auront accès
337
+ à %{value}. Vous pouvez modifier les permissions ultérieurement.
371
338
  referred_by: Référencé par
372
339
  referred_by_small: référence par
373
340
  save_contact: Enregistrer le contact
374
- skype: Skype
375
341
  twitter: Twitter
376
342
  web_presence: Présence Web
377
- web_presence_small: présence web
378
- works_at: "%{job_title} chez %{company}"
379
-
380
- # Views -> Leads.
381
- #----------------------------------------------------------------------------
343
+ web_presence_small: présence web
344
+ works_at: ! '%{job_title} chez %{company}'
382
345
  convert: Convertir
383
346
  convert_lead: Convertir la piste
384
- convert_lead_permissions_intro: Les permissions du contact seront dupliquées depuis la piste. Vous pouvez modifier les permissions du contact ultérieurement.
385
- convert_lead_text: En convertissant la piste %{value} il/elle deviendra un contact associé à un compte existant ou nouvellement créé. Le statut de la piste sera automatiquement positionné à converti.
347
+ convert_lead_permissions_intro: Les permissions du contact seront dupliquées depuis
348
+ la piste. Vous pouvez modifier les permissions du contact ultérieurement.
349
+ convert_lead_text: En convertissant la piste %{value} il/elle deviendra un contact
350
+ associé à un compte existant ou nouvellement créé. Le statut de la piste sera
351
+ automatiquement positionné à converti.
386
352
  create_lead: Créer une piste
387
- 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."
353
+ create_opp_for_contact: Vous pouvez éventuellement créer une opportunité pour le
354
+ contact %{value} en spécifiant le nom, l'étape courante, la date de clôture estimée,
355
+ la probabilité de vente, le montant de l'affaire, la remise offerte.
388
356
  lead: Piste
389
357
  lead_info_small: contact de la piste
390
- 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.
391
- 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.
392
- 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.
358
+ lead_permissions_intro_private: Par défaut les permissions seront dupliquée depuis
359
+ la campagne ou positionnées sur privé. Vous pouvez modifier les permissions ultérieurement.
360
+ lead_permissions_intro_public: Par défaut les permissions seront dupliquée depuis
361
+ la campagne ou positionnées sur publique. Vous pouvez modifier les permissions
362
+ ultérieurement.
363
+ lead_permissions_intro_shared: Par défaut les permissions seront dupliquée depuis
364
+ la campagne ou partagées avec les utilisateurs spécifiés. Vous pouvez modifier
365
+ les permissions ultérieurement.
393
366
  lead_small: piste
394
367
  lead_status_small: statut de la piste
395
368
  lead_summary: Résumé de la piste
@@ -404,13 +377,10 @@ fr:
404
377
  source: Source
405
378
  status: Statut
406
379
  total_leads: Total des pistes
407
-
408
- # Views -> Opportunities.
409
- #----------------------------------------------------------------------------
410
380
  amount: Montant
411
381
  close_date: Date de clôture
412
382
  closed_ago_on: clôturé il y à %{time_ago} le %{date}
413
- closes_today: "doit être clôturé aujourd'hui!"
383
+ closes_today: doit être clôturé aujourd'hui!
414
384
  closing_date: la date de clôture est %{value}
415
385
  create_opportunity: Créer une opportunité
416
386
  currency: (€)
@@ -427,18 +397,16 @@ fr:
427
397
  opportunities_small: opportunités
428
398
  opportunity: Opportunité
429
399
  opportunity_small: opportunité
430
- opportunity_summary: "Coup d'oeil sur l'opportunité"
431
- opportunity_summary_text: "%{amount} avec %{discount} de remise et %{probability} de probabilité"
400
+ opportunity_summary: Coup d'oeil sur l'opportunité
401
+ opportunity_summary_text: ! '%{amount} avec %{discount} de remise et %{probability}
402
+ de probabilité'
432
403
  past_due: en retard, devait être clôturé il y a %{value}
433
404
  probability: Probabilité
434
405
  probability_number: et %{value} de probabilité
435
- save_opportunity: "Enregistrer l'opportunité"
406
+ save_opportunity: Enregistrer l'opportunité
436
407
  stage: Etape
437
408
  total_opportunities: Total des opportunités
438
409
  weighted_amount: Montant pondéré
439
-
440
- # Views -> Tasks.
441
- #----------------------------------------------------------------------------
442
410
  task: Tâche
443
411
  task_small: tâche
444
412
  tasks: Tâches
@@ -454,13 +422,13 @@ fr:
454
422
  due: A faire
455
423
  feel_free: N'hésitez pas à
456
424
  move_to: aller à
457
- no_tasks: "Vous n'avez aucune tâche %{value}"
425
+ no_tasks: Vous n'avez aucune tâche %{value}
458
426
  no_tasks_pending: en attente
459
427
  no_tasks_assigned: assignée
460
428
  no_tasks_completed: complétée
461
429
  pending_tab: En attente
462
430
  pending_tasks: Tâches en attente
463
- related: 're:'
431
+ related: ! 're:'
464
432
  save_task: Enregistrer la tâche
465
433
  task_assigned: La tâche à été assignée à %{value}
466
434
  task_assigned_to: et assignée à %{value}
@@ -471,16 +439,13 @@ fr:
471
439
  task_due_in: échéance dans %{value}
472
440
  task_due_later: à faire bientôt
473
441
  task_due_now: à faire maintenant
474
- task_due_today: "à faire aujourd'hui"
442
+ task_due_today: à faire aujourd'hui
475
443
  task_from: De %{value}
476
444
  task_overdue: en retard, échéance prévue le
477
445
  task_pending: La tâche à été mise en attente
478
446
  total_tasks: Total des %{value}
479
447
  view_assigned_tasks: voir les tâches assignées
480
448
  view_pending_tasks: voir les tâches en attente
481
-
482
- # Views -> Home.
483
- #----------------------------------------------------------------------------
484
449
  action_commented: a commenté le/la
485
450
  action_completed: a complété le/la
486
451
  action_created: a créé le/la
@@ -502,16 +467,13 @@ fr:
502
467
  subject_lead: piste
503
468
  subject_opportunity: opportunité
504
469
  subject_task: tâche
505
- created_past_participle: "Création d'enregistrements"
470
+ created_past_participle: Création d'enregistrements
506
471
  commented_past_participle: Commentaires
507
472
  viewed_past_participle: Consultations
508
473
  updated_past_participle: Modifications
509
474
  deleted_past_participle: Supressions
510
475
  email_past_participle: Emails
511
476
  all_events_past_participle: Activités
512
-
513
- # Views -> Common.
514
- #----------------------------------------------------------------------------
515
477
  add_note: Ajouter une note
516
478
  save_note: Enregistrer la note
517
479
  add_note_help: Ajouter une nouvelle note...
@@ -521,24 +483,24 @@ fr:
521
483
  back: Retour
522
484
  cancel: Annuler
523
485
  close_form: Fermer le formulaire
524
- confirm_delete: "Êtes-vous certain de vouloir supprimer ceci : %{value}?"
486
+ confirm_delete: ! 'Êtes-vous certain de vouloir supprimer ceci : %{value}?'
525
487
  copy_permissions: Copier les permissions de %{value}
526
- could_not_find: "Aucun(e) %{value} n'a été trouvé(e). N'hésitez pas à "
527
- could_not_find_matching: "Aucun(e) %{value} n'a été trouvé(e) correspondant à"
488
+ could_not_find: ! 'Aucun(e) %{value} n''a été trouvé(e). N''hésitez pas à '
489
+ could_not_find_matching: Aucun(e) %{value} n'a été trouvé(e) correspondant à
528
490
  create_new: créer un(e)
529
491
  create_a_new: créer un(e)
530
492
  select_existing: sélectionnez un(e)
531
493
  delete: Supprimer
532
494
  discard: Abandonner
533
495
  edit: Modifier
534
- items_total: '%{count} total.'
496
+ items_total: ! '%{count} total.'
535
497
  less: Moins...
536
498
  me: moi
537
499
  more: Plus...
538
500
  n_a: N/R
539
501
  name: Nom
540
502
  no_match: Aucun(e) %{value} ne correspond
541
- no_recent_items: "Il n'y rien de récent à afficher pour l'instant."
503
+ no_recent_items: Il n'y rien de récent à afficher pour l'instant.
542
504
  options: Options
543
505
  permissions: Permissions
544
506
  please_retry: essayez une autre requête.
@@ -548,11 +510,11 @@ fr:
548
510
  select_task: Choisir une tâche
549
511
  select_opportunity: Choisir une opportunité
550
512
  search_assets: Recherche de %{value}
551
- time_ago: "il y a %{value}"
513
+ time_ago: il y a %{value}
552
514
  background_info: Informations
553
515
  address: Adresse
554
- street1: Rue 1 # NEW
555
- street2: Rue 2 # NEW
516
+ street1: Rue 1
517
+ street2: Rue 2
556
518
  city: Ville
557
519
  zipcode: Code postal
558
520
  state: Région
@@ -562,35 +524,31 @@ fr:
562
524
  collapse_all: Tout replier
563
525
  expanded: déplier
564
526
  collapsed: replier
565
-
566
- # Views -> Layout.
567
- #----------------------------------------------------------------------------
568
527
  about: A propos
569
528
  about_dev_group: Groupe de discussion pour les développeurs
570
529
  about_features: Fonctionnalités et bugs
571
530
  about_ffc: A propos de Fat Free CRM
572
531
  about_ffc_resources: Ressources pour Fat Free CRM (Nouvelle fenêtre)
573
532
  about_ffc_version: version de Fat Free CRM
574
- about_home_page: "Page d'accueil"
533
+ about_home_page: Page d'accueil
575
534
  about_project_page: Page du projet
576
- about_thank_you: "Merci d'utiliser Fat Free CRM!"
535
+ about_thank_you: Merci d'utiliser Fat Free CRM!
577
536
  about_twitter: mises à jours sur Twitter
578
537
  about_user_group: Groupe de discussion pour les utilisateurs
579
538
  admin: Administration
580
539
  logout: Se déconnecter
581
540
  quick_find: Recherche rapide
582
541
  welcome: Bienvenue
583
-
584
- # Views -> Advanced Search.
585
542
  accounts_advanced_search: Recherche avancée des comptes
586
543
  advanced_search: Recherche avancée
587
544
  advanced_search_submit: Rechercher
588
545
  advanced_search_add_group: Ajouter un groupe de filtres
589
- advanced_search_group_first: Afficher les enregistrement quand %{combinator} du/des critère(s) suivant(s) correspond(ent)
590
- advanced_search_group_rest: ...et quand %{combinator} du/des critère(s) suivant(s) correspond(ent)
546
+ advanced_search_group_first: Afficher les enregistrement quand %{combinator} du/des
547
+ critère(s) suivant(s) correspond(ent)
548
+ advanced_search_group_rest: ! '...et quand %{combinator} du/des critère(s) suivant(s)
549
+ correspond(ent)'
591
550
  advanced_search_add_condition: Ajouter un filtre
592
551
  advanced_search_remove_condition: Supprimer un filtre
593
-
594
552
  ransack:
595
553
  predicates:
596
554
  eq: est égal à
@@ -603,139 +561,101 @@ fr:
603
561
  not_cont: ne contient pas
604
562
  blank: est vide
605
563
  present: est présent
606
- "null": est nul
564
+ 'null': est nul
607
565
  not_null: est non nul
608
-
609
-
610
- # Views -> Comments.
611
- #----------------------------------------------------------------------------
612
566
  edit_comment: Edition de commentaire
613
567
  show: Voir
614
568
  update: Modifier
615
-
616
- # Views -> Passwords.
617
- #----------------------------------------------------------------------------
618
569
  confirm_password_intro: Saisissez votre nouveau mot de passe et sa confirmation.
619
- password_intro: Précisez votre adresse e-mail, et les instructions pour les réinitialiser vous seront communiquées.
570
+ password_intro: Précisez votre adresse e-mail, et les instructions pour les réinitialiser
571
+ vous seront communiquées.
620
572
  reset_password: Ré-initialisation du mot de passe
621
- update_password_and_login: "Modification de l'identifiant et du mot de passe"
622
-
623
- # Views -> Admin
624
- #----------------------------------------------------------------------------
573
+ update_password_and_login: Modification de l'identifiant et du mot de passe
625
574
  back_to_crm: Retour à Fat Free CRM
626
575
  crm_admin_page: Administration de Fat Free CRM
627
-
628
- # Views -> Admin -> Users.
629
- #----------------------------------------------------------------------------
630
576
  approve: Approuver
631
577
  create_user: Créer un utilisateur
632
578
  last_seen: vu pour la dernière fois il y a %{value}
633
579
  personal_information: Informations complémentaires
634
580
  reactivate: Réactiver
635
- save_user: "Enregistrer l'utilisateur"
581
+ save_user: Enregistrer l'utilisateur
636
582
  suspend: Suspendre
637
583
  user_active: Actif
638
584
  user_admin: Admin
639
585
  user_awaits_approval: en attente de votre approbation
640
- user_confirm_delete: Un utilisateur ne peut être supprimé que si aucun objet lui appartenant existent toujours.
641
- user_is_admin: "L'utilisateur est administrateur"
642
- user_never_logged_in: "ne s'est pas encore connecté"
586
+ user_confirm_delete: Un utilisateur ne peut être supprimé que si aucun objet lui
587
+ appartenant existent toujours.
588
+ user_is_admin: L'utilisateur est administrateur
589
+ user_never_logged_in: ne s'est pas encore connecté
643
590
  user_signed_up: est enregistré
644
- user_signed_up_on: "s'est enregistré le %{value}"
591
+ user_signed_up_on: s'est enregistré le %{value}
645
592
  user_since: utilisateur depuis le %{value}
646
593
  user_suspended: Suspendu
647
594
  user_suspended_on: suspendu le %{value}
648
595
  users: Utilisateurs
649
596
  users_small: utilisateurs
650
-
651
- # Views -> Versions
652
- #----------------------------------------------------------------------------
653
597
  versions: Historique
654
598
  version:
655
599
  create: Créé par %{by} il y a %{item}.
656
600
  update: Modifié par %{by} il y a %{item}.
657
601
  destroy: Détruit par %{by} il y a %{item}.
658
- set: %{attr} renseigné %{to}
659
- unset: %{attr} supprimé
660
- change: %{attr} changé de %{from} à %{to}
602
+ set: ! '%{attr} renseigné %{to}'
603
+ unset: ! '%{attr} supprimé'
604
+ change: ! '%{attr} changé de %{from} à %{to}'
661
605
  anonymous: anonyme
662
-
663
- # Export.
664
- #----------------------------------------------------------------------------
665
606
  to_xls: Exporter au format Excel
666
607
  to_csv: Exporter au format CSV (enregistrements supprimés inclus)
667
608
  to_rss: fil RSS
668
609
  to_atom: fil Atom
669
-
670
- # Dropbox.
671
- #----------------------------------------------------------------------------
672
610
  dropbox_notification_subject: dropbox - Email ajouté - %{subject}
673
- dropbox_notification_intro: "a ajouté l'email que vous avez envoyé à la dropbox"
611
+ dropbox_notification_intro: a ajouté l'email que vous avez envoyé à la dropbox
674
612
  dropbox_notification_to: ajoutés aux
675
613
  subject: Sujet
676
614
  body: Corps
677
-
678
- # Lists
679
- #----------------------------------------------------------------------------
680
615
  lists: Listes
681
616
  list: Liste
682
617
  no_saved_lists: Liste non sauvegardée
683
618
  make_current_view_list: Faire de la vue courante une liste
684
- list_name_info: Si vous utilisez le nom d'une liste existante vous écraserez cette liste avec vos paramètres courants
685
-
686
- # Pluralizations.
687
- #----------------------------------------------------------------------------
619
+ list_name_info: Si vous utilisez le nom d'une liste existante vous écraserez cette
620
+ liste avec vos paramètres courants
688
621
  pluralize:
689
622
  comment:
690
- one: '1 commentaire'
691
- other: '%{count} commentaires'
623
+ one: 1 commentaire
624
+ other: ! '%{count} commentaires'
692
625
  contact:
693
- one: '1 contact'
694
- other: '%{count} contacts'
626
+ one: 1 contact
627
+ other: ! '%{count} contacts'
695
628
  opportunity:
696
- one: '1 opportunité'
697
- other: '%{count} opportunités'
629
+ one: 1 opportunité
630
+ other: ! '%{count} opportunités'
698
631
  lead:
699
- one: '1 piste'
700
- other: '%{count} pistes'
632
+ one: 1 piste
633
+ other: ! '%{count} pistes'
701
634
  day:
702
- one: '1 jour'
703
- other: '%{count} jours'
635
+ one: 1 jour
636
+ other: ! '%{count} jours'
704
637
  login:
705
- one: '1 identifiant'
706
- other: '%{count} identifiants'
707
-
708
- # Custom date/time formats.
709
- #----------------------------------------------------------------------------
638
+ one: 1 identifiant
639
+ other: ! '%{count} identifiants'
710
640
  date:
711
641
  formats:
712
- mmddyyyy: "%d/%m/%Y"
713
- mmdd: "%e %b"
714
- mmddyy: "%e %b %Y"
715
-
642
+ mmddyyyy: ! '%d/%m/%Y'
643
+ mmdd: ! '%e %b'
644
+ mmddyy: ! '%e %b %Y'
716
645
  time:
717
646
  formats:
718
- mmddhhss: "%b %e à %H:%M%"
719
- mmddyyyy_hhmm: "%d/%m/%Y à %H:%M"
720
-
721
- # will_paginate translations copied for 'fr'
722
- #----------------------------------------------------------------------------
647
+ mmddhhss: ! '%b %e à %H:%M%'
648
+ mmddyyyy_hhmm: ! '%d/%m/%Y à %H:%M'
723
649
  will_paginate:
724
- previous_label: "&#8592; Précédent"
725
- next_label: "Suivant &#8594;"
726
- page_gap: "&hellip;"
727
-
650
+ previous_label: ! '&#8592; Précédent'
651
+ next_label: Suivant &#8594;
652
+ page_gap: ! '&hellip;'
728
653
  page_entries_info:
729
654
  single_page:
730
- zero: "Aucun(e) %{name} trouvé"
731
- one: "Affichage de 1 %{name}"
732
- other: "Affichage de %{count} %{plural}"
733
-
734
- multi_page: "Affichage des %{plural} %{from} à %{to} de %{total} au total"
735
-
736
-
737
- # Views -> Admin -> Custom Fields
738
- #----------------------------------------------------------------------------
655
+ zero: Aucun(e) %{name} trouvé
656
+ one: Affichage de 1 %{name}
657
+ other: Affichage de %{count} %{plural}
658
+ multi_page: Affichage des %{plural} %{from} à %{to} de %{total} au total
739
659
  label: Etiquette
740
660
  custom_fields: Champs personnalisés
741
661
  custom_field_options: Options des champs personnalisés
@@ -744,94 +664,71 @@ fr:
744
664
  create_field_group: Créer une section (groupe de champs)
745
665
  edit_field_group: Editer la section
746
666
  save_field_group: enregistrer la section
747
-
748
- field_group_empty: "Il n'y a aucun champ dans cette section"
749
-
750
- select_or_create_tags: "Sélectionner un tag ou créez un nouveau tag en validant par la touche entrée."
751
-
667
+ field_group_empty: Il n'y a aucun champ dans cette section
668
+ select_or_create_tags: Sélectionner un tag ou créez un nouveau tag en validant par
669
+ la touche entrée.
752
670
  restrict_by_tag: Restriction par tag
753
- restrict_by_tag_info: Cette section ne sera visible que pour les %{assets} qui seront taggé(e)s"
754
- field_group_tag_restriction: Cette section est visible pour les %{assets} qui sont taggé(e)s "%{tag}"
755
- field_group_unrestricted: "Cette section est visible pour l'ensemble des %{assets}"
756
- field_group_confirm_delete: Quand une section est supprimée, tous les champs personnalisés sont déplacés vers la section par défaut.
671
+ restrict_by_tag_info: Cette section ne sera visible que pour les %{assets} qui seront
672
+ taggé(e)s"
673
+ field_group_tag_restriction: Cette section est visible pour les %{assets} qui sont
674
+ taggé(e)s "%{tag}"
675
+ field_group_unrestricted: Cette section est visible pour l'ensemble des %{assets}
676
+ field_group_confirm_delete: Quand une section est supprimée, tous les champs personnalisés
677
+ sont déplacés vers la section par défaut.
757
678
  msg_cant_delete_field_group: Cette section ne peut pas être supprimée.
679
+ admin_fields_info: ! 'Les champs personnalisés sont affichés dans des sections.
758
680
 
759
- admin_fields_info: |
760
- Les champs personnalisés sont affichés dans des sections.
761
- Créez d'abord une nouvelle section, ou ajoutez les champs dans une section existante ci-dessous.<br />
762
- Vous pouvez faire glisser les champs pour ordonner leur présentation ou les faire changer de section.
681
+ Créez d''abord une nouvelle section, ou ajoutez les champs dans une section existante
682
+ ci-dessous.<br />
763
683
 
764
- # Views -> Admin -> Tags
765
- #----------------------------------------------------------------------------
684
+ Vous pouvez faire glisser les champs pour ordonner leur présentation ou les faire
685
+ changer de section.
686
+
687
+ '
766
688
  tags: Tags
767
689
  tag_small: tag
768
690
  tagged: taggé(es)
769
691
  create_tag: Créer un tag
770
692
  save_tag: Enregistrer le tag
771
693
  field_group_tags: Sections visibles pour ce tag
772
- tag_with_taggings_confirm_delete: "En supprimant ce tag, il sera supprimé de %{value} enregistrements."
773
- msg_cant_delete_tag: "Impossible de supprimer '%{value}' car il est associé à au moins une section."
774
-
775
-
776
- # Views -> Admin -> Plugins
777
- #----------------------------------------------------------------------------
694
+ tag_with_taggings_confirm_delete: En supprimant ce tag, il sera supprimé de %{value}
695
+ enregistrements.
696
+ msg_cant_delete_tag: Impossible de supprimer '%{value}' car il est associé à au
697
+ moins une section.
778
698
  views:
779
699
  admin:
780
700
  plugins:
781
701
  author: Auteur
782
702
  version: Version
783
703
  description: Description
784
-
785
- # Simple Form translations
786
- #----------------------------------------------------------------------------
787
704
  simple_form:
788
- "yes": 'Oui'
789
- "no": 'Non'
705
+ 'yes': Oui
706
+ 'no': Non
790
707
  required:
791
- text: 'required'
792
- mark: '*'
793
- # You can uncomment the line below if you need to overwrite the whole required html.
794
- # When using html, text and mark won't be used.
795
- # html: '<abbr title="required">*</abbr>'
708
+ text: required
709
+ mark: ! '*'
796
710
  error_notification:
797
- default_message: "Votre demande ne peut aboutir, les erreurs suivantes se sont déclenchées:"
798
- # Labels and hints examples
799
- # labels:
800
- # password: 'Password'
801
- # user:
802
- # new:
803
- # email: 'E-mail para efetuar o sign in.'
804
- # edit:
805
- # email: 'E-mail.'
806
- # hints:
807
- # username: 'User name to sign in.'
808
- # password: 'No special characters, please.'
809
-
810
-
811
- # Form field types
812
- #----------------------------------------------------------------------------
711
+ default_message: ! 'Votre demande ne peut aboutir, les erreurs suivantes se
712
+ sont déclenchées:'
813
713
  field_types:
814
- string: Texte court
815
- text: Texte long
816
- select: Liste de sélection
714
+ string: Texte court
715
+ text: Texte long
716
+ select: Liste de sélection
817
717
  multiselect: Liste de sélection (multiple)
818
- radio: Boutons radios
819
- boolean: Case à cocher
718
+ radio: Boutons radios
719
+ boolean: Case à cocher
820
720
  check_boxes: Liste de cases à cocher
821
- date: Date
822
- datetime: Date et heure
823
- email: Adresse email
824
- url: URL
825
- tel: Numéro de téléphone
826
- decimal: Nombre décimal
827
- integer: Nombre entier
828
- float: Nombre flottant
829
-
830
- # dynamic_form plugin translations.
831
- #----------------------------------------------------------------------------
721
+ date: Date
722
+ datetime: Date et heure
723
+ email: Adresse email
724
+ url: URL
725
+ tel: Numéro de téléphone
726
+ decimal: Nombre décimal
727
+ integer: Nombre entier
728
+ float: Nombre flottant
832
729
  errors:
833
730
  template:
834
731
  header:
835
- one: "Impossible d'enregistrer ce %{model} : 1 erreur"
836
- other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
837
- body: "Veuillez vérifier les champs suivants : "
732
+ one: ! 'Impossible d''enregistrer ce %{model} : 1 erreur'
733
+ other: ! 'Impossible d''enregistrer ce %{model} : %{count} erreurs'
734
+ body: ! 'Veuillez vérifier les champs suivants : '