From fbd95be0f5d3e17d4366f72808778875e3937aeb Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 6 Dec 2023 09:11:14 -0500 Subject: [PATCH 01/12] fix: localize attributes properly (#2016) * fix: localize attributes properly * fix: decapitalize localization message keys * fix: update error messages * fix: add attributes method to all requests * fix: analyze issues * fix: update tests * fix: update validation errors * fix: run localize * fix: update based on PR feedback * fix: update based on PR feedback * fix: analyze issue * fix: update validation errors * fix: update validation errors * fix: add email attribute to AcceptInvitationRequest * fix: update attribute message * fix: add update attributes for StoreDefinedTermRequest * fix: update based on PR feedback * fix: update DestroyUserRequest attribute * fix: update attributes of StoreEngagementLanguagesRequest * fix: run composer localize --- app/Http/Requests/AcceptInvitationRequest.php | 7 + .../Requests/AddNotificationableRequest.php | 8 + app/Http/Requests/AddTranslationRequest.php | 9 ++ app/Http/Requests/BlockRequest.php | 8 + .../Requests/DestroyIndividualRequest.php | 7 + .../Requests/DestroyOrganizationRequest.php | 7 + app/Http/Requests/DestroyProjectRequest.php | 7 + .../DestroyRegulatedOrganizationRequest.php | 7 + .../Requests/DestroyTranslationRequest.php | 9 ++ app/Http/Requests/DestroyUserRequest.php | 8 + app/Http/Requests/MeetingRequest.php | 13 ++ .../RemoveNotificationableRequest.php | 8 + .../Requests/SaveIndividualRolesRequest.php | 8 + .../Requests/SaveOrganizationRolesRequest.php | 8 + app/Http/Requests/SaveUserContextRequest.php | 7 + app/Http/Requests/SaveUserDetailsRequest.php | 1 + .../Requests/SaveUserLanguagesRequest.php | 11 ++ app/Http/Requests/StoreDefinedTermRequest.php | 10 ++ .../Requests/StoreEngagementFormatRequest.php | 7 + .../StoreEngagementLanguagesRequest.php | 8 + .../StoreEngagementRecruitmentRequest.php | 7 + app/Http/Requests/StoreEngagementRequest.php | 11 ++ app/Http/Requests/StoreInvitationRequest.php | 8 + .../StoreOrganizationLanguagesRequest.php | 7 + .../Requests/StoreOrganizationRequest.php | 9 ++ .../Requests/StoreOrganizationTypeRequest.php | 7 + .../Requests/StoreProjectContextRequest.php | 8 + .../Requests/StoreProjectLanguagesRequest.php | 7 + app/Http/Requests/StoreProjectRequest.php | 12 ++ app/Http/Requests/StoreQuizResultRequest.php | 7 + ...eRegulatedOrganizationLanguagesRequest.php | 7 + .../StoreRegulatedOrganizationRequest.php | 10 ++ .../StoreRegulatedOrganizationTypeRequest.php | 7 + app/Http/Requests/UnblockRequest.php | 8 + .../Requests/UpdateAccessNeedsRequest.php | 27 ++++ .../Requests/UpdateAreasOfInterestRequest.php | 10 ++ ...ationAndConsultationPreferencesRequest.php | 19 +++ .../Requests/UpdateDefinedTermRequest.php | 10 ++ .../UpdateEngagementLanguagesRequest.php | 8 + app/Http/Requests/UpdateEngagementRequest.php | 30 +++- ...dateEngagementSelectionCriteriaRequest.php | 9 ++ ...ationAndConsultationPreferencesRequest.php | 17 +++ .../UpdateIndividualConstituenciesRequest.php | 37 +++++ .../UpdateIndividualExperiencesRequest.php | 2 + .../UpdateIndividualInterestsRequest.php | 10 ++ app/Http/Requests/UpdateIndividualRequest.php | 12 ++ .../UpdateLanguagePreferencesRequest.php | 10 ++ app/Http/Requests/UpdateMembershipRequest.php | 7 + .../UpdateNotificationPreferencesRequest.php | 23 +++ ...pdateOrganizationConstituenciesRequest.php | 37 +++++ ...eOrganizationContactInformationRequest.php | 19 ++- .../UpdateOrganizationInterestsRequest.php | 10 ++ .../Requests/UpdateOrganizationRequest.php | 12 ++ .../UpdatePaymentInformationRequest.php | 10 ++ app/Http/Requests/UpdateProjectRequest.php | 23 +++ .../Requests/UpdateProjectTeamRequest.php | 12 ++ .../UpdateRegulatedOrganizationRequest.php | 17 ++- .../UpdateUserIntroductionStatusRequest.php | 7 + ...WebsiteAccessibilityPreferencesRequest.php | 8 + resources/lang/en.json | 138 ++++++++++++++++++ resources/lang/fr.json | 138 ++++++++++++++++++ ...otificaitonableRequestValidationErrors.php | 2 +- .../MeetingRequestValidationErrors.php | 26 ++-- ...otificaitonableRequestValidationErrors.php | 14 +- ...pdateEngagementRequestValidationErrors.php | 48 +++--- ...lectionCriteriaRequestValidationErrors.php | 18 +-- ...pdateIndividualRequestValidationErrors.php | 14 +- 67 files changed, 984 insertions(+), 73 deletions(-) diff --git a/app/Http/Requests/AcceptInvitationRequest.php b/app/Http/Requests/AcceptInvitationRequest.php index d9bba8c89..2b500511f 100644 --- a/app/Http/Requests/AcceptInvitationRequest.php +++ b/app/Http/Requests/AcceptInvitationRequest.php @@ -22,6 +22,13 @@ public function rules(): array return []; } + public function attributes(): array + { + return [ + 'email' => __('email address'), + ]; + } + public function withValidator(Validator $validator) { $validator diff --git a/app/Http/Requests/AddNotificationableRequest.php b/app/Http/Requests/AddNotificationableRequest.php index 519b8d85a..c569a2a17 100644 --- a/app/Http/Requests/AddNotificationableRequest.php +++ b/app/Http/Requests/AddNotificationableRequest.php @@ -24,4 +24,12 @@ public function rules(): array 'notificationable_id' => 'required|integer|exists:'.$this->input('notificationable_type').',id', ]; } + + public function attributes(): array + { + return [ + 'notificationable_type' => __('notificationable type'), + 'notificationable_id' => __('notificationable id'), + ]; + } } diff --git a/app/Http/Requests/AddTranslationRequest.php b/app/Http/Requests/AddTranslationRequest.php index fcac8ee4f..cb72562bf 100644 --- a/app/Http/Requests/AddTranslationRequest.php +++ b/app/Http/Requests/AddTranslationRequest.php @@ -37,6 +37,15 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'translatable_type' => __('translatable type'), + 'translatable_id' => __('translatable id'), + 'new_language' => __('new language'), + ]; + } + /** * Get the error messages for the defined validation rules. */ diff --git a/app/Http/Requests/BlockRequest.php b/app/Http/Requests/BlockRequest.php index 7a3423083..8cac9178e 100644 --- a/app/Http/Requests/BlockRequest.php +++ b/app/Http/Requests/BlockRequest.php @@ -20,4 +20,12 @@ public function rules(): array 'blockable_id' => 'required|integer|exists:'.$this->input('blockable_type').',id', ]; } + + public function attributes(): array + { + return [ + 'blockable_type' => __('blockable type'), + 'blockable_id' => __('blockable id'), + ]; + } } diff --git a/app/Http/Requests/DestroyIndividualRequest.php b/app/Http/Requests/DestroyIndividualRequest.php index 579dd71e4..e5c5a1e2d 100644 --- a/app/Http/Requests/DestroyIndividualRequest.php +++ b/app/Http/Requests/DestroyIndividualRequest.php @@ -29,6 +29,13 @@ public function rules() ]; } + public function attributes(): array + { + return [ + 'current_password' => __('current password'), + ]; + } + /** * Configure the validator instance. * diff --git a/app/Http/Requests/DestroyOrganizationRequest.php b/app/Http/Requests/DestroyOrganizationRequest.php index ff81fb184..ee8c9ddae 100644 --- a/app/Http/Requests/DestroyOrganizationRequest.php +++ b/app/Http/Requests/DestroyOrganizationRequest.php @@ -29,6 +29,13 @@ public function rules() ]; } + public function attributes(): array + { + return [ + 'current_password' => __('current password'), + ]; + } + /** * Configure the validator instance. * diff --git a/app/Http/Requests/DestroyProjectRequest.php b/app/Http/Requests/DestroyProjectRequest.php index cc6b341bd..acc67effe 100644 --- a/app/Http/Requests/DestroyProjectRequest.php +++ b/app/Http/Requests/DestroyProjectRequest.php @@ -29,6 +29,13 @@ public function rules() ]; } + public function attributes(): array + { + return [ + 'current_password' => __('current password'), + ]; + } + /** * Configure the validator instance. * diff --git a/app/Http/Requests/DestroyRegulatedOrganizationRequest.php b/app/Http/Requests/DestroyRegulatedOrganizationRequest.php index dadd8fce9..4a6a25ecf 100644 --- a/app/Http/Requests/DestroyRegulatedOrganizationRequest.php +++ b/app/Http/Requests/DestroyRegulatedOrganizationRequest.php @@ -29,6 +29,13 @@ public function rules() ]; } + public function attributes(): array + { + return [ + 'current_password' => __('current password'), + ]; + } + /** * Configure the validator instance. * diff --git a/app/Http/Requests/DestroyTranslationRequest.php b/app/Http/Requests/DestroyTranslationRequest.php index 09865532f..751ec389f 100644 --- a/app/Http/Requests/DestroyTranslationRequest.php +++ b/app/Http/Requests/DestroyTranslationRequest.php @@ -37,6 +37,15 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'translatable_type' => __('translatable type'), + 'translatable_id' => __('translatable id'), + 'language' => __('language'), + ]; + } + /** * Get the error messages for the defined validation rules. */ diff --git a/app/Http/Requests/DestroyUserRequest.php b/app/Http/Requests/DestroyUserRequest.php index 4ca8674f5..2b1c07c5e 100644 --- a/app/Http/Requests/DestroyUserRequest.php +++ b/app/Http/Requests/DestroyUserRequest.php @@ -26,6 +26,14 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'current_password' => __('current password'), + 'organizations' => __('organizations'), + ]; + } + /** * Configure the validator instance. * diff --git a/app/Http/Requests/MeetingRequest.php b/app/Http/Requests/MeetingRequest.php index 519f019ec..b877dfd56 100644 --- a/app/Http/Requests/MeetingRequest.php +++ b/app/Http/Requests/MeetingRequest.php @@ -110,14 +110,27 @@ public function rules(): array public function attributes(): array { return [ + 'title.en' => __('meeting title (English)'), + 'title.fr' => __('meeting title (French)'), + 'title.*' => __('meeting title'), 'start_time' => __('meeting start time'), 'end_time' => __('meeting end time'), 'date' => __('meeting date'), + 'directions' => __('directions'), 'timezone' => __('meeting time zone'), 'locality' => __('city or town'), 'region' => __('province or territory'), 'meeting_url' => __('link to join the meeting'), 'meeting_phone' => __('phone number to join the meeting'), + 'meeting_software' => __('meeting software'), + 'alternative_meeting_software' => __('alternative meeting software'), + 'additional_video_information' => __('additional video information'), + 'additional_phone_information' => __('additional phone information'), + 'meeting_types.*' => __('ways to attend'), + 'meeting_types' => __('ways to attend'), + 'street_address' => __('Street address'), + 'postal_code' => __('Postal code'), + 'unit_suite_floor' => __('Unit, suite, or floor'), ]; } diff --git a/app/Http/Requests/RemoveNotificationableRequest.php b/app/Http/Requests/RemoveNotificationableRequest.php index b045c421d..cb154015c 100644 --- a/app/Http/Requests/RemoveNotificationableRequest.php +++ b/app/Http/Requests/RemoveNotificationableRequest.php @@ -20,6 +20,14 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'notificationable_type' => __('notificationable type'), + 'notificationable_id' => __('notificationable id'), + ]; + } + public function withValidator(Validator $validator) { $validator->sometimes('notificationable_id', 'exists:'.$this->input('notificationable_type').',id', function ($input) { diff --git a/app/Http/Requests/SaveIndividualRolesRequest.php b/app/Http/Requests/SaveIndividualRolesRequest.php index c2d140d54..aa1b4cf3b 100644 --- a/app/Http/Requests/SaveIndividualRolesRequest.php +++ b/app/Http/Requests/SaveIndividualRolesRequest.php @@ -34,6 +34,14 @@ public function prepareForValidation() request()->mergeIfMissing($fallbacks); } + public function attributes(): array + { + return [ + 'roles' => __('roles'), + 'roles.*' => __('roles'), + ]; + } + /** * Get the error messages for the defined validation rules. */ diff --git a/app/Http/Requests/SaveOrganizationRolesRequest.php b/app/Http/Requests/SaveOrganizationRolesRequest.php index 0f6372242..00866b8d4 100644 --- a/app/Http/Requests/SaveOrganizationRolesRequest.php +++ b/app/Http/Requests/SaveOrganizationRolesRequest.php @@ -21,6 +21,14 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'roles' => __('roles'), + 'roles.*' => __('roles'), + ]; + } + public function prepareForValidation() { $fallbacks = [ diff --git a/app/Http/Requests/SaveUserContextRequest.php b/app/Http/Requests/SaveUserContextRequest.php index e5a7d3a81..22a85284c 100644 --- a/app/Http/Requests/SaveUserContextRequest.php +++ b/app/Http/Requests/SaveUserContextRequest.php @@ -26,6 +26,13 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'context' => __('context'), + ]; + } + public function messages(): array { return [ diff --git a/app/Http/Requests/SaveUserDetailsRequest.php b/app/Http/Requests/SaveUserDetailsRequest.php index 2628992e9..d60f77186 100644 --- a/app/Http/Requests/SaveUserDetailsRequest.php +++ b/app/Http/Requests/SaveUserDetailsRequest.php @@ -39,6 +39,7 @@ public function attributes(): array { return [ 'name' => __('full name'), + 'email' => __('email address'), ]; } } diff --git a/app/Http/Requests/SaveUserLanguagesRequest.php b/app/Http/Requests/SaveUserLanguagesRequest.php index 36dc17c26..59ea9516e 100644 --- a/app/Http/Requests/SaveUserLanguagesRequest.php +++ b/app/Http/Requests/SaveUserLanguagesRequest.php @@ -30,6 +30,17 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'locale' => __('Website language'), + 'invitation' => __('invitation'), + 'context' => __('context'), + 'role' => __('role'), + 'email' => __('email address'), + ]; + } + public function authorize(): bool { return true; diff --git a/app/Http/Requests/StoreDefinedTermRequest.php b/app/Http/Requests/StoreDefinedTermRequest.php index fbd92afed..b9416cca2 100644 --- a/app/Http/Requests/StoreDefinedTermRequest.php +++ b/app/Http/Requests/StoreDefinedTermRequest.php @@ -28,4 +28,14 @@ public function rules() 'definition.*' => 'nullable|string', ]; } + + public function attributes(): array + { + return [ + 'term' => __('term'), + 'term.*' => __('term'), + 'definition' => __('definition'), + 'definition.*' => __('definition'), + ]; + } } diff --git a/app/Http/Requests/StoreEngagementFormatRequest.php b/app/Http/Requests/StoreEngagementFormatRequest.php index be364dd2d..06f407467 100644 --- a/app/Http/Requests/StoreEngagementFormatRequest.php +++ b/app/Http/Requests/StoreEngagementFormatRequest.php @@ -22,4 +22,11 @@ public function rules(): array ], ]; } + + public function attributes(): array + { + return [ + 'format' => __('engagement format'), + ]; + } } diff --git a/app/Http/Requests/StoreEngagementLanguagesRequest.php b/app/Http/Requests/StoreEngagementLanguagesRequest.php index f8cd5c02b..d67d3c390 100644 --- a/app/Http/Requests/StoreEngagementLanguagesRequest.php +++ b/app/Http/Requests/StoreEngagementLanguagesRequest.php @@ -21,4 +21,12 @@ public function rules(): array ], ]; } + + public function attributes(): array + { + return [ + 'languages' => __('languages'), + 'languages.*' => __('languages'), + ]; + } } diff --git a/app/Http/Requests/StoreEngagementRecruitmentRequest.php b/app/Http/Requests/StoreEngagementRecruitmentRequest.php index a72bcdc32..8c1fc0f43 100644 --- a/app/Http/Requests/StoreEngagementRecruitmentRequest.php +++ b/app/Http/Requests/StoreEngagementRecruitmentRequest.php @@ -22,4 +22,11 @@ public function rules(): array ], ]; } + + public function attributes(): array + { + return [ + 'recruitment' => __('recruitment method'), + ]; + } } diff --git a/app/Http/Requests/StoreEngagementRequest.php b/app/Http/Requests/StoreEngagementRequest.php index a3ad4f009..8a7d8edb7 100644 --- a/app/Http/Requests/StoreEngagementRequest.php +++ b/app/Http/Requests/StoreEngagementRequest.php @@ -25,6 +25,17 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'project_id' => __('project id'), + 'name.en' => __('engagement name (English)'), + 'name.fr' => __('engagement name (French)'), + 'name.*' => __('engagement name'), + 'who' => __('who'), + ]; + } + public function messages(): array { return [ diff --git a/app/Http/Requests/StoreInvitationRequest.php b/app/Http/Requests/StoreInvitationRequest.php index 564c30fe0..340029f81 100644 --- a/app/Http/Requests/StoreInvitationRequest.php +++ b/app/Http/Requests/StoreInvitationRequest.php @@ -35,6 +35,14 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'email' => __('email address'), + 'role' => __('role'), + ]; + } + public function messages(): array { return [ diff --git a/app/Http/Requests/StoreOrganizationLanguagesRequest.php b/app/Http/Requests/StoreOrganizationLanguagesRequest.php index 296aba442..91a2f6ff5 100644 --- a/app/Http/Requests/StoreOrganizationLanguagesRequest.php +++ b/app/Http/Requests/StoreOrganizationLanguagesRequest.php @@ -25,4 +25,11 @@ public function rules(): array 'languages' => 'required|array|min:1', ]; } + + public function attributes(): array + { + return [ + 'languages' => __('languages'), + ]; + } } diff --git a/app/Http/Requests/StoreOrganizationRequest.php b/app/Http/Requests/StoreOrganizationRequest.php index 2df6221be..2a200d061 100644 --- a/app/Http/Requests/StoreOrganizationRequest.php +++ b/app/Http/Requests/StoreOrganizationRequest.php @@ -22,6 +22,15 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'type' => __('organization type'), + 'name.en' => __('organization name (English)'), + 'name.fr' => __('organization name (French)'), + ]; + } + public function messages(): array { return [ diff --git a/app/Http/Requests/StoreOrganizationTypeRequest.php b/app/Http/Requests/StoreOrganizationTypeRequest.php index 8eb37ec49..a47463cef 100644 --- a/app/Http/Requests/StoreOrganizationTypeRequest.php +++ b/app/Http/Requests/StoreOrganizationTypeRequest.php @@ -28,6 +28,13 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'type' => __('organization type'), + ]; + } + /** * Get the error messages for the defined validation rules. */ diff --git a/app/Http/Requests/StoreProjectContextRequest.php b/app/Http/Requests/StoreProjectContextRequest.php index ced168dab..a1ef347ef 100644 --- a/app/Http/Requests/StoreProjectContextRequest.php +++ b/app/Http/Requests/StoreProjectContextRequest.php @@ -19,6 +19,14 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'context' => __('project context'), + 'ancestor' => __('previous project'), + ]; + } + public function messages(): array { return [ diff --git a/app/Http/Requests/StoreProjectLanguagesRequest.php b/app/Http/Requests/StoreProjectLanguagesRequest.php index ace271ea2..2be0e7ee6 100644 --- a/app/Http/Requests/StoreProjectLanguagesRequest.php +++ b/app/Http/Requests/StoreProjectLanguagesRequest.php @@ -17,4 +17,11 @@ public function rules(): array 'languages' => 'required|array|min:1', ]; } + + public function attributes(): array + { + return [ + 'languages' => __('project languages'), + ]; + } } diff --git a/app/Http/Requests/StoreProjectRequest.php b/app/Http/Requests/StoreProjectRequest.php index 3f973b536..2a877e5bb 100644 --- a/app/Http/Requests/StoreProjectRequest.php +++ b/app/Http/Requests/StoreProjectRequest.php @@ -44,6 +44,18 @@ public function rules() ]; } + public function attributes(): array + { + return [ + 'projectable_type' => __('projectable type'), + 'projectable_id' => __('projectable id'), + 'ancestor_id' => __('previous project id'), + 'name.en' => __('project name (English)'), + 'name.fr' => __('project name (French)'), + 'name.*' => __('project name'), + ]; + } + /** * Get the error messages for the defined validation rules. * diff --git a/app/Http/Requests/StoreQuizResultRequest.php b/app/Http/Requests/StoreQuizResultRequest.php index d9979ae47..65fd3fca2 100644 --- a/app/Http/Requests/StoreQuizResultRequest.php +++ b/app/Http/Requests/StoreQuizResultRequest.php @@ -31,6 +31,13 @@ public function rules() return $rules; } + public function attributes(): array + { + return [ + 'questions.*' => __('questions'), + ]; + } + public function messages() { return [ diff --git a/app/Http/Requests/StoreRegulatedOrganizationLanguagesRequest.php b/app/Http/Requests/StoreRegulatedOrganizationLanguagesRequest.php index 65f690199..d06f16fe6 100644 --- a/app/Http/Requests/StoreRegulatedOrganizationLanguagesRequest.php +++ b/app/Http/Requests/StoreRegulatedOrganizationLanguagesRequest.php @@ -25,4 +25,11 @@ public function rules(): array 'languages' => 'required|array|min:1', ]; } + + public function attributes(): array + { + return [ + 'languages' => __('languages'), + ]; + } } diff --git a/app/Http/Requests/StoreRegulatedOrganizationRequest.php b/app/Http/Requests/StoreRegulatedOrganizationRequest.php index b44bad3e2..966faa61f 100644 --- a/app/Http/Requests/StoreRegulatedOrganizationRequest.php +++ b/app/Http/Requests/StoreRegulatedOrganizationRequest.php @@ -20,6 +20,16 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'type' => __('organization type'), + 'name.en' => __('organization name (English)'), + 'name.fr' => __('organization name (French)'), + 'name.*' => __('organization name'), + ]; + } + public function messages(): array { return [ diff --git a/app/Http/Requests/StoreRegulatedOrganizationTypeRequest.php b/app/Http/Requests/StoreRegulatedOrganizationTypeRequest.php index b5a3dee0f..e9160abb7 100644 --- a/app/Http/Requests/StoreRegulatedOrganizationTypeRequest.php +++ b/app/Http/Requests/StoreRegulatedOrganizationTypeRequest.php @@ -26,6 +26,13 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'type' => __('organization type'), + ]; + } + /** * Get the error messages for the defined validation rules. */ diff --git a/app/Http/Requests/UnblockRequest.php b/app/Http/Requests/UnblockRequest.php index a7c212317..aaf23ec9b 100644 --- a/app/Http/Requests/UnblockRequest.php +++ b/app/Http/Requests/UnblockRequest.php @@ -18,4 +18,12 @@ public function rules(): array 'blockable_id' => 'required|integer|exists:'.$this->input('blockable_type').',id', ]; } + + public function attributes(): array + { + return [ + 'blockable_type' => __('blockable type'), + 'blockable_id' => __('blockable id'), + ]; + } } diff --git a/app/Http/Requests/UpdateAccessNeedsRequest.php b/app/Http/Requests/UpdateAccessNeedsRequest.php index a239cc553..07a771bf2 100644 --- a/app/Http/Requests/UpdateAccessNeedsRequest.php +++ b/app/Http/Requests/UpdateAccessNeedsRequest.php @@ -160,6 +160,33 @@ public function withValidator(Validator $validator) } } + public function attributes(): array + { + return [ + 'general_access_needs' => __('General access needs'), + 'general_access_needs.*' => __('General access needs'), + 'other' => __('other'), + 'other_access_need' => __('other access need'), + 'meeting_access_needs' => __('meeting access needs'), + 'meeting_access_needs.*' => __('meeting access needs'), + 'signed_language_for_interpretation' => __('Signed language for interpretation'), + 'spoken_language_for_interpretation' => __('Spoken language interpretation'), + 'in_person_access_needs' => __('in person access needs'), + 'in_person_access_needs.*' => __('in person access needs'), + 'document_access_needs' => __('document access needs'), + 'document_access_needs.*' => __('document access needs'), + 'signed_language_for_translation' => __('signed language for translation'), + 'written_language_for_translation' => __('written language for translation'), + 'street_address' => __('Street address'), + 'unit_apartment_suite' => __('Unit, apartment, or suite'), + 'locality' => __('city or town'), + 'region' => __('province or territory'), + 'postal_code' => __('Postal code'), + 'additional_needs_or_concerns' => __('Additional needs or concerns'), + 'return_to_engagement' => __('return to engagement'), + ]; + } + public function messages(): array { return [ diff --git a/app/Http/Requests/UpdateAreasOfInterestRequest.php b/app/Http/Requests/UpdateAreasOfInterestRequest.php index 4fd5fee0d..76566d334 100644 --- a/app/Http/Requests/UpdateAreasOfInterestRequest.php +++ b/app/Http/Requests/UpdateAreasOfInterestRequest.php @@ -21,6 +21,16 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'sectors' => __('Regulated Organization type'), + 'sectors.*' => __('Regulated Organization type'), + 'impacts' => __('area of accessibility planning and design'), + 'impacts.*' => __('area of accessibility planning and design'), + ]; + } + public function prepareForValidation() { $fallbacks = [ diff --git a/app/Http/Requests/UpdateCommunicationAndConsultationPreferencesRequest.php b/app/Http/Requests/UpdateCommunicationAndConsultationPreferencesRequest.php index 7c27f5bf0..44e37ed24 100644 --- a/app/Http/Requests/UpdateCommunicationAndConsultationPreferencesRequest.php +++ b/app/Http/Requests/UpdateCommunicationAndConsultationPreferencesRequest.php @@ -53,6 +53,25 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'preferred_contact_person' => __('Preferred contact person'), + 'email' => __('email address'), + 'phone' => __('phone number'), + 'vrs' => __('I require Video Relay Service (VRS) for phone calls'), + 'support_person_name' => __('support person’s name'), + 'support_person_email' => __('support person’s email'), + 'support_person_phone' => __('support person’s phone number'), + 'support_person_vrs' => __('support person requires Video Relay Service (VRS) for phone calls'), + 'preferred_contact_method' => __('Preferred contact method'), + 'consulting_methods' => __('consulting methods'), + 'consulting_methods.*' => __('consulting methods'), + 'meeting_types' => __('Ways to attend'), + 'meeting_types.*' => __('Ways to attend'), + ]; + } + public function withValidator(Validator $validator) { $this->conditionallyRequireContactMethods($validator); diff --git a/app/Http/Requests/UpdateDefinedTermRequest.php b/app/Http/Requests/UpdateDefinedTermRequest.php index 53a598c36..ffc19d9d9 100644 --- a/app/Http/Requests/UpdateDefinedTermRequest.php +++ b/app/Http/Requests/UpdateDefinedTermRequest.php @@ -28,4 +28,14 @@ public function rules() 'definition.*' => 'nullable|string', ]; } + + public function attributes(): array + { + return [ + 'term' => __('term'), + 'term.*' => __('term'), + 'definition' => __('definition'), + 'definition.*' => __('definition'), + ]; + } } diff --git a/app/Http/Requests/UpdateEngagementLanguagesRequest.php b/app/Http/Requests/UpdateEngagementLanguagesRequest.php index d0fc63d89..3d46f5198 100644 --- a/app/Http/Requests/UpdateEngagementLanguagesRequest.php +++ b/app/Http/Requests/UpdateEngagementLanguagesRequest.php @@ -21,4 +21,12 @@ public function rules(): array ], ]; } + + public function attributes(): array + { + return [ + 'languages' => __('languages'), + 'languages.*' => __('languages'), + ]; + } } diff --git a/app/Http/Requests/UpdateEngagementRequest.php b/app/Http/Requests/UpdateEngagementRequest.php index 1cd5eb067..e8dc255bc 100644 --- a/app/Http/Requests/UpdateEngagementRequest.php +++ b/app/Http/Requests/UpdateEngagementRequest.php @@ -276,6 +276,8 @@ public function attributes(): array 'window_end_date' => __('end date'), 'window_start_time' => __('start time'), 'window_end_time' => __('end time'), + 'window_flexibility' => __('window flexibility'), + 'weekday_availabilities' => __('availability'), 'weekday_availabilities.monday' => __('availability for Monday'), 'weekday_availabilities.tuesday' => __('availability for Tuesday'), 'weekday_availabilities.wednesday' => __('availability for Wednesday'), @@ -287,10 +289,36 @@ public function attributes(): array 'region' => __('province or territory'), 'meeting_url' => __('link to join the meeting'), 'meeting_phone' => __('phone number to join the meeting'), + 'meeting_software' => __('meeting software'), + 'meeting_types' => __('Ways to attend'), + 'meeting_types.*' => __('Ways to attend'), 'materials_by_date' => __('date for materials to be sent by'), 'complete_by_date' => __('due date'), + 'postal_code' => __('Postal code'), 'signup_by_date' => __('sign up deadline'), - 'other_accepted_formats' => __('accepted formats'), + 'street_address' => __('Street address'), + 'accepted_formats' => __('accepted formats'), + 'accepted_formats.*' => __('accepted formats'), + 'other_accepted_formats' => __('other accepted formats'), + 'other_accepted_format' => __('other accepted format'), + 'other_accepted_format.en' => __('other accepted format (English)'), + 'other_accepted_format.fr' => __('other accepted format (French)'), + 'timezone' => __('timezone'), + 'unit_suite_floor' => __('Unit, suite, or floor'), + 'directions' => __('directions'), + 'alternative_meeting_software' => __('alternative meeting software'), + 'additional_video_information' => __('additional video information'), + 'additional_phone_information' => __('additional phone information'), + 'document_languages' => __('document languages'), + 'document_languages.*' => __('document languages'), + 'open_to_other_formats' => __('open to other formats'), + 'paid' => __('paid'), + 'name.en' => __('engagement name (English)'), + 'name.fr' => __('engagement name (French)'), + 'name.*' => __('engagement name'), + 'description.en' => __('engagement description (English)'), + 'description.fr' => __('engagement description (French)'), + 'description.*' => __('engagement description'), ]; } diff --git a/app/Http/Requests/UpdateEngagementSelectionCriteriaRequest.php b/app/Http/Requests/UpdateEngagementSelectionCriteriaRequest.php index 2f12bfc8a..386a102b0 100644 --- a/app/Http/Requests/UpdateEngagementSelectionCriteriaRequest.php +++ b/app/Http/Requests/UpdateEngagementSelectionCriteriaRequest.php @@ -76,6 +76,15 @@ public function rules(): array public function attributes(): array { return [ + 'location_type' => __('location type'), + 'regions' => __('province or territory'), + 'regions.*' => __('province or territory'), + 'locations' => __('Location'), + 'locations.*.region' => __('location province or territory'), + 'locations.*.locality' => __('location city or town'), + 'cross_disability_and_deaf' => __('Cross disability (includes people with disabilities, Deaf people, and supporters)'), + 'intersectional' => __('intersectional'), + 'other_identity_type' => __('other identity type'), 'age_brackets' => __('age group'), 'age_brackets.*' => __('age group'), 'area_types' => __('area type'), diff --git a/app/Http/Requests/UpdateIndividualCommunicationAndConsultationPreferencesRequest.php b/app/Http/Requests/UpdateIndividualCommunicationAndConsultationPreferencesRequest.php index b5874d88e..dd1e869d7 100644 --- a/app/Http/Requests/UpdateIndividualCommunicationAndConsultationPreferencesRequest.php +++ b/app/Http/Requests/UpdateIndividualCommunicationAndConsultationPreferencesRequest.php @@ -45,6 +45,23 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'preferred_contact_person' => __('Preferred contact person'), + 'email' => __('email address'), + 'phone' => __('phone number'), + 'vrs' => __('I require Video Relay Service (VRS) for phone calls'), + 'support_person_name' => __('support person’s name'), + 'support_person_email' => __('support person’s email'), + 'support_person_phone' => __('support person’s phone number'), + 'support_person_vrs' => __('support person requires Video Relay Service (VRS) for phone calls'), + 'preferred_contact_method' => __('Preferred contact method'), + 'meeting_types' => __('Ways to attend'), + 'meeting_types.*' => __('Ways to attend'), + ]; + } + public function prepareForValidation() { $fallbacks = [ diff --git a/app/Http/Requests/UpdateIndividualConstituenciesRequest.php b/app/Http/Requests/UpdateIndividualConstituenciesRequest.php index 6d3f0d7a8..9ab089c1e 100644 --- a/app/Http/Requests/UpdateIndividualConstituenciesRequest.php +++ b/app/Http/Requests/UpdateIndividualConstituenciesRequest.php @@ -95,6 +95,43 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'disability_and_deaf' => __('Disability and/or Deaf identity'), + 'lived_experience_connections' => __('lived experience connections'), + 'lived_experience_connections.*' => __('lived experience connections'), + 'base_disability_type' => __('disability type'), + 'disability_and_deaf_connections' => __('disability and deaf connections'), + 'disability_and_deaf_connections.*' => __('disability and deaf connections'), + 'has_other_disability_connection' => __('has other disability connection'), + 'other_disability_connection' => __('other disability connection'), + 'other_disability_connection.*' => __('other disability connection'), + 'area_type_connections' => __('area type connections'), + 'area_type_connections.*' => __('area type connections'), + 'has_indigenous_connections' => __('has indigenous connections'), + 'indigenous_connections' => __('indigenous connections'), + 'indigenous_connections.*' => __('indigenous connections'), + 'refugees_and_immigrants' => __('Refugees and/or immigrants'), + 'has_gender_and_sexuality_connections' => __('has gender and sexuality connections'), + 'gender_and_sexuality_connections' => __('gender and sexuality connections'), + 'gender_and_sexuality_connections.*' => __('gender and sexuality connections'), + 'nb_gnc_fluid_identity' => __('Non-binary/Gender non-conforming/Gender fluid identity'), + 'has_age_bracket_connections' => __('has age bracket connections'), + 'age_bracket_connections' => __('age bracket connections'), + 'age_bracket_connections.*' => __('age bracket connections'), + 'has_ethnoracial_identity_connections' => __('has ethnoracial identity connections'), + 'ethnoracial_identity_connections' => __('ethnoracial identity connections'), + 'ethnoracial_identity_connections.*' => __('ethnoracial identity connections'), + 'has_other_ethnoracial_identity_connection' => __('has other ethnoracial identity connection'), + 'other_ethnoracial_identity_connection' => __('other ethnoracial identity connection'), + 'other_ethnoracial_identity_connection.*' => __('other ethnoracial identity connection'), + 'language_connections' => __('language connections'), + 'language_connections.*' => __('language connections'), + 'connection_lived_experience' => __('connection lived experience'), + ]; + } + public function prepareForValidation() { $fallbacks = [ diff --git a/app/Http/Requests/UpdateIndividualExperiencesRequest.php b/app/Http/Requests/UpdateIndividualExperiencesRequest.php index 4e8c373ab..ad27b9d5a 100644 --- a/app/Http/Requests/UpdateIndividualExperiencesRequest.php +++ b/app/Http/Requests/UpdateIndividualExperiencesRequest.php @@ -33,6 +33,8 @@ public function rules(): array public function attributes(): array { return [ + 'lived_experience' => __('Lived experience'), + 'skills_and_strengths' => __('Skills and strengths'), 'relevant_experiences.*.title' => __('Title of Role'), 'relevant_experiences.*.organization' => __('Name of Organization'), 'relevant_experiences.*.start_year' => __('Start Year'), diff --git a/app/Http/Requests/UpdateIndividualInterestsRequest.php b/app/Http/Requests/UpdateIndividualInterestsRequest.php index 201439527..a61b9f02d 100644 --- a/app/Http/Requests/UpdateIndividualInterestsRequest.php +++ b/app/Http/Requests/UpdateIndividualInterestsRequest.php @@ -40,6 +40,16 @@ public function rules() ]; } + public function attributes(): array + { + return [ + 'sectors' => __('Regulated Organization type'), + 'sectors.*' => __('Regulated Organization type'), + 'impacts' => __('area of accessibility planning and design'), + 'impacts.*' => __('area of accessibility planning and design'), + ]; + } + /** * Get the error messages for the defined validation rules. * diff --git a/app/Http/Requests/UpdateIndividualRequest.php b/app/Http/Requests/UpdateIndividualRequest.php index 4d52db458..2cf7237fe 100644 --- a/app/Http/Requests/UpdateIndividualRequest.php +++ b/app/Http/Requests/UpdateIndividualRequest.php @@ -67,7 +67,19 @@ public function prepareForValidation() public function attributes(): array { return [ + 'name' => __('full name'), + 'locality' => __('city or town'), 'region' => __('province or territory'), + 'pronouns' => __('pronouns'), + 'bio' => __('bio'), + 'bio.en' => __('bio (English)'), + 'bio.fr' => __('bio (French)'), + 'bio.*' => __('bio'), + 'working_languages' => __('Working languages'), + 'consulting_services' => __('Consulting services'), + 'consulting_services.*' => __('Consulting services'), + 'social_links.*' => __('Social media links'), + 'website_link' => __('Website link'), ]; } diff --git a/app/Http/Requests/UpdateLanguagePreferencesRequest.php b/app/Http/Requests/UpdateLanguagePreferencesRequest.php index 6976f57fd..9c0fb7d2e 100644 --- a/app/Http/Requests/UpdateLanguagePreferencesRequest.php +++ b/app/Http/Requests/UpdateLanguagePreferencesRequest.php @@ -36,6 +36,16 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'locale' => __('Website language'), + 'first_language' => __('first language'), + 'working_languages' => __('Working languages'), + 'working_languages.*' => __('Working languages'), + ]; + } + public function messages(): array { return [ diff --git a/app/Http/Requests/UpdateMembershipRequest.php b/app/Http/Requests/UpdateMembershipRequest.php index b9e3ebd3c..e223c42bb 100644 --- a/app/Http/Requests/UpdateMembershipRequest.php +++ b/app/Http/Requests/UpdateMembershipRequest.php @@ -34,6 +34,13 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'role' => __('role'), + ]; + } + /** * Configure the validator instance. * diff --git a/app/Http/Requests/UpdateNotificationPreferencesRequest.php b/app/Http/Requests/UpdateNotificationPreferencesRequest.php index 4350d5249..bcfa0d2a3 100644 --- a/app/Http/Requests/UpdateNotificationPreferencesRequest.php +++ b/app/Http/Requests/UpdateNotificationPreferencesRequest.php @@ -84,6 +84,29 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'preferred_notification_method' => __('Preferred notification method'), + 'notification_settings.consultants.channels' => __('Accessibility Consultant notification setting'), + 'notification_settings.consultants.channels.*' => __('Accessibility Consultant notification setting'), + 'notification_settings.connectors.channels' => __('Community Connector notification setting'), + 'notification_settings.connectors.channels.*' => __('Community Connector notification setting'), + 'notification_settings.reports.channels' => __('report notification setting'), + 'notification_settings.reports.channels.*' => __('report notification setting'), + 'notification_settings.projects.channels' => __('projects notification setting'), + 'notification_settings.projects.channels.*' => __('projects notification setting'), + 'notification_settings.projects.creators' => __('project created by organization type notification setting'), + 'notification_settings.projects.creators.*' => __('project created by organization type notification setting'), + 'notification_settings.projects.types' => __('project type notification setting'), + 'notification_settings.projects.types.*' => __('project type notification setting'), + 'notification_settings.projects.engagements' => __('project engagement type notification setting'), + 'notification_settings.projects.engagements.*' => __('project engagement type notification setting'), + 'notification_settings.updates.channels' => __('review and updates notification settings'), + 'notification_settings.updates.channels.*' => __('review and updates notification settings'), + ]; + } + public function prepareForValidation() { $fallbacks = [ diff --git a/app/Http/Requests/UpdateOrganizationConstituenciesRequest.php b/app/Http/Requests/UpdateOrganizationConstituenciesRequest.php index 81ff5f735..9a161b07b 100644 --- a/app/Http/Requests/UpdateOrganizationConstituenciesRequest.php +++ b/app/Http/Requests/UpdateOrganizationConstituenciesRequest.php @@ -92,6 +92,43 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'disability_and_deaf' => __('Disability and/or Deaf identity'), + 'lived_experience_constituencies' => __('lived experience constituencies'), + 'lived_experience_constituencies.*' => __('lived experience constituencies'), + 'base_disability_type' => __('disability type'), + 'disability_and_deaf_constituencies' => __('disability and deaf constituencies'), + 'disability_and_deaf_constituencies.*' => __('disability and deaf constituencies'), + 'has_other_disability_constituency' => __('has other disability constituency'), + 'other_disability_constituency' => __('other disability constituency'), + 'other_disability_constituency.*' => __('other disability constituency'), + 'area_type_constituencies' => __('area type constituencies'), + 'area_type_constituencies.*' => __('area type constituencies'), + 'has_indigenous_constituencies' => __('has indigenous constituencies'), + 'indigenous_constituencies' => __('indigenous constituencies'), + 'indigenous_constituencies.*' => __('indigenous constituencies'), + 'refugees_and_immigrants' => __('Refugees and/or immigrants'), + 'has_gender_and_sexuality_constituencies' => __('has gender and sexuality constituencies'), + 'gender_and_sexuality_constituencies' => __('gender and sexuality constituencies'), + 'gender_and_sexuality_constituencies.*' => __('gender and sexuality constituencies'), + 'nb_gnc_fluid_identity' => __('Non-binary/Gender non-conforming/Gender fluid identity'), + 'has_age_bracket_constituencies' => __('has age bracket constituencies'), + 'age_bracket_constituencies' => __('age bracket constituencies'), + 'age_bracket_constituencies.*' => __('age bracket constituencies'), + 'has_ethnoracial_identity_constituencies' => __('has ethnoracial identity constituencies'), + 'ethnoracial_identity_constituencies' => __('ethnoracial identity constituencies'), + 'ethnoracial_identity_constituencies.*' => __('ethnoracial identity constituencies'), + 'has_other_ethnoracial_identity_constituency' => __('has other ethnoracial identity constituency'), + 'other_ethnoracial_identity_constituency' => __('other ethnoracial identity constituency'), + 'other_ethnoracial_identity_constituency.*' => __('other ethnoracial identity constituency'), + 'language_constituencies' => __('language constituencies'), + 'language_constituencies.*' => __('language constituencies'), + 'staff_lived_experience' => __('Staff lived experience'), + ]; + } + public function prepareForValidation() { $fallbacks = [ diff --git a/app/Http/Requests/UpdateOrganizationContactInformationRequest.php b/app/Http/Requests/UpdateOrganizationContactInformationRequest.php index 081085e14..839d71c25 100644 --- a/app/Http/Requests/UpdateOrganizationContactInformationRequest.php +++ b/app/Http/Requests/UpdateOrganizationContactInformationRequest.php @@ -22,6 +22,17 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'contact_person_name' => __('Contact person'), + 'contact_person_email' => __('email address'), + 'contact_person_phone' => __('phone number'), + 'contact_person_vrs' => __('Contact person requires Video Relay Service (VRS) for phone calls'), + 'preferred_contact_method' => __('preferred contact method'), + ]; + } + public function withValidator($validator) { $validator->after(function ($validator) { @@ -46,12 +57,4 @@ public function prepareForValidation() // Prepare old input in case of validation failure request()->mergeIfMissing($fallbacks); } - - public function attributes(): array - { - return [ - 'contact_person_email' => 'email address', - 'contact_person_phone' => 'phone number', - ]; - } } diff --git a/app/Http/Requests/UpdateOrganizationInterestsRequest.php b/app/Http/Requests/UpdateOrganizationInterestsRequest.php index 52ce48aaa..a889cf1b0 100644 --- a/app/Http/Requests/UpdateOrganizationInterestsRequest.php +++ b/app/Http/Requests/UpdateOrganizationInterestsRequest.php @@ -20,4 +20,14 @@ public function rules(): array 'sectors.*' => 'exists:sectors,id', ]; } + + public function attributes(): array + { + return [ + 'sectors' => __('Regulated Organization type'), + 'sectors.*' => __('Regulated Organization type'), + 'impacts' => __('area of accessibility planning and design'), + 'impacts.*' => __('area of accessibility planning and design'), + ]; + } } diff --git a/app/Http/Requests/UpdateOrganizationRequest.php b/app/Http/Requests/UpdateOrganizationRequest.php index e0c00cb21..e8a01ccb5 100644 --- a/app/Http/Requests/UpdateOrganizationRequest.php +++ b/app/Http/Requests/UpdateOrganizationRequest.php @@ -80,8 +80,20 @@ public function attributes(): array return [ 'about.fr' => __('"About your organization" (French)'), 'about.en' => __('"About your organization" (English)'), + 'about.*' => __('"About your organization"'), + 'name.fr' => __('organization name (French)'), + 'name.en' => __('organization name (English)'), + 'name.*' => __('organization name'), 'locality' => __('city or town'), 'region' => __('province or territory'), + 'service_areas' => __('Service areas'), + 'service_areas.*' => __('Service areas'), + 'working_languages' => __('Working languages'), + 'consulting_services' => __('Consulting services'), + 'consulting_services.*' => __('Consulting services'), + 'social_links' => __('Social media links'), + 'social_links.*' => __('Social media links'), + 'website_link' => __('Website link'), ]; } diff --git a/app/Http/Requests/UpdatePaymentInformationRequest.php b/app/Http/Requests/UpdatePaymentInformationRequest.php index 971c3b47c..def368d1f 100644 --- a/app/Http/Requests/UpdatePaymentInformationRequest.php +++ b/app/Http/Requests/UpdatePaymentInformationRequest.php @@ -21,6 +21,16 @@ public function rules(): array ]; } + public function attributes(): array + { + return [ + 'payment_types' => __('Payment type'), + 'payment_types.*' => __('Payment type'), + 'other' => __('Other'), + 'other_payment_type' => __('other payment type'), + ]; + } + public function prepareForValidation() { $fallbacks = [ diff --git a/app/Http/Requests/UpdateProjectRequest.php b/app/Http/Requests/UpdateProjectRequest.php index 43fb090ec..23b4742a8 100644 --- a/app/Http/Requests/UpdateProjectRequest.php +++ b/app/Http/Requests/UpdateProjectRequest.php @@ -59,8 +59,31 @@ public function rules(): array public function attributes(): array { return [ + 'name.en' => __('Project name (English)'), + 'name.fr' => __('Project name (French)'), + 'name.*' => __('Project name'), + 'goals.en' => __('Project goals (English)'), + 'goals.fr' => __('Project goals (French)'), + 'goals.*' => __('Project goals'), + 'scope.en' => __('Project scope (English)'), + 'scope.fr' => __('Project scope (French)'), + 'scope' => __('Project scope'), 'regions' => __('geographic areas'), + 'regions.*' => __('geographic areas'), 'impacts' => __('areas of impact'), + 'impacts.*' => __('areas of impact'), + 'out_of_scope' => __('out of scope'), + 'out_of_scope.*' => __('out of scope'), + 'start_date' => __('start date'), + 'end_date' => __('end date'), + 'outcome_analysis' => __('Outcomes and reports'), + 'outcome_analysis.*' => __('Outcomes and reports'), + 'outcome_analysis_other' => __('Outcomes and reports other'), + 'outcome_analysis_other.*' => __('Outcomes and reports other'), + 'outcomes.en' => __('Project outcome (English)'), + 'outcomes.fr' => __('Project outcome (French)'), + 'outcomes.*' => __('Project outcome'), + 'public_outcomes' => __('public outcomes'), ]; } diff --git a/app/Http/Requests/UpdateProjectTeamRequest.php b/app/Http/Requests/UpdateProjectTeamRequest.php index 2ddcef9b3..dadc0dd58 100644 --- a/app/Http/Requests/UpdateProjectTeamRequest.php +++ b/app/Http/Requests/UpdateProjectTeamRequest.php @@ -36,10 +36,22 @@ public function rules(): array public function attributes(): array { return [ + 'team_size' => __('team size'), + 'team_size.*' => __('team size'), + 'team_has_disability_or_deaf_lived_experience' => __('Our team has people with lived and living experiences of disability or being Deaf.'), + 'team_trainings' => __('training'), 'team_trainings.*.name' => __('training name'), 'team_trainings.*.date' => __('training date'), 'team_trainings.*.trainer_name' => __('training organization or trainer name'), 'team_trainings.*.trainer_url' => __('training organization or trainer website address'), + 'contact_person_name' => __('Contact person'), + 'contact_person_email' => __('Contact person’s email'), + 'contact_person_phone' => __('Contact person’s phone number'), + 'contact_person_vrs' => __('Contact person requires Video Relay Service (VRS) for phone calls'), + 'preferred_contact_method' => __('preferred contact method'), + 'contact_person_response_time' => __('Approximate response time'), + 'contact_person_response_time.en' => __('Approximate response time (English)'), + 'contact_person_response_time.fr' => __('Approximate response time (French)'), ]; } diff --git a/app/Http/Requests/UpdateRegulatedOrganizationRequest.php b/app/Http/Requests/UpdateRegulatedOrganizationRequest.php index d897551d4..0cf70fdb8 100644 --- a/app/Http/Requests/UpdateRegulatedOrganizationRequest.php +++ b/app/Http/Requests/UpdateRegulatedOrganizationRequest.php @@ -117,15 +117,26 @@ public function withValidator($validator) public function attributes(): array { return [ + 'name.en' => __('organization name (English)'), + 'name.fr' => __('organization name (French)'), + 'name.*' => __('organization name'), 'locality' => __('city or town'), 'region' => __('province or territory'), - 'contact_person_email' => __('email address'), - 'contact_person_phone' => __('phone number'), + 'service_areas' => __('Service areas'), + 'service_areas.*' => __('Service areas'), + 'sectors' => __('type of Regulated Organization'), 'about.fr' => __('"About your organization" (French)'), 'about.en' => __('"About your organization" (English)'), + 'about.*' => __('"About your organization" (English)'), 'accessibility_and_inclusion_links.*.title' => __('accessibility and inclusion link title'), 'accessibility_and_inclusion_links.*.url' => __('accessibility and inclusion link'), - 'social_links.*.active_url' => __(''), + 'social_links.*' => __('Social media links'), + 'website_link' => __('Website link'), + 'contact_person_name' => __('Contact person'), + 'contact_person_email' => __('email address'), + 'contact_person_phone' => __('phone number'), + 'contact_person_vrs' => __('Contact person requires Video Relay Service (VRS) for phone calls'), + 'preferred_contact_method' => __('preferred contact method'), ]; } diff --git a/app/Http/Requests/UpdateUserIntroductionStatusRequest.php b/app/Http/Requests/UpdateUserIntroductionStatusRequest.php index 3f5892518..98179172d 100644 --- a/app/Http/Requests/UpdateUserIntroductionStatusRequest.php +++ b/app/Http/Requests/UpdateUserIntroductionStatusRequest.php @@ -27,4 +27,11 @@ public function rules() 'finished_introduction' => 'nullable|boolean', ]; } + + public function attributes(): array + { + return [ + 'finished_introduction' => __('finished introduction'), + ]; + } } diff --git a/app/Http/Requests/UpdateWebsiteAccessibilityPreferencesRequest.php b/app/Http/Requests/UpdateWebsiteAccessibilityPreferencesRequest.php index 22d1207be..dd1ce7f4b 100644 --- a/app/Http/Requests/UpdateWebsiteAccessibilityPreferencesRequest.php +++ b/app/Http/Requests/UpdateWebsiteAccessibilityPreferencesRequest.php @@ -20,4 +20,12 @@ public function rules(): array 'text_to_speech' => 'required|boolean', ]; } + + public function attributes(): array + { + return [ + 'theme' => __('Contrast adjustment'), + 'text_to_speech' => __('Text to speech'), + ]; + } } diff --git a/resources/lang/en.json b/resources/lang/en.json index 376a7b222..212990885 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -1,4 +1,5 @@ { + "\"About your organization\"": "\"About your organization\"", "\"About your organization\" (English)": "\"About your organization\" (English)", "\"About your organization\" (French)": "\"About your organization\" (French)", "(optional)": "(optional)", @@ -86,6 +87,7 @@ "accessibility and inclusion link title": "accessibility and inclusion link title", "Accessibility Consultant": "Accessibility Consultant", "Accessibility consultant application": "Accessibility consultant application", + "Accessibility Consultant notification setting": "Accessibility Consultant notification setting", "Accessibility Consultants": "Accessibility Consultants", "Accessibility Consultants could help you design consultations that are inclusive and accessible.": "Accessibility Consultants could help you design consultations that are inclusive and accessible.", "Accessibility Consultants — Individual": "Accessibility Consultants — Individual", @@ -127,6 +129,8 @@ "Additional information to join": "Additional information to join", "additional information to join": "additional information to join", "Additional needs or concerns": "Additional needs or concerns", + "additional phone information": "additional phone information", + "additional video information": "additional video information", "Add language": "Add language", "Add link": "Add link", "Add meeting": "Add meeting", @@ -139,6 +143,8 @@ "A follow-up to a previous project (such as a progress report)": "A follow-up to a previous project (such as a progress report)", "African": "African", "Age": "Age", + "age bracket connections": "age bracket connections", + "age bracket constituencies": "age bracket constituencies", "Age group": "Age group", "age group": "age group", "Age groups": "Age groups", @@ -155,6 +161,7 @@ "All rights reserved.": "All rights reserved.", "Already on your block list": "Already on your block list", "Already on your notification list.": "Already on your notification list.", + "alternative meeting software": "alternative meeting software", "Alternative text for images": "Alternative text for images", "Although it is not compulsory, we highly recommend that you include English and French translations of your content.": "Although it is not compulsory, we highly recommend that you include English and French translations of your content.", "A meeting title must be provided in at least English or French.": "A meeting title must be provided in at least English or French.", @@ -182,9 +189,12 @@ "Approve estimate": "Approve estimate", "Approximate response time": "Approximate response time", "approximate response time": "approximate response time", + "Approximate response time (English)": "Approximate response time (English)", + "Approximate response time (French)": "Approximate response time (French)", "A project name must be provided in at least one language.": "A project name must be provided in at least one language.", "A project with this name already exists.": "A project with this name already exists.", "Area": "Area", + "area of accessibility planning and design": "area of accessibility planning and design", "Area of impact": "Area of impact", "Areas of accessibility": "Areas of accessibility", "Areas of accessibility you are interested in": "Areas of accessibility you are interested in", @@ -193,6 +203,8 @@ "Areas of interest": "Areas of interest", "Areas of your organization this project will impact": "Areas of your organization this project will impact", "area type": "area type", + "area type connections": "area type connections", + "area type constituencies": "area type constituencies", "Are you looking for individuals in specific provinces or territories or specific cities or towns?": "Are you looking for individuals in specific provinces or territories or specific cities or towns?", "Are you sure you want to block :blockable?": "Are you sure you want to block :blockable?", "Are you sure you want to delete your account?": "Are you sure you want to delete your account?", @@ -224,6 +236,7 @@ "Author: :author": "Author: :author", "Author name": "Author name", "author organization": "author organization", + "availability": "availability", "availability for Friday": "availability for Friday", "availability for Monday": "availability for Monday", "availability for Saturday": "availability for Saturday", @@ -247,12 +260,16 @@ "Be matched based on what your lived experiences are": "Be matched based on what your lived experiences are", "Between which times during the day will the interviews take place?": "Between which times during the day will the interviews take place?", "bio": "bio", + "bio (English)": "bio (English)", + "bio (French)": "bio (French)", "Black": "Black", "Black on brown": "Black on brown", "Black on white": "Black on white", "Black on yellow": "Black on yellow", "Block": "Block", "Block :blockable": "Block :blockable", + "blockable id": "blockable id", + "blockable type": "blockable type", "Blocked individuals and organizations": "Blocked individuals and organizations", "Body differences": "Body differences", "Booking accessibility service providers": "Booking accessibility service providers", @@ -334,6 +351,7 @@ "Communities your organization :represents_or_serves_and_supports": "Communities your organization :represents_or_serves_and_supports", "Community Connector": "Community Connector", "Community connector application": "Community connector application", + "Community Connector notification setting": "Community Connector notification setting", "Community Connectors": "Community Connectors", "Community Connectors could help you connect with groups that may be hard to reach otherwise.": "Community Connectors could help you connect with groups that may be hard to reach otherwise.", "Community Connectors — Individual": "Community Connectors — Individual", @@ -366,6 +384,7 @@ "Congratulations, :name!": "Congratulations, :name!", "Connecting the disability and Deaf communities and their supporters with ": "Connecting the disability and Deaf communities and their supporters with ", "connecting to a Community Connector to help recruit Consultation Participants.": "connecting to a Community Connector to help recruit Consultation Participants.", + "connection lived experience": "connection lived experience", "Connect members of your community with governments and businesses who are looking for Consultation Participants. Help them learn how to best work with your community.": "Connect members of your community with governments and businesses who are looking for Consultation Participants. Help them learn how to best work with your community.", "Connect organizations with participants from my community": "Connect organizations with participants from my community", "Connects the disability and Deaf communities and supporters with organizations that are “regulated” or supervised and monitored by the federal government, so that together they can work on accessibility projects, as required by the Accessible Canada Act.": "Connects the disability and Deaf communities and supporters with organizations that are “regulated” or supervised and monitored by the federal government, so that together they can work on accessibility projects, as required by the Accessible Canada Act.", @@ -375,6 +394,7 @@ "Consultation Participants are required to share their province\/territory, their city\/town, and whether or not they identify as someone with a disability, Deaf or a supporter. All of the remaining questions are optional. For multiple choice questions, there is an option to select “prefer not to answer”.": "Consultation Participants are required to share their province\/territory, their city\/town, and whether or not they identify as someone with a disability, Deaf or a supporter. All of the remaining questions are optional. For multiple choice questions, there is an option to select “prefer not to answer”.", "Consultation Participants — Individual": "Consultation Participants — Individual", "Consultations": "Consultations", + "consulting methods": "consulting methods", "Consulting services": "Consulting services", "Consulting with a Community Organization": "Consulting with a Community Organization", "Contact": "Contact", @@ -387,6 +407,7 @@ "Contacting you with notifications": "Contacting you with notifications", "contact person": "contact person", "Contact person": "Contact person", + "Contact person requires Video Relay Service (VRS) for phone calls": "Contact person requires Video Relay Service (VRS) for phone calls", "Contact person’s email": "Contact person’s email", "Contact person’s phone number": "Contact person’s phone number", "Contact support": "Contact support", @@ -395,6 +416,7 @@ "Content added": "Content added", "Content added, unsaved changes": "Content added, unsaved changes", "Content types": "Content types", + "context": "context", "Continue": "Continue", "Contracted": "Contracted", "Contracts": "Contracts", @@ -434,6 +456,7 @@ "creating an open project, where anyone who matches their criteria can sign up. ": "creating an open project, where anyone who matches their criteria can sign up. ", "Cross disability (includes people with disabilities, Deaf people, and supporters)": "Cross disability (includes people with disabilities, Deaf people, and supporters)", "Current password": "Current password", + "current password": "current password", "Customize": "Customize", "Customize this website’s accessibility": "Customize this website’s accessibility", "Dark theme": "Dark theme", @@ -452,6 +475,7 @@ "Decline": "Decline", "Deepen understanding": "Deepen understanding", "Deepen understanding about the systemic barriers (laws, policies, practices, and culture) underlying the experiences that consultation participants report": "Deepen understanding about the systemic barriers (laws, policies, practices, and culture) underlying the experiences that consultation participants report", + "definition": "definition", "Delete account": "Delete account", "Delete my page": "Delete my page", "Delete regulated organization": "Delete regulated organization", @@ -467,7 +491,10 @@ "Developing an accessibility plan": "Developing an accessibility plan", "Developmental disabilities": "Developmental disabilities", "Did you know…": "Did you know…", + "directions": "directions", "Disability and\/or Deaf identity": "Disability and\/or Deaf identity", + "disability and deaf connections": "disability and deaf connections", + "disability and deaf constituencies": "disability and deaf constituencies", "Disability and Deaf groups they are looking for": "Disability and Deaf groups they are looking for", "Disability and Deaf representative organizations": "Disability and Deaf representative organizations", "Disability and Deaf support organizations": "Disability and Deaf support organizations", @@ -478,6 +505,8 @@ "disability type": "disability type", "Disconnected rooms for down-time": "Disconnected rooms for down-time", "Dismiss": "Dismiss", + "document access needs": "document access needs", + "document languages": "document languages", "Documents will be sent to participants by:": "Documents will be sent to participants by:", "Does :name have lived experience of the people they can connect to?": "Does :name have lived experience of the people they can connect to?", "Does your organization :represent_or_serve_and_support a specific age bracket or brackets?": "Does your organization :represent_or_serve_and_support a specific age bracket or brackets?", @@ -536,9 +565,14 @@ "Engagement": "Engagement", "engagement": "engagement", "engagement description": "engagement description", + "engagement description (English)": "engagement description (English)", + "engagement description (French)": "engagement description (French)", + "engagement format": "engagement format", "Engagement materials": "Engagement materials", "Engagement meetings": "Engagement meetings", "engagement name": "engagement name", + "engagement name (English)": "engagement name (English)", + "engagement name (French)": "engagement name (French)", "Engagements": "Engagements", "Engagements by organizations that I have saved on my notification list": "Engagements by organizations that I have saved on my notification list", "Engagements that are looking for people that my organization represents or supports": "Engagements that are looking for people that my organization represents or supports", @@ -558,6 +592,8 @@ "ethnoracial group": "ethnoracial group", "Ethnoracial identity": "Ethnoracial identity", "ethnoracial identity": "ethnoracial identity", + "ethnoracial identity connections": "ethnoracial identity connections", + "ethnoracial identity constituencies": "ethnoracial identity constituencies", "Experiences": "Experiences", "experience working with organizations to create inclusive consultations, identify barriers, and create accessibility plans.": "experience working with organizations to create inclusive consultations, identify barriers, and create accessibility plans.", "External team": "External team", @@ -584,6 +620,7 @@ "Finding out about new projects": "Finding out about new projects", "Find learning materials, best practices, and variety of tools to help you throughout the consultation process.": "Find learning materials, best practices, and variety of tools to help you throughout the consultation process.", "Find people with disabilities, Deaf people and community organizations (for example, disability or other relevant civil society organizations, like Indigenous groups), to consult with on your accessibility project.": "Find people with disabilities, Deaf people and community organizations (for example, disability or other relevant civil society organizations, like Indigenous groups), to consult with on your accessibility project.", + "finished introduction": "finished introduction", "First language": "First language", "first language": "first language", "First Nations": "First Nations", @@ -623,6 +660,8 @@ "further directions": "further directions", "Gender and sexual identity": "Gender and sexual identity", "Gender and sexuality": "Gender and sexuality", + "gender and sexuality connections": "gender and sexuality connections", + "gender and sexuality constituencies": "gender and sexuality constituencies", "Gender diverse": "Gender diverse", "Gender fluid people": "Gender fluid people", "Gender identity": "Gender identity", @@ -653,6 +692,18 @@ "groups you can connect to": "groups you can connect to", "Guidelines and best practices": "Guidelines and best practices", "Hard-of-hearing": "Hard-of-hearing", + "has age bracket connections": "has age bracket connections", + "has age bracket constituencies": "has age bracket constituencies", + "has ethnoracial identity connections": "has ethnoracial identity connections", + "has ethnoracial identity constituencies": "has ethnoracial identity constituencies", + "has gender and sexuality connections": "has gender and sexuality connections", + "has gender and sexuality constituencies": "has gender and sexuality constituencies", + "has indigenous connections": "has indigenous connections", + "has indigenous constituencies": "has indigenous constituencies", + "has other disability connection": "has other disability connection", + "has other disability constituency": "has other disability constituency", + "has other ethnoracial identity connection": "has other ethnoracial identity connection", + "has other ethnoracial identity constituency": "has other ethnoracial identity constituency", "Have more questions?": "Have more questions?", "Have questions?": "Have questions?", "Have trouble meeting the access needs of your participants?": "Have trouble meeting the access needs of your participants?", @@ -713,6 +764,8 @@ "Including government departments, agencies and Crown Corporations": "Including government departments, agencies and Crown Corporations", "Incomplete": "Incomplete", "Indigenous": "Indigenous", + "indigenous connections": "indigenous connections", + "indigenous constituencies": "indigenous constituencies", "Indigenous group": "Indigenous group", "Indigenous identity": "Indigenous identity", "Individual": "Individual", @@ -727,10 +780,12 @@ "Initiated by": "Initiated by", "In order to create a successful exchange, we ask Consultation Participants to provide this information so that The Accessibility Exchange can match Consultation Participants with an engagement that is looking for someone with your experiences.": "In order to create a successful exchange, we ask Consultation Participants to provide this information so that The Accessibility Exchange can match Consultation Participants with an engagement that is looking for someone with your experiences.", "In person": "In person", + "in person access needs": "in person access needs", "In progress": "In progress", "In Progress": "In Progress", "Interests": "Interests", "Internal team": "Internal team", + "intersectional": "intersectional", "Intersectional - This engagement is looking for people who have all sorts of different identities and lived experiences, such as race, gender, age, sexual orientation, and more.": "Intersectional - This engagement is looking for people who have all sorts of different identities and lived experiences, such as race, gender, age, sexual orientation, and more.", "Intersectional outreach": "Intersectional outreach", "Intervenor": "Intervenor", @@ -740,6 +795,7 @@ "Interviews will take place between :start and :end.": "Interviews will take place between :start and :end.", "Introduction video": "Introduction video", "Inuit": "Inuit", + "invitation": "invitation", "Invite": "Invite", "Invite new member": "Invite new member", "Invite others to your organization": "Invite others to your organization", @@ -759,11 +815,14 @@ "Join our accessibility community": "Join our accessibility community", "Keeping my information up to date": "Keeping my information up to date", "Language": "Language", + "language": "language", "Language: :locale": "Language: :locale", "Language :language added.": "Language :language added.", "Language :language removed.": "Language :language removed.", "Language :number": "Language :number", "Language added.": "Language added.", + "language connections": "language connections", + "language constituencies": "language constituencies", "Language groups": "Language groups", "Language preferences": "Language preferences", "Language removed.": "Language removed.", @@ -798,6 +857,8 @@ "link to join the meeting": "link to join the meeting", "Lived and living experiences": "Lived and living experiences", "Lived experience": "Lived experience", + "lived experience connections": "lived experience connections", + "lived experience constituencies": "lived experience constituencies", "lived experience of disability, or of being Deaf, or both": "lived experience of disability, or of being Deaf, or both", "lived experience of disability or of being Deaf, or of both": "lived experience of disability or of being Deaf, or of both", "lived experiences": "lived experiences", @@ -805,6 +866,9 @@ "Living in urban, rural, or remote areas": "Living in urban, rural, or remote areas", "Location": "Location", "Location :number": "Location :number", + "location city or town": "location city or town", + "location province or territory": "location province or territory", + "location type": "location type", "Mailing Address": "Mailing Address", "Mailing address": "Mailing address", "main menu": "main menu", @@ -832,13 +896,17 @@ "Materials will be provided in the following languages:": "Materials will be provided in the following languages:", "Me": "Me", "means that a field is required.": "means that a field is required.", + "meeting access needs": "meeting access needs", "meeting date": "meeting date", "Meeting dates": "Meeting dates", "meeting end time": "meeting end time", "Meetings": "Meetings", + "meeting software": "meeting software", "meeting start time": "meeting start time", "meeting time zone": "meeting time zone", "meeting title": "meeting title", + "meeting title (English)": "meeting title (English)", + "meeting title (French)": "meeting title (French)", "Member": "Member", "Members of our team have received the following training:": "Members of our team have received the following training:", "Men": "Men", @@ -890,6 +958,7 @@ "New Estimate Request from :projectable": "New Estimate Request from :projectable", "Newfoundland and Labrador": "Newfoundland and Labrador", "Newfoundland Standard or Daylight Time": "Newfoundland Standard or Daylight Time", + "new language": "new language", "New password": "New password", "New project": "New project", "New reports uploaded": "New reports uploaded", @@ -928,6 +997,8 @@ "Notes": "Notes", "Not everyone has had access to paid or volunteer experiences, but there are a lot of experiences that build certain skills and strengths. You can share more about that here. If you have had paid or volunteer experiences, you can also include that.": "Not everyone has had access to paid or volunteer experiences, but there are a lot of experiences that build certain skills and strengths. You can share more about that here. If you have had paid or volunteer experiences, you can also include that.", "Nothing found.": "Nothing found.", + "notificationable id": "notificationable id", + "notificationable type": "notificationable type", "Notification list": "Notification list", "Notification List": "Notification List", "Notification preferences": "Notification preferences", @@ -974,12 +1045,16 @@ "Ontario": "Ontario", "Open call": "Open call", "Opens in new tab": "Opens in new tab", + "open to other formats": "open to other formats", "optional": "optional", "Organization details": "Organization details", "Organization information": "Organization information", "Organization information that will set you up for running consultations.": "Organization information that will set you up for running consultations.", "Organization name": "Organization name", "organization name": "organization name", + "organization name (English)": "organization name (English)", + "organization name (French)": "organization name (French)", + "organizations": "organizations", "organizations and businesses to work on accessibility projects together.": "organizations and businesses to work on accessibility projects together.", "Organizations can decide which criteria they would like the participants for a project to have. They then have a choice between:": "Organizations can decide which criteria they would like the participants for a project to have. They then have a choice between:", "Organization selection criteria": "Organization selection criteria", @@ -987,21 +1062,35 @@ "Organizations that provide support “for” disability, Deaf, and family-based members. Not constituted primarily by people with disabilities.": "Organizations that provide support “for” disability, Deaf, and family-based members. Not constituted primarily by people with disabilities.", "Organizations which have some constituency of persons with disabilities, Deaf persons, or family members, but these groups are not their primary mandate. Groups served, for example, can include: Indigenous organizations, 2SLGBTQ+ organizations, immigrant and refugee groups, and women’s groups.": "Organizations which have some constituency of persons with disabilities, Deaf persons, or family members, but these groups are not their primary mandate. Groups served, for example, can include: Indigenous organizations, 2SLGBTQ+ organizations, immigrant and refugee groups, and women’s groups.", "Organizations “of” disability, Deaf, and family-based organizations. Constituted primarily by people with disabilities.": "Organizations “of” disability, Deaf, and family-based organizations. Constituted primarily by people with disabilities.", + "organization type": "organization type", "Organization website": "Organization website", "Other": "Other", + "other": "other", "Other (please describe)": "Other (please describe)", "Other (please specify)": "Other (please specify)", "Other accepted format": "Other accepted format", "other accepted format": "other accepted format", + "other accepted format (English)": "other accepted format (English)", + "other accepted format (French)": "other accepted format (French)", + "other accepted formats": "other accepted formats", + "other access need": "other access need", "Other civil society organizations relevant to people with disabilities, Deaf people, and supporters": "Other civil society organizations relevant to people with disabilities, Deaf people, and supporters", + "other disability connection": "other disability connection", + "other disability constituency": "other disability constituency", + "other ethnoracial identity connection": "other ethnoracial identity connection", + "other ethnoracial identity constituency": "other ethnoracial identity constituency", "Other identities": "Other identities", "Other identity groups": "Other identity groups", + "other identity type": "other identity type", + "other payment type": "other payment type", "Other public sector organization, which is regulated by the Accessible Canada Act": "Other public sector organization, which is regulated by the Accessible Canada Act", "Other – in-person or virtual meeting": "Other – in-person or virtual meeting", "Other – written or recorded response": "Other – written or recorded response", "Our team does not have people with lived and living experiences of disability or being Deaf.": "Our team does not have people with lived and living experiences of disability or being Deaf.", "Our team has people with lived and living experiences of disability or being Deaf.": "Our team has people with lived and living experiences of disability or being Deaf.", "Outcomes and reports": "Outcomes and reports", + "Outcomes and reports other": "Outcomes and reports other", + "out of scope": "out of scope", "Pacific Standard or Daylight Time": "Pacific Standard or Daylight Time", "page": "page", "Page also available in:": "Page also available in:", @@ -1011,6 +1100,7 @@ "Page title": "Page title", "Page translations": "Page translations", "Paid": "Paid", + "paid": "paid", "Pain-related disabilities": "Pain-related disabilities", "Parliamentary entities": "Parliamentary entities", "Participant": "Participant", @@ -1148,9 +1238,13 @@ "Prefer not to answer": "Prefer not to answer", "preferred": "preferred", "Preferred contact method": "Preferred contact method", + "preferred contact method": "preferred contact method", + "Preferred contact person": "Preferred contact person", "Preferred notification method": "Preferred notification method", "present": "present", "Preview page": "Preview page", + "previous project": "previous project", + "previous project id": "previous project id", "Pricing": "Pricing", "Prince Edward Island": "Prince Edward Island", "Printed version of engagement documents": "Printed version of engagement documents", @@ -1159,17 +1253,32 @@ "Privacy Policy": "Privacy Policy", "Procurement": "Procurement", "project": "project", + "projectable id": "projectable id", + "projectable type": "projectable type", "Project by :projectable": "Project by :projectable", + "project context": "project context", + "project created by organization type notification setting": "project created by organization type notification setting", "Project details": "Project details", "Project duration": "Project duration", "Project end date": "Project end date", + "project engagement type notification setting": "project engagement type notification setting", "Project goals": "Project goals", "project goals": "project goals", + "Project goals (English)": "Project goals (English)", + "Project goals (French)": "Project goals (French)", "Project goals must be provided in at least one language.": "Project goals must be provided in at least one language.", + "project id": "project id", "Project impact": "Project impact", + "project languages": "project languages", "Project name": "Project name", "project name": "project name", + "project name (English)": "project name (English)", + "Project name (English)": "Project name (English)", + "project name (French)": "project name (French)", + "Project name (French)": "Project name (French)", "Project outcome": "Project outcome", + "Project outcome (English)": "Project outcome (English)", + "Project outcome (French)": "Project outcome (French)", "Project overview": "Project overview", "Project page incomplete": "Project page incomplete", "Project reports": "Project reports", @@ -1177,6 +1286,8 @@ "Projects and engagements by other organizations": "Projects and engagements by other organizations", "Projects by organizations that I have saved on my notification list": "Projects by organizations that I have saved on my notification list", "Project scope": "Project scope", + "Project scope (English)": "Project scope (English)", + "Project scope (French)": "Project scope (French)", "Project scope must be provided in at least one language.": "Project scope must be provided in at least one language.", "Projects I am contracted for": "Projects I am contracted for", "Projects I am participating in": "Projects I am participating in", @@ -1184,12 +1295,14 @@ "Projects involved in as a Community Connector": "Projects involved in as a Community Connector", "Projects involved in as a Consultation Participant": "Projects involved in as a Consultation Participant", "Projects I’m running": "Projects I’m running", + "projects notification setting": "projects notification setting", "Project start date": "Project start date", "Projects that are looking for people that my organization represents or supports": "Projects that are looking for people that my organization represents or supports", "Projects that are looking for someone with my lived experience": "Projects that are looking for someone with my lived experience", "Project team": "Project team", "Project timeframe": "Project timeframe", "Project Translations": "Project Translations", + "project type notification setting": "project type notification setting", "Pronouns": "Pronouns", "pronouns": "pronouns", "Provides Guidance and Resources": "Provides Guidance and Resources", @@ -1199,6 +1312,7 @@ "Providing this information will help us match you to projects that are working on areas of interest to you.": "Providing this information will help us match you to projects that are working on areas of interest to you.", "Province or territory": "Province or territory", "province or territory": "province or territory", + "public outcomes": "public outcomes", "Public profile": "Public profile", "Publish": "Publish", "Published": "Published", @@ -1206,6 +1320,7 @@ "Published on :date": "Published on :date", "Publish page": "Publish page", "Quebec": "Quebec", + "questions": "questions", "Questions are sent to participants by:": "Questions are sent to participants by:", "Quick exit": "Quick exit", "Quick links": "Quick links", @@ -1223,6 +1338,7 @@ "Recruit individuals who are Deaf or have disabilities to give input on your own projects.": "Recruit individuals who are Deaf or have disabilities to give input on your own projects.", "Recruitment": "Recruitment", "Recruitment method": "Recruitment method", + "recruitment method": "recruitment method", "Refugees": "Refugees", "Refugees and\/or immigrants": "Refugees and\/or immigrants", "Regions": "Regions", @@ -1236,6 +1352,7 @@ "Regulated organizations": "Regulated organizations", "Regulated Organizations": "Regulated Organizations", "Regulated organizations hire a Community Connector to connect to certain communities that they may otherwise find difficult to reach. Providing the information about the communities that you have connections to, lets the government and business groups know how you could help them.": "Regulated organizations hire a Community Connector to connect to certain communities that they may otherwise find difficult to reach. Providing the information about the communities that you have connections to, lets the government and business groups know how you could help them.", + "Regulated Organization type": "Regulated Organization type", "Relevant experience": "Relevant experience", "Relevant experiences": "Relevant experiences", "Relevant experiences (including any volunteer or paid experience)": "Relevant experiences (including any volunteer or paid experience)", @@ -1255,6 +1372,7 @@ "Remove this link": "Remove this link", "Remove this location": "Remove this location", "Remove this training": "Remove this training", + "report notification setting": "report notification setting", "represent": "represent", "Representative organization": "Representative organization", "Representative organizations": "Representative organizations", @@ -1279,14 +1397,18 @@ "Results": "Results", "Returned": "Returned", "Return to dashboard": "Return to dashboard", + "return to engagement": "return to engagement", "Review and publish engagement details": "Review and publish engagement details", "Review and publish your organization’s public page": "Review and publish your organization’s public page", "Review and publish your public page": "Review and publish your public page", + "review and updates notification settings": "review and updates notification settings", "Review engagement details": "Review engagement details", "Review project": "Review project", "Review project details": "Review project details", "Role": "Role", + "role": "role", "Roles": "Roles", + "roles": "roles", "Roles:": "Roles:", "Roles and permissions": "Roles and permissions", "Run by": "Run by", @@ -1346,6 +1468,7 @@ "Show that you are looking for a Community Connector": "Show that you are looking for a Community Connector", "show up on search results for them": "show up on search results for them", "Signed language for interpretation": "Signed language for interpretation", + "signed language for translation": "signed language for translation", "Sign in": "Sign in", "Sign language interpretation": "Sign language interpretation", "Sign language interpretations": "Sign language interpretations", @@ -1419,6 +1542,10 @@ "Support organization": "Support organization", "Support organizations": "Support organizations", "Support person, :name": "Support person, :name", + "support person requires Video Relay Service (VRS) for phone calls": "support person requires Video Relay Service (VRS) for phone calls", + "support person’s email": "support person’s email", + "support person’s name": "support person’s name", + "support person’s phone number": "support person’s phone number", "Support phone": "Support phone", "Survey": "Survey", "Survey materials": "Survey materials", @@ -1432,12 +1559,14 @@ "Tap into our support network": "Tap into our support network", "Team contact": "Team contact", "Team Invitation": "Team Invitation", + "team size": "team size", "Tell us about who you are.": "Tell us about who you are.", "Tell us about your organization, its mission, and what you offer.": "Tell us about your organization, its mission, and what you offer.", "Tell us your business name": "Tell us your business name", "Tell us your organization’s name": "Tell us your organization’s name", "Templates and forms": "Templates and forms", "Temporary disabilities": "Temporary disabilities", + "term": "term", "terms of service": "terms of service", "Terms of Service": "Terms of Service", "Text": "Text", @@ -1561,6 +1690,7 @@ "Time and date": "Time and date", "Times during the day interviews will be happening": "Times during the day interviews will be happening", "Time zone": "Time zone", + "timezone": "timezone", "Title of meeting": "Title of meeting", "Title of role": "Title of role", "Title of Role": "Title of Role", @@ -1578,6 +1708,7 @@ "To request an estimate, you must have filled out your project’s engagement details (and meeting information for workshops and focus groups).": "To request an estimate, you must have filled out your project’s engagement details (and meeting information for workshops and focus groups).", "Trainer": "Trainer", "Training": "Training", + "training": "training", "Training by: :author": "Training by: :author", "training date": "training date", "training name": "training name", @@ -1586,12 +1717,15 @@ "training organization or trainer website address": "training organization or trainer website address", "Training Participant": "Training Participant", "Training your team has received": "Training your team has received", + "translatable id": "translatable id", + "translatable type": "translatable type", "Translations": "Translations", "Trans people": "Trans people", "Tuesday": "Tuesday", "Twitter page": "Twitter page", "Two-factor authentication": "Two-factor authentication", "Type of organization": "Type of organization", + "type of Regulated Organization": "type of Regulated Organization", "Types of experiences or identities": "Types of experiences or identities", "Types of meetings offered": "Types of meetings offered", "Types of regulated organizations": "Types of regulated organizations", @@ -1629,6 +1763,7 @@ "Volunteer": "Volunteer", "VRS": "VRS", "Ways to attend": "Ways to attend", + "ways to attend": "ways to attend", "Ways to participate": "Ways to participate", "We ask Accessibility Consultants for the following information:": "We ask Accessibility Consultants for the following information:", "We ask Community Connectors for the following information:": "We ask Community Connectors for the following information:", @@ -1713,6 +1848,7 @@ "Which of these areas can you help a regulated organization with?": "Which of these areas can you help a regulated organization with?", "White": "White", "White on black": "White on black", + "who": "who", "Who can be a :role?": "Who can be a :role?", "Who do you want to engage?": "Who do you want to engage?", "who is going through the results": "who is going through the results", @@ -1722,6 +1858,7 @@ "Who you’re joining as": "Who you’re joining as", "Who’s responsible for going through results and producing an outcome": "Who’s responsible for going through results and producing an outcome", "Why do we ask for this information?": "Why do we ask for this information?", + "window flexibility": "window flexibility", "Women": "Women", "Word document": "Word document", "Working age adults (15–64)": "Working age adults (15–64)", @@ -1732,6 +1869,7 @@ "Would you like to be notified directly when you are added to an engagement as a Community Connector?": "Would you like to be notified directly when you are added to an engagement as a Community Connector?", "Writing": "Writing", "Writing accessibility reports": "Writing accessibility reports", + "written language for translation": "written language for translation", "Written language translation": "Written language translation", "Written or recorded responses": "Written or recorded responses", "Wrong answer": "Wrong answer", diff --git a/resources/lang/fr.json b/resources/lang/fr.json index a991a8803..e2e8dd30c 100644 --- a/resources/lang/fr.json +++ b/resources/lang/fr.json @@ -1,4 +1,5 @@ { + "\"About your organization\"": "", "\"About your organization\" (English)": "« À propos de votre organisation » (en anglais)", "\"About your organization\" (French)": "À propos de votre organisation", "(optional)": "(optionnel)", @@ -86,6 +87,7 @@ "accessibility and inclusion link title": "titre du lien sur les mesures d’accessibilité et d’inclusion", "Accessibility Consultant": "Personne consultante en matière d’accessibilité", "Accessibility consultant application": "Devenir personne consultante en matière d’accessibilité", + "Accessibility Consultant notification setting": "", "Accessibility Consultants": "Personnes consultantes en matière d’accessibilité", "Accessibility Consultants could help you design consultations that are inclusive and accessible.": "Les personnes consultantes en matière d’accessibilité peuvent vous aider à concevoir des consultations qui soient inclusives et accessibles.", "Accessibility Consultants — Individual": "Personne consultante en matière d’accessibilité - Individu", @@ -127,6 +129,8 @@ "Additional information to join": "Information supplémentaire à joindre", "additional information to join": "information complémentaire à joindre", "Additional needs or concerns": "Besoins ou préoccupations supplémentaires", + "additional phone information": "", + "additional video information": "", "Add language": "Ajouter une langue", "Add link": "Ajouter un lien", "Add meeting": "Ajouter une réunion", @@ -139,6 +143,8 @@ "A follow-up to a previous project (such as a progress report)": "Un suivi pour un projet précédent (tel qu’un rapport d’étape)", "African": "Africain", "Age": "Âge", + "age bracket connections": "", + "age bracket constituencies": "", "Age group": "Groupe d’âge", "age group": "groupe d’âge", "Age groups": "Groupes d’âge", @@ -155,6 +161,7 @@ "All rights reserved.": "Tous droits réservés.", "Already on your block list": "Déjà sur votre liste de blocage", "Already on your notification list.": "Already on your notification list.", + "alternative meeting software": "", "Alternative text for images": "Texte de remplacement pour les images", "Although it is not compulsory, we highly recommend that you include English and French translations of your content.": "Bien que cela ne soit pas obligatoire, nous vous recommandons vivement d’inclure des traductions en anglais et en français de votre contenu.", "A meeting title must be provided in at least English or French.": "Le titre de la réunion doit être fourni au moins en anglais ou en français.", @@ -182,9 +189,12 @@ "Approve estimate": "Approuver le devis", "Approximate response time": "Temps de réponse approximatif", "approximate response time": "vos temps de réponse approximatifs", + "Approximate response time (English)": "", + "Approximate response time (French)": "", "A project name must be provided in at least one language.": "Un nom de projet doit être fourni dans au moins une langue.", "A project with this name already exists.": "Un projet portant ce nom existe déjà.", "Area": "Zone", + "area of accessibility planning and design": "", "Area of impact": "Domaine d’impact", "Areas of accessibility": "Areas of accessibility", "Areas of accessibility you are interested in": "Domaines relatifs à l’accessibilité qui vous intéressent", @@ -193,6 +203,8 @@ "Areas of interest": "Domaines d’intérêt", "Areas of your organization this project will impact": "Secteurs de votre organisation sur lesquels ce projet aura un impact", "area type": "area type", + "area type connections": "", + "area type constituencies": "", "Are you looking for individuals in specific provinces or territories or specific cities or towns?": "Cherchez-vous des personnes dans des provinces ou territoires spécifiques ou dans des villes ou villages spécifiques ?", "Are you sure you want to block :blockable?": "Voulez-vous vraiment bloquer :blockable?", "Are you sure you want to delete your account?": "Voulez-vous vraiment supprimer votre compte ?", @@ -224,6 +236,7 @@ "Author: :author": "Auteur : :author", "Author name": "Nom de l’auteur", "author organization": "author organization", + "availability": "", "availability for Friday": "disponibilité le vendredi", "availability for Monday": "disponibilité le lundi", "availability for Saturday": "disponibilité le samedi", @@ -247,12 +260,16 @@ "Be matched based on what your lived experiences are": "Be matched based on what your lived experiences are", "Between which times during the day will the interviews take place?": "Entre quels moments de la journée les entrevues auront-elles lieu ?", "bio": "bio", + "bio (English)": "", + "bio (French)": "", "Black": "Noir", "Black on brown": "Noir sur brun", "Black on white": "Noir sur blanc", "Black on yellow": "Noir sur jaune", "Block": "Bloquer", "Block :blockable": "Bloquer :bloquable", + "blockable id": "", + "blockable type": "", "Blocked individuals and organizations": "Personnes et organisations bloquées", "Body differences": "Différences corporelles", "Booking accessibility service providers": "Gestion de prestataires de services en matière d’accessibilité", @@ -334,6 +351,7 @@ "Communities your organization :represents_or_serves_and_supports": "Communautés que votre organisation :represents_or_serves_and_supports", "Community Connector": "Personne facilitatrice communautaire", "Community connector application": "Community connector application", + "Community Connector notification setting": "", "Community Connectors": "Personnes facilitatrices communautaires", "Community Connectors could help you connect with groups that may be hard to reach otherwise.": "Les personnes facilitatrices communautaires peuvent vous aider à entrer en contact avec des groupes qui seraient autrement difficiles à rejoindre.", "Community Connectors — Individual": "Personne facilitatrice communautaire - Individu", @@ -366,6 +384,7 @@ "Congratulations, :name!": "Félicitations, :name!", "Connecting the disability and Deaf communities and their supporters with ": "Une plateforme mettant en relation les communautés de personnes en situation de handicap et de personnes sourdes et leurs alliés avec ", "connecting to a Community Connector to help recruit Consultation Participants.": "la mise en relation avec une personne facilitratrice communautaire afin de faciliter le recrutement des personnes participant à la consultation.", + "connection lived experience": "", "Connect members of your community with governments and businesses who are looking for Consultation Participants. Help them learn how to best work with your community.": "Mettez les membres de votre communauté en contact avec les gouvernements et les entreprises qui recherchent des personnes pour participer à des consultations. Aidez-les à apprendre comment travailler au mieux avec votre communauté.", "Connect organizations with participants from my community": "Met en relation des organisations avec des personnes de ma communauté", "Connects the disability and Deaf communities and supporters with organizations that are “regulated” or supervised and monitored by the federal government, so that together they can work on accessibility projects, as required by the Accessible Canada Act.": "Le Connecteur pour l’accessibilité met en relation les communautés de personnes en situation de handicap et de personnes sourdes et leurs alliés avec des organisations qui sont réglementées ou contrôlées par le gouvernement fédéral, afin qu’elles puissent travailler ensemble sur des projets relatifs à l’accessibilité, comme l’exige la Loi canadienne sur l’accessibilité.", @@ -375,6 +394,7 @@ "Consultation Participants are required to share their province\/territory, their city\/town, and whether or not they identify as someone with a disability, Deaf or a supporter. All of the remaining questions are optional. For multiple choice questions, there is an option to select “prefer not to answer”.": "Les personnes participant aux consultations doivent indiquer leur province\/territoire, leur ville\/village et préciser si elles s’identifient ou non comme une personne en situation de handicap, une personne sourde ou une personne soutenant ces personnes. Toutes les autres questions sont facultatives. Pour les questions à choix multiples, une option « préfère ne pas répondre » est disonible.", "Consultation Participants — Individual": "Personne participante à la consultation - Individu", "Consultations": "Consultations", + "consulting methods": "", "Consulting services": "Services de consultation", "Consulting with a Community Organization": "Consultation auprès d’une organisation communautaire", "Contact": "Contact", @@ -387,6 +407,7 @@ "Contacting you with notifications": "Vous contacter grâce à des notifications", "contact person": "contact person", "Contact person": "Personne contact", + "Contact person requires Video Relay Service (VRS) for phone calls": "", "Contact person’s email": "Adresse courriel de la personne contact", "Contact person’s phone number": "Numéro de téléphone de la personne contact", "Contact support": "Contactez le support", @@ -395,6 +416,7 @@ "Content added": "Contenu ajouté", "Content added, unsaved changes": "Contenu ajouté, modifications non sauvegardées", "Content types": "Types de contenus", + "context": "", "Continue": "Continuer", "Contracted": "Contracted", "Contracts": "Contrats", @@ -434,6 +456,7 @@ "creating an open project, where anyone who matches their criteria can sign up. ": "créer un projet ouvert, où quiconque correspond aux critères peut s’inscrire. ", "Cross disability (includes people with disabilities, Deaf people, and supporters)": "Polyhandicap (comprend les personnes en situation de handicap, les personnes sourdes et les personnes qui les soutiennent)", "Current password": "Mot de passe actuel", + "current password": "", "Customize": "Personnaliser", "Customize this website’s accessibility": "Personnalisez les paramètres d’accessibilité de ce site Internet", "Dark theme": "Thème sombre", @@ -452,6 +475,7 @@ "Decline": "Refuser", "Deepen understanding": "Approfondissement de la compréhension", "Deepen understanding about the systemic barriers (laws, policies, practices, and culture) underlying the experiences that consultation participants report": "Deepen understanding about the systemic barriers (laws, policies, practices, and culture) underlying the experiences that consultation participants report", + "definition": "", "Delete account": "Supprimer le compte", "Delete my page": "Supprimer ma page", "Delete regulated organization": "Supprimer l’organisation sous réglementation fédérale", @@ -467,7 +491,10 @@ "Developing an accessibility plan": "Développement d’un plan sur l’accessiblité", "Developmental disabilities": "Déficience intellectuelle (et autres troubles du développement)", "Did you know…": "Saviez-vous que…", + "directions": "", "Disability and\/or Deaf identity": "Handicap et\/ou identité sourde", + "disability and deaf connections": "", + "disability and deaf constituencies": "", "Disability and Deaf groups they are looking for": "Groupes de personnes en situation de handicap ou de personnes sourdes qu’ils cherchent", "Disability and Deaf representative organizations": "Organisations représentant les personnes en situation de handicap et les personnes sourdes", "Disability and Deaf support organizations": "Organisation soutenant les personnes en situation de handicap et les personnes sourdes", @@ -478,6 +505,8 @@ "disability type": "type de handicap", "Disconnected rooms for down-time": "Salles isolées pour les temps morts", "Dismiss": "Ignorer", + "document access needs": "", + "document languages": "", "Documents will be sent to participants by:": "Les documents seront envoyés aux personnes participantes par :", "Does :name have lived experience of the people they can connect to?": ":name a-t-il\/a-t-elle une expérience vécue de la réalité des personnes auprès desquelles il\/elle peut servir d’intermédiaire ?", "Does your organization :represent_or_serve_and_support a specific age bracket or brackets?": "Est-ce que votre organisation représente une ou plusieurs tranches d’âge spécifiques ?", @@ -536,9 +565,14 @@ "Engagement": "Consultation", "engagement": "consultation", "engagement description": "description de la consultation", + "engagement description (English)": "", + "engagement description (French)": "", + "engagement format": "", "Engagement materials": "Documents de consultation", "Engagement meetings": "Réunions de la consultation", "engagement name": "nom de la consultation", + "engagement name (English)": "", + "engagement name (French)": "", "Engagements": "Consultations", "Engagements by organizations that I have saved on my notification list": "Consultations menées par les organisations que j’ai enregistrés dans ma liste de notifications", "Engagements that are looking for people that my organization represents or supports": "Consultations qui recherchent des personnes que mon organisation représente ou soutient", @@ -558,6 +592,8 @@ "ethnoracial group": "ethnoracial group", "Ethnoracial identity": "Identité ethnoraciale", "ethnoracial identity": "identité ethnoraciale", + "ethnoracial identity connections": "", + "ethnoracial identity constituencies": "", "Experiences": "Expériences", "experience working with organizations to create inclusive consultations, identify barriers, and create accessibility plans.": "expérience de travail avec des organisations pour créer des consultations inclusives, identifier les obstacles et créer des plans en matière d’accessibilité.", "External team": "Équipe externe", @@ -584,6 +620,7 @@ "Finding out about new projects": "Découvrir les nouveaux projets", "Find learning materials, best practices, and variety of tools to help you throughout the consultation process.": "Supports d’apprentissage, meilleures pratiques et une variété d’outils pour vous aider tout au long du processus de consultation.", "Find people with disabilities, Deaf people and community organizations (for example, disability or other relevant civil society organizations, like Indigenous groups), to consult with on your accessibility project.": "Trouvez des personnes en situation de handicap, des personnes sourdes et des organisations communautaires (par exemple, des organisations de personnes en situation de handicap ou d’autres organisations pertinentes de la société civile, comme les groupes autochtones), à consulter dans le cadre de votre projet en matière d’accessibilité.", + "finished introduction": "", "First language": "Première langue", "first language": "first language", "First Nations": "Premières Nations", @@ -623,6 +660,8 @@ "further directions": "autres directives", "Gender and sexual identity": "Identités sexuelles et de genre", "Gender and sexuality": "Genre et sexualité", + "gender and sexuality connections": "", + "gender and sexuality constituencies": "", "Gender diverse": "Gender diverse", "Gender fluid people": "Personnes de genre fluide", "Gender identity": "Identité de genre", @@ -653,6 +692,18 @@ "groups you can connect to": "groupes auprès desquels vous pouvez agir comme intermédiaire", "Guidelines and best practices": "Lignes directrices et meilleures pratiques", "Hard-of-hearing": "Personnes malentendantes", + "has age bracket connections": "", + "has age bracket constituencies": "", + "has ethnoracial identity connections": "", + "has ethnoracial identity constituencies": "", + "has gender and sexuality connections": "", + "has gender and sexuality constituencies": "", + "has indigenous connections": "", + "has indigenous constituencies": "", + "has other disability connection": "", + "has other disability constituency": "", + "has other ethnoracial identity connection": "", + "has other ethnoracial identity constituency": "", "Have more questions?": "Vous avez encore des questions ?", "Have questions?": "Vous avez des questions ?", "Have trouble meeting the access needs of your participants?": "Vous avez du mal à répondre aux besoins en matière d’accessibilité des personnes participantes ?", @@ -713,6 +764,8 @@ "Including government departments, agencies and Crown Corporations": "Comprend les ministères, les agences et les sociétés d'État", "Incomplete": "Vous n’avez pas encore complété cette étape.", "Indigenous": "Autochtone", + "indigenous connections": "", + "indigenous constituencies": "", "Indigenous group": "Indigenous group", "Indigenous identity": "Indigenous identity", "Individual": "Individu", @@ -727,10 +780,12 @@ "Initiated by": "Lancé par", "In order to create a successful exchange, we ask Consultation Participants to provide this information so that The Accessibility Exchange can match Consultation Participants with an engagement that is looking for someone with your experiences.": "Afin de créer un échange réussi, nous demandons aux personnes participant à des consultations de fournir ces informations afin que le Connecteur pour l’accessibilité puisse mettre en relation les participants à des consultations avec une consultation à la recherche d’une personne ayant votre expérience.", "In person": "En personne", + "in person access needs": "", "In progress": "En cours", "In Progress": "En cours", "Interests": "Intérêts", "Internal team": "Équipe interne", + "intersectional": "", "Intersectional - This engagement is looking for people who have all sorts of different identities and lived experiences, such as race, gender, age, sexual orientation, and more.": "Intersectionnel - Cette consultation s’adresse à toute personne, peu importe leurs axes d’identités intersectionnels (telles que la race, le sexe, l’âge, l’orientation sexuelle) et leurs expériences vécues.", "Intersectional outreach": "Approche intersectionnelle", "Intervenor": "Intervenant", @@ -740,6 +795,7 @@ "Interviews will take place between :start and :end.": "Les entrevues auront lieu dans la période du :start au :end.", "Introduction video": "Vidéo de présentation", "Inuit": "Inuit", + "invitation": "", "Invite": "Envoyer des invitations", "Invite new member": "Inviter un nouveau membre", "Invite others to your organization": "Invitez d’autres personnes à rejoindre votre organisation", @@ -759,11 +815,14 @@ "Join our accessibility community": "Rejoignez notre communauté en faveur de l’accessibilité", "Keeping my information up to date": "Maintenir mes informations à jour", "Language": "Langue", + "language": "", "Language: :locale": "Langue: :locale", "Language :language added.": "Langue :language ajoutée.", "Language :language removed.": "Langue :language supprimée.", "Language :number": "Langue :number", "Language added.": "Langue ajoutée.", + "language connections": "", + "language constituencies": "", "Language groups": "Communautés linguistiques", "Language preferences": "Préférences linguistiques", "Language removed.": "Langue supprimée.", @@ -798,6 +857,8 @@ "link to join the meeting": "lien pour rejoindre la réunion", "Lived and living experiences": "Expériences vécues", "Lived experience": "Expérience vécue", + "lived experience connections": "", + "lived experience constituencies": "", "lived experience of disability, or of being Deaf, or both": "l’expérience vécue du handicap, de la surdité, ou des deux", "lived experience of disability or of being Deaf, or of both": "expérience vécue du handicap ou de la surdité, ou des deux", "lived experiences": "lived experiences", @@ -805,6 +866,9 @@ "Living in urban, rural, or remote areas": "Vivant dans des zones urbaines, rurales ou éloignées", "Location": "Emplacement", "Location :number": "Emplacement :number", + "location city or town": "", + "location province or territory": "", + "location type": "", "Mailing Address": "Adresse postale", "Mailing address": "Adresse postale", "main menu": "menu principal", @@ -832,13 +896,17 @@ "Materials will be provided in the following languages:": "Le matériel sera disponible dans les langues suivantes :", "Me": "Moi", "means that a field is required.": "singifie qu’un champ est requis.", + "meeting access needs": "", "meeting date": "date de la réunion", "Meeting dates": "Dates de réunion", "meeting end time": "heure de fin de la réunion", "Meetings": "Réunions", + "meeting software": "", "meeting start time": "heure de début de la réunion", "meeting time zone": "fuseau horaire de la réunion", "meeting title": "titre de la réunion", + "meeting title (English)": "", + "meeting title (French)": "", "Member": "Membre", "Members of our team have received the following training:": "Les membres de notre équipe ont suivi les formations suivantes :", "Men": "Hommes", @@ -890,6 +958,7 @@ "New Estimate Request from :projectable": "Nouvelle demande de devis de :projectable", "Newfoundland and Labrador": "Terre-Neuve-et-Labrador", "Newfoundland Standard or Daylight Time": "Heure normale ou heure avancée de Terre-Neuve", + "new language": "", "New password": "Nouveau mot de passe", "New project": "Nouveau projet", "New reports uploaded": "Nouveaux rapports téléversés", @@ -928,6 +997,8 @@ "Notes": "Remarques", "Not everyone has had access to paid or volunteer experiences, but there are a lot of experiences that build certain skills and strengths. You can share more about that here. If you have had paid or volunteer experiences, you can also include that.": "Tout le monde n’a pas forcément eu la possibilité de vivre des expériences rémunérées ou bénévoles, mais il existe de nombreuses expériences qui permettent de développer certaines compétences et forces. Vous pouvez en parler ici. Si vous avez eu des expériences rémunérées ou bénévoles, vous pouvez également le mentionner.", "Nothing found.": "Rien n’a été trouvé.", + "notificationable id": "", + "notificationable type": "", "Notification list": "Liste des notifications", "Notification List": "Liste des notifications", "Notification preferences": "Préférences de notification", @@ -974,12 +1045,16 @@ "Ontario": "Ontario", "Open call": "Invitation ouverte", "Opens in new tab": "S’ouvre dans un nouvel onglet", + "open to other formats": "", "optional": "optionnel", "Organization details": "Détails de l’organisation", "Organization information": "Informations sur l’organisation", "Organization information that will set you up for running consultations.": "Renseignements sur l’organisation qui vous permettront de mener des consultations.", "Organization name": "Nom de l’organisation", "organization name": "nom de l’organisation", + "organization name (English)": "", + "organization name (French)": "", + "organizations": "", "organizations and businesses to work on accessibility projects together.": "les organisations et entreprises afin de travailler ensemble sur des projets relatifs à l’accessibilité.", "Organizations can decide which criteria they would like the participants for a project to have. They then have a choice between:": "Les organisations peuvent décider des critères qu’elles souhaitent voir figurer parmi les personnes participantes à un projet. Elles ont alors le choix entre :", "Organization selection criteria": "Critères de sélection des organisations", @@ -987,21 +1062,35 @@ "Organizations that provide support “for” disability, Deaf, and family-based members. Not constituted primarily by people with disabilities.": "Organisations qui offrent du soutien ou des services aux personnes en situation de handicap, les personnes sourdes et les membres de la famille. Ne sont pas constituées principalement de personnes en situation de handicap.", "Organizations which have some constituency of persons with disabilities, Deaf persons, or family members, but these groups are not their primary mandate. Groups served, for example, can include: Indigenous organizations, 2SLGBTQ+ organizations, immigrant and refugee groups, and women’s groups.": "Organisations qui comptent parmi leurs membres des personnes en situation de handicap, des personnes sourdes ou des membres de leur famille, mais pour qui ces groupes ne constituent pas leur vocation première. Les groupes desservis peuvent inclure : les organisations autochtones, les organisations 2SLGBTQ+, les groupes de personnes migrantes et réfugiées et les groupes de femmes.", "Organizations “of” disability, Deaf, and family-based organizations. Constituted primarily by people with disabilities.": "Organisations de personnes en situation de handicap, de personnes sourdes, et de familles. Constituées principalement de personnes en situation de handicap.", + "organization type": "", "Organization website": "Site Internet de l’organisation", "Other": "Autre", + "other": "", "Other (please describe)": "Autre (veuillez décrire)", "Other (please specify)": "Autre (veuillez préciser)", "Other accepted format": "Autre format accepté", "other accepted format": "autre format accepté", + "other accepted format (English)": "", + "other accepted format (French)": "", + "other accepted formats": "", + "other access need": "", "Other civil society organizations relevant to people with disabilities, Deaf people, and supporters": "Autres organisations de la société civile pertinentes pour les personnes en situation de handicap, les personnes sourdes et leurs réseaux de soutien", + "other disability connection": "", + "other disability constituency": "", + "other ethnoracial identity connection": "", + "other ethnoracial identity constituency": "", "Other identities": "Autres axes d’identité", "Other identity groups": "Autres groupes identitaires", + "other identity type": "", + "other payment type": "", "Other public sector organization, which is regulated by the Accessible Canada Act": "Autre organisation du secteur public qui est réglementée par la Loi canadienne sur l’accessibilité", "Other – in-person or virtual meeting": "Autre - réunion en personne ou virtuelle", "Other – written or recorded response": "Autre – réponse écrite ou enregistrée", "Our team does not have people with lived and living experiences of disability or being Deaf.": "Notre équipe ne compte pas de personnes en situation de handicap ou de personne sourdes, ou de personnes ayant une expérience vécue du handicap ou de la surdité.", "Our team has people with lived and living experiences of disability or being Deaf.": "Notre équipe compte des personnes en situation de handicap ou des personnes sourdes, ou des personnes ayant une expérience vécue du handicap ou de la surdité.", "Outcomes and reports": "Résultats et rapports", + "Outcomes and reports other": "", + "out of scope": "", "Pacific Standard or Daylight Time": "Heure normale ou avancée du Pacifique", "page": "page", "Page also available in:": "Page également disponible en :", @@ -1011,6 +1100,7 @@ "Page title": "Titre de la page", "Page translations": "Traductions de la page", "Paid": "Opportunité rémunérée", + "paid": "", "Pain-related disabilities": "Incapacités liées à la douleur", "Parliamentary entities": "Entités parlementaires", "Participant": "Personne participante", @@ -1148,9 +1238,13 @@ "Prefer not to answer": "Préfère ne pas répondre", "preferred": "préféré", "Preferred contact method": "Méthode de contact privilégiée", + "preferred contact method": "", + "Preferred contact person": "", "Preferred notification method": "Méthode de notification privilégiée", "present": "présent", "Preview page": "Prévisualiser la page", + "previous project": "", + "previous project id": "", "Pricing": "Tarification", "Prince Edward Island": "Île-du-Prince-Édouard", "Printed version of engagement documents": "Version imprimée des documents de consultation", @@ -1159,17 +1253,32 @@ "Privacy Policy": "Politique de confidentialité", "Procurement": "Approvisionnement", "project": "projet", + "projectable id": "", + "projectable type": "", "Project by :projectable": "Projet par :projectable", + "project context": "", + "project created by organization type notification setting": "", "Project details": "Détails du projet", "Project duration": "Durée du projet", "Project end date": "Date de fin du projet", + "project engagement type notification setting": "", "Project goals": "Objectifs du projet", "project goals": "objectifs du projet", + "Project goals (English)": "", + "Project goals (French)": "", "Project goals must be provided in at least one language.": "Les objectifs du projet doivent être fournis dans au moins une langue.", + "project id": "", "Project impact": "Impact du projet", + "project languages": "", "Project name": "Nom du projet", "project name": "nom du projet", + "project name (English)": "", + "Project name (English)": "", + "project name (French)": "", + "Project name (French)": "", "Project outcome": "Résultat du projet", + "Project outcome (English)": "", + "Project outcome (French)": "", "Project overview": "Aperçu du projet", "Project page incomplete": "Project page incomplete", "Project reports": "Rapports de projets", @@ -1177,6 +1286,8 @@ "Projects and engagements by other organizations": "Projets et consultations d’autres organisations", "Projects by organizations that I have saved on my notification list": "Projets des organisations que j’ai enregistrées dans ma liste de notification", "Project scope": "Portée du projet", + "Project scope (English)": "", + "Project scope (French)": "", "Project scope must be provided in at least one language.": "La portée du projet doit être fournie dans au moins une langue.", "Projects I am contracted for": "Projets pour lesquels je suis sous contrat", "Projects I am participating in": "Projets auxquels je participe", @@ -1184,12 +1295,14 @@ "Projects involved in as a Community Connector": "Projects involved in as a Community Connector", "Projects involved in as a Consultation Participant": "Projects involved in as a Consultation Participant", "Projects I’m running": "Projets que je dirige", + "projects notification setting": "", "Project start date": "Date de début du projet", "Projects that are looking for people that my organization represents or supports": "Projets cherchant des personnes que mon organisation représente ou soutient", "Projects that are looking for someone with my lived experience": "Projets cherchant une personne ayant une expérience vécue similaire à la mienne", "Project team": "Équipe du projet", "Project timeframe": "Echéancier du projet", "Project Translations": "Traductions du projet", + "project type notification setting": "", "Pronouns": "Pronons", "pronouns": "pronons", "Provides Guidance and Resources": "Un lieu pour trouver des conseils et des ressources", @@ -1199,6 +1312,7 @@ "Providing this information will help us match you to projects that are working on areas of interest to you.": "Fournir ces informations nous aidera à vous jumeler à des projets qui portent sur des domaines qui vous intéressent.", "Province or territory": "Province ou territoire", "province or territory": "province ou territoire", + "public outcomes": "", "Public profile": "Profil public", "Publish": "Publier", "Published": "Publiée", @@ -1206,6 +1320,7 @@ "Published on :date": "Publié le :date", "Publish page": "Publier la page", "Quebec": "Québec", + "questions": "", "Questions are sent to participants by:": "Les questions sont envoyées aux personnes participantes par :", "Quick exit": "Sortie rapide", "Quick links": "Liens rapides", @@ -1223,6 +1338,7 @@ "Recruit individuals who are Deaf or have disabilities to give input on your own projects.": "Recrutez des personnes sourdes ou en situation de handicap pour qu’elles donnent leur avis sur vos projets.", "Recruitment": "Recrutement", "Recruitment method": "Méthode de recrutement", + "recruitment method": "", "Refugees": "Refugees", "Refugees and\/or immigrants": "Personnes réfugiées ou migrantes", "Regions": "Régions", @@ -1236,6 +1352,7 @@ "Regulated organizations": "Organisations sous réglementation fédérale", "Regulated Organizations": "Organisations sous réglementation fédérale", "Regulated organizations hire a Community Connector to connect to certain communities that they may otherwise find difficult to reach. Providing the information about the communities that you have connections to, lets the government and business groups know how you could help them.": "Les organismes réglementés font appel à une personne facilitatrice communautaire afin d’établir des liens avec certaines communautés qu’ils pourraient autrement avoir du mal à rejoindre. En fournissant les informations sur les communautés avec lesquelles vous avez des liens, vous permettez au gouvernement et aux entreprises de savoir comment vous pourriez les aider.", + "Regulated Organization type": "", "Relevant experience": "Expérience pertinente", "Relevant experiences": "Expériences pertinentes", "Relevant experiences (including any volunteer or paid experience)": "Expériences pertinentes (y compris toute expérience bénévole ou rémunérée)", @@ -1255,6 +1372,7 @@ "Remove this link": "Retirer ce lien", "Remove this location": "Retirer cet emplacement", "Remove this training": "Retirer cette formation", + "report notification setting": "", "represent": "représenter", "Representative organization": "Organisation représentative", "Representative organizations": "Organisation de personnes en situation de handicap ou de personnes sourdes", @@ -1279,14 +1397,18 @@ "Results": "Résultats", "Returned": "Retourné", "Return to dashboard": "Retour au tableau de bord", + "return to engagement": "", "Review and publish engagement details": "Réviser et publier les détails de la consultation", "Review and publish your organization’s public page": "Révisez et publiez la page publique de votre organisation", "Review and publish your public page": "Révisez et publiez votre page publique", + "review and updates notification settings": "", "Review engagement details": "Réviser les détails de la consultation", "Review project": "Réviser le projet", "Review project details": "Vérifier les détails du projet", "Role": "Rôle", + "role": "", "Roles": "Rôles", + "roles": "", "Roles:": "Rôles :", "Roles and permissions": "Rôles et permissions", "Run by": "Dirigé par", @@ -1346,6 +1468,7 @@ "Show that you are looking for a Community Connector": "Indiquer que vous êtes à la recherche d’une personne facilitatrice communautaire", "show up on search results for them": "apparaître dans les résultats de recherche", "Signed language for interpretation": "Langue signée pour l’interprétation", + "signed language for translation": "", "Sign in": "S’identifier", "Sign language interpretation": "Interprétation en langue des signes", "Sign language interpretations": "Interprétation en langue des signes", @@ -1419,6 +1542,10 @@ "Support organization": "Organisation de soutien", "Support organizations": "Organisation de soutien", "Support person, :name": "Nom de la personne accompagnatrice, :name", + "support person requires Video Relay Service (VRS) for phone calls": "", + "support person’s email": "", + "support person’s name": "", + "support person’s phone number": "", "Support phone": "Support phone", "Survey": "Sondage", "Survey materials": "Documents du sondage", @@ -1432,12 +1559,14 @@ "Tap into our support network": "Profitez de notre réseau de soutien", "Team contact": "Contact de l’équipe", "Team Invitation": "Invitation à rejoindre une équipe", + "team size": "", "Tell us about who you are.": "Dites-nous en plus à propos de vous.", "Tell us about your organization, its mission, and what you offer.": "Parlez-nous de votre organisation, de sa mission et de ce que vous offrez.", "Tell us your business name": "Tell us your business name", "Tell us your organization’s name": "Indiquez-nous le nom de votre organisation", "Templates and forms": "Modèles et formulaires", "Temporary disabilities": "Incapacités temporaires", + "term": "", "terms of service": "conditions d’utilisation", "Terms of Service": "Conditions d’utilisation", "Text": "Texte", @@ -1561,6 +1690,7 @@ "Time and date": "Heure et date", "Times during the day interviews will be happening": "Heures auxquelles les entrevues auront lieu durant la journée", "Time zone": "Fuseau horaire", + "timezone": "", "Title of meeting": "Titre de la réunion", "Title of role": "Titre du rôle ou du poste", "Title of Role": "Titre du rôle ou du poste", @@ -1578,6 +1708,7 @@ "To request an estimate, you must have filled out your project’s engagement details (and meeting information for workshops and focus groups).": "Pour demander un devis, vous devez avoir rempli les détails de la consultation en lien avec votre projet ( ainsi que les informations relatives aux réunions pour les ateliers et les groupes de discussion).", "Trainer": "Personne fomatrice", "Training": "Formation", + "training": "", "Training by: :author": "Training by: :author", "training date": "training date", "training name": "training name", @@ -1586,12 +1717,15 @@ "training organization or trainer website address": "training organization or trainer website address", "Training Participant": "Personne cherchant à se former", "Training your team has received": "Formation que votre équipe a suivie", + "translatable id": "", + "translatable type": "", "Translations": "Traductions", "Trans people": "Personnes transgenres", "Tuesday": "Mardi", "Twitter page": "Page Twitter", "Two-factor authentication": "Authentification à deux facteurs", "Type of organization": "Type d’organisation", + "type of Regulated Organization": "", "Types of experiences or identities": "Types d’expériences ou d’identités", "Types of meetings offered": "Types de réunions proposées", "Types of regulated organizations": "Types of regulated organizations", @@ -1629,6 +1763,7 @@ "Volunteer": "Bénévole", "VRS": "SRV", "Ways to attend": "Façons de participer", + "ways to attend": "", "Ways to participate": "Façons de participer", "We ask Accessibility Consultants for the following information:": "Nous demandons aux personnes consultantes en matière d’accessibilité de fournir les informations suivantes :", "We ask Community Connectors for the following information:": "Nous demandons aux personnes facilitatrices communautaires de fournir les informations suivantes :", @@ -1713,6 +1848,7 @@ "Which of these areas can you help a regulated organization with?": "Dans lesquels de ces domaines pouvez-vous aider une organisation réglementée ?", "White": "Blanc", "White on black": "Blanc sur noir", + "who": "", "Who can be a :role?": "Qui peut être une :role?", "Who do you want to engage?": "Qui voulez-vous consulter ?", "who is going through the results": "qui passe en revue les résultats", @@ -1722,6 +1858,7 @@ "Who you’re joining as": "Quel type de compte voulez-vous créer?", "Who’s responsible for going through results and producing an outcome": "Who’s responsible for going through results and producing an outcome", "Why do we ask for this information?": "Pourquoi demandons-nous ces informations ?", + "window flexibility": "", "Women": "Femmes", "Word document": "Document Word", "Working age adults (15–64)": "Adultes en âge de travailler (15-64)", @@ -1732,6 +1869,7 @@ "Would you like to be notified directly when you are added to an engagement as a Community Connector?": "Aimeriez vous recevoir une notification lorsque vous êtes ajouté à une consultation en tant que personne facilitatrice communautaire ?", "Writing": "Réponse écrite", "Writing accessibility reports": "Rédaction de rapports relatifs à l’accessibilité", + "written language for translation": "", "Written language translation": "Traduction en langue écrite", "Written or recorded responses": "Réponses écrites ou enregistrées", "Wrong answer": "Mauvaise réponse", diff --git a/tests/Datasets/AddNotificaitonableRequestValidationErrors.php b/tests/Datasets/AddNotificaitonableRequestValidationErrors.php index de4ad56df..20ad1c835 100644 --- a/tests/Datasets/AddNotificaitonableRequestValidationErrors.php +++ b/tests/Datasets/AddNotificaitonableRequestValidationErrors.php @@ -10,7 +10,7 @@ ], 'notificationable type is invalid' => [ [], - fn () => ['notificationable_type' => __('validation.in', ['attribute' => 'notificationable type'])], + fn () => ['notificationable_type' => __('validation.in', ['attribute' => __('notificationable type')])], ], 'missing notificationable id' => [ ['notificationable_id' => null], diff --git a/tests/Datasets/MeetingRequestValidationErrors.php b/tests/Datasets/MeetingRequestValidationErrors.php index 7c83c518e..aa5ed9705 100644 --- a/tests/Datasets/MeetingRequestValidationErrors.php +++ b/tests/Datasets/MeetingRequestValidationErrors.php @@ -17,7 +17,7 @@ ], 'Title is not a string' => [ ['title' => ['en' => false]], - fn () => ['title.en' => __('validation.string', ['attribute' => 'title.en'])], + fn () => ['title.en' => __('validation.string', ['attribute' => __('meeting title (English)')])], ['meetingType' => MeetingType::InPerson->value], ], 'Date missing' => [ @@ -77,7 +77,7 @@ ], 'Meeting types is not an array' => [ ['meeting_types' => MeetingType::InPerson->value], - fn () => ['meeting_types' => __('validation.array', ['attribute' => 'meeting types'])], + fn () => ['meeting_types' => __('validation.array', ['attribute' => __('ways to attend')])], ], 'Meeting type is invalid' => [ ['meeting_types' => ['new_meeting_type']], @@ -85,7 +85,7 @@ ], 'Street address missing' => [ ['street_address' => null], - fn () => ['street_address' => __('You must enter a :attribute for the meeting location.', ['attribute' => 'street address'])], + fn () => ['street_address' => __('You must enter a :attribute for the meeting location.', ['attribute' => __('Street address')])], [ 'meetingType' => MeetingType::InPerson->value, 'without' => ['street_address'], @@ -93,12 +93,12 @@ ], 'Street address is not a string' => [ ['street_address' => 1234], - fn () => ['street_address' => __('validation.string', ['attribute' => 'street address'])], + fn () => ['street_address' => __('validation.string', ['attribute' => __('Street address')])], ['meetingType' => MeetingType::InPerson->value], ], 'Unit/Suite/Floor is not a string' => [ ['unit_suite_floor' => 1234], - fn () => ['unit_suite_floor' => __('validation.string', ['attribute' => 'unit suite floor'])], + fn () => ['unit_suite_floor' => __('validation.string', ['attribute' => __('Unit, suite, or floor')])], ['meetingType' => MeetingType::InPerson->value], ], 'Locality missing' => [ @@ -129,7 +129,7 @@ ], 'Postal code missing' => [ ['postal_code' => null], - fn () => ['postal_code' => __('You must enter a :attribute for the meeting location.', ['attribute' => 'postal code'])], + fn () => ['postal_code' => __('You must enter a :attribute for the meeting location.', ['attribute' => __('Postal code')])], [ 'meetingType' => MeetingType::InPerson->value, 'without' => ['postal_code'], @@ -137,17 +137,17 @@ ], 'Postal code is not a string' => [ ['postal_code' => 'XX'], - fn () => ['postal_code' => __('validation.postal_code', ['attribute' => 'postal code'])], + fn () => ['postal_code' => __('validation.postal_code', ['attribute' => __('Postal code')])], ['meetingType' => MeetingType::InPerson->value], ], 'Directions is not an array' => [ ['directions' => 'Take first elevator to the second floor.'], - fn () => ['directions' => __('validation.array', ['attribute' => 'directions'])], + fn () => ['directions' => __('validation.array', ['attribute' => __('directions')])], ['meetingType' => MeetingType::InPerson->value], ], 'Meeting software missing' => [ ['meeting_software' => null], - fn () => ['meeting_software' => __('You must indicate the :attribute.', ['attribute' => 'meeting software'])], + fn () => ['meeting_software' => __('You must indicate the :attribute.', ['attribute' => __('meeting software')])], [ 'meetingType' => MeetingType::WebConference->value, 'without' => ['meeting_software'], @@ -155,12 +155,12 @@ ], 'Meeting software is not a string' => [ ['meeting_software' => 1234], - fn () => ['meeting_software' => __('validation.string', ['attribute' => 'meeting software'])], + fn () => ['meeting_software' => __('validation.string', ['attribute' => __('meeting software')])], ['meetingType' => MeetingType::WebConference->value], ], 'Alternative meeting software is not a boolean' => [ ['alternative_meeting_software' => 'false'], - fn () => ['alternative_meeting_software' => __('validation.boolean', ['attribute' => 'alternative meeting software'])], + fn () => ['alternative_meeting_software' => __('validation.boolean', ['attribute' => __('alternative meeting software')])], ['meetingType' => MeetingType::WebConference->value], ], 'Meeting url missing' => [ @@ -178,7 +178,7 @@ ], 'Additional video information is not an array' => [ ['additional_video_information' => 'Wait for host to accept you to the room.'], - fn () => ['additional_video_information' => __('validation.array', ['attribute' => 'additional video information'])], + fn () => ['additional_video_information' => __('validation.array', ['attribute' => __('additional video information')])], ['meetingType' => MeetingType::WebConference->value], ], 'Meeting phone missing' => [ @@ -196,7 +196,7 @@ ], 'Additional phone information is not an array' => [ ['additional_phone_information' => 'Press option 1.'], - fn () => ['additional_phone_information' => __('validation.array', ['attribute' => 'additional phone information'])], + fn () => ['additional_phone_information' => __('validation.array', ['attribute' => __('additional phone information')])], ['meetingType' => MeetingType::Phone->value], ], ]; diff --git a/tests/Datasets/RemoveNotificaitonableRequestValidationErrors.php b/tests/Datasets/RemoveNotificaitonableRequestValidationErrors.php index b120584bf..8ac289985 100644 --- a/tests/Datasets/RemoveNotificaitonableRequestValidationErrors.php +++ b/tests/Datasets/RemoveNotificaitonableRequestValidationErrors.php @@ -4,33 +4,33 @@ return [ 'missing notificationable type' => [ ['notificationable_type' => null], - fn () => ['notificationable_type' => __('validation.required', ['attribute' => 'notificationable type'])], + fn () => ['notificationable_type' => __('validation.required', ['attribute' => __('notificationable type')])], ], 'notificationable type not a string' => [ ['notificationable_type' => false], fn () => [ - 'notificationable_type' => __('validation.string', ['attribute' => 'notificationable type']), - 'notificationable_type' => __('validation.in', ['attribute' => 'notificationable type']), + 'notificationable_type' => __('validation.string', ['attribute' => __('notificationable type')]), + 'notificationable_type' => __('validation.in', ['attribute' => __('notificationable type')]), ], ], 'notificationable type is invalid' => [ ['notificationable_type' => 'fakeClass'], - fn () => ['notificationable_type' => __('validation.in', ['attribute' => 'notificationable type'])], + fn () => ['notificationable_type' => __('validation.in', ['attribute' => __('notificationable type')])], ], 'missing notificationable id' => [ ['notificationable_id' => null], - fn () => ['notificationable_id' => __('validation.required', ['attribute' => 'notificationable id'])], + fn () => ['notificationable_id' => __('validation.required', ['attribute' => __('notificationable id')])], ], 'notificationable id not an integer' => [ ['notificationable_id' => 'test'], fn () => [ - 'notificationable_id' => __('validation.integer', ['attribute' => 'notificationable id']), + 'notificationable_id' => __('validation.integer', ['attribute' => __('notificationable id')]), ], ], 'notificationable id is invalid' => [ ['notificationable_id' => 10000000], fn () => [ - 'notificationable_id' => __('validation.in', ['attribute' => 'notificationable id']), + 'notificationable_id' => __('validation.in', ['attribute' => __('notificationable id')]), ], ], ]; diff --git a/tests/Datasets/UpdateEngagementRequestValidationErrors.php b/tests/Datasets/UpdateEngagementRequestValidationErrors.php index 44bf07d51..c74d7d6dd 100644 --- a/tests/Datasets/UpdateEngagementRequestValidationErrors.php +++ b/tests/Datasets/UpdateEngagementRequestValidationErrors.php @@ -24,7 +24,7 @@ ], 'Name translation is not a string' => [ 'state' => ['name.en' => false], - 'errors' => fn () => ['name.en' => __('validation.string', ['attribute' => 'name.en'])], + 'errors' => fn () => ['name.en' => __('validation.string', ['attribute' => __('engagement name (English)')])], ], 'Description is missing' => [ ['description' => null], @@ -43,7 +43,7 @@ ], 'Description translation is not a string' => [ 'state' => ['description.en' => false], - 'errors' => fn () => ['description.en' => __('validation.string', ['attribute' => 'description.en'])], + 'errors' => fn () => ['description.en' => __('validation.string', ['attribute' => __('engagement description (English)')])], ], 'Window start date is missing' => [ ['window_start_date' => null], @@ -139,7 +139,7 @@ ], 'Timezone is missing' => [ ['timezone' => null], - fn () => ['timezone' => __('You must enter a :attribute', ['attribute' => 'timezone'])], + fn () => ['timezone' => __('You must enter a :attribute', ['attribute' => __('timezone')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -147,7 +147,7 @@ ], 'Timezone is invalid' => [ ['timezone' => 'my timezone'], - fn () => ['timezone' => __('You must enter a :attribute', ['attribute' => 'timezone'])], + fn () => ['timezone' => __('You must enter a :attribute', ['attribute' => __('timezone')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -155,7 +155,7 @@ ], 'Window flexibility is not a boolean value' => [ ['window_flexibility' => ['false']], - fn () => ['window_flexibility' => __('validation.boolean', ['attribute' => 'window flexibility'])], + fn () => ['window_flexibility' => __('validation.boolean', ['attribute' => __('window flexibility')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -164,7 +164,7 @@ 'Weekday availabilities is not an array' => [ fn () => ['weekday_availabilities' => Availability::Available->value], fn () => [ - 'weekday_availabilities' => __('validation.array', ['attribute' => 'weekday availabilities']), + 'weekday_availabilities' => __('validation.array', ['attribute' => __('availability')]), 'weekday_availabilities.monday' => __('validation.required', ['attribute' => __('availability for Monday')]), 'weekday_availabilities.tuesday' => __('validation.required', ['attribute' => __('availability for Tuesday')]), 'weekday_availabilities.wednesday' => __('validation.required', ['attribute' => __('availability for Wednesday')]), @@ -204,14 +204,14 @@ ], 'Meeting types is missing' => [ ['meeting_types' => null], - fn () => ['meeting_types' => __('You must select at least one way to attend the meeting.', ['attribute' => 'meeting types'])], + fn () => ['meeting_types' => __('You must select at least one way to attend the meeting.', ['attribute' => __('Ways to attend')])], [ 'format' => EngagementFormat::Interviews->value, ], ], 'Meeting types is not an array' => [ ['meeting_types' => MeetingType::InPerson->value], - fn () => ['meeting_types' => __('validation.array', ['attribute' => 'meeting types'])], + fn () => ['meeting_types' => __('validation.array', ['attribute' => __('Ways to attend')])], [ 'format' => EngagementFormat::Interviews->value, ], @@ -225,7 +225,7 @@ ], 'Street address is missing' => [ ['street_address' => null], - fn () => ['street_address' => __('You must enter a :attribute for the meeting location.', ['attribute' => 'street address'])], + fn () => ['street_address' => __('You must enter a :attribute for the meeting location.', ['attribute' => __('Street address')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -233,7 +233,7 @@ ], 'Street address is invalid' => [ ['street_address' => false], - fn () => ['street_address' => __('validation.string', ['attribute' => 'street address'])], + fn () => ['street_address' => __('validation.string', ['attribute' => __('Street address')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -241,7 +241,7 @@ ], 'Unit/suite/floor is invalid' => [ ['unit_suite_floor' => false], - fn () => ['unit_suite_floor' => __('validation.string', ['attribute' => 'unit suite floor'])], + fn () => ['unit_suite_floor' => __('validation.string', ['attribute' => __('Unit, suite, or floor')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -281,7 +281,7 @@ ], 'Postal code is missing' => [ ['postal_code' => null], - fn () => ['postal_code' => __('You must enter a :attribute for the meeting location.', ['attribute' => 'postal code'])], + fn () => ['postal_code' => __('You must enter a :attribute for the meeting location.', ['attribute' => __('Postal code')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -297,7 +297,7 @@ ], 'Directions is not an array' => [ ['directions' => 'Use the front elevator to go to the second floor.'], - fn () => ['directions' => __('validation.array', ['attribute' => 'directions'])], + fn () => ['directions' => __('validation.array', ['attribute' => __('directions')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -305,7 +305,7 @@ ], 'Meeting software is missing' => [ ['meeting_software' => null], - fn () => ['meeting_software' => __('You must indicate the :attribute.', ['attribute' => 'meeting software'])], + fn () => ['meeting_software' => __('You must indicate the :attribute.', ['attribute' => __('meeting software')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::WebConference->value, @@ -313,7 +313,7 @@ ], 'Meeting software is invalid' => [ ['meeting_software' => false], - fn () => ['meeting_software' => __('validation.string', ['attribute' => 'meeting software'])], + fn () => ['meeting_software' => __('validation.string', ['attribute' => __('meeting software')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::WebConference->value, @@ -321,7 +321,7 @@ ], 'Alternative meeting software is invalid' => [ ['alternative_meeting_software' => ['false']], - fn () => ['alternative_meeting_software' => __('validation.boolean', ['attribute' => 'alternative meeting software'])], + fn () => ['alternative_meeting_software' => __('validation.boolean', ['attribute' => __('alternative meeting software')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::WebConference->value, @@ -345,7 +345,7 @@ ], 'Additional video information is not an array' => [ ['additional_video_information' => 'more info'], - fn () => ['additional_video_information' => __('validation.array', ['attribute' => 'additional video information'])], + fn () => ['additional_video_information' => __('validation.array', ['attribute' => __('additional video information')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::WebConference->value, @@ -369,7 +369,7 @@ ], 'Additional phone information is not an array' => [ ['additional_phone_information' => 'Press 1 after the beep.'], - fn () => ['additional_phone_information' => __('validation.array', ['attribute' => 'additional phone information'])], + fn () => ['additional_phone_information' => __('validation.array', ['attribute' => __('additional phone information')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::Phone->value, @@ -512,7 +512,7 @@ ], 'Document languages not an array - other-async' => [ ['document_languages' => 'en'], - fn () => ['document_languages' => __('validation.array', ['attribute' => 'document languages'])], + fn () => ['document_languages' => __('validation.array', ['attribute' => __('document languages')])], [ 'format' => EngagementFormat::OtherAsync->value, ], @@ -533,7 +533,7 @@ ], 'Document languages not an array - survey' => [ ['document_languages' => 'en'], - fn () => ['document_languages' => __('validation.array', ['attribute' => 'document languages'])], + fn () => ['document_languages' => __('validation.array', ['attribute' => __('document languages')])], [ 'format' => EngagementFormat::Survey->value, ], @@ -547,7 +547,7 @@ ], 'Accepted formats missing' => [ ['accepted_formats' => null], - fn () => ['accepted_formats' => __('You must indicate the :attribute.', ['attribute' => 'accepted formats'])], + fn () => ['accepted_formats' => __('You must indicate the :attribute.', ['attribute' => __('accepted formats')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -556,7 +556,7 @@ ], 'Accepted formats is not an array' => [ ['accepted_formats' => AcceptedFormat::Writing->value], - fn () => ['accepted_formats' => __('validation.array', ['attribute' => 'accepted formats'])], + fn () => ['accepted_formats' => __('validation.array', ['attribute' => __('accepted formats')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -574,7 +574,7 @@ ], 'Other accepted formats is not a boolean' => [ ['other_accepted_formats' => 'false'], - fn () => ['other_accepted_formats' => __('validation.boolean', ['attribute' => __('accepted formats')])], + fn () => ['other_accepted_formats' => __('validation.boolean', ['attribute' => __('other accepted formats')])], [ 'format' => EngagementFormat::Interviews->value, 'meetingType' => MeetingType::InPerson->value, @@ -616,7 +616,7 @@ ], 'Paid is not a boolean' => [ ['paid' => 'false'], - fn () => ['paid' => __('validation.boolean', ['attribute' => 'paid'])], + fn () => ['paid' => __('validation.boolean', ['attribute' => __('paid')])], ], 'Signup by date is missing' => [ ['signup_by_date' => null], diff --git a/tests/Datasets/UpdateEngagementSelectionCriteriaRequestValidationErrors.php b/tests/Datasets/UpdateEngagementSelectionCriteriaRequestValidationErrors.php index bb182d526..a59ac8526 100644 --- a/tests/Datasets/UpdateEngagementSelectionCriteriaRequestValidationErrors.php +++ b/tests/Datasets/UpdateEngagementSelectionCriteriaRequestValidationErrors.php @@ -8,11 +8,11 @@ return [ 'Location type missing' => [ ['location_type' => null], - fn () => ['location_type' => __('validation.required', ['attribute' => 'location type'])], + fn () => ['location_type' => __('validation.required', ['attribute' => __('location type')])], ], 'Location type is invalid' => [ ['location_type' => 'test location'], - fn () => ['location_type' => __('validation.in', ['attribute' => 'location type'])], + fn () => ['location_type' => __('validation.in', ['attribute' => __('location type')])], ], 'Regions is missing' => [ fn () => ['location_type' => LocationType::Regions->value], @@ -24,7 +24,7 @@ 'location_type' => LocationType::Regions->value, 'regions' => ProvinceOrTerritory::Ontario->value, ], - fn () => ['regions' => __('validation.array', ['attribute' => 'regions'])], + fn () => ['regions' => __('validation.array', ['attribute' => __('province or territory')])], ], 'Region is invalid' => [ fn () => [ @@ -43,7 +43,7 @@ 'location_type' => LocationType::Localities->value, 'locations' => 'my location', ], - fn () => ['locations' => __('validation.array', ['attribute' => 'locations'])], + fn () => ['locations' => __('validation.array', ['attribute' => __('Location')])], ], 'Location region is missing' => [ fn () => [ @@ -85,11 +85,11 @@ ], 'Cross disability and deaf missing' => [ ['cross_disability_and_deaf' => null], - fn () => ['cross_disability_and_deaf' => __('validation.required', ['attribute' => 'cross disability and deaf'])], + fn () => ['cross_disability_and_deaf' => __('validation.required', ['attribute' => __('Cross disability (includes people with disabilities, Deaf people, and supporters)')])], ], 'Cross disability and deaf is not boolean' => [ ['cross_disability_and_deaf' => 'true'], - fn () => ['cross_disability_and_deaf' => __('validation.boolean', ['attribute' => 'cross disability and deaf'])], + fn () => ['cross_disability_and_deaf' => __('validation.boolean', ['attribute' => __('Cross disability (includes people with disabilities, Deaf people, and supporters)')])], ], 'Disability types missing' => [ [ @@ -113,11 +113,11 @@ ], 'Intersectional missing' => [ ['intersectional' => null], - fn () => ['intersectional' => __('validation.required', ['attribute' => 'intersectional'])], + fn () => ['intersectional' => __('validation.required', ['attribute' => __('intersectional')])], ], 'Intersectional is not boolean' => [ ['intersectional' => 'false'], - fn () => ['intersectional' => __('validation.boolean', ['attribute' => 'intersectional'])], + fn () => ['intersectional' => __('validation.boolean', ['attribute' => __('intersectional')])], ], 'Other identity type missing' => [ ['intersectional' => false], @@ -129,7 +129,7 @@ 'intersectional' => false, 'other_identity_type' => 1234, ], - fn () => ['other_identity_type' => __('validation.string', ['attribute' => 'other identity type'])], + fn () => ['other_identity_type' => __('validation.string', ['attribute' => __('other identity type')])], ], 'Age brackets missing' => [ [ diff --git a/tests/Datasets/UpdateIndividualRequestValidationErrors.php b/tests/Datasets/UpdateIndividualRequestValidationErrors.php index 82d62e036..9a8ef967f 100644 --- a/tests/Datasets/UpdateIndividualRequestValidationErrors.php +++ b/tests/Datasets/UpdateIndividualRequestValidationErrors.php @@ -4,16 +4,16 @@ return [ 'Missing name' => [ ['name' => null], - fn () => ['name' => __('validation.required', ['attribute' => 'name'])], + fn () => ['name' => __('validation.required', ['attribute' => __('full name')])], ['name'], ], 'Name not a string' => [ ['name' => false], - fn () => ['name' => __('validation.string', ['attribute' => 'name'])], + fn () => ['name' => __('validation.string', ['attribute' => __('full name')])], ], 'Name too long' => [ ['name' => '4wdjO$bfTeX4m7ya+WTGK10ywy=3tZhfrHnFkx3ZgC8Uyn1a441EjhDw0HqyFm*btGHQneD=q@+bcJEj$owvxR#bsnb+sdm5Xw+a4wdjO$bfTeX4m7ya+WTGK10ywy=3tZhfrHnFkx3ZgC8Uyn1a441EjhDw0HqyFm*btGHQneD=q@+bcJEj$owvxR#bsnb+sdm5Xw+a4wdjO$bfTeX4m7ya+WTGK10ywy=3tZhfrHnFkx3ZgC8Uyn1a441EjhDw0HqyFm*btGHQneD=q@+bcJEj$owvxR#bsnb+sdm5Xw+a'], - fn () => ['name' => __('validation.max.string', ['attribute' => 'name', 'max' => 255])], + fn () => ['name' => __('validation.max.string', ['attribute' => __('full name'), 'max' => 255])], ], 'Missing region' => [ ['region' => null], @@ -34,7 +34,7 @@ ], 'Bio missing' => [ ['bio' => null], - fn () => ['bio' => __('validation.required', ['attribute' => 'bio'])], + fn () => ['bio' => __('validation.required', ['attribute' => __('bio')])], ['bio'], ], 'Bio not an array' => [ @@ -47,7 +47,7 @@ ], 'Bio translation not a string' => [ ['bio' => ['en' => [123]]], - fn () => ['bio.en' => __('validation.string', ['attribute' => 'bio.en'])], + fn () => ['bio.en' => __('validation.string', ['attribute' => __('bio (English)')])], ], 'Bio missing required translation' => [ ['bio' => ['es' => 'biografía']], @@ -60,11 +60,11 @@ ], 'Working languages not an array' => [ ['working_languages' => 'en'], - fn () => ['working_languages' => __('validation.array', ['attribute' => 'working languages'])], + fn () => ['working_languages' => __('validation.array', ['attribute' => __('Working languages')])], ], 'Consulting services not an array' => [ ['consulting_services' => 'analysis'], - fn () => ['consulting_services' => __('validation.array', ['attribute' => 'consulting services'])], + fn () => ['consulting_services' => __('validation.array', ['attribute' => __('Consulting services')])], ], 'Consulting service invalid' => [ ['consulting_services' => ['test-service']], From d19c4ae692abd17f7bc946cd0de80970c515f0f4 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 7 Dec 2023 11:22:56 -0500 Subject: [PATCH 02/12] fix: localize notifications properly (resolves #2015, #2012) (#2050) * fix: localize attributes properly * fix: decapitalize localization message keys * fix: update error messages * fix: add attributes method to all requests * fix: analyze issues * fix: update tests * fix: update validation errors * fix: run localize * fix: update based on PR feedback * fix: update based on PR feedback * fix: analyze issue * fix: update validation errors * fix: update validation errors * fix: add email attribute to AcceptInvitationRequest * fix: update attribute message * fix: add update attributes for StoreDefinedTermRequest * fix: update based on PR feedback * fix: add preferredLocale for organization models and customize email verification * fix: localize flash messages with user locale * fix: update preferredLocale fallback * fix: add test cases for preferredLocale --- .../Controllers/VerifyEmailController.php | 2 +- app/Models/Organization.php | 10 +++++++- app/Models/RegulatedOrganization.php | 10 +++++++- app/Models/User.php | 2 +- app/Providers/AuthServiceProvider.php | 10 ++++++++ resources/lang/en.json | 4 +++ resources/lang/fr.json | 4 +++ tests/Feature/OrganizationTest.php | 25 +++++++++++++++++++ tests/Feature/RegulatedOrganizationTest.php | 24 ++++++++++++++++++ tests/Feature/UserTest.php | 23 +++++++++++++++++ 10 files changed, 110 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/VerifyEmailController.php b/app/Http/Controllers/VerifyEmailController.php index 7e5f8e3e0..dee8bda5a 100644 --- a/app/Http/Controllers/VerifyEmailController.php +++ b/app/Http/Controllers/VerifyEmailController.php @@ -23,7 +23,7 @@ public function __invoke(VerifyEmailRequest $request): RedirectResponse event(new Verified($request->user())); } - flash(__('hearth::auth.verification_succeeded'), 'success|'.__('hearth::auth.verification_succeeded', [], 'en')); + flash(__('hearth::auth.verification_succeeded', [], $request->user()->locale), 'success|'.__('hearth::auth.verification_succeeded', [], 'en')); return redirect()->intended($dashboard); } diff --git a/app/Models/Organization.php b/app/Models/Organization.php index 775b42886..77786005a 100644 --- a/app/Models/Organization.php +++ b/app/Models/Organization.php @@ -14,6 +14,7 @@ use App\Traits\HasSchemalessAttributes; use Carbon\Carbon; use Hearth\Traits\HasMembers; +use Illuminate\Contracts\Translation\HasLocalePreference; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -45,7 +46,7 @@ * * @property SchemalessAttributes::class $extra_attributes */ -class Organization extends Model +class Organization extends Model implements HasLocalePreference { use CascadesDeletes; use GeneratesMultilingualSlugs; @@ -145,6 +146,13 @@ public function getSlugOptions(): SlugOptions ->saveSlugsTo('slug'); } + public function preferredLocale(): string + { + return get_written_language_for_signed_language( + User::whereBlind('email', 'email_index', $this->contact_person_email)->first()->locale ?? locale() + ); + } + public function getRouteKeyName(): string { return 'slug'; diff --git a/app/Models/RegulatedOrganization.php b/app/Models/RegulatedOrganization.php index d7856d4f0..c334c668e 100644 --- a/app/Models/RegulatedOrganization.php +++ b/app/Models/RegulatedOrganization.php @@ -11,6 +11,7 @@ use Carbon\Carbon; use Hearth\Traits\HasInvitations; use Hearth\Traits\HasMembers; +use Illuminate\Contracts\Translation\HasLocalePreference; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -35,7 +36,7 @@ * * @property SchemalessAttributes::class $extra_attributes */ -class RegulatedOrganization extends Model +class RegulatedOrganization extends Model implements HasLocalePreference { use CascadesDeletes; use GeneratesMultilingualSlugs; @@ -138,6 +139,13 @@ public function getSlugOptions(): SlugOptions ->saveSlugsTo('slug'); } + public function preferredLocale(): string + { + return get_written_language_for_signed_language( + User::whereBlind('email', 'email_index', $this->contact_person_email)->first()->locale ?? locale() + ); + } + public function getRouteKeyName(): string { return 'slug'; diff --git a/app/Models/User.php b/app/Models/User.php index 23bf7fd65..7947675d1 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -160,7 +160,7 @@ public static function configureCipherSweet(EncryptedRow $encryptedRow): void public function preferredLocale() { - return $this->locale; + return get_written_language_for_signed_language($this->locale); } public function canAccessFilament(Panel $panel): bool diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 0e0cef489..3b0a8eba0 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -22,7 +22,9 @@ use App\Policies\ResourceCollectionPolicy; use App\Policies\ResourcePolicy; use Illuminate\Auth\Access\Response; +use Illuminate\Auth\Notifications\VerifyEmail; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; +use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Gate; use Illuminate\Validation\Rules\Password; @@ -74,5 +76,13 @@ public function boot() Password::defaults(function () { return Password::min(8)->mixedCase()->numbers()->symbols()->uncompromised(); }); + + VerifyEmail::toMailUsing(function (object $notifiable, string $url) { + return (new MailMessage) + ->subject(__('Verify Email Address')) + ->line(__('Please click the button below to verify your email address.')) + ->action(__('Verify Email Address'), $url) + ->line(__('If you did not create an account, no further action is required.')); + }); } } diff --git a/resources/lang/en.json b/resources/lang/en.json index 212990885..c50604b38 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -749,6 +749,7 @@ "If you are looking for a specific :attribute, you must select at least one.": "If you are looking for a specific :attribute, you must select at least one.", "If you are seeking a Community Connector for this engagement, there are a few ways to find one:": "If you are seeking a Community Connector for this engagement, there are a few ways to find one:", "If you delete your account:": "If you delete your account:", + "If you did not create an account, no further action is required.": "If you did not create an account, no further action is required.", "If you did not expect to receive an invitation to this :invitationable_type, you may discard this email.": "If you did not expect to receive an invitation to this :invitationable_type, you may discard this email.", "If you have an additional access need you must describe it.": "If you have an additional access need you must describe it.", "If you have forgotten your password, please enter the email address that you used to sign up for The Accessibility Exchange. We will email you a link that will let you choose a new password.": "If you have forgotten your password, please enter the email address that you used to sign up for The Accessibility Exchange. We will email you a link that will let you choose a new password.", @@ -1047,6 +1048,7 @@ "Opens in new tab": "Opens in new tab", "open to other formats": "open to other formats", "optional": "optional", + "organization": "organization", "Organization details": "Organization details", "Organization information": "Organization information", "Organization information that will set you up for running consultations.": "Organization information that will set you up for running consultations.", @@ -1148,6 +1150,7 @@ "Please check all that apply.": "Please check all that apply.", "Please choose a new password for The Accessibility Exchange": "Please choose a new password for The Accessibility Exchange", "Please choose the language or languages you would like to use on this website.": "Please choose the language or languages you would like to use on this website.", + "Please click the button below to verify your email address.": "Please click the button below to verify your email address.", "Please complete this section so that you can be set up to participate.": "Please complete this section so that you can be set up to participate.", "Please complete your engagement details.": "Please complete your engagement details.", "Please complete your engagement details so potential participants can know what they are signing up for.": "Please complete your engagement details so potential participants can know what they are signing up for.", @@ -1746,6 +1749,7 @@ "Urban, rural, or remote": "Urban, rural, or remote", "Urban areas": "Urban areas", "using the matching service to match the regulated organization with a group of people who meet the criteria.": "using the matching service to match the regulated organization with a group of people who meet the criteria.", + "Verify Email Address": "Verify Email Address", "Verify your email": "Verify your email", "Video": "Video", "Video recording": "Video recording", diff --git a/resources/lang/fr.json b/resources/lang/fr.json index e2e8dd30c..9d88acbef 100644 --- a/resources/lang/fr.json +++ b/resources/lang/fr.json @@ -749,6 +749,7 @@ "If you are looking for a specific :attribute, you must select at least one.": "If you are looking for a specific :attribute, you must select at least one.", "If you are seeking a Community Connector for this engagement, there are a few ways to find one:": "Si vous recherchez une personne facilitatrice communautaire pour cette consultation, plusieurs moyens s’offrent à vous :", "If you delete your account:": "Si vous supprimez votre compte :", + "If you did not create an account, no further action is required.": "", "If you did not expect to receive an invitation to this :invitationable_type, you may discard this email.": "Si vous ne vous attendiez pas à recevoir une invitation pour ce\/cette :invitationable_type, vous pouvez ignorer ce courriel.", "If you have an additional access need you must describe it.": "Si vous avez des besoins additionnels en matière d’accessibilité, veuillez les décrire.", "If you have forgotten your password, please enter the email address that you used to sign up for The Accessibility Exchange. We will email you a link that will let you choose a new password.": "Si vous avez oublié votre mot de passe, veuillez entrer l’adresse courriel que vous avez utilisée pour vous inscrire au Connecteur pour l’accessibilité. Nous vous enverrons par courriel un lien qui vous permettra de choisir un nouveau mot de passe.", @@ -1047,6 +1048,7 @@ "Opens in new tab": "S’ouvre dans un nouvel onglet", "open to other formats": "", "optional": "optionnel", + "organization": "", "Organization details": "Détails de l’organisation", "Organization information": "Informations sur l’organisation", "Organization information that will set you up for running consultations.": "Renseignements sur l’organisation qui vous permettront de mener des consultations.", @@ -1148,6 +1150,7 @@ "Please check all that apply.": "Veuillez cocher toutes les cases qui s’appliquent.", "Please choose a new password for The Accessibility Exchange": "Veuillez choisir un nouveau mot de passe pour le Connecteur pour l’accessibilité", "Please choose the language or languages you would like to use on this website.": "Veuillez choisir la ou les langues que vous souhaitez utiliser sur ce site Internet.", + "Please click the button below to verify your email address.": "", "Please complete this section so that you can be set up to participate.": "Please complete this section so that you can be set up to participate.", "Please complete your engagement details.": "Veuillez compléter les détails de votre consultation.", "Please complete your engagement details so potential participants can know what they are signing up for.": "Veuillez compléter les détails de votre consultation afin que les personnes intéressées puissent savoir à quoi elles s’engagent.", @@ -1746,6 +1749,7 @@ "Urban, rural, or remote": "Urbain, rural ou éloigné", "Urban areas": "Zones urbaines", "using the matching service to match the regulated organization with a group of people who meet the criteria.": "en utilisant le service de jumelage afin de mettre en relation l’organisme réglementé avec un groupe de personnes qui répondent à ses critères.", + "Verify Email Address": "", "Verify your email": "Vérifiez votre adresse courriel", "Video": "Vidéo", "Video recording": "Enregistrement vidéo", diff --git a/tests/Feature/OrganizationTest.php b/tests/Feature/OrganizationTest.php index ea2fc18d5..4b4bbd884 100644 --- a/tests/Feature/OrganizationTest.php +++ b/tests/Feature/OrganizationTest.php @@ -50,6 +50,7 @@ $organization = Organization::where('name->en', $user->name.' Foundation')->first(); $response->assertRedirect(localized_route('organizations.show-role-selection', $organization)); + expect($organization->preferredLocale())->toBe('en'); expect($organization->working_languages)->toContain('asl'); actingAs($user)->get(localized_route('organizations.show-role-selection', $organization))->assertOk(); @@ -1215,3 +1216,27 @@ expect($organization->checkStatus('dismissedInvitePrompt'))->toBeTrue(); }); + +test('organization’s preferred locale is set based on contact person’s locale', function () { + $user = User::factory()->create(['context' => 'regulated-organization', 'locale' => 'en']); + $organization = Organization::factory() + ->hasAttached($user, ['role' => 'admin']) + ->create(['contact_person_email' => $user->email]); + + expect($organization->preferredLocale())->toBe('en'); + + $user->locale = 'asl'; + $user->save(); + + expect($organization->preferredLocale())->toBe('en'); + + $user->locale = 'fr'; + $user->save(); + + expect($organization->preferredLocale())->toBe('fr'); + + $user->locale = 'lsq'; + $user->save(); + + expect($organization->preferredLocale())->toBe('fr'); +}); diff --git a/tests/Feature/RegulatedOrganizationTest.php b/tests/Feature/RegulatedOrganizationTest.php index 8d5c10551..6e0bffbfc 100644 --- a/tests/Feature/RegulatedOrganizationTest.php +++ b/tests/Feature/RegulatedOrganizationTest.php @@ -883,3 +883,27 @@ expect($regulatedOrganization->checkStatus('dismissedInvitePrompt'))->toBeTrue(); }); + +test('regulated organization’s preferred locale is set based on contact person’s locale', function () { + $user = User::factory()->create(['context' => 'regulated-organization', 'locale' => 'en']); + $regulatedOrganization = RegulatedOrganization::factory() + ->hasAttached($user, ['role' => 'admin']) + ->create(['contact_person_email' => $user->email]); + + expect($regulatedOrganization->preferredLocale())->toBe('en'); + + $user->locale = 'asl'; + $user->save(); + + expect($regulatedOrganization->preferredLocale())->toBe('en'); + + $user->locale = 'fr'; + $user->save(); + + expect($regulatedOrganization->preferredLocale())->toBe('fr'); + + $user->locale = 'lsq'; + $user->save(); + + expect($regulatedOrganization->preferredLocale())->toBe('fr'); +}); diff --git a/tests/Feature/UserTest.php b/tests/Feature/UserTest.php index 7c0c86743..3e29c8bb9 100644 --- a/tests/Feature/UserTest.php +++ b/tests/Feature/UserTest.php @@ -365,3 +365,26 @@ expect($user->checkStatus('dismissedCustomizationPrompt'))->toBeTrue(); }); + +test('users’ preferred locale is set based on their locale', function () { + $user = User::factory()->create([ + 'locale' => 'en', + ]); + + expect($user->preferredLocale())->toBe('en'); + + $user->locale = 'asl'; + $user->save(); + + expect($user->preferredLocale())->toBe('en'); + + $user->locale = 'fr'; + $user->save(); + + expect($user->preferredLocale())->toBe('fr'); + + $user->locale = 'lsq'; + $user->save(); + + expect($user->preferredLocale())->toBe('fr'); +}); From 780877b8a1f1a54d438c77ec8f5b1e020a13f397 Mon Sep 17 00:00:00 2001 From: The Accessibility Exchange <120509736+theaccessibilityexchange@users.noreply.github.com> Date: Thu, 7 Dec 2023 16:50:41 -0500 Subject: [PATCH 03/12] chore(localization): update translations (#2048) * chore(localization): translate en.json into French, Canada * chore(localization): translate en.json into French, Canada * chore(localization): translate en.json into French, Canada --------- Co-authored-by: Justin Obara --- resources/lang/fr.json | 284 ++++++++++++++++++++--------------------- 1 file changed, 142 insertions(+), 142 deletions(-) diff --git a/resources/lang/fr.json b/resources/lang/fr.json index 9d88acbef..005915911 100644 --- a/resources/lang/fr.json +++ b/resources/lang/fr.json @@ -1,5 +1,5 @@ { - "\"About your organization\"": "", + "\"About your organization\"": "« À propos de votre organisation »", "\"About your organization\" (English)": "« À propos de votre organisation » (en anglais)", "\"About your organization\" (French)": "À propos de votre organisation", "(optional)": "(optionnel)", @@ -87,7 +87,7 @@ "accessibility and inclusion link title": "titre du lien sur les mesures d’accessibilité et d’inclusion", "Accessibility Consultant": "Personne consultante en matière d’accessibilité", "Accessibility consultant application": "Devenir personne consultante en matière d’accessibilité", - "Accessibility Consultant notification setting": "", + "Accessibility Consultant notification setting": "Accessibility Consultant notification setting", "Accessibility Consultants": "Personnes consultantes en matière d’accessibilité", "Accessibility Consultants could help you design consultations that are inclusive and accessible.": "Les personnes consultantes en matière d’accessibilité peuvent vous aider à concevoir des consultations qui soient inclusives et accessibles.", "Accessibility Consultants — Individual": "Personne consultante en matière d’accessibilité - Individu", @@ -129,8 +129,8 @@ "Additional information to join": "Information supplémentaire à joindre", "additional information to join": "information complémentaire à joindre", "Additional needs or concerns": "Besoins ou préoccupations supplémentaires", - "additional phone information": "", - "additional video information": "", + "additional phone information": "additional phone information", + "additional video information": "additional video information", "Add language": "Ajouter une langue", "Add link": "Ajouter un lien", "Add meeting": "Ajouter une réunion", @@ -143,8 +143,8 @@ "A follow-up to a previous project (such as a progress report)": "Un suivi pour un projet précédent (tel qu’un rapport d’étape)", "African": "Africain", "Age": "Âge", - "age bracket connections": "", - "age bracket constituencies": "", + "age bracket connections": "age bracket connections", + "age bracket constituencies": "age bracket constituencies", "Age group": "Groupe d’âge", "age group": "groupe d’âge", "Age groups": "Groupes d’âge", @@ -161,7 +161,7 @@ "All rights reserved.": "Tous droits réservés.", "Already on your block list": "Déjà sur votre liste de blocage", "Already on your notification list.": "Already on your notification list.", - "alternative meeting software": "", + "alternative meeting software": "alternative meeting software", "Alternative text for images": "Texte de remplacement pour les images", "Although it is not compulsory, we highly recommend that you include English and French translations of your content.": "Bien que cela ne soit pas obligatoire, nous vous recommandons vivement d’inclure des traductions en anglais et en français de votre contenu.", "A meeting title must be provided in at least English or French.": "Le titre de la réunion doit être fourni au moins en anglais ou en français.", @@ -189,12 +189,12 @@ "Approve estimate": "Approuver le devis", "Approximate response time": "Temps de réponse approximatif", "approximate response time": "vos temps de réponse approximatifs", - "Approximate response time (English)": "", - "Approximate response time (French)": "", + "Approximate response time (English)": "Approximate response time (English)", + "Approximate response time (French)": "Approximate response time (French)", "A project name must be provided in at least one language.": "Un nom de projet doit être fourni dans au moins une langue.", "A project with this name already exists.": "Un projet portant ce nom existe déjà.", "Area": "Zone", - "area of accessibility planning and design": "", + "area of accessibility planning and design": "area of accessibility planning and design", "Area of impact": "Domaine d’impact", "Areas of accessibility": "Areas of accessibility", "Areas of accessibility you are interested in": "Domaines relatifs à l’accessibilité qui vous intéressent", @@ -203,8 +203,8 @@ "Areas of interest": "Domaines d’intérêt", "Areas of your organization this project will impact": "Secteurs de votre organisation sur lesquels ce projet aura un impact", "area type": "area type", - "area type connections": "", - "area type constituencies": "", + "area type connections": "area type connections", + "area type constituencies": "area type constituencies", "Are you looking for individuals in specific provinces or territories or specific cities or towns?": "Cherchez-vous des personnes dans des provinces ou territoires spécifiques ou dans des villes ou villages spécifiques ?", "Are you sure you want to block :blockable?": "Voulez-vous vraiment bloquer :blockable?", "Are you sure you want to delete your account?": "Voulez-vous vraiment supprimer votre compte ?", @@ -236,7 +236,7 @@ "Author: :author": "Auteur : :author", "Author name": "Nom de l’auteur", "author organization": "author organization", - "availability": "", + "availability": "availability", "availability for Friday": "disponibilité le vendredi", "availability for Monday": "disponibilité le lundi", "availability for Saturday": "disponibilité le samedi", @@ -260,16 +260,16 @@ "Be matched based on what your lived experiences are": "Be matched based on what your lived experiences are", "Between which times during the day will the interviews take place?": "Entre quels moments de la journée les entrevues auront-elles lieu ?", "bio": "bio", - "bio (English)": "", - "bio (French)": "", + "bio (English)": "bio (English)", + "bio (French)": "bio (French)", "Black": "Noir", "Black on brown": "Noir sur brun", "Black on white": "Noir sur blanc", "Black on yellow": "Noir sur jaune", "Block": "Bloquer", "Block :blockable": "Bloquer :bloquable", - "blockable id": "", - "blockable type": "", + "blockable id": "blockable id", + "blockable type": "blockable type", "Blocked individuals and organizations": "Personnes et organisations bloquées", "Body differences": "Différences corporelles", "Booking accessibility service providers": "Gestion de prestataires de services en matière d’accessibilité", @@ -351,7 +351,7 @@ "Communities your organization :represents_or_serves_and_supports": "Communautés que votre organisation :represents_or_serves_and_supports", "Community Connector": "Personne facilitatrice communautaire", "Community connector application": "Community connector application", - "Community Connector notification setting": "", + "Community Connector notification setting": "Community Connector notification setting", "Community Connectors": "Personnes facilitatrices communautaires", "Community Connectors could help you connect with groups that may be hard to reach otherwise.": "Les personnes facilitatrices communautaires peuvent vous aider à entrer en contact avec des groupes qui seraient autrement difficiles à rejoindre.", "Community Connectors — Individual": "Personne facilitatrice communautaire - Individu", @@ -384,7 +384,7 @@ "Congratulations, :name!": "Félicitations, :name!", "Connecting the disability and Deaf communities and their supporters with ": "Une plateforme mettant en relation les communautés de personnes en situation de handicap et de personnes sourdes et leurs alliés avec ", "connecting to a Community Connector to help recruit Consultation Participants.": "la mise en relation avec une personne facilitratrice communautaire afin de faciliter le recrutement des personnes participant à la consultation.", - "connection lived experience": "", + "connection lived experience": "connection lived experience", "Connect members of your community with governments and businesses who are looking for Consultation Participants. Help them learn how to best work with your community.": "Mettez les membres de votre communauté en contact avec les gouvernements et les entreprises qui recherchent des personnes pour participer à des consultations. Aidez-les à apprendre comment travailler au mieux avec votre communauté.", "Connect organizations with participants from my community": "Met en relation des organisations avec des personnes de ma communauté", "Connects the disability and Deaf communities and supporters with organizations that are “regulated” or supervised and monitored by the federal government, so that together they can work on accessibility projects, as required by the Accessible Canada Act.": "Le Connecteur pour l’accessibilité met en relation les communautés de personnes en situation de handicap et de personnes sourdes et leurs alliés avec des organisations qui sont réglementées ou contrôlées par le gouvernement fédéral, afin qu’elles puissent travailler ensemble sur des projets relatifs à l’accessibilité, comme l’exige la Loi canadienne sur l’accessibilité.", @@ -394,7 +394,7 @@ "Consultation Participants are required to share their province\/territory, their city\/town, and whether or not they identify as someone with a disability, Deaf or a supporter. All of the remaining questions are optional. For multiple choice questions, there is an option to select “prefer not to answer”.": "Les personnes participant aux consultations doivent indiquer leur province\/territoire, leur ville\/village et préciser si elles s’identifient ou non comme une personne en situation de handicap, une personne sourde ou une personne soutenant ces personnes. Toutes les autres questions sont facultatives. Pour les questions à choix multiples, une option « préfère ne pas répondre » est disonible.", "Consultation Participants — Individual": "Personne participante à la consultation - Individu", "Consultations": "Consultations", - "consulting methods": "", + "consulting methods": "consulting methods", "Consulting services": "Services de consultation", "Consulting with a Community Organization": "Consultation auprès d’une organisation communautaire", "Contact": "Contact", @@ -407,7 +407,7 @@ "Contacting you with notifications": "Vous contacter grâce à des notifications", "contact person": "contact person", "Contact person": "Personne contact", - "Contact person requires Video Relay Service (VRS) for phone calls": "", + "Contact person requires Video Relay Service (VRS) for phone calls": "Contact person requires Video Relay Service (VRS) for phone calls", "Contact person’s email": "Adresse courriel de la personne contact", "Contact person’s phone number": "Numéro de téléphone de la personne contact", "Contact support": "Contactez le support", @@ -416,7 +416,7 @@ "Content added": "Contenu ajouté", "Content added, unsaved changes": "Contenu ajouté, modifications non sauvegardées", "Content types": "Types de contenus", - "context": "", + "context": "context", "Continue": "Continuer", "Contracted": "Contracted", "Contracts": "Contrats", @@ -456,7 +456,7 @@ "creating an open project, where anyone who matches their criteria can sign up. ": "créer un projet ouvert, où quiconque correspond aux critères peut s’inscrire. ", "Cross disability (includes people with disabilities, Deaf people, and supporters)": "Polyhandicap (comprend les personnes en situation de handicap, les personnes sourdes et les personnes qui les soutiennent)", "Current password": "Mot de passe actuel", - "current password": "", + "current password": "current password", "Customize": "Personnaliser", "Customize this website’s accessibility": "Personnalisez les paramètres d’accessibilité de ce site Internet", "Dark theme": "Thème sombre", @@ -475,7 +475,7 @@ "Decline": "Refuser", "Deepen understanding": "Approfondissement de la compréhension", "Deepen understanding about the systemic barriers (laws, policies, practices, and culture) underlying the experiences that consultation participants report": "Deepen understanding about the systemic barriers (laws, policies, practices, and culture) underlying the experiences that consultation participants report", - "definition": "", + "definition": "definition", "Delete account": "Supprimer le compte", "Delete my page": "Supprimer ma page", "Delete regulated organization": "Supprimer l’organisation sous réglementation fédérale", @@ -491,10 +491,10 @@ "Developing an accessibility plan": "Développement d’un plan sur l’accessiblité", "Developmental disabilities": "Déficience intellectuelle (et autres troubles du développement)", "Did you know…": "Saviez-vous que…", - "directions": "", + "directions": "directions", "Disability and\/or Deaf identity": "Handicap et\/ou identité sourde", - "disability and deaf connections": "", - "disability and deaf constituencies": "", + "disability and deaf connections": "disability and deaf connections", + "disability and deaf constituencies": "disability and deaf constituencies", "Disability and Deaf groups they are looking for": "Groupes de personnes en situation de handicap ou de personnes sourdes qu’ils cherchent", "Disability and Deaf representative organizations": "Organisations représentant les personnes en situation de handicap et les personnes sourdes", "Disability and Deaf support organizations": "Organisation soutenant les personnes en situation de handicap et les personnes sourdes", @@ -505,8 +505,8 @@ "disability type": "type de handicap", "Disconnected rooms for down-time": "Salles isolées pour les temps morts", "Dismiss": "Ignorer", - "document access needs": "", - "document languages": "", + "document access needs": "document access needs", + "document languages": "document languages", "Documents will be sent to participants by:": "Les documents seront envoyés aux personnes participantes par :", "Does :name have lived experience of the people they can connect to?": ":name a-t-il\/a-t-elle une expérience vécue de la réalité des personnes auprès desquelles il\/elle peut servir d’intermédiaire ?", "Does your organization :represent_or_serve_and_support a specific age bracket or brackets?": "Est-ce que votre organisation représente une ou plusieurs tranches d’âge spécifiques ?", @@ -565,14 +565,14 @@ "Engagement": "Consultation", "engagement": "consultation", "engagement description": "description de la consultation", - "engagement description (English)": "", - "engagement description (French)": "", - "engagement format": "", + "engagement description (English)": "engagement description (English)", + "engagement description (French)": "engagement description (French)", + "engagement format": "engagement format", "Engagement materials": "Documents de consultation", "Engagement meetings": "Réunions de la consultation", "engagement name": "nom de la consultation", - "engagement name (English)": "", - "engagement name (French)": "", + "engagement name (English)": "engagement name (English)", + "engagement name (French)": "engagement name (French)", "Engagements": "Consultations", "Engagements by organizations that I have saved on my notification list": "Consultations menées par les organisations que j’ai enregistrés dans ma liste de notifications", "Engagements that are looking for people that my organization represents or supports": "Consultations qui recherchent des personnes que mon organisation représente ou soutient", @@ -592,8 +592,8 @@ "ethnoracial group": "ethnoracial group", "Ethnoracial identity": "Identité ethnoraciale", "ethnoracial identity": "identité ethnoraciale", - "ethnoracial identity connections": "", - "ethnoracial identity constituencies": "", + "ethnoracial identity connections": "ethnoracial identity connections", + "ethnoracial identity constituencies": "ethnoracial identity constituencies", "Experiences": "Expériences", "experience working with organizations to create inclusive consultations, identify barriers, and create accessibility plans.": "expérience de travail avec des organisations pour créer des consultations inclusives, identifier les obstacles et créer des plans en matière d’accessibilité.", "External team": "Équipe externe", @@ -620,7 +620,7 @@ "Finding out about new projects": "Découvrir les nouveaux projets", "Find learning materials, best practices, and variety of tools to help you throughout the consultation process.": "Supports d’apprentissage, meilleures pratiques et une variété d’outils pour vous aider tout au long du processus de consultation.", "Find people with disabilities, Deaf people and community organizations (for example, disability or other relevant civil society organizations, like Indigenous groups), to consult with on your accessibility project.": "Trouvez des personnes en situation de handicap, des personnes sourdes et des organisations communautaires (par exemple, des organisations de personnes en situation de handicap ou d’autres organisations pertinentes de la société civile, comme les groupes autochtones), à consulter dans le cadre de votre projet en matière d’accessibilité.", - "finished introduction": "", + "finished introduction": "finished introduction", "First language": "Première langue", "first language": "first language", "First Nations": "Premières Nations", @@ -660,8 +660,8 @@ "further directions": "autres directives", "Gender and sexual identity": "Identités sexuelles et de genre", "Gender and sexuality": "Genre et sexualité", - "gender and sexuality connections": "", - "gender and sexuality constituencies": "", + "gender and sexuality connections": "gender and sexuality connections", + "gender and sexuality constituencies": "gender and sexuality constituencies", "Gender diverse": "Gender diverse", "Gender fluid people": "Personnes de genre fluide", "Gender identity": "Identité de genre", @@ -692,18 +692,18 @@ "groups you can connect to": "groupes auprès desquels vous pouvez agir comme intermédiaire", "Guidelines and best practices": "Lignes directrices et meilleures pratiques", "Hard-of-hearing": "Personnes malentendantes", - "has age bracket connections": "", - "has age bracket constituencies": "", - "has ethnoracial identity connections": "", - "has ethnoracial identity constituencies": "", - "has gender and sexuality connections": "", - "has gender and sexuality constituencies": "", - "has indigenous connections": "", - "has indigenous constituencies": "", - "has other disability connection": "", - "has other disability constituency": "", - "has other ethnoracial identity connection": "", - "has other ethnoracial identity constituency": "", + "has age bracket connections": "has age bracket connections", + "has age bracket constituencies": "has age bracket constituencies", + "has ethnoracial identity connections": "has ethnoracial identity connections", + "has ethnoracial identity constituencies": "has ethnoracial identity constituencies", + "has gender and sexuality connections": "has gender and sexuality connections", + "has gender and sexuality constituencies": "has gender and sexuality constituencies", + "has indigenous connections": "has indigenous connections", + "has indigenous constituencies": "has indigenous constituencies", + "has other disability connection": "has other disability connection", + "has other disability constituency": "has other disability constituency", + "has other ethnoracial identity connection": "has other ethnoracial identity connection", + "has other ethnoracial identity constituency": "has other ethnoracial identity constituency", "Have more questions?": "Vous avez encore des questions ?", "Have questions?": "Vous avez des questions ?", "Have trouble meeting the access needs of your participants?": "Vous avez du mal à répondre aux besoins en matière d’accessibilité des personnes participantes ?", @@ -749,7 +749,7 @@ "If you are looking for a specific :attribute, you must select at least one.": "If you are looking for a specific :attribute, you must select at least one.", "If you are seeking a Community Connector for this engagement, there are a few ways to find one:": "Si vous recherchez une personne facilitatrice communautaire pour cette consultation, plusieurs moyens s’offrent à vous :", "If you delete your account:": "Si vous supprimez votre compte :", - "If you did not create an account, no further action is required.": "", + "If you did not create an account, no further action is required.": "If you did not create an account, no further action is required.", "If you did not expect to receive an invitation to this :invitationable_type, you may discard this email.": "Si vous ne vous attendiez pas à recevoir une invitation pour ce\/cette :invitationable_type, vous pouvez ignorer ce courriel.", "If you have an additional access need you must describe it.": "Si vous avez des besoins additionnels en matière d’accessibilité, veuillez les décrire.", "If you have forgotten your password, please enter the email address that you used to sign up for The Accessibility Exchange. We will email you a link that will let you choose a new password.": "Si vous avez oublié votre mot de passe, veuillez entrer l’adresse courriel que vous avez utilisée pour vous inscrire au Connecteur pour l’accessibilité. Nous vous enverrons par courriel un lien qui vous permettra de choisir un nouveau mot de passe.", @@ -765,8 +765,8 @@ "Including government departments, agencies and Crown Corporations": "Comprend les ministères, les agences et les sociétés d'État", "Incomplete": "Vous n’avez pas encore complété cette étape.", "Indigenous": "Autochtone", - "indigenous connections": "", - "indigenous constituencies": "", + "indigenous connections": "indigenous connections", + "indigenous constituencies": "indigenous constituencies", "Indigenous group": "Indigenous group", "Indigenous identity": "Indigenous identity", "Individual": "Individu", @@ -781,12 +781,12 @@ "Initiated by": "Lancé par", "In order to create a successful exchange, we ask Consultation Participants to provide this information so that The Accessibility Exchange can match Consultation Participants with an engagement that is looking for someone with your experiences.": "Afin de créer un échange réussi, nous demandons aux personnes participant à des consultations de fournir ces informations afin que le Connecteur pour l’accessibilité puisse mettre en relation les participants à des consultations avec une consultation à la recherche d’une personne ayant votre expérience.", "In person": "En personne", - "in person access needs": "", + "in person access needs": "in person access needs", "In progress": "En cours", "In Progress": "En cours", "Interests": "Intérêts", "Internal team": "Équipe interne", - "intersectional": "", + "intersectional": "intersectional", "Intersectional - This engagement is looking for people who have all sorts of different identities and lived experiences, such as race, gender, age, sexual orientation, and more.": "Intersectionnel - Cette consultation s’adresse à toute personne, peu importe leurs axes d’identités intersectionnels (telles que la race, le sexe, l’âge, l’orientation sexuelle) et leurs expériences vécues.", "Intersectional outreach": "Approche intersectionnelle", "Intervenor": "Intervenant", @@ -796,7 +796,7 @@ "Interviews will take place between :start and :end.": "Les entrevues auront lieu dans la période du :start au :end.", "Introduction video": "Vidéo de présentation", "Inuit": "Inuit", - "invitation": "", + "invitation": "invitation", "Invite": "Envoyer des invitations", "Invite new member": "Inviter un nouveau membre", "Invite others to your organization": "Invitez d’autres personnes à rejoindre votre organisation", @@ -816,14 +816,14 @@ "Join our accessibility community": "Rejoignez notre communauté en faveur de l’accessibilité", "Keeping my information up to date": "Maintenir mes informations à jour", "Language": "Langue", - "language": "", + "language": "language", "Language: :locale": "Langue: :locale", "Language :language added.": "Langue :language ajoutée.", "Language :language removed.": "Langue :language supprimée.", "Language :number": "Langue :number", "Language added.": "Langue ajoutée.", - "language connections": "", - "language constituencies": "", + "language connections": "language connections", + "language constituencies": "language constituencies", "Language groups": "Communautés linguistiques", "Language preferences": "Préférences linguistiques", "Language removed.": "Langue supprimée.", @@ -858,8 +858,8 @@ "link to join the meeting": "lien pour rejoindre la réunion", "Lived and living experiences": "Expériences vécues", "Lived experience": "Expérience vécue", - "lived experience connections": "", - "lived experience constituencies": "", + "lived experience connections": "lived experience connections", + "lived experience constituencies": "lived experience constituencies", "lived experience of disability, or of being Deaf, or both": "l’expérience vécue du handicap, de la surdité, ou des deux", "lived experience of disability or of being Deaf, or of both": "expérience vécue du handicap ou de la surdité, ou des deux", "lived experiences": "lived experiences", @@ -867,9 +867,9 @@ "Living in urban, rural, or remote areas": "Vivant dans des zones urbaines, rurales ou éloignées", "Location": "Emplacement", "Location :number": "Emplacement :number", - "location city or town": "", - "location province or territory": "", - "location type": "", + "location city or town": "location city or town", + "location province or territory": "location province or territory", + "location type": "location type", "Mailing Address": "Adresse postale", "Mailing address": "Adresse postale", "main menu": "menu principal", @@ -897,17 +897,17 @@ "Materials will be provided in the following languages:": "Le matériel sera disponible dans les langues suivantes :", "Me": "Moi", "means that a field is required.": "singifie qu’un champ est requis.", - "meeting access needs": "", + "meeting access needs": "meeting access needs", "meeting date": "date de la réunion", "Meeting dates": "Dates de réunion", "meeting end time": "heure de fin de la réunion", "Meetings": "Réunions", - "meeting software": "", + "meeting software": "meeting software", "meeting start time": "heure de début de la réunion", "meeting time zone": "fuseau horaire de la réunion", "meeting title": "titre de la réunion", - "meeting title (English)": "", - "meeting title (French)": "", + "meeting title (English)": "meeting title (English)", + "meeting title (French)": "meeting title (French)", "Member": "Membre", "Members of our team have received the following training:": "Les membres de notre équipe ont suivi les formations suivantes :", "Men": "Hommes", @@ -959,7 +959,7 @@ "New Estimate Request from :projectable": "Nouvelle demande de devis de :projectable", "Newfoundland and Labrador": "Terre-Neuve-et-Labrador", "Newfoundland Standard or Daylight Time": "Heure normale ou heure avancée de Terre-Neuve", - "new language": "", + "new language": "new language", "New password": "Nouveau mot de passe", "New project": "Nouveau projet", "New reports uploaded": "Nouveaux rapports téléversés", @@ -998,8 +998,8 @@ "Notes": "Remarques", "Not everyone has had access to paid or volunteer experiences, but there are a lot of experiences that build certain skills and strengths. You can share more about that here. If you have had paid or volunteer experiences, you can also include that.": "Tout le monde n’a pas forcément eu la possibilité de vivre des expériences rémunérées ou bénévoles, mais il existe de nombreuses expériences qui permettent de développer certaines compétences et forces. Vous pouvez en parler ici. Si vous avez eu des expériences rémunérées ou bénévoles, vous pouvez également le mentionner.", "Nothing found.": "Rien n’a été trouvé.", - "notificationable id": "", - "notificationable type": "", + "notificationable id": "notificationable id", + "notificationable type": "notificationable type", "Notification list": "Liste des notifications", "Notification List": "Liste des notifications", "Notification preferences": "Préférences de notification", @@ -1046,17 +1046,17 @@ "Ontario": "Ontario", "Open call": "Invitation ouverte", "Opens in new tab": "S’ouvre dans un nouvel onglet", - "open to other formats": "", + "open to other formats": "open to other formats", "optional": "optionnel", - "organization": "", + "organization": "organization", "Organization details": "Détails de l’organisation", "Organization information": "Informations sur l’organisation", "Organization information that will set you up for running consultations.": "Renseignements sur l’organisation qui vous permettront de mener des consultations.", "Organization name": "Nom de l’organisation", "organization name": "nom de l’organisation", - "organization name (English)": "", - "organization name (French)": "", - "organizations": "", + "organization name (English)": "organization name (English)", + "organization name (French)": "organization name (French)", + "organizations": "organizations", "organizations and businesses to work on accessibility projects together.": "les organisations et entreprises afin de travailler ensemble sur des projets relatifs à l’accessibilité.", "Organizations can decide which criteria they would like the participants for a project to have. They then have a choice between:": "Les organisations peuvent décider des critères qu’elles souhaitent voir figurer parmi les personnes participantes à un projet. Elles ont alors le choix entre :", "Organization selection criteria": "Critères de sélection des organisations", @@ -1064,35 +1064,35 @@ "Organizations that provide support “for” disability, Deaf, and family-based members. Not constituted primarily by people with disabilities.": "Organisations qui offrent du soutien ou des services aux personnes en situation de handicap, les personnes sourdes et les membres de la famille. Ne sont pas constituées principalement de personnes en situation de handicap.", "Organizations which have some constituency of persons with disabilities, Deaf persons, or family members, but these groups are not their primary mandate. Groups served, for example, can include: Indigenous organizations, 2SLGBTQ+ organizations, immigrant and refugee groups, and women’s groups.": "Organisations qui comptent parmi leurs membres des personnes en situation de handicap, des personnes sourdes ou des membres de leur famille, mais pour qui ces groupes ne constituent pas leur vocation première. Les groupes desservis peuvent inclure : les organisations autochtones, les organisations 2SLGBTQ+, les groupes de personnes migrantes et réfugiées et les groupes de femmes.", "Organizations “of” disability, Deaf, and family-based organizations. Constituted primarily by people with disabilities.": "Organisations de personnes en situation de handicap, de personnes sourdes, et de familles. Constituées principalement de personnes en situation de handicap.", - "organization type": "", + "organization type": "organization type", "Organization website": "Site Internet de l’organisation", "Other": "Autre", - "other": "", + "other": "other", "Other (please describe)": "Autre (veuillez décrire)", "Other (please specify)": "Autre (veuillez préciser)", "Other accepted format": "Autre format accepté", "other accepted format": "autre format accepté", - "other accepted format (English)": "", - "other accepted format (French)": "", - "other accepted formats": "", - "other access need": "", + "other accepted format (English)": "other accepted format (English)", + "other accepted format (French)": "other accepted format (French)", + "other accepted formats": "other accepted formats", + "other access need": "other access need", "Other civil society organizations relevant to people with disabilities, Deaf people, and supporters": "Autres organisations de la société civile pertinentes pour les personnes en situation de handicap, les personnes sourdes et leurs réseaux de soutien", - "other disability connection": "", - "other disability constituency": "", - "other ethnoracial identity connection": "", - "other ethnoracial identity constituency": "", + "other disability connection": "other disability connection", + "other disability constituency": "other disability constituency", + "other ethnoracial identity connection": "other ethnoracial identity connection", + "other ethnoracial identity constituency": "other ethnoracial identity constituency", "Other identities": "Autres axes d’identité", "Other identity groups": "Autres groupes identitaires", - "other identity type": "", - "other payment type": "", + "other identity type": "other identity type", + "other payment type": "other payment type", "Other public sector organization, which is regulated by the Accessible Canada Act": "Autre organisation du secteur public qui est réglementée par la Loi canadienne sur l’accessibilité", "Other – in-person or virtual meeting": "Autre - réunion en personne ou virtuelle", "Other – written or recorded response": "Autre – réponse écrite ou enregistrée", "Our team does not have people with lived and living experiences of disability or being Deaf.": "Notre équipe ne compte pas de personnes en situation de handicap ou de personne sourdes, ou de personnes ayant une expérience vécue du handicap ou de la surdité.", "Our team has people with lived and living experiences of disability or being Deaf.": "Notre équipe compte des personnes en situation de handicap ou des personnes sourdes, ou des personnes ayant une expérience vécue du handicap ou de la surdité.", "Outcomes and reports": "Résultats et rapports", - "Outcomes and reports other": "", - "out of scope": "", + "Outcomes and reports other": "Outcomes and reports other", + "out of scope": "out of scope", "Pacific Standard or Daylight Time": "Heure normale ou avancée du Pacifique", "page": "page", "Page also available in:": "Page également disponible en :", @@ -1102,7 +1102,7 @@ "Page title": "Titre de la page", "Page translations": "Traductions de la page", "Paid": "Opportunité rémunérée", - "paid": "", + "paid": "paid", "Pain-related disabilities": "Incapacités liées à la douleur", "Parliamentary entities": "Entités parlementaires", "Participant": "Personne participante", @@ -1150,7 +1150,7 @@ "Please check all that apply.": "Veuillez cocher toutes les cases qui s’appliquent.", "Please choose a new password for The Accessibility Exchange": "Veuillez choisir un nouveau mot de passe pour le Connecteur pour l’accessibilité", "Please choose the language or languages you would like to use on this website.": "Veuillez choisir la ou les langues que vous souhaitez utiliser sur ce site Internet.", - "Please click the button below to verify your email address.": "", + "Please click the button below to verify your email address.": "Please click the button below to verify your email address.", "Please complete this section so that you can be set up to participate.": "Please complete this section so that you can be set up to participate.", "Please complete your engagement details.": "Veuillez compléter les détails de votre consultation.", "Please complete your engagement details so potential participants can know what they are signing up for.": "Veuillez compléter les détails de votre consultation afin que les personnes intéressées puissent savoir à quoi elles s’engagent.", @@ -1241,13 +1241,13 @@ "Prefer not to answer": "Préfère ne pas répondre", "preferred": "préféré", "Preferred contact method": "Méthode de contact privilégiée", - "preferred contact method": "", - "Preferred contact person": "", + "preferred contact method": "preferred contact method", + "Preferred contact person": "Preferred contact person", "Preferred notification method": "Méthode de notification privilégiée", "present": "présent", "Preview page": "Prévisualiser la page", - "previous project": "", - "previous project id": "", + "previous project": "previous project", + "previous project id": "previous project id", "Pricing": "Tarification", "Prince Edward Island": "Île-du-Prince-Édouard", "Printed version of engagement documents": "Version imprimée des documents de consultation", @@ -1256,32 +1256,32 @@ "Privacy Policy": "Politique de confidentialité", "Procurement": "Approvisionnement", "project": "projet", - "projectable id": "", - "projectable type": "", + "projectable id": "projectable id", + "projectable type": "projectable type", "Project by :projectable": "Projet par :projectable", - "project context": "", - "project created by organization type notification setting": "", + "project context": "project context", + "project created by organization type notification setting": "project created by organization type notification setting", "Project details": "Détails du projet", "Project duration": "Durée du projet", "Project end date": "Date de fin du projet", - "project engagement type notification setting": "", + "project engagement type notification setting": "project engagement type notification setting", "Project goals": "Objectifs du projet", "project goals": "objectifs du projet", - "Project goals (English)": "", - "Project goals (French)": "", + "Project goals (English)": "Project goals (English)", + "Project goals (French)": "Project goals (French)", "Project goals must be provided in at least one language.": "Les objectifs du projet doivent être fournis dans au moins une langue.", - "project id": "", + "project id": "project id", "Project impact": "Impact du projet", - "project languages": "", + "project languages": "project languages", "Project name": "Nom du projet", "project name": "nom du projet", - "project name (English)": "", - "Project name (English)": "", - "project name (French)": "", - "Project name (French)": "", + "project name (English)": "project name (English)", + "Project name (English)": "Project name (English)", + "project name (French)": "project name (French)", + "Project name (French)": "Project name (French)", "Project outcome": "Résultat du projet", - "Project outcome (English)": "", - "Project outcome (French)": "", + "Project outcome (English)": "Project outcome (English)", + "Project outcome (French)": "Project outcome (French)", "Project overview": "Aperçu du projet", "Project page incomplete": "Project page incomplete", "Project reports": "Rapports de projets", @@ -1289,8 +1289,8 @@ "Projects and engagements by other organizations": "Projets et consultations d’autres organisations", "Projects by organizations that I have saved on my notification list": "Projets des organisations que j’ai enregistrées dans ma liste de notification", "Project scope": "Portée du projet", - "Project scope (English)": "", - "Project scope (French)": "", + "Project scope (English)": "Project scope (English)", + "Project scope (French)": "Project scope (French)", "Project scope must be provided in at least one language.": "La portée du projet doit être fournie dans au moins une langue.", "Projects I am contracted for": "Projets pour lesquels je suis sous contrat", "Projects I am participating in": "Projets auxquels je participe", @@ -1298,14 +1298,14 @@ "Projects involved in as a Community Connector": "Projects involved in as a Community Connector", "Projects involved in as a Consultation Participant": "Projects involved in as a Consultation Participant", "Projects I’m running": "Projets que je dirige", - "projects notification setting": "", + "projects notification setting": "projects notification setting", "Project start date": "Date de début du projet", "Projects that are looking for people that my organization represents or supports": "Projets cherchant des personnes que mon organisation représente ou soutient", "Projects that are looking for someone with my lived experience": "Projets cherchant une personne ayant une expérience vécue similaire à la mienne", "Project team": "Équipe du projet", "Project timeframe": "Echéancier du projet", "Project Translations": "Traductions du projet", - "project type notification setting": "", + "project type notification setting": "project type notification setting", "Pronouns": "Pronons", "pronouns": "pronons", "Provides Guidance and Resources": "Un lieu pour trouver des conseils et des ressources", @@ -1315,7 +1315,7 @@ "Providing this information will help us match you to projects that are working on areas of interest to you.": "Fournir ces informations nous aidera à vous jumeler à des projets qui portent sur des domaines qui vous intéressent.", "Province or territory": "Province ou territoire", "province or territory": "province ou territoire", - "public outcomes": "", + "public outcomes": "public outcomes", "Public profile": "Profil public", "Publish": "Publier", "Published": "Publiée", @@ -1323,7 +1323,7 @@ "Published on :date": "Publié le :date", "Publish page": "Publier la page", "Quebec": "Québec", - "questions": "", + "questions": "questions", "Questions are sent to participants by:": "Les questions sont envoyées aux personnes participantes par :", "Quick exit": "Sortie rapide", "Quick links": "Liens rapides", @@ -1341,7 +1341,7 @@ "Recruit individuals who are Deaf or have disabilities to give input on your own projects.": "Recrutez des personnes sourdes ou en situation de handicap pour qu’elles donnent leur avis sur vos projets.", "Recruitment": "Recrutement", "Recruitment method": "Méthode de recrutement", - "recruitment method": "", + "recruitment method": "recruitment method", "Refugees": "Refugees", "Refugees and\/or immigrants": "Personnes réfugiées ou migrantes", "Regions": "Régions", @@ -1355,7 +1355,7 @@ "Regulated organizations": "Organisations sous réglementation fédérale", "Regulated Organizations": "Organisations sous réglementation fédérale", "Regulated organizations hire a Community Connector to connect to certain communities that they may otherwise find difficult to reach. Providing the information about the communities that you have connections to, lets the government and business groups know how you could help them.": "Les organismes réglementés font appel à une personne facilitatrice communautaire afin d’établir des liens avec certaines communautés qu’ils pourraient autrement avoir du mal à rejoindre. En fournissant les informations sur les communautés avec lesquelles vous avez des liens, vous permettez au gouvernement et aux entreprises de savoir comment vous pourriez les aider.", - "Regulated Organization type": "", + "Regulated Organization type": "Regulated Organization type", "Relevant experience": "Expérience pertinente", "Relevant experiences": "Expériences pertinentes", "Relevant experiences (including any volunteer or paid experience)": "Expériences pertinentes (y compris toute expérience bénévole ou rémunérée)", @@ -1375,7 +1375,7 @@ "Remove this link": "Retirer ce lien", "Remove this location": "Retirer cet emplacement", "Remove this training": "Retirer cette formation", - "report notification setting": "", + "report notification setting": "report notification setting", "represent": "représenter", "Representative organization": "Organisation représentative", "Representative organizations": "Organisation de personnes en situation de handicap ou de personnes sourdes", @@ -1400,18 +1400,18 @@ "Results": "Résultats", "Returned": "Retourné", "Return to dashboard": "Retour au tableau de bord", - "return to engagement": "", + "return to engagement": "return to engagement", "Review and publish engagement details": "Réviser et publier les détails de la consultation", "Review and publish your organization’s public page": "Révisez et publiez la page publique de votre organisation", "Review and publish your public page": "Révisez et publiez votre page publique", - "review and updates notification settings": "", + "review and updates notification settings": "review and updates notification settings", "Review engagement details": "Réviser les détails de la consultation", "Review project": "Réviser le projet", "Review project details": "Vérifier les détails du projet", "Role": "Rôle", - "role": "", + "role": "role", "Roles": "Rôles", - "roles": "", + "roles": "roles", "Roles:": "Rôles :", "Roles and permissions": "Rôles et permissions", "Run by": "Dirigé par", @@ -1471,7 +1471,7 @@ "Show that you are looking for a Community Connector": "Indiquer que vous êtes à la recherche d’une personne facilitatrice communautaire", "show up on search results for them": "apparaître dans les résultats de recherche", "Signed language for interpretation": "Langue signée pour l’interprétation", - "signed language for translation": "", + "signed language for translation": "signed language for translation", "Sign in": "S’identifier", "Sign language interpretation": "Interprétation en langue des signes", "Sign language interpretations": "Interprétation en langue des signes", @@ -1545,10 +1545,10 @@ "Support organization": "Organisation de soutien", "Support organizations": "Organisation de soutien", "Support person, :name": "Nom de la personne accompagnatrice, :name", - "support person requires Video Relay Service (VRS) for phone calls": "", - "support person’s email": "", - "support person’s name": "", - "support person’s phone number": "", + "support person requires Video Relay Service (VRS) for phone calls": "support person requires Video Relay Service (VRS) for phone calls", + "support person’s email": "support person’s email", + "support person’s name": "support person’s name", + "support person’s phone number": "support person’s phone number", "Support phone": "Support phone", "Survey": "Sondage", "Survey materials": "Documents du sondage", @@ -1562,14 +1562,14 @@ "Tap into our support network": "Profitez de notre réseau de soutien", "Team contact": "Contact de l’équipe", "Team Invitation": "Invitation à rejoindre une équipe", - "team size": "", + "team size": "team size", "Tell us about who you are.": "Dites-nous en plus à propos de vous.", "Tell us about your organization, its mission, and what you offer.": "Parlez-nous de votre organisation, de sa mission et de ce que vous offrez.", "Tell us your business name": "Tell us your business name", "Tell us your organization’s name": "Indiquez-nous le nom de votre organisation", "Templates and forms": "Modèles et formulaires", "Temporary disabilities": "Incapacités temporaires", - "term": "", + "term": "term", "terms of service": "conditions d’utilisation", "Terms of Service": "Conditions d’utilisation", "Text": "Texte", @@ -1693,7 +1693,7 @@ "Time and date": "Heure et date", "Times during the day interviews will be happening": "Heures auxquelles les entrevues auront lieu durant la journée", "Time zone": "Fuseau horaire", - "timezone": "", + "timezone": "timezone", "Title of meeting": "Titre de la réunion", "Title of role": "Titre du rôle ou du poste", "Title of Role": "Titre du rôle ou du poste", @@ -1711,7 +1711,7 @@ "To request an estimate, you must have filled out your project’s engagement details (and meeting information for workshops and focus groups).": "Pour demander un devis, vous devez avoir rempli les détails de la consultation en lien avec votre projet ( ainsi que les informations relatives aux réunions pour les ateliers et les groupes de discussion).", "Trainer": "Personne fomatrice", "Training": "Formation", - "training": "", + "training": "training", "Training by: :author": "Training by: :author", "training date": "training date", "training name": "training name", @@ -1720,15 +1720,15 @@ "training organization or trainer website address": "training organization or trainer website address", "Training Participant": "Personne cherchant à se former", "Training your team has received": "Formation que votre équipe a suivie", - "translatable id": "", - "translatable type": "", + "translatable id": "translatable id", + "translatable type": "translatable type", "Translations": "Traductions", "Trans people": "Personnes transgenres", "Tuesday": "Mardi", "Twitter page": "Page Twitter", "Two-factor authentication": "Authentification à deux facteurs", "Type of organization": "Type d’organisation", - "type of Regulated Organization": "", + "type of Regulated Organization": "type of Regulated Organization", "Types of experiences or identities": "Types d’expériences ou d’identités", "Types of meetings offered": "Types de réunions proposées", "Types of regulated organizations": "Types of regulated organizations", @@ -1749,7 +1749,7 @@ "Urban, rural, or remote": "Urbain, rural ou éloigné", "Urban areas": "Zones urbaines", "using the matching service to match the regulated organization with a group of people who meet the criteria.": "en utilisant le service de jumelage afin de mettre en relation l’organisme réglementé avec un groupe de personnes qui répondent à ses critères.", - "Verify Email Address": "", + "Verify Email Address": "Verify Email Address", "Verify your email": "Vérifiez votre adresse courriel", "Video": "Vidéo", "Video recording": "Enregistrement vidéo", @@ -1767,7 +1767,7 @@ "Volunteer": "Bénévole", "VRS": "SRV", "Ways to attend": "Façons de participer", - "ways to attend": "", + "ways to attend": "ways to attend", "Ways to participate": "Façons de participer", "We ask Accessibility Consultants for the following information:": "Nous demandons aux personnes consultantes en matière d’accessibilité de fournir les informations suivantes :", "We ask Community Connectors for the following information:": "Nous demandons aux personnes facilitatrices communautaires de fournir les informations suivantes :", @@ -1852,7 +1852,7 @@ "Which of these areas can you help a regulated organization with?": "Dans lesquels de ces domaines pouvez-vous aider une organisation réglementée ?", "White": "Blanc", "White on black": "Blanc sur noir", - "who": "", + "who": "who", "Who can be a :role?": "Qui peut être une :role?", "Who do you want to engage?": "Qui voulez-vous consulter ?", "who is going through the results": "qui passe en revue les résultats", @@ -1862,7 +1862,7 @@ "Who you’re joining as": "Quel type de compte voulez-vous créer?", "Who’s responsible for going through results and producing an outcome": "Who’s responsible for going through results and producing an outcome", "Why do we ask for this information?": "Pourquoi demandons-nous ces informations ?", - "window flexibility": "", + "window flexibility": "window flexibility", "Women": "Femmes", "Word document": "Document Word", "Working age adults (15–64)": "Adultes en âge de travailler (15-64)", @@ -1873,7 +1873,7 @@ "Would you like to be notified directly when you are added to an engagement as a Community Connector?": "Aimeriez vous recevoir une notification lorsque vous êtes ajouté à une consultation en tant que personne facilitatrice communautaire ?", "Writing": "Réponse écrite", "Writing accessibility reports": "Rédaction de rapports relatifs à l’accessibilité", - "written language for translation": "", + "written language for translation": "written language for translation", "Written language translation": "Traduction en langue écrite", "Written or recorded responses": "Réponses écrites ou enregistrées", "Wrong answer": "Mauvaise réponse", From cb688c29c18f912f54320f7d16713ba1ad1f1048 Mon Sep 17 00:00:00 2001 From: The Accessibility Exchange <120509736+theaccessibilityexchange@users.noreply.github.com> Date: Mon, 11 Dec 2023 09:07:42 -0500 Subject: [PATCH 04/12] chore(localization): update translations (#2059) * chore(localization): translate en.json into French, Canada * chore(localization): translate en.json into French, Canada * chore(localization): translate en.json into French, Canada --- resources/lang/fr.json | 120 ++++++++++++++++++++--------------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/resources/lang/fr.json b/resources/lang/fr.json index 005915911..7a295b68e 100644 --- a/resources/lang/fr.json +++ b/resources/lang/fr.json @@ -6,7 +6,7 @@ "(required)": "(requis)", "**A community organization** who represents or supports the disability or Deaf community": "**Une organisation communautaire** qui représente ou soutient la communauté des personnes en situation de handicap ou des personnes sourdes", "**CAUTION!** This website is under active development. The database is reset nightly, and data you enter will not be preserved.": "**ATTENTION!** Ce site Internet est en cours de développement. La base de données est réinitialisée chaque nuit, et les données que vous saisissez ne seront pas conservées.", - "**If you select no,** our support line will contact you and arrange for a different way to have your access needs met.": "**If you select no,** our support line will contact you and arrange for a different way to have your access needs met.", + "**If you select no,** our support line will contact you and arrange for a different way to have your access needs met.": "**Si vous choisissez \"non\", notre service à la clientèle vous contactera afin de trouver un moyen alternatif pour satisfaire vos besoins en matière d’accessibilité.", "**Individuals** with lived experience of being disabled or Deaf": "**Individus** ayant une expérience vécue du handicap ou de la sourditude", "**Please respond by :signup_by_date.**": "**Veuillez répondre avant le :signup_by_date.**", "**Saskatchewan observes Central Standard Time all year.": "**La Saskatchewan observe l’heure normale du centre toute l’année.", @@ -29,14 +29,14 @@ "1. Sign up for the website and share some information about your organization": "1. Inscrivez-vous sur le site et partagez des informations sur votre organisation", "1. Sign up for the website and share some information about yourself": "1. Inscrivez-vous sur le site et partagez des informations sur vous-même", "2. Businesses and government can reach out to hire you": "2. Les entreprises et le gouvernement peuvent vous solliciter pour vous embaucher", - "2. Find an engagement or get matched to one": "2. Find an engagement or get matched to one", - "2. Find projects that are looking for a Community Connector": "2. Find projects that are looking for a Community Connector", - "2. Find projects that are looking for an Accessibility Consultant": "2. Find projects that are looking for an Accessibility Consultant", - "2. Share more about your projects and who you are looking to engage": "2. Share more about your projects and who you are looking to engage", + "2. Find an engagement or get matched to one": "2. Trouvez une consultation ou faites-vous jumeler à une consultation en cours", + "2. Find projects that are looking for a Community Connector": "2. Trouvez des projets à la recherche de personnes facilitatrices communautaires", + "2. Find projects that are looking for an Accessibility Consultant": "2. Trouvez des projets à la recherche de personnes consultantes en matière d’accessibilité", + "2. Share more about your projects and who you are looking to engage": "2. Partagez des informations sur vos projets et les populations avec qui vous voulez travailler", "2SLGBTQIA+ people": "Personnes 2SLGBTQIA+", - "3. Work directly with businesses and governments": "3. Work directly with businesses and governments", - "3. Work directly with governments and businesses": "3. Work directly with governments and businesses", - "3. Work directly with people on your accessibility project": "3. Work directly with people on your accessibility project", + "3. Work directly with businesses and governments": "3. Travaillez directement avec des entreprises et les gouvernements", + "3. Work directly with governments and businesses": "3. Travaillez directement avec des entreprises et les gouvernements", + "3. Work directly with people on your accessibility project": "3. Travaillez directement avec des personnes pour vos projets d’accessibilité", "8 characters or more": "8 caractères ou plus", ":account and its users have been suspended.": ":account et ses utilisateurs ont été suspendus.", ":account has been approved.": ":account a été approuvé.", @@ -62,7 +62,7 @@ ":role Invitation": "Invitation à devenir :role", ":service": ":service", ":signLanguage (with :locale)": ":signLanguage (avec :locale)", - ":title results": ":title results", + ":title results": ":title résultats", "A :type with this name already exists.": "Un :type avec ce nom existe déjà.", "about": "à propos", "About": "À propos", @@ -96,7 +96,7 @@ "Access need": "Besoin en matière d’accessibilité", "Access needs": "Besoins en matière d’accessibilité", "Access Needs": "Besoins en matière d’accessibilité", - "Access needs for any materials you may be sent.": "Access needs for any materials you may be sent.", + "Access needs for any materials you may be sent.": "Besoins en matière d’accessibilité pour tout document qui pourrait vous être envoyé.", "Access needs for consultations": "Besoins en matière d’accessibilité", "Access needs for when you agree to attend a meeting in real-time, either in-person or virtually.": "Besoins en matière d’accessibilité lorsque vous acceptez d’assister à une réunion en direct, en personne ou virtuellement.", "Access needs for when you are attending a meeting in-person.": "Besoins en matière d’accessibilité lorsque vous assistez à une réunion en personne.", @@ -156,11 +156,11 @@ "All": "Tous", "All notifications": "Toutes les notifications", "Allow Federally Regulated Entities to reach out to my organization to participate in consultation": "Les entités réglementées par le gouvernement fédéral peuvent contacter mon organisation afin que nous participions à des consultations.", - "All participant spots have been filled.": "All participant spots have been filled.", + "All participant spots have been filled.": "Toutes les places ont été comblées.", "All provinces and territories": "Toutes les provinces et tous les territoires", "All rights reserved.": "Tous droits réservés.", "Already on your block list": "Déjà sur votre liste de blocage", - "Already on your notification list.": "Already on your notification list.", + "Already on your notification list.": "Déjà sur votre liste de notifications.", "alternative meeting software": "alternative meeting software", "Alternative text for images": "Texte de remplacement pour les images", "Although it is not compulsory, we highly recommend that you include English and French translations of your content.": "Bien que cela ne soit pas obligatoire, nous vous recommandons vivement d’inclure des traductions en anglais et en français de votre contenu.", @@ -176,33 +176,33 @@ "a network and is able to conduct effective outreach to people with disabilities and Deaf persons in particular geographic communities and social groups (for example, Indigenous communities).": "un réseau et est capable de mener des actions de sensibilisation efficaces auprès des personnes en situation de handicap et des personnes sourdes dans des communautés géographiques et des groupes particuliers (par exemple, les communautés autochtones).", "A new project": "Un nouveau projet", "Anonymous participant": "Personne participante anonyme", - "An organization and its users have been suspended.": "An organization and its users have been suspended.", - "An organization has been approved.": "An organization has been approved.", + "An organization and its users have been suspended.": "Une organisation et ses membres ont été suspendus.", + "An organization has been approved.": "Une organisation a été approuvée.", "An organization with this name already exists on our website. Please contact your colleagues to get an invitation. If this isn’t your organization, please use a different name.": "Une organisation avec ce nom existe déjà sur notre site Internet. Veuillez contacter vos collègues pour obtenir une invitation. S’il ne s’agit pas de votre organisation, veuillez utiliser un autre nom.", "Any group": "Tous les groupes", "Any of the following could be Consultation Participants:": "Chacune des catégories de personnes suivantes peut participer aux consultations : ", "Application for Accessibility Consultant": "Formulaire de vérification de l’expérience pour le rôle de personne consultante en matière d’accessibilité", "Application for Community Connector": "Formulaire de vérification de l’expérience pour le rôle de personne facilitatrice communautaire", - "Approval status": "Approval status", + "Approval status": "Statut d’approbation", "Approve": "Approuver", "Approved": "Approuvé", "Approve estimate": "Approuver le devis", "Approximate response time": "Temps de réponse approximatif", "approximate response time": "vos temps de réponse approximatifs", - "Approximate response time (English)": "Approximate response time (English)", - "Approximate response time (French)": "Approximate response time (French)", + "Approximate response time (English)": "Délai de réponse approximatif (anglais)", + "Approximate response time (French)": "Délai de réponse approximatif (français)", "A project name must be provided in at least one language.": "Un nom de projet doit être fourni dans au moins une langue.", "A project with this name already exists.": "Un projet portant ce nom existe déjà.", "Area": "Zone", - "area of accessibility planning and design": "area of accessibility planning and design", + "area of accessibility planning and design": "domaine de la planification et de la conception en matière d’accessibilité", "Area of impact": "Domaine d’impact", - "Areas of accessibility": "Areas of accessibility", + "Areas of accessibility": "Domaines d’accessibilité", "Areas of accessibility you are interested in": "Domaines relatifs à l’accessibilité qui vous intéressent", "Areas of impact": "Domaine(s) d’impact", "areas of impact": "domaine(s) d’impact", "Areas of interest": "Domaines d’intérêt", "Areas of your organization this project will impact": "Secteurs de votre organisation sur lesquels ce projet aura un impact", - "area type": "area type", + "area type": "type de domaine", "area type connections": "area type connections", "area type constituencies": "area type constituencies", "Are you looking for individuals in specific provinces or territories or specific cities or towns?": "Cherchez-vous des personnes dans des provinces ou territoires spécifiques ou dans des villes ou villages spécifiques ?", @@ -236,7 +236,7 @@ "Author: :author": "Auteur : :author", "Author name": "Nom de l’auteur", "author organization": "author organization", - "availability": "availability", + "availability": "disponibilité", "availability for Friday": "disponibilité le vendredi", "availability for Monday": "disponibilité le lundi", "availability for Saturday": "disponibilité le samedi", @@ -260,8 +260,8 @@ "Be matched based on what your lived experiences are": "Be matched based on what your lived experiences are", "Between which times during the day will the interviews take place?": "Entre quels moments de la journée les entrevues auront-elles lieu ?", "bio": "bio", - "bio (English)": "bio (English)", - "bio (French)": "bio (French)", + "bio (English)": "bio (anglais)", + "bio (French)": "bio (français)", "Black": "Noir", "Black on brown": "Noir sur brun", "Black on white": "Noir sur blanc", @@ -286,7 +286,7 @@ "Browse regulated organizations": "Parcourir les organisations sous réglementation fédérale", "Built environment": "Environnement bâti", "Business": "Entreprise", - "Businesses and government can find Community Organizations on this website, and use the contact information to directly reach out. From there, they can hire you consult with them.": "Businesses and government can find Community Organizations on this website, and use the contact information to directly reach out. From there, they can hire you consult with them.", + "Businesses and government can find Community Organizations on this website, and use the contact information to directly reach out. From there, they can hire you consult with them.": "Les entreprises et les gouvernements peuvent trouver des organisations communautaires sur ce site web et entrer en contact avec elles. Ils peuvent ensuite vous engager comme personne consultante.", "by": "par", "By selecting Consultation Participant as your only role, your role no longer will include the Accessibility Consultant or Community Connector roles.": "By selecting Consultation Participant as your only role, your role no longer will include the Accessibility Consultant or Community Connector roles.", "By selecting Consultation Participant as your only role, your role no longer will include the Accessibility Consultant or Community Connector roles. You do not need a profile to be a Consultation Participant, so your profile will be unpublished and saved, and will no longer be visible by other members of The Accessibility Exchange. However, if you edit your role to add the Accessibility Consultant or Community Connector roles again, you will be able to publish your profile again all your saved information will be restored.": "En choisissant comme seul rôle celui de personne participante à une consultation, votre rôle ne comprendra plus les rôles de personne consultante en matière d’accessibilité ou de personne facilitatrice communautaire. Vous n’avez pas besoin d’un profil pour être une personne participante à des consultations. Votre profil sera donc dépublié et enregistré et ne sera plus visible par les autres membres du Connecteur pour l’accessibilité. Toutefois, si vous modifiez votre rôle pour ajouter à nouveau les rôles de personne consultante en matière d’accessibilité ou de facilitatrice communautaire, vous pourrez publier à nouveau votre profil et toutes vos informations sauvegardées seront restaurées.", @@ -358,17 +358,17 @@ "Community organization": "Organisation communautaire", "Community Organization": "Organisation communautaire", "Community organization orientation": "Community organization orientation", - "Community Organization page": "Community Organization page", + "Community Organization page": "Page de l’organisation communautaire", "Community organizations": "Organisations communautaires", "Community Organizations": "Organisations communautaires", "Community organizations could provide research, recommendations, and also support the interpretation of your consultation results to deepen your understanding of Deaf and disability access.": "Les organisations communautaires sont susceptibles de vous fournir des recherches, des recommandations, mais aussi de vous aider à interpréter les résultats de votre consultation afin d’approfondir votre compréhension des questions relatives à l’accessibilité pour les personnes sourdes et les personnes en situation de handicap.", "Compensation": "Rémunération", "Complete": "Terminé", "Completed": "Terminé", - "completed": "completed", + "completed": "complété", "Completed documents are due by:": "Les documents dûment complétés doivent être remis au plus tard le : ", "Completed materials are due by": "Les documents dûment complétés doivent être remis au plus tard le", - "Confirm": "Confirm", + "Confirm": "Confirmer", "Confirm and sign up": "Confirmer et s’inscrire", "Confirm by typing your current password": "Confirmez en saisissant votre mot de passe actuel", "Confirmed participants": "Personnes participantes ayant confirmé leur présence", @@ -405,14 +405,14 @@ "Contact information": "Informations de contact", "Contact Information": "Informations de contact", "Contacting you with notifications": "Vous contacter grâce à des notifications", - "contact person": "contact person", + "contact person": "personne contact", "Contact person": "Personne contact", "Contact person requires Video Relay Service (VRS) for phone calls": "Contact person requires Video Relay Service (VRS) for phone calls", "Contact person’s email": "Adresse courriel de la personne contact", "Contact person’s phone number": "Numéro de téléphone de la personne contact", "Contact support": "Contactez le support", "Contact us": "Nous contacter", - "Content": "Content", + "Content": "Contenu", "Content added": "Contenu ajouté", "Content added, unsaved changes": "Contenu ajouté, modifications non sauvegardées", "Content types": "Types de contenus", @@ -429,7 +429,7 @@ "Correct answer!": "Bonne réponse !", "Could not be blocked because it was not on your block list.": "Could not be blocked because it was not on your block list.", "Could not be removed because it was not on your notification list.": "Could not be removed because it was not on your notification list.", - "Course": "Course", + "Course": "Cours", "Course Quiz": "Course Quiz", "Create": "Créer", "Create account": "Créer un compte", @@ -456,7 +456,7 @@ "creating an open project, where anyone who matches their criteria can sign up. ": "créer un projet ouvert, où quiconque correspond aux critères peut s’inscrire. ", "Cross disability (includes people with disabilities, Deaf people, and supporters)": "Polyhandicap (comprend les personnes en situation de handicap, les personnes sourdes et les personnes qui les soutiennent)", "Current password": "Mot de passe actuel", - "current password": "current password", + "current password": "mot de pass actuel", "Customize": "Personnaliser", "Customize this website’s accessibility": "Personnalisez les paramètres d’accessibilité de ce site Internet", "Dark theme": "Thème sombre", @@ -464,8 +464,8 @@ "Date": "Date", "Date added": "Date ajoutée", "Date created": "Date de création", - "date for materials to be sent by": "date for materials to be sent by", - "Date modified": "Date modified", + "date for materials to be sent by": "date limite pour l’envoi du contenu", + "Date modified": "Date de modification", "Date of training": "Date de la formation", "Date range": "Plage de dates", "Dates": "Dates", @@ -475,7 +475,7 @@ "Decline": "Refuser", "Deepen understanding": "Approfondissement de la compréhension", "Deepen understanding about the systemic barriers (laws, policies, practices, and culture) underlying the experiences that consultation participants report": "Deepen understanding about the systemic barriers (laws, policies, practices, and culture) underlying the experiences that consultation participants report", - "definition": "definition", + "definition": "définition", "Delete account": "Supprimer le compte", "Delete my page": "Supprimer ma page", "Delete regulated organization": "Supprimer l’organisation sous réglementation fédérale", @@ -541,7 +541,7 @@ "Edit resource": "Modifier la ressource", "Edit resource collection": "Edit resource collection", "Edit roles": "Modifier les rôles", - "Edit user’s role": "Edit user’s role", + "Edit user’s role": "Changer le rôle de la personne", "Edit your contact information": "Modifier vos informations de contact", "Edit your individual page": "Modifier votre page personnelle", "Edit your organization page": "Modifier la page de votre organisation", @@ -552,7 +552,7 @@ "Email": "Courriel", "Email address": "Adresse courriel", "email address": "adresse courriel", - "Email your certificate again": "Email your certificate again", + "Email your certificate again": "Renvoyer votre certificat par courriel", "Employment": "Emploi", "Employment status": "Statut d’emploi", "End date": "Date de fin", @@ -565,14 +565,14 @@ "Engagement": "Consultation", "engagement": "consultation", "engagement description": "description de la consultation", - "engagement description (English)": "engagement description (English)", - "engagement description (French)": "engagement description (French)", - "engagement format": "engagement format", + "engagement description (English)": "description de la consultation (anglais)", + "engagement description (French)": "description de la consultation (français)", + "engagement format": "format de la consultation", "Engagement materials": "Documents de consultation", "Engagement meetings": "Réunions de la consultation", "engagement name": "nom de la consultation", - "engagement name (English)": "engagement name (English)", - "engagement name (French)": "engagement name (French)", + "engagement name (English)": "nom de la consultation (anglais)", + "engagement name (French)": "nom de la consultation (français)", "Engagements": "Consultations", "Engagements by organizations that I have saved on my notification list": "Consultations menées par les organisations que j’ai enregistrés dans ma liste de notifications", "Engagements that are looking for people that my organization represents or supports": "Consultations qui recherchent des personnes que mon organisation représente ou soutient", @@ -622,7 +622,7 @@ "Find people with disabilities, Deaf people and community organizations (for example, disability or other relevant civil society organizations, like Indigenous groups), to consult with on your accessibility project.": "Trouvez des personnes en situation de handicap, des personnes sourdes et des organisations communautaires (par exemple, des organisations de personnes en situation de handicap ou d’autres organisations pertinentes de la société civile, comme les groupes autochtones), à consulter dans le cadre de votre projet en matière d’accessibilité.", "finished introduction": "finished introduction", "First language": "Première langue", - "first language": "first language", + "first language": "première langue", "First Nations": "Premières Nations", "flexible, please contact us if you need to use another software": "flexible, veuillez nous contacter si vous souhaitez utiliser un autre logiciel", "Focus group": "Groupe de discussion", @@ -670,7 +670,7 @@ "gender or sexual identity group": "gender or sexual identity group", "General access needs": "Besoins généraux en matière d’accessibilité", "Geographical areas this project will impact": "Zones géographiques sur lesquelles ce projet aura un impact", - "geographic areas": "geographic areas", + "geographic areas": "zones géographiques", "Get help": "Obtenir de l’aide", "Get input for your projects": "Obtenez de la rétroaction pour vos projets", "Get input on your accessibility projects": "Obtenez de la rétroaction pour vos projets en matière d’accessibilité", @@ -906,8 +906,8 @@ "meeting start time": "heure de début de la réunion", "meeting time zone": "fuseau horaire de la réunion", "meeting title": "titre de la réunion", - "meeting title (English)": "meeting title (English)", - "meeting title (French)": "meeting title (French)", + "meeting title (English)": "titre de la rencontre (anglais)", + "meeting title (French)": "titre de la rencontre (français)", "Member": "Membre", "Members of our team have received the following training:": "Les membres de notre équipe ont suivi les formations suivantes :", "Men": "Hommes", @@ -916,7 +916,7 @@ "Microsoft Teams": "Microsoft Teams", "Middle Eastern": "Moyen-oriental", "Minimum number of participants": "Nombre minimum de personnes participantes", - "minimum number of participants": "minimum number of participants", + "minimum number of participants": "nombre minimum de personnes participantes", "Missing an engagement?": "Manque-t-il une consultation?", "Module - :title": "Module - :title", "Modules": "Modules", @@ -929,10 +929,10 @@ "Must specify a number of days greater than 1 using the \"--days\" flag. Example --days=30. The specified \"--days=:days\" is invalid.": "Must specify a number of days greater than 1 using the \"--days\" flag. Example --days=30. The specified \"--days=:days\" is invalid.", "My dashboard": "Mon tableau de bord", "My email": "Mon adresse courriel", - "My organization’s page": "La page de mon organisation", + "My organization’s page": "Page de mon organisation", "My phone number": "Mon numéro de téléphone", "My projects": "Mes projets", - "My public page": "My public page", + "My public page": "Ma page publique", "My settings": "Paramètres", "My support person": "Personne me soutenant", "My support person requires Video Relay Service (VRS) for phone calls": "La personne me soutenant a besoin du service de relais vidéo (SRV) pour les appels téléphoniques", @@ -959,7 +959,7 @@ "New Estimate Request from :projectable": "Nouvelle demande de devis de :projectable", "Newfoundland and Labrador": "Terre-Neuve-et-Labrador", "Newfoundland Standard or Daylight Time": "Heure normale ou heure avancée de Terre-Neuve", - "new language": "new language", + "new language": "ajouter une langue", "New password": "Nouveau mot de passe", "New project": "Nouveau projet", "New reports uploaded": "Nouveaux rapports téléversés", @@ -1064,18 +1064,18 @@ "Organizations that provide support “for” disability, Deaf, and family-based members. Not constituted primarily by people with disabilities.": "Organisations qui offrent du soutien ou des services aux personnes en situation de handicap, les personnes sourdes et les membres de la famille. Ne sont pas constituées principalement de personnes en situation de handicap.", "Organizations which have some constituency of persons with disabilities, Deaf persons, or family members, but these groups are not their primary mandate. Groups served, for example, can include: Indigenous organizations, 2SLGBTQ+ organizations, immigrant and refugee groups, and women’s groups.": "Organisations qui comptent parmi leurs membres des personnes en situation de handicap, des personnes sourdes ou des membres de leur famille, mais pour qui ces groupes ne constituent pas leur vocation première. Les groupes desservis peuvent inclure : les organisations autochtones, les organisations 2SLGBTQ+, les groupes de personnes migrantes et réfugiées et les groupes de femmes.", "Organizations “of” disability, Deaf, and family-based organizations. Constituted primarily by people with disabilities.": "Organisations de personnes en situation de handicap, de personnes sourdes, et de familles. Constituées principalement de personnes en situation de handicap.", - "organization type": "organization type", + "organization type": "type d’organisation", "Organization website": "Site Internet de l’organisation", "Other": "Autre", - "other": "other", + "other": "autre", "Other (please describe)": "Autre (veuillez décrire)", "Other (please specify)": "Autre (veuillez préciser)", "Other accepted format": "Autre format accepté", "other accepted format": "autre format accepté", - "other accepted format (English)": "other accepted format (English)", - "other accepted format (French)": "other accepted format (French)", - "other accepted formats": "other accepted formats", - "other access need": "other access need", + "other accepted format (English)": "autre format accepté (anglais)", + "other accepted format (French)": "autre format accepté (français)", + "other accepted formats": "autres formats acceptés", + "other access need": "autres besoins en matière d’accessibilité", "Other civil society organizations relevant to people with disabilities, Deaf people, and supporters": "Autres organisations de la société civile pertinentes pour les personnes en situation de handicap, les personnes sourdes et leurs réseaux de soutien", "other disability connection": "other disability connection", "other disability constituency": "other disability constituency", @@ -1083,7 +1083,7 @@ "other ethnoracial identity constituency": "other ethnoracial identity constituency", "Other identities": "Autres axes d’identité", "Other identity groups": "Autres groupes identitaires", - "other identity type": "other identity type", + "other identity type": "autre type d’identité", "other payment type": "other payment type", "Other public sector organization, which is regulated by the Accessible Canada Act": "Autre organisation du secteur public qui est réglementée par la Loi canadienne sur l’accessibilité", "Other – in-person or virtual meeting": "Autre - réunion en personne ou virtuelle", @@ -1144,7 +1144,7 @@ "Physical and mobility disabilities": "Déficience physique et de mobilité", "Plain language": "Langage simple", "Plan and share your project with others on this website.": "Planifiez et partagez votre projet avec d’autres personnes sur ce site Internet.", - "Play": "Play", + "Play": "Jouer", "Please:": "Veuillez :", "Please be specific about where you would like the participants to go to participate in this engagement.": "Veuillez préciser le lieu où vous souhaitez que les personnes se rendent pour participer à cette consultation.", "Please check all that apply.": "Veuillez cocher toutes les cases qui s’appliquent.", @@ -1295,8 +1295,8 @@ "Projects I am contracted for": "Projets pour lesquels je suis sous contrat", "Projects I am participating in": "Projets auxquels je participe", "Projects I am running": "Projets que je dirige", - "Projects involved in as a Community Connector": "Projects involved in as a Community Connector", - "Projects involved in as a Consultation Participant": "Projects involved in as a Consultation Participant", + "Projects involved in as a Community Connector": "Mes projets à titre de personne facilitatrice communautaire", + "Projects involved in as a Consultation Participant": "Mes projets à titre de personne participant à des consultations", "Projects I’m running": "Projets que je dirige", "projects notification setting": "projects notification setting", "Project start date": "Date de début du projet", @@ -1342,7 +1342,7 @@ "Recruitment": "Recrutement", "Recruitment method": "Méthode de recrutement", "recruitment method": "recruitment method", - "Refugees": "Refugees", + "Refugees": "Personnes réfugiées", "Refugees and\/or immigrants": "Personnes réfugiées ou migrantes", "Regions": "Régions", "Registration": "Registration", From 010d752af7d57d8ca95d9a1d62a6ab367399acf5 Mon Sep 17 00:00:00 2001 From: Justin Obara Date: Mon, 11 Dec 2023 12:17:49 -0500 Subject: [PATCH 05/12] fix: misaligned heading area and main area (resolves #1688) (#2060) --- resources/css/_tokens.css | 2 +- resources/css/base/_base.css | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/resources/css/_tokens.css b/resources/css/_tokens.css index 656cf14b3..a158af4ee 100644 --- a/resources/css/_tokens.css +++ b/resources/css/_tokens.css @@ -1,4 +1,4 @@ -/* VARIABLES GENERATED WITH TAILWIND CONFIG ON 11/9/2023. +/* VARIABLES GENERATED WITH TAILWIND CONFIG ON 12/11/2023. Tokens location: ./tailwind.config.js */ :root { --space-0: 0; diff --git a/resources/css/base/_base.css b/resources/css/base/_base.css index f2985013a..758d7a662 100644 --- a/resources/css/base/_base.css +++ b/resources/css/base/_base.css @@ -37,7 +37,6 @@ main > .center .full { main .content > *:not(.nav--tabbed, .alert, .with-sidebar, .px-0), main article > header { padding-block-start: var(--space-8); - padding-inline: var(--space-4); } .with-sidebar > * { From ccaa90c2f0f7ec2c3d5825b3e7a50b1afc7d3600 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 11 Dec 2023 13:32:50 -0500 Subject: [PATCH 06/12] fix: update LSQ locale's Translatable inputs default to English (resolves #1715) (#2062) * fix: update order of languages array in TranslatableInput * fix: update languages of TranslatableTextarea --- app/View/Components/TranslatableInput.php | 2 +- app/View/Components/TranslatableTextarea.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/View/Components/TranslatableInput.php b/app/View/Components/TranslatableInput.php index a449405eb..e76e51d4f 100644 --- a/app/View/Components/TranslatableInput.php +++ b/app/View/Components/TranslatableInput.php @@ -63,7 +63,7 @@ public function __construct($name, $label, $hint = null, $model = null, $shortLa { $languages = $model->languages ?? config('locales.supported'); - if (($key = array_search(locale(), $languages)) !== false) { + if (($key = array_search(get_written_language_for_signed_language(locale()), $languages)) !== false) { unset($languages[$key]); array_unshift($languages, locale()); } diff --git a/app/View/Components/TranslatableTextarea.php b/app/View/Components/TranslatableTextarea.php index 8ad58a443..e11922c56 100644 --- a/app/View/Components/TranslatableTextarea.php +++ b/app/View/Components/TranslatableTextarea.php @@ -63,7 +63,7 @@ public function __construct($name, $label, $hint = null, $model = null, $shortLa { $languages = $model->languages ?? config('locales.supported'); - if (($key = array_search(locale(), $languages)) !== false) { + if (($key = array_search(get_written_language_for_signed_language(locale()), $languages)) !== false) { unset($languages[$key]); array_unshift($languages, locale()); } From 231b745630aaf4f8b56094e1b874d27ff1467a8c Mon Sep 17 00:00:00 2001 From: The Accessibility Exchange <120509736+theaccessibilityexchange@users.noreply.github.com> Date: Mon, 11 Dec 2023 14:12:52 -0500 Subject: [PATCH 07/12] chore(localization): update translations (#2061) * chore(localization): translate en.json into French, Canada * chore(localization): translate en.json into French, Canada * chore(localization): translate en.json into French, Canada --- resources/lang/fr.json | 244 ++++++++++++++++++++--------------------- 1 file changed, 122 insertions(+), 122 deletions(-) diff --git a/resources/lang/fr.json b/resources/lang/fr.json index 7a295b68e..cdf0cfce9 100644 --- a/resources/lang/fr.json +++ b/resources/lang/fr.json @@ -257,7 +257,7 @@ "Be a Consultation Participant": "Être une personne participante à une consultation", "Be an Accessibility Consultant": "Être une personne consultante en matière d’accessibilté", "Be invited by a Community Connector (someone with lived experience of disability or is Deaf that organizations hire to help recruit)": "Be invited by a Community Connector (someone with lived experience of disability or is Deaf that organizations hire to help recruit)", - "Be matched based on what your lived experiences are": "Be matched based on what your lived experiences are", + "Be matched based on what your lived experiences are": "Soyez apparié sur la base de vos expériences vécues", "Between which times during the day will the interviews take place?": "Entre quels moments de la journée les entrevues auront-elles lieu ?", "bio": "bio", "bio (English)": "bio (anglais)", @@ -288,7 +288,7 @@ "Business": "Entreprise", "Businesses and government can find Community Organizations on this website, and use the contact information to directly reach out. From there, they can hire you consult with them.": "Les entreprises et les gouvernements peuvent trouver des organisations communautaires sur ce site web et entrer en contact avec elles. Ils peuvent ensuite vous engager comme personne consultante.", "by": "par", - "By selecting Consultation Participant as your only role, your role no longer will include the Accessibility Consultant or Community Connector roles.": "By selecting Consultation Participant as your only role, your role no longer will include the Accessibility Consultant or Community Connector roles.", + "By selecting Consultation Participant as your only role, your role no longer will include the Accessibility Consultant or Community Connector roles.": "En sélectionnant Personne participante à des consultations comme votre unique rôle, votre rôle n’inclura plus les rôles de Personne consultante en matière d’accessibilité ou de Personne facilitatrice communautaire.", "By selecting Consultation Participant as your only role, your role no longer will include the Accessibility Consultant or Community Connector roles. You do not need a profile to be a Consultation Participant, so your profile will be unpublished and saved, and will no longer be visible by other members of The Accessibility Exchange. However, if you edit your role to add the Accessibility Consultant or Community Connector roles again, you will be able to publish your profile again all your saved information will be restored.": "En choisissant comme seul rôle celui de personne participante à une consultation, votre rôle ne comprendra plus les rôles de personne consultante en matière d’accessibilité ou de personne facilitatrice communautaire. Vous n’avez pas besoin d’un profil pour être une personne participante à des consultations. Votre profil sera donc dépublié et enregistré et ne sera plus visible par les autres membres du Connecteur pour l’accessibilité. Toutefois, si vous modifiez votre rôle pour ajouter à nouveau les rôles de personne consultante en matière d’accessibilité ou de facilitatrice communautaire, vous pourrez publier à nouveau votre profil et toutes vos informations sauvegardées seront restaurées.", "Call or :!vrs": "Appel ou :!vrs", "Call our support line at :number": "Appelez notre ligne d’assistance au :number", @@ -372,7 +372,7 @@ "Confirm and sign up": "Confirmer et s’inscrire", "Confirm by typing your current password": "Confirmez en saisissant votre mot de passe actuel", "Confirmed participants": "Personnes participantes ayant confirmé leur présence", - "confirm language": "confirm language", + "confirm language": "confirmez la langue", "Confirm new password": "Confirmez votre nouveau mot de passe", "Confirm your access needs": "Veuillez confirmer vos besoins en matière d’accessibilité", "Confirm your participant selection criteria": "Confirmez les critères de sélection des personnes participantes", @@ -394,20 +394,20 @@ "Consultation Participants are required to share their province\/territory, their city\/town, and whether or not they identify as someone with a disability, Deaf or a supporter. All of the remaining questions are optional. For multiple choice questions, there is an option to select “prefer not to answer”.": "Les personnes participant aux consultations doivent indiquer leur province\/territoire, leur ville\/village et préciser si elles s’identifient ou non comme une personne en situation de handicap, une personne sourde ou une personne soutenant ces personnes. Toutes les autres questions sont facultatives. Pour les questions à choix multiples, une option « préfère ne pas répondre » est disonible.", "Consultation Participants — Individual": "Personne participante à la consultation - Individu", "Consultations": "Consultations", - "consulting methods": "consulting methods", + "consulting methods": "méthodes de consultation", "Consulting services": "Services de consultation", "Consulting with a Community Organization": "Consultation auprès d’une organisation communautaire", "Contact": "Contact", "Contact :contact_person_name from :projectable at:": "Contactez :contact_person_name de :projectable au :", "Contact :name": "Contacter :name", - "Contact :name’s support person, :support_person_name": "Contact :name’s support person, :support_person_name", + "Contact :name’s support person, :support_person_name": "Contacter la personne de confiance de :name, :support_person_name", "Contact :person from :projectable by:": "Contactez :person de :projectable au : ", "Contact information": "Informations de contact", "Contact Information": "Informations de contact", "Contacting you with notifications": "Vous contacter grâce à des notifications", "contact person": "personne contact", "Contact person": "Personne contact", - "Contact person requires Video Relay Service (VRS) for phone calls": "Contact person requires Video Relay Service (VRS) for phone calls", + "Contact person requires Video Relay Service (VRS) for phone calls": "La personne de référence a besoin du service de relais vidéo (VRS) pour les appels téléphoniques", "Contact person’s email": "Adresse courriel de la personne contact", "Contact person’s phone number": "Numéro de téléphone de la personne contact", "Contact support": "Contactez le support", @@ -416,7 +416,7 @@ "Content added": "Contenu ajouté", "Content added, unsaved changes": "Contenu ajouté, modifications non sauvegardées", "Content types": "Types de contenus", - "context": "context", + "context": "contexte", "Continue": "Continuer", "Contracted": "Contracted", "Contracts": "Contrats", @@ -486,7 +486,7 @@ "Description (French)": "Description (français)", "Design": "Conception", "Designing a consultation": "Conception d’une consultation", - "Design your inclusive and accessible consultation": "Design your inclusive and accessible consultation", + "Design your inclusive and accessible consultation": "Concevez votre consultation inclusive et accessible", "Developed in partnership": "Développé en partenariat", "Developing an accessibility plan": "Développement d’un plan sur l’accessiblité", "Developmental disabilities": "Déficience intellectuelle (et autres troubles du développement)", @@ -506,7 +506,7 @@ "Disconnected rooms for down-time": "Salles isolées pour les temps morts", "Dismiss": "Ignorer", "document access needs": "document access needs", - "document languages": "document languages", + "document languages": "langues du document", "Documents will be sent to participants by:": "Les documents seront envoyés aux personnes participantes par :", "Does :name have lived experience of the people they can connect to?": ":name a-t-il\/a-t-elle une expérience vécue de la réalité des personnes auprès desquelles il\/elle peut servir d’intermédiaire ?", "Does your organization :represent_or_serve_and_support a specific age bracket or brackets?": "Est-ce que votre organisation représente une ou plusieurs tranches d’âge spécifiques ?", @@ -539,7 +539,7 @@ "Edit page translations": "Modifier les traductions de la page", "Edit project page": "Modifier la page du projet", "Edit resource": "Modifier la ressource", - "Edit resource collection": "Edit resource collection", + "Edit resource collection": "Éditer une bibliothèque de ressources", "Edit roles": "Modifier les rôles", "Edit user’s role": "Changer le rôle de la personne", "Edit your contact information": "Modifier vos informations de contact", @@ -578,7 +578,7 @@ "Engagements that are looking for people that my organization represents or supports": "Consultations qui recherchent des personnes que mon organisation représente ou soutient", "Engagements that are looking for someone with my lived experience": "Consultations qui sont à la recherche de personnes avec mon expérience vécue", "Engagement translations": "Traductions de la consultation", - "Engage with disability and Deaf communities and hold meaningful consultations": "Engage with disability and Deaf communities and hold meaningful consultations", + "Engage with disability and Deaf communities and hold meaningful consultations": "Collaborez avec les communautés des personnes en situation de handicap et des personnes sourdes et tenez des consultations substantielles", "English author name": "Nom de l’auteur en anglais", "Enter your collaboration preferences": "Entrez vos préférences de collaboration", "Episodic and invisible disabilities": "Incapacités épisodiques et invisibles", @@ -607,7 +607,7 @@ "Federally Regulated Organization": "Organisation sous réglementation fédérale", "Federally regulated organization name": "Nom de l’organisation sous réglementation fédérale", "federally regulated organization name": "nom de l’organisation sous réglementation fédérale", - "Federally regulated organization orientation": "Federally regulated organization orientation", + "Federally regulated organization orientation": "Orientation de l’organisation sous réglementation fédérale", "federally regulated organizations": "organisations sous réglementation fédérale", "Federally regulated organizations": "Organisations sous réglementation fédérale", "Federally Regulated private sector": "Secteur privé sous réglementation fédérale", @@ -648,7 +648,7 @@ "for using The Accessibility Exchange": "du Connecteur pour l’accessibilité", "For your projects and engagements, you can chose whether you would like notifications to be sent through the website or by contacting the contact person for that specific project directly.": "Pour vos projets et consultations, vous pouvez choisir si vous souhaitez que les notifications soient envoyées via le site Internet ou en contactant directement la personne contact pour ce projet spécifique.", "For your security, please make sure your password has:": "Pour votre sécurité, veuillez vous assurer que votre mot de passe a :", - "For you to bring your support person, we will need to tell the organization you are working with who you are, and that you requested this.": "For you to bring your support person, we will need to tell the organization you are working with who you are, and that you requested this.", + "For you to bring your support person, we will need to tell the organization you are working with who you are, and that you requested this.": "Pour vous permettre d’amener votre personne de confiance, nous devrons dire à l’organisation avec laquelle vous travaillez qui vous êtes et que vous en avez fait la demande.", "For you to get a follow up call or email, we will need to tell the organization you are working with who you are, and that you requested this.": "Pour que vous receviez un appel ou un courriel de suivi, nous devrons informer l’organisation avec laquelle vous travaillez de votre identité et du fait que vous avez demandé ce suivi.", "For you to get engagement documents that meet your access needs, we will need to tell the organization you are working with who you are, and that you requested this.": "Pour que vous puissiez obtenir des documents de consultation qui répondent à vos besoins en matière d’accessibilité, nous devrons indiquer à l’organisation avec laquelle vous travaillez qui vous êtes et que vous en avez fait la demande.", "French author name": "Nom de l’auteur en français", @@ -667,7 +667,7 @@ "Gender identity": "Identité de genre", "Gender neutral, barrier-free washrooms": "Toilettes mixtes et accessibles", "Gender non-conforming people": "Personnes non-conformes au genre", - "gender or sexual identity group": "gender or sexual identity group", + "gender or sexual identity group": "groupes d’identités sexuelles ou de genre", "General access needs": "Besoins généraux en matière d’accessibilité", "Geographical areas this project will impact": "Zones géographiques sur lesquelles ce projet aura un impact", "geographic areas": "zones géographiques", @@ -700,7 +700,7 @@ "has gender and sexuality constituencies": "has gender and sexuality constituencies", "has indigenous connections": "has indigenous connections", "has indigenous constituencies": "has indigenous constituencies", - "has other disability connection": "has other disability connection", + "has other disability connection": "a un autre lien avec le handicap", "has other disability constituency": "has other disability constituency", "has other ethnoracial identity connection": "has other ethnoracial identity connection", "has other ethnoracial identity constituency": "has other ethnoracial identity constituency", @@ -756,7 +756,7 @@ " if you need this in another language.": " si vous avez besoin de soutien dans une autre langue.", "If your organization is offering services as a **Community Connector**, regulated organizations may ask you to assist them in connecting to your primary constituencies. If your organization is offering services as a **Consultation Participant**, regulated organizations may ask you to represent this group’s point of view in consultations.": "Si votre organisation offre des services en tant que **Community Connector**, les organisations réglementées peuvent vous demander de les aider à établir des liens avec les populations les intéressant le plus. Si votre organisation offre des services en tant que **Consultation Participant**, les organisations réglementées peuvent vous demander de représenter le point de vue de ce ou ces groupes lors des consultations.", "If you select no, our support line will contact you and arrange for a way to have your access needs met.": "Si vous choisissez \"non\", notre service à la clientèle vous contactera afin de trouver un moyen alternatif pour satisfaire vos besoins en matière d’accessibilité.", - "Immigrants": "Immigrants", + "Immigrants": "Personnes immigrantes", "Includes individuals with no spoken or signed language who communicate using gestures, pictures, letter boards, communication devices or assistance from a person who knows them well": "Comprend les personnes non-verbales ou ne communiquant pas avec une langue signée mais communiquant en utilisant des gestes, des images, des tableaux de lettres, des dispositifs de communication ou l’aide d’une personne qui les connaît bien", "Includes individuals with sight loss, blind individuals, and partially sighted individuals": "Comprend les personnes ayant perdu la vue, les personnes aveugles et les personnes malvoyantes", "Includes intellectual disability": "Comprend la déficience intellectuelle", @@ -816,7 +816,7 @@ "Join our accessibility community": "Rejoignez notre communauté en faveur de l’accessibilité", "Keeping my information up to date": "Maintenir mes informations à jour", "Language": "Langue", - "language": "language", + "language": "langue", "Language: :locale": "Langue: :locale", "Language :language added.": "Langue :language ajoutée.", "Language :language removed.": "Langue :language supprimée.", @@ -897,12 +897,12 @@ "Materials will be provided in the following languages:": "Le matériel sera disponible dans les langues suivantes :", "Me": "Moi", "means that a field is required.": "singifie qu’un champ est requis.", - "meeting access needs": "meeting access needs", + "meeting access needs": "besoins de base en matière d’accessibilité pour la rencontre", "meeting date": "date de la réunion", "Meeting dates": "Dates de réunion", "meeting end time": "heure de fin de la réunion", "Meetings": "Réunions", - "meeting software": "meeting software", + "meeting software": "logiciel utilisé pour la réunion", "meeting start time": "heure de début de la réunion", "meeting time zone": "fuseau horaire de la réunion", "meeting title": "titre de la réunion", @@ -980,7 +980,7 @@ "No interests listed.": "Aucun intérêt répertorié.", "No meetings found.": "Aucune réunion trouvée.", "Non-binary, gender non-conforming and\/or gender fluid people": "Personnes non-binaires, non-conformes au genre et\/ou fluides de genre", - "Non-binary\/Gender non-conforming\/Gender fluid identity": "Non-binary\/Gender non-conforming\/Gender fluid identity", + "Non-binary\/Gender non-conforming\/Gender fluid identity": "Identité non-binaire\/ non-conforme au genre\/ fluide de genre", "Non-binary people": "Personnes non-binaires", "None found.": "Rien n’a été trouvé.", "None listed": "Aucun listé", @@ -1016,7 +1016,7 @@ "Not started yet": "Pas encore commencé", "Not yet approved": "Votre compte n’a encore été approuvé.", "Not yet requested": "Pas encore demandé", - "Not yet started": "Not yet started", + "Not yet started": "Pas encore commencé", "No upcoming engagements.": "Aucune consultation à venir.", "Nova Scotia": "Nouvelle-Écosse", "Number of participants": "Nombre de personnes participantes", @@ -1027,7 +1027,7 @@ "Older people (65+)": "Personnes aînées (65+)", "On": "Actif", "Once individuals agree to work on your project as Consultation Participants, you can reach out to them directly to coordinate how and when to work together.": "Une fois que les personnes acceptent de participer à votre projet en tant que personnes participantes, vous pouvez les contacter directement pour coordonner comment et quand travailler ensemble.", - "Once you are a part of an engagement, you can communicate directly with the business or government to figure out how to work on their accessibility project. You will be paid for your work.": "Once you are a part of an engagement, you can communicate directly with the business or government to figure out how to work on their accessibility project. You will be paid for your work.", + "Once you are a part of an engagement, you can communicate directly with the business or government to figure out how to work on their accessibility project. You will be paid for your work.": "Une fois que vous participez à une consultation, vous pouvez communiquer directement avec l’entreprise ou le gouvernement pour déterminer comment travailler sur leur projet d’accessibilité. Vous serez rémunéré pour votre travail.", "Once you are done watching the videos for all the modules, you can take this quiz. Upon passing this quiz, you can receive your certificate of completion.": "Une fois que vous aurez terminé de regarder les vidéos de tous les modules, vous pourrez répondre à ce jeu-questionnaire. En réussissant ce jeu-questionnaire, vous recevrez votre certificat de réussite.", "Once you confirm your participation for an engagement, we share your access needs with the government or business that you are working with. This will help them seek out the appropriate service providers to meet your access need(s).": "Lorsque vous confirmez votre participation à une consultation, nous partageons vos besoins en matière d’accessibilité avec le gouvernement ou l’entreprise avec lesquels vous travaillez. Cela les aidera à trouver les fournisseurs de services appropriés pour répondre à votre ou vos besoins en matière d’accessibilité.", "Once you confirm your participation for an engagement, we will share your preferred contact method and your contact information with the government or business. This information enables them to contact you to discuss the details of your participation.": "Lorsque vous confirmez votre participation à une consultation, nous partageons votre méthode de communication préférée et vos coordonnées avec le gouvernement ou l’entreprise. Ces informations leur permettent de vous contacter pour discuter des détails de votre participation.", @@ -1046,17 +1046,17 @@ "Ontario": "Ontario", "Open call": "Invitation ouverte", "Opens in new tab": "S’ouvre dans un nouvel onglet", - "open to other formats": "open to other formats", + "open to other formats": "ouvert à d’autres formats", "optional": "optionnel", - "organization": "organization", + "organization": "organisation", "Organization details": "Détails de l’organisation", "Organization information": "Informations sur l’organisation", "Organization information that will set you up for running consultations.": "Renseignements sur l’organisation qui vous permettront de mener des consultations.", "Organization name": "Nom de l’organisation", "organization name": "nom de l’organisation", - "organization name (English)": "organization name (English)", - "organization name (French)": "organization name (French)", - "organizations": "organizations", + "organization name (English)": "nom de l’organisation (anglais)", + "organization name (French)": "nom de l’organisation (français)", + "organizations": "organisations", "organizations and businesses to work on accessibility projects together.": "les organisations et entreprises afin de travailler ensemble sur des projets relatifs à l’accessibilité.", "Organizations can decide which criteria they would like the participants for a project to have. They then have a choice between:": "Les organisations peuvent décider des critères qu’elles souhaitent voir figurer parmi les personnes participantes à un projet. Elles ont alors le choix entre :", "Organization selection criteria": "Critères de sélection des organisations", @@ -1077,14 +1077,14 @@ "other accepted formats": "autres formats acceptés", "other access need": "autres besoins en matière d’accessibilité", "Other civil society organizations relevant to people with disabilities, Deaf people, and supporters": "Autres organisations de la société civile pertinentes pour les personnes en situation de handicap, les personnes sourdes et leurs réseaux de soutien", - "other disability connection": "other disability connection", - "other disability constituency": "other disability constituency", + "other disability connection": "autre lien avec le handicap", + "other disability constituency": "autre groupe de personnes en situation de handicap", "other ethnoracial identity connection": "other ethnoracial identity connection", "other ethnoracial identity constituency": "other ethnoracial identity constituency", "Other identities": "Autres axes d’identité", "Other identity groups": "Autres groupes identitaires", "other identity type": "autre type d’identité", - "other payment type": "other payment type", + "other payment type": "autre type de paiement", "Other public sector organization, which is regulated by the Accessible Canada Act": "Autre organisation du secteur public qui est réglementée par la Loi canadienne sur l’accessibilité", "Other – in-person or virtual meeting": "Autre - réunion en personne ou virtuelle", "Other – written or recorded response": "Autre – réponse écrite ou enregistrée", @@ -1098,7 +1098,7 @@ "Page also available in:": "Page également disponible en :", "Pages": "Pages", "Page sections": "Section de la page", - "Page status": "Page status", + "Page status": "Statut de la page", "Page title": "Titre de la page", "Page translations": "Traductions de la page", "Paid": "Opportunité rémunérée", @@ -1140,7 +1140,7 @@ "phone number": "numéro de téléphone", "Phone number:": "Numéro de téléphone :", "Phone number to join": "Numéro de téléphone à rejoindre", - "phone number to join the meeting": "phone number to join the meeting", + "phone number to join the meeting": "numéro de téléphone pour se joindre à la réunion", "Physical and mobility disabilities": "Déficience physique et de mobilité", "Plain language": "Langage simple", "Plan and share your project with others on this website.": "Planifiez et partagez votre projet avec d’autres personnes sur ce site Internet.", @@ -1150,28 +1150,28 @@ "Please check all that apply.": "Veuillez cocher toutes les cases qui s’appliquent.", "Please choose a new password for The Accessibility Exchange": "Veuillez choisir un nouveau mot de passe pour le Connecteur pour l’accessibilité", "Please choose the language or languages you would like to use on this website.": "Veuillez choisir la ou les langues que vous souhaitez utiliser sur ce site Internet.", - "Please click the button below to verify your email address.": "Please click the button below to verify your email address.", - "Please complete this section so that you can be set up to participate.": "Please complete this section so that you can be set up to participate.", + "Please click the button below to verify your email address.": "Veuillez cliquer sur le bouton ci-dessous pour vérifier votre adresse courriel.", + "Please complete this section so that you can be set up to participate.": "Veuillez remplir cette section afin de pouvoir participer.", "Please complete your engagement details.": "Veuillez compléter les détails de votre consultation.", "Please complete your engagement details so potential participants can know what they are signing up for.": "Veuillez compléter les détails de votre consultation afin que les personnes intéressées puissent savoir à quoi elles s’engagent.", "Please confirm new password": "Veuillez confirmer le nouveau mot de passe", "Please confirm that your experience matches the following:": "Veuillez confirmer que votre expérience correspond à ce qui suit :", - "Please contact :name to facilitate their access needs being met on the engagement [:engagement](:engagement-url).": "Please contact :name to facilitate their access needs being met on the engagement [:engagement](:engagement-url).", - "Please contact :name to facilitate their access needs being met on the engagement [:engagement_name](:engagement_url).": "Please contact :name to facilitate their access needs being met on the engagement [:engagement_name](:engagement_url).", - "Please contact us at :email or :phone if you need further assistance.": "Please contact us at :email or :phone if you need further assistance.", - "Please contact us if you need further assistance.": "Please contact us if you need further assistance.", + "Please contact :name to facilitate their access needs being met on the engagement [:engagement](:engagement-url).": "Veuillez contacter :name pour vous assurer que ses besoins en matière d’accessibilité sont comblés dans le cadre de la consultation [:engagement](:engagement-url).", + "Please contact :name to facilitate their access needs being met on the engagement [:engagement_name](:engagement_url).": "Veuillez contacter :name pour vous assurer que ses besoins en matière d’accessibilité sont comblés dans le cadre de la consultation [:engagement_name](:engagement_url).", + "Please contact us at :email or :phone if you need further assistance.": "Veuillez nous contacter à l’adresse :email ou au :phone si vous avez besoin d’aide.", + "Please contact us if you need further assistance.": "N’hésitez pas à nous contacter si vous avez besoin d’aide.", "Please create an account to join The Accessibility Exchange.": "Veuillez créer un compte pour vous joindre au Connecteur pour l’accessibilité.", "Please create your organization’s page so that other members of this website can find you.": "Veuillez créer la page de votre organisation afin que les autres membres de ce site Internet puissent vous trouver.", "Please create your page to share more about who you are, your experiences, and your interests.": "Veuillez créer votre page pour en dire plus sur qui vous êtes, vos expériences et vos intérêts.", "Please describe how the Disability and Deaf communities will be impacted by the outcomes of your project.": "Veuillez décrire comment les communautés des personnes en situation de handicap et des personnes sourdes seront touchées par les résultats de votre projet.", "Please describe this engagement.": "Veuillez décrire cette consultation.", - "Please enter a :attribute that is less than or the same as the ideal number of participants.": "Please enter a :attribute that is less than or the same as the ideal number of participants.", - "Please enter an end year for your experience that is equal to or greater than the start year.": "Please enter an end year for your experience that is equal to or greater than the start year.", + "Please enter a :attribute that is less than or the same as the ideal number of participants.": "Veuillez saisir un :attribut inférieur ou égal au nombre idéal de personnes participantes.", + "Please enter an end year for your experience that is equal to or greater than the start year.": "Veuillez indiquer une année de fin pour votre expérience qui soit égale ou supérieure à l’année de début.", "Please enter a valid :attribute.": "Please enter a valid :attribute.", "Please enter a valid date for the :attribute.": "Veuillez entrer une date valide pour le champ :attribute.", "Please enter a valid website link under “Accessibility and Inclusion links”.": "Veuillez saisir un lien Internet valide sous \"Liens en lien avec l’accessibilité et l’inclusion\".", "Please enter the email address of the individual you have hired as a Community Connector.": "Veuillez entrer l’adresse courriel de la personne que vous avez embauchée en tant que personne facilitatrice communautaire.", - "Please enter your own name and email, rather than you organization’s. You will be able to create your organization in a later step.": "Please enter your own name and email, rather than you organization’s. You will be able to create your organization in a later step.", + "Please enter your own name and email, rather than you organization’s. You will be able to create your organization in a later step.": "Veuillez saisir votre nom et votre adresse courriel plutôt que ceux de votre organisation. Vous pourrez créer votre organisation plus tard.", "Please fill out and return your application for your :role and :otherRole roles. You must return this and have it approved before you can attend orientation. You can find the applications in the links below, or in the email we sent you.": "Please fill out and return your application for your :role and :otherRole roles. You must return this and have it approved before you can attend orientation. You can find the applications in the links below, or in the email we sent you.", "Please fill out and return your application for your :role role. You must return this and have it approved before you can attend orientation. You can find the application in the link below, or in the email we sent you.": "Please fill out and return your application for your :role role. You must return this and have it approved before you can attend orientation. You can find the application in the link below, or in the email we sent you.", "Please identify the type of Regulated Organization yours is:": "Veuillez identifier le type d’organisation réglementée que vous êtes :", @@ -1203,7 +1203,7 @@ "Please list any languages that you will be using to describe your organization.": "Veuillez énumérer toutes les langues que vous utiliserez pour décrire votre organisation.", "Please list any languages that you will be using to describe your regulated organization.": "Veuillez énumérer toutes les langues que vous utiliserez pour décrire votre organisation sous réglementation fédérale.", "Please list any training related to accessibility or inclusion that your team members have received.": "Veuillez énumérer toute formation liée à l’accessibilité ou à l’inclusion que les membres de votre équipe ont reçue.", - "Please note that all organizations have been asked to provide gender neutral and accessible washrooms by default.": "Please note that all organizations have been asked to provide gender neutral and accessible washrooms by default.", + "Please note that all organizations have been asked to provide gender neutral and accessible washrooms by default.": "Veuillez noter que toutes les organisations ont été invitées à fournir des toilettes non genrées et accessibles par défaut.", "Please note that selecting some of these options may open up new follow-up questions below them. ": "Veuillez noter que sélectionner certaines des options suivantes peut faire apparaître de nouvelles questions complémentaires. ", "Please provide personal information that will help us find consultations for you to participate in.": "Veuillez fournir les renseignements personnels nécessaires pour nous aider à trouver des consultations auxquelles vous pourriez participer.", "Please provide the details for a member of your team whom potential participants may contact to ask questions.": "Veuillez fournir les coordonnées de la personne de votre équipe que les personnes susceptibles de participer peuvent contacter pour leur poser des questions.", @@ -1212,7 +1212,7 @@ "Please review and publish your engagement details.": "Veuillez réviser et publier les détails de votre consultation.", "Please review your page. There is some information for your new role that you will have to fill in.": "Merci de vérifier l’information présentée sur cette page. De l’information sur les nouveaux rôles que vous avez sélectionnés est disponible.", "Please select a language.": "Veuillez sélectionner une langue.", - "Please select a language that the engagement documents will be in.": "Please select a language that the engagement documents will be in.", + "Please select a language that the engagement documents will be in.": "Veuillez sélectionner la langue dans laquelle les documents de la consultation seront rédigés.", "Please select a language to remove.": "Veuillez sélectionner une langue à supprimer.", "Please select a recruitment method": "Veuillez sélectionner une méthode de recrutement", "Please select the disability and\/or Deaf groups that you can connect to.": "Veuillez sélectionner les groupes de personnes en situation de handicap et\/ou de personnes sourdes auprès desquels vous pouvez agir comme intermédiaire.", @@ -1225,7 +1225,7 @@ "Please select your time zone…": "Veuillez sélectionner votre fuseau horaire…", "Please tell us more about the individuals you’d like participating in your engagement.": "Veuillez nous en dire plus sur les personnes que vous aimeriez impliquer dans votre consultation.", "Please tell us more about the organization you’d like participating in your engagement.": "Veuillez nous en dire plus sur l’organisation que vous souhaitez impliquer dans votre consultation.", - "Please tell us the type of organization you are representing.": "Please tell us the type of organization you are representing.", + "Please tell us the type of organization you are representing.": "Veuillez nous indiquer le type d’organisation que vous représentez.", "Please tell us what your organization would like to do here. You must pick at least one of these roles. You can always change this later.": "Veuillez nous dire ce que votre organisation aimerait faire sur la plateforme. Vous devez choisir au moins un de ces rôles. Vous pourrez toujours le modifier ultérieurement.", "Please tell us what you would like to do on this website.": "Veuillez nous dire ce quel rôle vous souhaitez occuper sur la plateforme.", "Please tell us which community or communities your organization :represents_or_serves_and_supports.": "Dites-nous en plus sur la ou les communautés que votre organisation :represents_or_serves_and_supports.", @@ -1241,13 +1241,13 @@ "Prefer not to answer": "Préfère ne pas répondre", "preferred": "préféré", "Preferred contact method": "Méthode de contact privilégiée", - "preferred contact method": "preferred contact method", - "Preferred contact person": "Preferred contact person", + "preferred contact method": "méthode de contact privilégiée", + "Preferred contact person": "Personne de contact privilégiée", "Preferred notification method": "Méthode de notification privilégiée", "present": "présent", "Preview page": "Prévisualiser la page", - "previous project": "previous project", - "previous project id": "previous project id", + "previous project": "projet précédent", + "previous project id": "ID du projet précédent", "Pricing": "Tarification", "Prince Edward Island": "Île-du-Prince-Édouard", "Printed version of engagement documents": "Version imprimée des documents de consultation", @@ -1259,7 +1259,7 @@ "projectable id": "projectable id", "projectable type": "projectable type", "Project by :projectable": "Projet par :projectable", - "project context": "project context", + "project context": "contexte du projet", "project created by organization type notification setting": "project created by organization type notification setting", "Project details": "Détails du projet", "Project duration": "Durée du projet", @@ -1267,30 +1267,30 @@ "project engagement type notification setting": "project engagement type notification setting", "Project goals": "Objectifs du projet", "project goals": "objectifs du projet", - "Project goals (English)": "Project goals (English)", - "Project goals (French)": "Project goals (French)", + "Project goals (English)": "Objectifs du projet (anglais)", + "Project goals (French)": "Objectifs du projet (français)", "Project goals must be provided in at least one language.": "Les objectifs du projet doivent être fournis dans au moins une langue.", "project id": "project id", "Project impact": "Impact du projet", - "project languages": "project languages", + "project languages": "langues du projet", "Project name": "Nom du projet", "project name": "nom du projet", - "project name (English)": "project name (English)", - "Project name (English)": "Project name (English)", - "project name (French)": "project name (French)", - "Project name (French)": "Project name (French)", + "project name (English)": "nom du projet (anglais)", + "Project name (English)": "Nom du projet (anglais)", + "project name (French)": "nom du projet (français)", + "Project name (French)": "Nom du projet (français)", "Project outcome": "Résultat du projet", - "Project outcome (English)": "Project outcome (English)", - "Project outcome (French)": "Project outcome (French)", + "Project outcome (English)": "Résultat du projet (anglais)", + "Project outcome (French)": "Résultat du projet (français)", "Project overview": "Aperçu du projet", - "Project page incomplete": "Project page incomplete", + "Project page incomplete": "La page du projet est incomplète", "Project reports": "Rapports de projets", "Projects": "Projets", "Projects and engagements by other organizations": "Projets et consultations d’autres organisations", "Projects by organizations that I have saved on my notification list": "Projets des organisations que j’ai enregistrées dans ma liste de notification", "Project scope": "Portée du projet", - "Project scope (English)": "Project scope (English)", - "Project scope (French)": "Project scope (French)", + "Project scope (English)": "Portée du projet (anglais)", + "Project scope (French)": "Portée du projet (français)", "Project scope must be provided in at least one language.": "La portée du projet doit être fournie dans au moins une langue.", "Projects I am contracted for": "Projets pour lesquels je suis sous contrat", "Projects I am participating in": "Projets auxquels je participe", @@ -1298,14 +1298,14 @@ "Projects involved in as a Community Connector": "Mes projets à titre de personne facilitatrice communautaire", "Projects involved in as a Consultation Participant": "Mes projets à titre de personne participant à des consultations", "Projects I’m running": "Projets que je dirige", - "projects notification setting": "projects notification setting", + "projects notification setting": "paramètres des notifications pour le projet", "Project start date": "Date de début du projet", "Projects that are looking for people that my organization represents or supports": "Projets cherchant des personnes que mon organisation représente ou soutient", "Projects that are looking for someone with my lived experience": "Projets cherchant une personne ayant une expérience vécue similaire à la mienne", "Project team": "Équipe du projet", "Project timeframe": "Echéancier du projet", "Project Translations": "Traductions du projet", - "project type notification setting": "project type notification setting", + "project type notification setting": "type de notifications pour le projet", "Pronouns": "Pronons", "pronouns": "pronons", "Provides Guidance and Resources": "Un lieu pour trouver des conseils et des ressources", @@ -1315,7 +1315,7 @@ "Providing this information will help us match you to projects that are working on areas of interest to you.": "Fournir ces informations nous aidera à vous jumeler à des projets qui portent sur des domaines qui vous intéressent.", "Province or territory": "Province ou territoire", "province or territory": "province ou territoire", - "public outcomes": "public outcomes", + "public outcomes": "résultats publics", "Public profile": "Profil public", "Publish": "Publier", "Published": "Publiée", @@ -1341,7 +1341,7 @@ "Recruit individuals who are Deaf or have disabilities to give input on your own projects.": "Recrutez des personnes sourdes ou en situation de handicap pour qu’elles donnent leur avis sur vos projets.", "Recruitment": "Recrutement", "Recruitment method": "Méthode de recrutement", - "recruitment method": "recruitment method", + "recruitment method": "méthode de recrutement", "Refugees": "Personnes réfugiées", "Refugees and\/or immigrants": "Personnes réfugiées ou migrantes", "Regions": "Régions", @@ -1351,11 +1351,11 @@ "regulated organization": "organisation sous réglementation fédérale", "Regulated organization": "Organisation sous réglementation fédérale", "Regulated organization name": "Nom de l’organisation sous réglementation fédérale", - "Regulated Organization page": "Regulated Organization page", + "Regulated Organization page": "Page de l’organisation sous réglementation fédérale", "Regulated organizations": "Organisations sous réglementation fédérale", "Regulated Organizations": "Organisations sous réglementation fédérale", "Regulated organizations hire a Community Connector to connect to certain communities that they may otherwise find difficult to reach. Providing the information about the communities that you have connections to, lets the government and business groups know how you could help them.": "Les organismes réglementés font appel à une personne facilitatrice communautaire afin d’établir des liens avec certaines communautés qu’ils pourraient autrement avoir du mal à rejoindre. En fournissant les informations sur les communautés avec lesquelles vous avez des liens, vous permettez au gouvernement et aux entreprises de savoir comment vous pourriez les aider.", - "Regulated Organization type": "Regulated Organization type", + "Regulated Organization type": "Type d’organisation sous réglementation fédérale", "Relevant experience": "Expérience pertinente", "Relevant experiences": "Expériences pertinentes", "Relevant experiences (including any volunteer or paid experience)": "Expériences pertinentes (y compris toute expérience bénévole ou rémunérée)", @@ -1370,7 +1370,7 @@ "Remove experience": "Retirer l’expérience", "Remove from my notification list": "Retirer de ma liste de notifications", "Remove language": "Retirer la langue", - "Remove member from your organization": "Remove member from your organization", + "Remove member from your organization": "Retirer un membre de votre organisation", "Remove this language": "Retirer cette langue", "Remove this link": "Retirer ce lien", "Remove this location": "Retirer cet emplacement", @@ -1400,7 +1400,7 @@ "Results": "Résultats", "Returned": "Retourné", "Return to dashboard": "Retour au tableau de bord", - "return to engagement": "return to engagement", + "return to engagement": "retourner à la consultation", "Review and publish engagement details": "Réviser et publier les détails de la consultation", "Review and publish your organization’s public page": "Révisez et publiez la page publique de votre organisation", "Review and publish your public page": "Révisez et publiez votre page publique", @@ -1409,9 +1409,9 @@ "Review project": "Réviser le projet", "Review project details": "Vérifier les détails du projet", "Role": "Rôle", - "role": "role", + "role": "rôle", "Roles": "Rôles", - "roles": "roles", + "roles": "rôles", "Roles:": "Rôles :", "Roles and permissions": "Rôles et permissions", "Run by": "Dirigé par", @@ -1465,13 +1465,13 @@ "Settings": "Paramètres", "Share some information about yourself, including which communities you are connected to, so governments and businesses can get to know you and how you may be able to help them.": "Partagez quelques informations sur vous-même, y compris les communautés auxquelles vous êtes rattaché ou pour lesquelles vous pouvez servir d’intermédiaire, afin que les gouvernements et les entreprises puissent apprendre à vous connaître et savoir comment vous pouvez les aider.", "Share some information about yourself so governments and businesses can get to know you and what you may be able to help them with.": "Partagez quelques informations sur vous-même afin que les gouvernements et les entreprises puissent apprendre à vous connaître et à savoir ce que vous pourriez leur apporter.", - "Sharing your access needs": "Sharing your access needs", + "Sharing your access needs": "Partagez vos besoins en matière d’accessibilité", "Showing :current_start to :current_end of :total results": "Affichage de :current_start à :current_end de :total résultats", "Show password": "Afficher le mot de passe", "Show that you are looking for a Community Connector": "Indiquer que vous êtes à la recherche d’une personne facilitatrice communautaire", "show up on search results for them": "apparaître dans les résultats de recherche", "Signed language for interpretation": "Langue signée pour l’interprétation", - "signed language for translation": "signed language for translation", + "signed language for translation": "traduction en langue des signes", "Sign in": "S’identifier", "Sign language interpretation": "Interprétation en langue des signes", "Sign language interpretations": "Interprétation en langue des signes", @@ -1506,7 +1506,7 @@ "Social media links": "Liens de vos réseaux sociaux", "Software": "Logiciel", "Some of the access needs you’ve chosen need :projectable to directly contact you to arrange and deliver. Are you okay with us putting your name beside this access need?": "Some of the access needs you’ve chosen need :projectable to directly contact you to arrange and deliver. Are you okay with us putting your name beside this access need?", - "Someone to call and walk you through the information": "Someone to call and walk you through the information", + "Someone to call and walk you through the information": "Quelqu’un qui vous appellera et vous guidera dans l’obtention des informations", "Some participants may not be able to meet in real-time. For them, you can send out a list of questions, and participants can respond to them in formats you accept.": "Certains personnes participantes peuvent ne pas être en mesure de participer à une réunion en direct. Dans ce cas, vous pouvez envoyer une liste de questions et les personnes participantes pourront y répondre dans des formats que vous acceptez.", "Something else": "Quelque chose d’autre", "Sometimes, governments and businesses also want to talk to people with specific experiences. For example, people from a certain location. Or, people who speak a certain first language.": "Parfois, les gouvernements et les entreprises veulent aussi parler à des personnes ayant des expériences spécifiques. Par exemple, des personnes originaires d’un certain endroit. Ou, des personnes qui parlent une première langue en particulier.", @@ -1556,16 +1556,16 @@ "Suspended": "Suspendu", "System theme": "Thème du système", "Take Quiz": "Répondre au jeu-questionnaire", - "Tangible outcomes must be provided in at least one language.": "Tangible outcomes must be provided in at least one language.", + "Tangible outcomes must be provided in at least one language.": "Les résultats concrets doivent être disponibles dans au moins une langue.", "tangible outcomes of this project": "résultats tangibles de ce projet", "Tangible outcomes of this project": "Résultats tangibles de ce projet", "Tap into our support network": "Profitez de notre réseau de soutien", "Team contact": "Contact de l’équipe", "Team Invitation": "Invitation à rejoindre une équipe", - "team size": "team size", + "team size": "taille de l’équipe", "Tell us about who you are.": "Dites-nous en plus à propos de vous.", "Tell us about your organization, its mission, and what you offer.": "Parlez-nous de votre organisation, de sa mission et de ce que vous offrez.", - "Tell us your business name": "Tell us your business name", + "Tell us your business name": "Indiquez-nous le nom de votre entreprise", "Tell us your organization’s name": "Indiquez-nous le nom de votre organisation", "Templates and forms": "Modèles et formulaires", "Temporary disabilities": "Incapacités temporaires", @@ -1693,7 +1693,7 @@ "Time and date": "Heure et date", "Times during the day interviews will be happening": "Heures auxquelles les entrevues auront lieu durant la journée", "Time zone": "Fuseau horaire", - "timezone": "timezone", + "timezone": "fuseau horaire", "Title of meeting": "Titre de la réunion", "Title of role": "Titre du rôle ou du poste", "Title of Role": "Titre du rôle ou du poste", @@ -1704,20 +1704,20 @@ "To leave this engagement, please contact us and we will help you to do so:": "Pour quitter cette consultation, veuillez nous contacter et nous vous aiderons à le faire :", "To leave this engagement, you will need to contact its Community Connector.": "Pour quitter cette consultation, vous devez contacter la personne facilitatrice communautaire.", "Topic": "Sujet", - "Topic name": "Topic name", + "Topic name": "Nom du sujet", "Topics": "Sujet(s)", - "To protect the privacy of participants, you are only able to pick one of the following criteria.": "To protect the privacy of participants, you are only able to pick one of the following criteria.", + "To protect the privacy of participants, you are only able to pick one of the following criteria.": "Afin de protéger la vie privée des participants, vous ne pouvez choisir qu’un seul des critères suivants.", "To request an estimate, you must have created your project’s page.": "Pour pouvoir demander un devis, vous devez avoir préalablement créé la page de votre projet.", "To request an estimate, you must have filled out your project’s engagement details (and meeting information for workshops and focus groups).": "Pour demander un devis, vous devez avoir rempli les détails de la consultation en lien avec votre projet ( ainsi que les informations relatives aux réunions pour les ateliers et les groupes de discussion).", "Trainer": "Personne fomatrice", "Training": "Formation", - "training": "training", - "Training by: :author": "Training by: :author", - "training date": "training date", - "training name": "training name", + "training": "formation", + "Training by: :author": "Formation par :author", + "training date": "date de la formation", + "training name": "nom de la formation", "Training organization or trainer": "Organisme de formation ou personne formatrice", - "training organization or trainer name": "training organization or trainer name", - "training organization or trainer website address": "training organization or trainer website address", + "training organization or trainer name": "organisme de formation ou nom de la personne formatrice", + "training organization or trainer website address": "adresse du site Internet de l’organisme de formation ou de la personne formatrice", "Training Participant": "Personne cherchant à se former", "Training your team has received": "Formation que votre équipe a suivie", "translatable id": "translatable id", @@ -1728,10 +1728,10 @@ "Twitter page": "Page Twitter", "Two-factor authentication": "Authentification à deux facteurs", "Type of organization": "Type d’organisation", - "type of Regulated Organization": "type of Regulated Organization", + "type of Regulated Organization": "type d’organisation sous réglementation fédérale", "Types of experiences or identities": "Types d’expériences ou d’identités", "Types of meetings offered": "Types de réunions proposées", - "Types of regulated organizations": "Types of regulated organizations", + "Types of regulated organizations": "Types d’organisation sous réglementation fédérale", "Unblock": "Débloquer", "Unblock :blockable": "Débloquer : blockable", "unblock them": "les débloquer", @@ -1749,7 +1749,7 @@ "Urban, rural, or remote": "Urbain, rural ou éloigné", "Urban areas": "Zones urbaines", "using the matching service to match the regulated organization with a group of people who meet the criteria.": "en utilisant le service de jumelage afin de mettre en relation l’organisme réglementé avec un groupe de personnes qui répondent à ses critères.", - "Verify Email Address": "Verify Email Address", + "Verify Email Address": "Vérifiez votre adresse courriel", "Verify your email": "Vérifiez votre adresse courriel", "Video": "Vidéo", "Video recording": "Enregistrement vidéo", @@ -1785,7 +1785,7 @@ "We have a hub of resources and trainings. The materials can help you and your team deepen your understanding of disability and inclusion.": "Nous mettons à votre disposition un centre de ressources et de formations. Ces documents peuvent vous aider, vous et votre équipe, à approfondir votre compréhension du handicap et de l’inclusion.", "Welcome to": "Bienvenue sur le", "Welcome to the Accessibility Exchange": "Bienvenue sur le Connecteur pour l’accessibilité", - "Welcome to The Accessibility Exchange": "Welcome to The Accessibility Exchange", + "Welcome to The Accessibility Exchange": "Bienvenue sur le Connecteur pour l’accessibilité", "We may have not updated this status in our system yet. Please wait a few days before seeing this status update. If you have further questions, please [contact us](:url).": "Il se peut que la mise à jour n'ait pas encore été enregistrée dans notre système. Un délai de quelques jours pourrait être nécessaire avant de voir la mise à jour dans votre compte. Si vous avez d’autres questions, n’hésitez pas à [nous contacter](:url).", "We will ask you about what is the best way to contact you, and your contact information. We will also ask you about whether you have a preference for either in-person or virtual meetings.": "Nous vous demanderons quel est le meilleur moyen de vous contacter et quelles sont vos coordonnées. Nous vous demanderons également si vous avez une préférence pour les réunions en personne ou virtuelles.", "We will ask you about what your access needs are to participate in either an in-person meeting or virtual meeting. We also ask whether you have a preference for either in-person or virtual meetings.": "Nous vous demandons quels sont vos besoins en matière d’accessibilité pour participer à une réunion en personne ou à une réunion virtuelle. Nous vous demandons également si vous avez une préférence pour les réunions en personne ou virtuelles.", @@ -1827,7 +1827,7 @@ "What you can do on this website": "Ce que vous pouvez faire sur ce site Internet", "When Federally Regulated Organizations use the matching service to find a group of Consultation Participants, The Accessibility Exchange will create a diverse group of participants in terms of being disabled, Deaf, and other identities. This diversity can maximize the number of perspectives which can be represented.": "Lorsque les organisations sous réglementation fédérale utilisent le service de jumelage pour trouver un groupe de personnes voulant participer à des consultations, le Connecteur pour l’accessibilité crée automatiquement un groupe diversifié de personnes participantes en ce qui a trait aux personnes en situation de handicap, aux personnes sourdes et à d’autres identités. Cette diversité permet de maximiser le nombre de perspectives qui peuvent être représentées.", "When you block someone, you will not be able to:": "Lorsque vous bloquez une personne, vous n’êtes plus en mesure de :", - "When you sign up to participate in consultations, the access needs you check off below will be shared with the organization you are working with so they can meet them.": "When you sign up to participate in consultations, the access needs you check off below will be shared with the organization you are working with so they can meet them.", + "When you sign up to participate in consultations, the access needs you check off below will be shared with the organization you are working with so they can meet them.": "Lorsque vous vous inscrivez pour participer à des consultations, les besoins en matière d’accessibilité que vous cochez ci-dessous seront communiqués à l’organisation avec laquelle vous travaillez afin qu’elle puisse y répondre.", "Where are your organization’s service areas?": "Où se trouvent les zones de service de votre organisation ?", "Where do the people that you :represent_or_serve_and_support come from?": "D’où viennent les personnes que vous représentez ?", "Where do the people that you can connect to come from?": "D’où viennent les personnes avec lesquelles vous pouvez servir d’intermédiaire ?", @@ -1841,18 +1841,18 @@ "Whether they consider themselves to be living in poverty or financially precarious": "Qu’ils se considèrent comme vivant dans la pauvreté ou la précarité financière", "Whether they identify with one or more of the 2SLGBTQIA+ identities": "S’ils s’identifient à une ou plusieurs des identités 2SLGBTQIA+", "Which age groups can you connect to?": "Auprès de quels groupes d’âge pouvez-vous servir d’intermédiaire ?", - "Which age groups does your organization specifically :represent_or_serve_and_support?": "Which age groups does your organization specifically :represent_or_serve_and_support?", + "Which age groups does your organization specifically :represent_or_serve_and_support?": "Quels sont les groupes d’âge que votre organisation :represent_or_serve_and_support?", "Which days of the week are available for interviews to be scheduled?": "Quels sont les jours de la semaine où les entrevues peuvent être planifiées ?", "Which ethno-racial identity or identities are the people you can connect to?": "Quels sont les différents groupes racisés ou éthniques auprès desquels vous pouvez servir d’intermédiaire?", "Which ethnoracial identity or identities are the people your organization specifically :represents_or_serves_and_supports": "Quels identité ou groupes d’identités votre organisation représente-t-elle?", "Which groups marginalized based on gender or sexual identity can you connect to?": "Auprès de quels groupes marginalisés en raison de leur orientation sexuelle ou de leur genre pouvez-vous servir d’intermédiaire?", - "Which groups marginalized based on gender or sexual identity does your organization specifically :represent_or_serve_and_support?": "Which groups marginalized based on gender or sexual identity does your organization specifically :represent_or_serve_and_support?", + "Which groups marginalized based on gender or sexual identity does your organization specifically :represent_or_serve_and_support?": "Quels sont les groupes marginalisés en raison de leur sexe ou de leur identité de genre que votre organisation :represent_or_serve_and_support?", "Which Indigenous groups can you connect to?": "Quels sont les groupes autochtones auprès desquels vous pouvez servir d’intermédiaire?", "Which Indigenous groups does your organization specifically :represent_or_serve_and_support?": "Quels groupes de personnes autochtones votre organisation représente-t-elle spécifiquement ?", "Which of these areas can you help a regulated organization with?": "Dans lesquels de ces domaines pouvez-vous aider une organisation réglementée ?", "White": "Blanc", "White on black": "Blanc sur noir", - "who": "who", + "who": "qui", "Who can be a :role?": "Qui peut être une :role?", "Who do you want to engage?": "Qui voulez-vous consulter ?", "who is going through the results": "qui passe en revue les résultats", @@ -1860,7 +1860,7 @@ "Who we’re looking for": "Qui nous cherchons", "Who will be going through the results and producing an outcome?": "Qui examinera les résultats et produira un rapport ?", "Who you’re joining as": "Quel type de compte voulez-vous créer?", - "Who’s responsible for going through results and producing an outcome": "Who’s responsible for going through results and producing an outcome", + "Who’s responsible for going through results and producing an outcome": "Qui est responsable d’examiner les résultats et de produire un rapport", "Why do we ask for this information?": "Pourquoi demandons-nous ces informations ?", "window flexibility": "window flexibility", "Women": "Femmes", @@ -1873,7 +1873,7 @@ "Would you like to be notified directly when you are added to an engagement as a Community Connector?": "Aimeriez vous recevoir une notification lorsque vous êtes ajouté à une consultation en tant que personne facilitatrice communautaire ?", "Writing": "Réponse écrite", "Writing accessibility reports": "Rédaction de rapports relatifs à l’accessibilité", - "written language for translation": "written language for translation", + "written language for translation": "traduction en langue écrite", "Written language translation": "Traduction en langue écrite", "Written or recorded responses": "Réponses écrites ou enregistrées", "Wrong answer": "Mauvaise réponse", @@ -1892,11 +1892,11 @@ "You already belong to an organization, so you cannot create a new one.": "Vous faites déjà partie d’une organisation, vous ne pouvez donc pas en créer une nouvelle.", "You are now able to publish your page.": "Vous êtes maintenant en mesure de publier votre page.", "You are now able to publish your page and create projects and engagements.": "Vous êtes maintenant en mesure de publier votre page ainsi que vos consultations.", - "You are now able to publish your page and sign up for projects.": "You are now able to publish your page and sign up for projects.", + "You are now able to publish your page and sign up for projects.": "Vous êtes maintenant en mesure de publier votre page ainsi que de joindre des projets.", "You are now able to publish your page and take part in consultations.": "Vous êtes maintenant en mesure de publier votre page et de participer à des consultations.", - "You are now able to sign up for projects.": "You are now able to sign up for projects.", - "You are previewing your": "You are previewing your", - "You are previewing your engagement page.": "You are previewing your engagement page.", + "You are now able to sign up for projects.": "Vous pouvez désormais vous inscrire à des projets.", + "You are previewing your": "Vous prévisualisez votre", + "You are previewing your engagement page.": "Vous prévisualisez la page de votre consultation.", "You are previewing your organization’s page.": "Vous prévisualisez actuellement la page de votre organisation.", "You are previewing your project page.": "Vous prévisualisez actuellement la page de votre projet.", "You are previewing your public page.": "Vous prévisualisez actuellement votre page publique.", @@ -1904,8 +1904,8 @@ "You can always change this by selecting the language menu.": "Vous pouvez toujours changer de langue en utilisant le menu de langue.", "You can always change this later.": "Vous pourrez toujours changer cela plus tard.", "You can choose how you would like to take part:": "Vous pouvez choisir comment vous souhaitez participer :", - "You can communicate directly with the business or government to figure out how to work on their accessibility project. You will be paid for your work.": "You can communicate directly with the business or government to figure out how to work on their accessibility project. You will be paid for your work.", - "You can join a consultation engagement in a few ways:": "You can join a consultation engagement in a few ways:", + "You can communicate directly with the business or government to figure out how to work on their accessibility project. You will be paid for your work.": "Vous pouvez communiquer directement avec l’entreprise ou le gouvernement pour déterminer comment travailler sur leur projet en matière d’accessibilité. Vous serez payé pour votre travail.", + "You can join a consultation engagement in a few ways:": "Vous pouvez participer à une consultation de plusieurs manières :", "You cannot block individuals or organizations.": "Vous ne pouvez pas bloquer des individus ou des organisations.", "You cannot block yourself.": "Vous ne pouvez pas vous bloquer vous-même.", "You cannot create an engagement for this project.": "Vous ne pouvez pas créer de consultation pour ce projet.", @@ -1944,19 +1944,19 @@ "You have been invited to the engagement \":invitationable\" as a participant on The Accessibility Exchange. Sign in to your account at https:\/\/accessibilityexchange.ca to continue.": "Vous avez été invité à la consultation \":invitationable\" en tant que participant au Connecteur pour l’accessibilité. Connectez-vous à votre compte sur https:\/\/accessibilityexchange.ca pour continuer.", "You have completed your engagement details, **but you won’t be able to publish them until you [get an estimate](:get_estimate) for this project and approve it**.": "Vous avez rempli les détails de votre consultation, **mais vous ne pourrez pas les publier avant d’avoir [obtenu un devis](:get_estimate) pour ce projet et de l’avoir approuvé**.", "You have declined an invitation on behalf of your organization, :organization, to work as a :role on :invitationable.": "Vous avez refusé une invitation au nom de votre organisation, :organization, à travailler en tant que :role au sein de :invitationable.", - "You have declined an invitation on behalf of your organization.": "You have declined an invitation on behalf of your organization.", - "You have declined your invitation to work.": "You have declined your invitation to work.", + "You have declined an invitation on behalf of your organization.": "Vous avez décliné une invitation au nom de votre organisation.", + "You have declined your invitation to work.": "Vous avez décliné votre invitation à travailler.", "You have declined your invitation to work as a :role on :invitationable.": "Vous avez décliné l’invitation à travailler en tant que :role au sein de :invitationable.", "You have joined :invitationable as a :role": "Vous avez rejoint :invitationable en tant que :role", - "You have joined as a :role": "You have joined as a :role", + "You have joined as a :role": "Vous êtes maintenant :role", "You have joined the team.": "Vous avez rejoint une équipe.", "You have not added any engagements yet.": "Vous n’avez pas encore ajouté de consultations.", "You have not passed the quiz.": "Vous n’avez pas réussi le jeu-questionnaire.", "You have now completed this course. Your certificate of completion has been sent to your email.": "Vous avez complété avec succès ce sours. Votre certification de réussite vous a été envoyé par courriel.", "You have successfully added :notificationable to your list.": "Vous avez ajouté avec succès :notificationable à votre liste.", "You have successfully added :organization as the Community Organization you are consulting with for this engagement.": "Vous avez ajouté avec succès :organisation comme l’organisation communautaire avec laquelle vous travaillez pour cette consultation.", - "You have successfully added the Community Organization you are consulting with for this engagement.": "You have successfully added the Community Organization you are consulting with for this engagement.", - "You have successfully added to your list.": "You have successfully added to your list.", + "You have successfully added the Community Organization you are consulting with for this engagement.": "Vous avez ajouté avec succès l’organisation communautaire avec laquelle vous travaillez pour cette consultation.", + "You have successfully added to your list.": "Vous avez ajouté avec succès à votre liste.", "You have successfully approved your estimate.": "Vous avez approuvé le devis avec succès.", "You have successfully blocked.": "You have successfully blocked.", "You have successfully blocked :blockable.": "Vous avez bloqué : blockable.", @@ -1978,20 +1978,20 @@ "You may accept this invitation by clicking the button below:": "Vous pouvez accepter cette invitation en cliquant sur le bouton ci-dessous :", "You must agree to the privacy policy.": "Vous devez accepter la politique de confidentialité.", "You must agree to the terms of service.": "Vous devez accepter les conditions de service.", - "You must answer this question": "You must answer this question", + "You must answer this question": "Vous devez répondre à cette question", "You must attend an [orientation session](:url) and fill in all the required information before you can publish your page.": "Veuillez noter que vous devrez assister à une [séance d’orientation](:url) et remplir toutes les informations requises avant de pouvoir publier votre page.", "You must attend an [orientation session](:url) and fill in all the required information before you can publish your project.": "Veuillez noter que vous devrez assister à une [séance d’orientation](:url) et remplir toutes les informations requises avant de pouvoir publier votre projet.", "You must belong to an :organization in order to manage its roles and permissions.": "Vous devez appartenir à une :organization afin de pouvoir gérer ses rôles et autorisations.", "You must choose at least one area of impact.": "Vous devez choisir au moins un domaine d’impact.", "You must choose at least one payment type.": "Vous devez choisir au moins un type de paiement.", - "You must choose at least one province or territory.": "You must choose at least one province or territory.", + "You must choose at least one province or territory.": "Vous devez choisir au moins une province ou un territoire.", "You must choose at least one type of engagement.": "Vous devez choisir au moins un type de consultation.", "You must choose at least one type of federally regulated organization.": "Vous devez choisir au moins un type d’organisation sous réglementation fédérale.", "You must choose at least one type of organization.": "Vous devez choisir au moins un type d’organisation.", "You must choose at least one type of project.": "Vous devez choisir au moins un type de projet.", - "You must choose a valid province or territory": "You must choose a valid province or territory", - "You must enter a :attribute": "You must enter a :attribute", - "You must enter a :attribute.": "You must enter a :attribute.", + "You must choose a valid province or territory": "Vous devez indiquer une province ou un territoire", + "You must enter a :attribute": "Vous devez rentrer un-e :attribute", + "You must enter a :attribute.": "Vous devez rentrer un-e :attribute.", "You must enter a :attribute for the meeting location.": "Vous devez saisir un\/une :attribute pour le lieu de la réunion.", "You must enter a city or town.": "Vous devez indiquer une ville ou un village.", "You must enter an email address.": "Vous devez saisir une adresse courriel.", @@ -2004,10 +2004,10 @@ "You must enter your organization name in either English or French.": "Vous devez saisir le nom de votre organisation en anglais ou en français.", "You must enter your organization’s name in either English or French.": "Vous devez saisir le nom de votre organisation en anglais ou en français.", "You must fill out the field “About your organization”.": "Vous devez remplir le champ « À propos de votre organisation ».", - "You must fill out your [payment information](:url) before you can sign up.": "You must fill out your [payment information](:url) before you can sign up.", + "You must fill out your [payment information](:url) before you can sign up.": "Vous devez rentrer vos [informations de paiement](:url) avant de pouvoir vous joindre.", "You must identify who will be going through the results and producing an outcome.": "Vous devez identifier qui examinera les résultats et produira un rapport.", "You must indicate at least one way for participants to attend the meeting.": "Vous devez indiquer au moins un moyen pour les personnes participantes de se joindre à la réunion.", - "You must indicate if the reports will be publicly available.": "You must indicate if the reports will be publicly available.", + "You must indicate if the reports will be publicly available.": "Veuillez indiquer si les rapports seront accessibles au public.", "You must indicate the :attribute.": "Vous devez indiquer l’attribut :attribute.", "You must indicate who you want to engage.": "Vous devez indiquer qui vous voulez impliquer.", "You must pick at least one of these roles.": "Vous devez choisir au moins un de ces rôles.", @@ -2025,11 +2025,11 @@ "You must select at least one option for “Can you connect to people with disabilities, Deaf persons, and\/or their supporters?”": "Vous devez sélectionner au moins une option pour \"Pouvez-vous servir d’intermédiaire auprès des personnes en situation de handicap, des personnes sourdes et\/ou leurs alliés?\"", "You must select at least one option for “Where do the people that you :represent_or_serve_and_support come from?”": "Vous devez sélectionner au moins une option pour « D’où viennent les personnes que vous représentez »", "You must select at least one option for “Where do the people that you can connect to come from?”": "Vous devez sélectionner au moins une option pour « D’où viennent les personnes auprès desquelles vous pouvez servir d’intermédiaire ? »", - "You must select at least one way to attend the meeting.": "You must select at least one way to attend the meeting.", - "You must select a valid :attribute.": "You must select a valid :attribute.", + "You must select at least one way to attend the meeting.": "Vous devez choisir au moins une façon d’assister à la réunion.", + "You must select a valid :attribute.": "Vous devez sélectionner un-e :attribute valide.", "You must select a valid format.": "Veuillez sélectionner un format valide.", "You must select a valid meeting type.": "Veuillez sélectionner un type de réunion valide.", - "You must select a valid role to perform on the website.": "You must select a valid role to perform on the website.", + "You must select a valid role to perform on the website.": "Vous devez sélectionner un rôle valide pour ce site internet.", "You must select one option for “Can you connect to a specific age group or groups?”": "Vous devez sélectionner une option pour « Pouvez-vous servir d’intermédiaire auprès d’un ou de plusieurs groupes d’âge spécifiques ? »", "You must select one option for “Can you connect to people who are First Nations, Inuit, or Métis?”": "Vous devez sélectionner une option pour « Pouvez-vous servir d’intermédiaire auprès de personnes issues des Premières Nations, de personnes Inuit ou Métis ? »", "You must select one option for “Can you connect to people who are marginalized based on gender or sexual identity?”": "Vous devez sélectionner une option pour « Pouvez-vous servir d’intermédiaire auprès de personne marginalisées en raison de leur identité de genre ou sexuelle ? »", @@ -2037,7 +2037,7 @@ "You must select one option for “Can you connect to refugees and\/or immigrants?”": "Vous devez sélectionner une option pour « Pouvez-vous servir d’intermédiaire auprès des personnes réfugiées ou migrantes ? »", "You must select one option for “Does your organization :represent_or_serve_and_support a specific age bracket or brackets?”": "Vous devez sélectionner une option pour « Votre organisation :represent_or_serve_and_support -t-elle une ou plusieurs tranches d’âge spécifiques ? »", "You must select one option for “Does your organization :represent_or_serve_and_support a specific ethnoracial identity or identities?”": "Vous devez sélectionner une option pour « Votre organisation :represent_or_serve_and_support -t-elle une ou plusieurs groupes racisés ou éthniques ? »", - "You must select one option for “Does your organization specifically :represent_or_serve_and_support people who are First Nations, Inuit, or Métis?”": "You must select one option for “Does your organization specifically :represent_or_serve_and_support people who are First Nations, Inuit, or Métis?”", + "You must select one option for “Does your organization specifically :represent_or_serve_and_support people who are First Nations, Inuit, or Métis?”": "Vous devez sélectionner une option pour \"Votre organisation :represent_or_serve_and_support spécifiquement les membres des Premières nations, les Inuits ou les Métis?\"", "You must select one option for “Does your organization specifically :represent_or_serve_and_support people who are marginalized based on gender or sexual identity?”": "You must select one option for “Does your organization specifically :represent_or_serve_and_support people who are marginalized based on gender or sexual identity?”", "You must select one option for “Does your organization specifically :represent_or_serve_and_support refugees and\/or immigrants?”": "You must select one option for “Does your organization specifically :represent_or_serve_and_support refugees and\/or immigrants?”", "You must select one option for “Do you have lived experience of the people you can connect to?”": "Vous devez saisir une réponse à la question « Avez-vous une expérience vécue partagée avec les personnes pour lesquelles vous pouvez servir d’intermédiaire ? »", @@ -2047,7 +2047,7 @@ "You must select what type of organization you are.": "Vous devez sélectionner votre type d’organisation.", "You must select what you would like to do on the website.": "Vous devez sélectionner ce que vous souhaiteriez faire sur le site Internet.", "You must select which people with specific disabilities and\/or Deaf people you can connect to.": "You must select which people with specific disabilities and\/or Deaf people you can connect to.", - "You must select which specific disability and\/or Deaf groups your organization :represents_or_serves_and_supports.": "You must select which specific disability and\/or Deaf groups your organization :represents_or_serves_and_supports.", + "You must select which specific disability and\/or Deaf groups your organization :represents_or_serves_and_supports.": "Vous devez sélectionner les groupes de personnes handicapées et\/ou de sourds que votre organisation :represents_or_serves_and_supports.", "You must tell us who you’re joining as.": "Vous devez nous dire sous quelle identité vous vous inscrivez.", "You must [approve your estimate and return your signed agreement](:estimates_and_agreements) before you can publish your engagement.": "Vous devez [approuver votre devis et renvoyer votre entente signée](:estimates_and_agreements) avant de pouvoir publier votre consultation.", "You now have completed this course.": "Vous avez maintenant terminé ce cours.", @@ -2130,7 +2130,7 @@ "Youth (15–30)": "Jeunes (15-30)", "YouTube page": "Page YouTube", "You will always get a notification on the website.": "Vous recevrez toujours une notification sur le site Internet.", - "You will be able to edit your information and browse projects and people on this site again.": "You will be able to edit your information and browse projects and people on this site again.", + "You will be able to edit your information and browse projects and people on this site again.": "Vous pourrez à nouveau modifier vos informations et parcourir les projets et les personnes sur ce site.", "You will be able to edit your information and browse projects and people on this site again. Your page will no longer be hidden to other users of the website.": "Vous pourrez à nouveau modifier vos informations et parcourir les projets et les personnes sur ce site. Votre page ne sera plus cachée aux autres utilisateurs du site.", "you will no longer be able to access information about the :count engagements you are participating in": "vous ne serez plus en mesure d’accéder aux informations sur les :count consultations auxquelles vous participez", "you will no longer be able to access information about the :count projects you are contracted for": "vous ne serez plus en mesure d’accéder aux informations relatives aux :count projets pour lesquels vous êtes engagé", @@ -2138,8 +2138,8 @@ "you will no longer be able to access your :count training certificates": "vous ne serez plus en mesure d’accéder à vos :count attestations de formation", "you will no longer be able to manage the :count projects you are running": "vous ne serez plus en mesure de gérer vos :count projets", "you will no longer be matched to any projects and engagements": "vous ne serez plus jumelé à aucun projet ou consultation", - "You will not be able to edit any information in your account.": "You will not be able to edit any information in your account.", - "You will not be able to edit any information in your account. Your page will no longer be shown to other users of this website.": "You will not be able to edit any information in your account. Your page will no longer be shown to other users of this website.", + "You will not be able to edit any information in your account.": "Vous ne pourrez pas modifier les informations de votre compte.", + "You will not be able to edit any information in your account. Your page will no longer be shown to other users of this website.": "Vous ne pourrez plus modifier les informations de votre compte. Votre page ne sera plus visible pour les autres membres de ce site.", "You won’t be able to publish your engagement until you’ve added meetings.": "Vous ne pouvez pas publier votre consultation tant que vous n’avez pas ajouté de réunions.", "You’ve been invited to participate in [:projectable](:projectable_url)’s project, [:project](:project_url). They would like you to join them for their engagement, [:engagement](:engagement_url).": "Vous avez été invité à participer au projet [:project](:project_url) de [:projectable](:projectable_url). Cette organisation aimerait que vous vous joigniez à elle pour la consultation [:engagement](:engagement_url).", "You’ve blocked :individual. If you want to visit this page, you can :unblock and return to this page.": "Vous avez bloqué :individual. Si vous souhaitez visiter leur page dans le futur, vous devrez les :unblock puis rafraichir la page.", From 3220f3f8e7535d93bc9d62e38a925e1a26f0efdf Mon Sep 17 00:00:00 2001 From: Justin Obara Date: Tue, 12 Dec 2023 07:57:35 -0500 Subject: [PATCH 08/12] fix: model lsq translations don't fallback to fr (resolves #2014, #2026, #2028, #2029) (#2027) * fix: model lsq translations don't fallback to fr * fix: lang switcher missing site language links * chore: update additional renaming changes * fix: broken language changer links * fix: remove setting language to false * fix: rendering of language links * fix: response time in other languages not saved * fix: can't add other engagement languages * fix: not displaying content in translation * chore: run localization * refactor: rename import based on PR review * test: expand test coverage --- app/Http/Controllers/EngagementController.php | 3 + app/Http/Controllers/IndividualController.php | 4 - .../Controllers/OrganizationController.php | 4 - app/Http/Controllers/ProjectController.php | 4 - .../RegulatedOrganizationController.php | 4 - .../StoreEngagementLanguagesRequest.php | 2 +- app/Http/Requests/UpdateIndividualRequest.php | 2 +- .../Requests/UpdateProjectTeamRequest.php | 2 + app/Models/Organization.php | 2 +- app/Models/RegulatedOrganization.php | 2 +- app/Models/User.php | 2 +- app/Providers/AppServiceProvider.php | 18 ++++- app/Traits/HasMultimodalTranslations.php | 16 ---- app/View/Components/LanguageChanger.php | 18 ++++- app/View/Components/TranslatableInput.php | 2 +- app/View/Components/TranslatableTextarea.php | 2 +- app/helpers.php | 67 ++++++++++++++++- composer.json | 1 + composer.lock | 54 +++++++++++++- resources/lang/en.json | 1 - .../components/language-changer.blade.php | 10 +-- .../views/components/language-modal.blade.php | 2 +- .../components/language-switcher.blade.php | 6 +- .../components/translation-picker.blade.php | 2 +- resources/views/engagements/show.blade.php | 10 +-- .../individuals/partials/about.blade.php | 2 +- .../partials/experiences.blade.php | 4 +- resources/views/individuals/show.blade.php | 10 +-- .../organizations/partials/about.blade.php | 2 +- resources/views/organizations/show.blade.php | 8 +- .../projects/partials/overview.blade.php | 10 +-- .../views/projects/partials/team.blade.php | 4 +- resources/views/projects/show.blade.php | 6 +- .../partials/about.blade.php | 2 +- .../regulated-organizations/show.blade.php | 8 +- .../hearth/components/locale-select.blade.php | 2 +- tests/Datasets/SupportedLocales.php | 5 ++ tests/Feature/HasTranslationsFallbackTest.php | 52 +++++++++++++ tests/Feature/LanguageChangerTest.php | 56 ++++++++++++++ tests/Unit/LanguageHelpersTest.php | 4 +- tests/Unit/LocalizedRouteHelperTest.php | 74 +++++++++++++++++++ 41 files changed, 395 insertions(+), 94 deletions(-) create mode 100644 tests/Datasets/SupportedLocales.php create mode 100644 tests/Feature/HasTranslationsFallbackTest.php create mode 100644 tests/Feature/LanguageChangerTest.php create mode 100644 tests/Unit/LocalizedRouteHelperTest.php diff --git a/app/Http/Controllers/EngagementController.php b/app/Http/Controllers/EngagementController.php index bffd724eb..5557ef60e 100644 --- a/app/Http/Controllers/EngagementController.php +++ b/app/Http/Controllers/EngagementController.php @@ -350,7 +350,10 @@ public function updateCriteria(UpdateEngagementSelectionCriteriaRequest $request public function show(Engagement $engagement) { + $language = request()->query('language'); + return view('engagements.show', [ + 'language' => $language ?? locale(), 'project' => $engagement->project, 'engagement' => $engagement, ]); diff --git a/app/Http/Controllers/IndividualController.php b/app/Http/Controllers/IndividualController.php index 0734680ee..236108f92 100644 --- a/app/Http/Controllers/IndividualController.php +++ b/app/Http/Controllers/IndividualController.php @@ -104,10 +104,6 @@ public function show(Individual $individual): View { $language = request()->query('language'); - if (! in_array($language, $individual->languages)) { - $language = false; - } - return view('individuals.show', array_merge(compact('individual'), [ 'language' => $language ?? locale(), ])); diff --git a/app/Http/Controllers/OrganizationController.php b/app/Http/Controllers/OrganizationController.php index 467247b5c..2287041d0 100644 --- a/app/Http/Controllers/OrganizationController.php +++ b/app/Http/Controllers/OrganizationController.php @@ -142,10 +142,6 @@ public function show(Organization $organization): View { $language = request()->query('language'); - if (! in_array($language, $organization->languages)) { - $language = false; - } - return view('organizations.show', array_merge(compact('organization'), [ 'language' => $language ?? locale(), ])); diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index 5b9754876..38604b6cb 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -100,10 +100,6 @@ public function show(Project $project): View $language = request()->query('language'); - if (! in_array($language, $project->languages)) { - $language = false; - } - if ($user->can('manage', $project)) { $engagements = $project->allEngagements; } elseif ($user->isAdministrator()) { diff --git a/app/Http/Controllers/RegulatedOrganizationController.php b/app/Http/Controllers/RegulatedOrganizationController.php index 6d0110697..a8c59605c 100644 --- a/app/Http/Controllers/RegulatedOrganizationController.php +++ b/app/Http/Controllers/RegulatedOrganizationController.php @@ -118,10 +118,6 @@ public function show(RegulatedOrganization $regulatedOrganization): View $language = request()->query('language'); - if (! in_array($language, $regulatedOrganization->languages)) { - $language = false; - } - return view('regulated-organizations.show', array_merge(compact('regulatedOrganization'), ['language' => $language ?? locale()])); } diff --git a/app/Http/Requests/StoreEngagementLanguagesRequest.php b/app/Http/Requests/StoreEngagementLanguagesRequest.php index d67d3c390..4482a4776 100644 --- a/app/Http/Requests/StoreEngagementLanguagesRequest.php +++ b/app/Http/Requests/StoreEngagementLanguagesRequest.php @@ -17,7 +17,7 @@ public function rules(): array return [ 'languages' => 'required|array|min:1', 'languages.*' => [ - Rule::in(array_keys(get_available_languages())), + Rule::in(array_keys(get_available_languages(true))), ], ]; } diff --git a/app/Http/Requests/UpdateIndividualRequest.php b/app/Http/Requests/UpdateIndividualRequest.php index 2cf7237fe..c2fb02c6c 100644 --- a/app/Http/Requests/UpdateIndividualRequest.php +++ b/app/Http/Requests/UpdateIndividualRequest.php @@ -36,7 +36,7 @@ public function rules(): array new Enum(ProvinceOrTerritory::class), ], 'pronouns' => 'nullable|array:'.implode(',', to_written_languages($this->individual->languages)), - 'bio' => 'required|array:'.implode(',', to_written_languages($this->individual->languages)).'|required_array_keys:'.get_written_language_for_signed_language($this->individual->user->locale), + 'bio' => 'required|array:'.implode(',', to_written_languages($this->individual->languages)).'|required_array_keys:'.to_written_language($this->individual->user->locale), 'bio.en' => 'required_without:bio.fr', 'bio.fr' => 'required_without:bio.en', 'bio.*' => 'nullable|string', diff --git a/app/Http/Requests/UpdateProjectTeamRequest.php b/app/Http/Requests/UpdateProjectTeamRequest.php index dadc0dd58..44738e38a 100644 --- a/app/Http/Requests/UpdateProjectTeamRequest.php +++ b/app/Http/Requests/UpdateProjectTeamRequest.php @@ -30,6 +30,7 @@ public function rules(): array 'contact_person_response_time' => 'required|array', 'contact_person_response_time.en' => 'required_without:contact_person_response_time.fr|nullable|string', 'contact_person_response_time.fr' => 'required_without:contact_person_response_time.en|nullable|string', + 'contact_person_response_time.*' => 'nullable|string', ]; } @@ -52,6 +53,7 @@ public function attributes(): array 'contact_person_response_time' => __('Approximate response time'), 'contact_person_response_time.en' => __('Approximate response time (English)'), 'contact_person_response_time.fr' => __('Approximate response time (French)'), + 'contact_person_response_time.*' => __('Approximate response time'), ]; } diff --git a/app/Models/Organization.php b/app/Models/Organization.php index 77786005a..b6b204ad8 100644 --- a/app/Models/Organization.php +++ b/app/Models/Organization.php @@ -148,7 +148,7 @@ public function getSlugOptions(): SlugOptions public function preferredLocale(): string { - return get_written_language_for_signed_language( + return to_written_language( User::whereBlind('email', 'email_index', $this->contact_person_email)->first()->locale ?? locale() ); } diff --git a/app/Models/RegulatedOrganization.php b/app/Models/RegulatedOrganization.php index c334c668e..07cee54f4 100644 --- a/app/Models/RegulatedOrganization.php +++ b/app/Models/RegulatedOrganization.php @@ -141,7 +141,7 @@ public function getSlugOptions(): SlugOptions public function preferredLocale(): string { - return get_written_language_for_signed_language( + return to_written_language( User::whereBlind('email', 'email_index', $this->contact_person_email)->first()->locale ?? locale() ); } diff --git a/app/Models/User.php b/app/Models/User.php index 7947675d1..4ec139b0a 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -160,7 +160,7 @@ public static function configureCipherSweet(EncryptedRow $encryptedRow): void public function preferredLocale() { - return get_written_language_for_signed_language($this->locale); + return to_written_language($this->locale); } public function canAccessFilament(Panel $panel): bool diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 0ac656bbe..ccd8cb7dd 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -20,6 +20,7 @@ use Composer\InstalledVersions; use Filament\Facades\Filament; use Filament\Navigation\NavigationItem; +use Illuminate\Database\Eloquent\Model; use Illuminate\Routing\UrlGenerator; use Illuminate\Support\ServiceProvider; use Makeable\EloquentStatus\StatusManager; @@ -74,7 +75,22 @@ public function boot(UrlGenerator $url) StatusManager::bind(RegulatedOrganization::class, RegulatedOrganizationStatus::class); StatusManager::bind(Project::class, ProjectStatus::class); StatusManager::bind(User::class, UserStatus::class); - Translatable::fallback(fallbackLocale: 'en', fallbackAny: true); + Translatable::fallback(fallbackLocale: 'en', fallbackAny: true, missingKeyCallback: function ( + Model $model, + string $translationKey, + string $locale, + string $fallbackTranslation, + string $fallbackLocale + ) { + // Handles fallback of sign language to equivalent written language + $writtenLocale = to_written_language($locale); + // Ignoring the next line for static analysis because it doesn't know that $model will only be types + // that have the HasTranslatable trait. + // @phpstan-ignore-next-line + $writtenTranslation = $model->getTranslationWithoutFallback($translationKey, $writtenLocale); + + return ! empty($writtenTranslation) ? $writtenTranslation : $fallbackTranslation; + }); Engagement::observe(EngagementObserver::class); User::observe(UserObserver::class); } diff --git a/app/Traits/HasMultimodalTranslations.php b/app/Traits/HasMultimodalTranslations.php index 5b9e080f5..00f46f1d6 100644 --- a/app/Traits/HasMultimodalTranslations.php +++ b/app/Traits/HasMultimodalTranslations.php @@ -4,22 +4,6 @@ trait HasMultimodalTranslations { - public function getWrittenTranslation(string $attribute, string $code = ''): string - { - /** If no language code was passed, return the default attribute. */ - if (! $code) { - return $this->$attribute; - } - - /** If the language code is for a signed language, get the attribute in the written language which most closely corresponds to the signed language. */ - if (is_signed_language($code)) { - return $this->getTranslation($attribute, get_written_language_for_signed_language($code)); - } - - /** Get the attribute in the language. */ - return $this->getTranslation($attribute, $code); - } - /** * @param string $attribute * @param string $code diff --git a/app/View/Components/LanguageChanger.php b/app/View/Components/LanguageChanger.php index 454f092f7..b290d115f 100644 --- a/app/View/Components/LanguageChanger.php +++ b/app/View/Components/LanguageChanger.php @@ -3,20 +3,36 @@ namespace App\View\Components; use Illuminate\Contracts\View\View; +use Illuminate\Support\Str; use Illuminate\View\Component; class LanguageChanger extends Component { public mixed $model; + public string $currentLanguage; + /** * Create a new component instance. * * @return void */ - public function __construct(mixed $model) + public function __construct(mixed $model, ?string $currentLanguage) { $this->model = $model; + $this->currentLanguage = $currentLanguage ?? locale(); + } + + public function getLanguageLink(string $locale, bool $asQuery = false): string + { + $route = request()->route(); + $params = array_merge(request()->except('language'), [Str::camel(class_basename($this->model)) => $this->model]); + + if ($asQuery) { + return route($route->getName(), array_merge($params, ['language' => $locale])); + } + + return localized_route_for_locale(route_name($route), $params, $locale); } /** diff --git a/app/View/Components/TranslatableInput.php b/app/View/Components/TranslatableInput.php index e76e51d4f..222a20ef2 100644 --- a/app/View/Components/TranslatableInput.php +++ b/app/View/Components/TranslatableInput.php @@ -63,7 +63,7 @@ public function __construct($name, $label, $hint = null, $model = null, $shortLa { $languages = $model->languages ?? config('locales.supported'); - if (($key = array_search(get_written_language_for_signed_language(locale()), $languages)) !== false) { + if (($key = array_search(to_written_language(locale()), $languages)) !== false) { unset($languages[$key]); array_unshift($languages, locale()); } diff --git a/app/View/Components/TranslatableTextarea.php b/app/View/Components/TranslatableTextarea.php index e11922c56..df66d708a 100644 --- a/app/View/Components/TranslatableTextarea.php +++ b/app/View/Components/TranslatableTextarea.php @@ -63,7 +63,7 @@ public function __construct($name, $label, $hint = null, $model = null, $shortLa { $languages = $model->languages ?? config('locales.supported'); - if (($key = array_search(get_written_language_for_signed_language(locale()), $languages)) !== false) { + if (($key = array_search(to_written_language(locale()), $languages)) !== false) { unset($languages[$key]); array_unshift($languages, locale()); } diff --git a/app/helpers.php b/app/helpers.php index c724b3a98..957b107e8 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -2,7 +2,9 @@ use App\Settings; use App\Settings\GeneralSettings; +use Illuminate\Routing\Route; use Illuminate\Support\Arr; +use Illuminate\Support\Facades\Route as RouteFacade; use Illuminate\Support\HtmlString; use Illuminate\Support\Str; @@ -141,7 +143,7 @@ function get_supported_locales(bool $signed = true): array }; } -if (! function_exists('get_written_language_for_signed_language')) { +if (! function_exists('to_written_language')) { /** * Get the written language which most closely corresponds to a signed language. * If a code other than ASL or LSQ is passed, it will be returned without modification. @@ -151,7 +153,7 @@ function get_supported_locales(bool $signed = true): array * @param string $code Either 'asl' or 'lsq' * @return string An ISO 639 code */ - function get_written_language_for_signed_language(string $code): string + function to_written_language(string $code): string { return match ($code) { 'asl' => 'en', @@ -191,7 +193,7 @@ function get_signed_language_for_written_language(string $code): string function to_written_languages(array $codes): array { foreach ($codes as $key => $code) { - $codes[$key] = get_written_language_for_signed_language($code); + $codes[$key] = to_written_language($code); } return array_unique($codes); @@ -232,6 +234,63 @@ function get_language_exonym(string $code, string $locale = null, bool $capitali } } +if (! function_exists('localized_route_for_locale')) { + /** + * Gets the localized URL for the named route in the requested locale. It takes the same arguments as the + * `localized_route` method from laravel-multilingual-routes. + * + * This is to address an issue with laravel-sluggable that only returns the localized slug in the applications + * locale. + * + * See: https://github.com/spatie/laravel-sluggable/discussions/228 + */ + function localized_route_for_locale(string $name, mixed $parameters, string $locale = null, bool $absolute = true): string + { + // dd(is_null($locale), $locale === $locale); + if (is_null($locale) || $locale === locale()) { + return localized_route($name, $parameters, $locale, $absolute); + } + + $originalLocale = locale(); + + // Change to requested locale to work around https://github.com/spatie/laravel-sluggable/discussions/228 + locale($locale); + + $localizedURL = localized_route($name, $parameters, $locale, $absolute); + + // Restore original locale + locale($originalLocale); + + return $localizedURL; + } +} + +if (! function_exists('route_name')) { + /** + * Returns the route name. By default it returns the unlocalized but can return the localized name if needed; which + * would be the same as calling the `getName` method on the route directly. If no route is passed in, it will attempt + * to use the current route. + */ + function route_name(Route $route = null, bool $localized = false): ?string + { + $route ??= RouteFacade::getCurrentRoute(); + $routeName = $route->getName(); + + if ($localized) { + return $routeName; + } + + foreach (get_supported_locales() as $locale) { + $prefix = "{$locale}."; + if (Str::startsWith($routeName, $prefix)) { + return Str::after($routeName, $prefix); + } + } + + return $routeName; + } +} + if (! function_exists('normalize_url')) { /** * Normalize a URL by adding a scheme if one isn't already present. @@ -355,7 +414,7 @@ function orientation_link(string $userType): string */ function settings_localized(string $key = null, string $locale = null, mixed $default = null): mixed { - $locale = get_written_language_for_signed_language($locale ?? config('app.locale')); + $locale = to_written_language($locale ?? config('app.locale')); $settings = settings($key, []); return $settings[$locale] ?? $settings[config('app.fallback_locale')]; diff --git a/composer.json b/composer.json index aa0d132bd..065fbc52a 100644 --- a/composer.json +++ b/composer.json @@ -53,6 +53,7 @@ "amirami/localizator": "^0.12.1-alpha@alpha", "barryvdh/laravel-debugbar": "^3.6", "barryvdh/laravel-ide-helper": "^2.12", + "calebporzio/sushi": "^2.4", "fakerphp/faker": "^1.19", "laravel/dusk": "^7.0", "laravel/pint": "^1.13", diff --git a/composer.lock b/composer.lock index 708b779a7..82467c1c0 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "47e710fc0745a53469c312d170503286", + "content-hash": "8b4b28d8654cbdd2631d5bbba37997f4", "packages": [ { "name": "aws/aws-crt-php", @@ -12129,6 +12129,58 @@ ], "time": "2023-10-10T15:11:25+00:00" }, + { + "name": "calebporzio/sushi", + "version": "v2.4.5", + "source": { + "type": "git", + "url": "https://github.com/calebporzio/sushi.git", + "reference": "932d09781bff75c812541d2d269400fd7d730bab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/calebporzio/sushi/zipball/932d09781bff75c812541d2d269400fd7d730bab", + "reference": "932d09781bff75c812541d2d269400fd7d730bab", + "shasum": "" + }, + "require": { + "illuminate/database": "^5.8 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0", + "illuminate/support": "^5.8 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0", + "php": "^7.1.3|^8.0" + }, + "require-dev": { + "doctrine/dbal": "^2.9 || ^3.1.4", + "orchestra/testbench": "3.8.* || 3.9.* || ^4.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0", + "phpunit/phpunit": "^7.5 || ^8.4 || ^9.0 || ^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Sushi\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Caleb Porzio", + "email": "calebporzio@gmail.com" + } + ], + "description": "Eloquent's missing \"array\" driver.", + "support": { + "source": "https://github.com/calebporzio/sushi/tree/v2.4.5" + }, + "funding": [ + { + "url": "https://github.com/calebporzio", + "type": "github" + } + ], + "time": "2023-10-17T14:42:34+00:00" + }, { "name": "composer/class-map-generator", "version": "1.1.0", diff --git a/resources/lang/en.json b/resources/lang/en.json index c50604b38..5d39558db 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -1048,7 +1048,6 @@ "Opens in new tab": "Opens in new tab", "open to other formats": "open to other formats", "optional": "optional", - "organization": "organization", "Organization details": "Organization details", "Organization information": "Organization information", "Organization information that will set you up for running consultations.": "Organization information that will set you up for running consultations.", diff --git a/resources/views/components/language-changer.blade.php b/resources/views/components/language-changer.blade.php index 2bda66bc4..00db07c6f 100644 --- a/resources/views/components/language-changer.blade.php +++ b/resources/views/components/language-changer.blade.php @@ -6,20 +6,18 @@
- + @endif diff --git a/resources/views/individuals/partials/about.blade.php b/resources/views/individuals/partials/about.blade.php index 637f3474f..d52eab2fc 100644 --- a/resources/views/individuals/partials/about.blade.php +++ b/resources/views/individuals/partials/about.blade.php @@ -1,4 +1,4 @@ -{{ safe_nl2br($individual->getWrittenTranslation('bio', $language)) }} +{{ safe_nl2br($individual->getTranslation('bio', $language)) }}

{{ __('Languages :name uses', ['name' => $individual->first_name]) }}

diff --git a/resources/views/individuals/partials/experiences.blade.php b/resources/views/individuals/partials/experiences.blade.php index f7b3b94c9..2822ab9f7 100644 --- a/resources/views/individuals/partials/experiences.blade.php +++ b/resources/views/individuals/partials/experiences.blade.php @@ -1,11 +1,11 @@ @if ($individual->lived_experience)

{{ __('Lived experience') }}

- {{ safe_nl2br($individual->getWrittenTranslation('lived_experience', $language)) }} + {{ safe_nl2br($individual->getTranslation('lived_experience', $language)) }} @endif @if ($individual->skills_and_strengths)

{{ __('Skills and strengths') }}

- {{ safe_nl2br($individual->getWrittenTranslation('skills_and_strengths', $language)) }} + {{ safe_nl2br($individual->getTranslation('skills_and_strengths', $language)) }} @endif @if ($individual->relevant_experiences && count($individual->relevant_experiences) > 0) diff --git a/resources/views/individuals/show.blade.php b/resources/views/individuals/show.blade.php index a16812e48..9c520e110 100644 --- a/resources/views/individuals/show.blade.php +++ b/resources/views/individuals/show.blade.php @@ -2,8 +2,8 @@ {{ $individual->name }} @if (auth()->hasUser() && - auth()->user()->isAdministrator() && - $individual->user->checkStatus('suspended')) + auth()->user()->isAdministrator() && + $individual->user->checkStatus('suspended')) @push('banners') {{ __('This account has been suspended.') }} @endpush @@ -45,7 +45,7 @@
- +