From b38b56e781d01d722aa5d695e749a517f4a90527 Mon Sep 17 00:00:00 2001
From: Yonathan K
{intl.formatMessage(
{
- id: "YZ/ZhG",
+ id: "pIiisf",
defaultMessage:
- "If you are unsure about providing your information, or if you have any questions regarding the IT Apprenticeship Program for Indigenous Peoples, please contact us and we would be happy to meet with you.",
+ "If you are unsure about providing your information, or if you have any questions regarding the
@@ -131,13 +139,19 @@ const Opportunities = () => { }} >
- {intl.formatMessage({
- defaultMessage:
- "Designed by the Indigenous community for the Indigenous community, this program recruits entry-level applicants for learning and development IT opportunities across government.",
- id: "f3Qqop",
- description:
- "Description for the Indigenous Apprenticeship Program on home page",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Designed by the Indigenous community for the Indigenous community, this program recruits entry-level applicants for learning and development
{intl.formatMessage({
defaultMessage:
- "The IT Apprenticeship Program for Indigenous Peoples is a Government of Canada initiative specifically for First Nations, Inuit, and Métis peoples. It is pathway to employment in the federal public service for Indigenous peoples who have a passion for Information Technology (IT).",
- id: "pWoAv0",
+ "The
{intl.formatMessage({
defaultMessage:
- "We want to learn about you and about your interest/passion in the area of IT!",
- id: "yZMQ6j",
+ "We want to learn about you and about your interest/passion in the area of
{intl.formatMessage({
defaultMessage:
- "Address the great demand for Indigenous talent in IT.",
- id: "Xhfkfg",
+ "Address the great demand for Indigenous talent in
- {intl.formatMessage({
- defaultMessage:
- "We want to let you know that in the meantime, updates are being made on this site that will allow Indigenous peoples who are interested in joining the IT Apprenticeship Program to apply online.",
- id: "BSSYnh",
- description: "Second paragraph for apply now dialog",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "We want to let you know that in the meantime, updates are being made on this site that will allow Indigenous peoples who are interested in joining the
{intl.formatMessage({
diff --git a/apps/web/src/pages/Home/IAPHomePage/components/Dialog/LearnDialog.tsx b/apps/web/src/pages/Home/IAPHomePage/components/Dialog/LearnDialog.tsx
index bb76fdaba57..f69269b468f 100644
--- a/apps/web/src/pages/Home/IAPHomePage/components/Dialog/LearnDialog.tsx
+++ b/apps/web/src/pages/Home/IAPHomePage/components/Dialog/LearnDialog.tsx
@@ -4,6 +4,7 @@ import { useIntl } from "react-intl";
import Button from "@common/components/Button";
import Dialog from "@common/components/Dialog";
+import { wrapAbbr } from "~/../../../frontend/common/src/helpers/nameUtils";
import Heading from "../Heading";
import CloseButton from "./CloseButton";
@@ -25,24 +26,34 @@ const LearnDialog = ({ btnProps }: BasicDialogProps) => {
{intl.formatMessage({
diff --git a/apps/web/src/pages/Home/IAPHomePage/components/Dialog/SelfDeclarationDialog.tsx b/apps/web/src/pages/Home/IAPHomePage/components/Dialog/SelfDeclarationDialog.tsx
index 4db7db55cfe..737501d4cac 100644
--- a/apps/web/src/pages/Home/IAPHomePage/components/Dialog/SelfDeclarationDialog.tsx
+++ b/apps/web/src/pages/Home/IAPHomePage/components/Dialog/SelfDeclarationDialog.tsx
@@ -4,6 +4,7 @@ import { useIntl } from "react-intl";
import Button from "@common/components/Button";
import Dialog from "@common/components/Dialog";
+import { wrapAbbr } from "~/../../../frontend/common/src/helpers/nameUtils";
import CloseButton from "./CloseButton";
import type { BasicDialogProps } from "./types";
@@ -27,13 +28,18 @@ const SelfDeclarationDialog = ({ children, btnProps }: BasicDialogProps) => {
})}
- {intl.formatMessage({
- defaultMessage:
- "We recognize the importance of Indigenous voices in the federal government. The goal of the IT Apprenticeship Program for Indigenous Peoples is to amplify Indigenous voices by creating opportunities for First Nations, Inuit, and Métis peoples to join the federal public service.",
- id: "J2uivT",
- description:
- "Paragraph one for the self-declaration explanation dialog",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "We recognize the importance of Indigenous voices in the federal government. The goal of the
{intl.formatMessage({
diff --git a/apps/web/src/pages/Pools/BrowsePoolsPage/BrowsePoolsPage.tsx b/apps/web/src/pages/Pools/BrowsePoolsPage/BrowsePoolsPage.tsx
index ab7b3d04116..20f0cc0928d 100644
--- a/apps/web/src/pages/Pools/BrowsePoolsPage/BrowsePoolsPage.tsx
+++ b/apps/web/src/pages/Pools/BrowsePoolsPage/BrowsePoolsPage.tsx
@@ -22,6 +22,7 @@ import {
import useBreadcrumbs from "~/hooks/useBreadcrumbs";
import useRoutes from "~/hooks/useRoutes";
+import { wrapAbbr } from "~/../../../frontend/common/src/helpers/nameUtils";
import ActiveRecruitmentSection from "./components/ActiveRecruitmentSection/ActiveRecruitmentSection";
import OngoingRecruitmentSection from "./components/OngoingRecruitmentSection/OngoingRecruitmentSection";
@@ -52,11 +53,16 @@ export const BrowsePools: React.FC
- {intl.formatMessage({
- defaultMessage:
- "Designed by, with, and for the Indigenous community, the program recruits First Nations, Inuit, and Métis applicants who have a passion for IT, for entry level employment, learning and development opportunities.",
- id: "+6QgII",
- description:
- "Summary for Indigenous community job opportunities on Browse IT jobs page",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Designed by, with, and for the Indigenous community, the program recruits First Nations, Inuit, and Métis applicants who have a passion for
- {intl.formatMessage({
- defaultMessage:
- "Let our team save you time and energy by matching your needs to pre-qualified IT professionals with the right skills for the job. All the talent in our pools has been qualified through a competitive process, so you can jump straight to the interview and decide if they are a good fit for your team.",
- id: "Ms6O4W",
- description:
- "Summary for to go to the search page on Browse IT jobs page",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Let our team save you time and energy by matching your needs to pre-qualified
- {intl.formatMessage({
- defaultMessage:
- "Technicians (IT-01) provide technical support in the development, implementation, integration, and maintenance of service delivery to clients and stakeholders",
- id: "Z9Uex5",
- description: "blurb describing IT-01",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Technicians (
- {intl.formatMessage({
- defaultMessage:
- "Analysts (IT-02) provide technical services, advice, analysis, and research in their field of expertise to support service delivery to clients and stakeholders. IT analysts are found in all work streams.",
- id: "raFdbB",
- description: "blurb describing IT-02",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Analysts (
- {intl.formatMessage({
- defaultMessage:
- "There are two types of IT-03 employees: those following a management path, and individual contributors.",
- id: "hCgrxA",
- description: "IT-03 description precursor",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "There are two types of
- {intl.formatMessage({
- defaultMessage:
- "Management Path: IT Team Leads (IT-03) are responsible for supervising work and project teams for IT services and operations in their field of expertise to support service delivery to clients and stakeholders. IT Team Leads are found in all work streams.",
- id: "+bC9lc",
- description:
- "IT-03 team lead path description, ignore things in <> tags please",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Management Path:
- {intl.formatMessage({
- defaultMessage:
- "There are two types of IT-03 employees: those following a management path, and individual contributors.",
- id: "hCgrxA",
- description: "IT-03 description precursor",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "There are two types of
- {intl.formatMessage({
- defaultMessage:
- "Individual Contributor: IT Technical Advisors (IT-03) provide specialized technical advice, recommendations and support on solutions and services in their field of expertise in support of service delivery to clients and stakeholders. IT Technical Advisors are found in all work streams.",
- id: "u+9mg1",
- description:
- "IT-03 advisor description, ignore things in <> tags please",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Individual Contributor:
- {intl.formatMessage({
- defaultMessage:
- "There are two types of IT-04 employees: those following a management path, and individual contributors.",
- id: "87nFC8",
- description: "IT-04 description precursor",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "There are two types of
- {intl.formatMessage({
- defaultMessage:
- "Management Path: IT Managers (IT-04) are responsible for managing the development and delivery of IT services and/or operations through subordinate team leaders, technical advisors, and project teams, for service delivery to clients and stakeholders. IT Managers are found in all work streams.",
- id: "m21EOJ",
- description:
- "IT-04 manager path description, ignore things in <> tags please",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Management Path:
- {intl.formatMessage({
- defaultMessage:
- "There are two types of IT-04 employees: those following a management path, and individual contributors.",
- id: "87nFC8",
- description: "IT-04 description precursor",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "There are two types of
- {intl.formatMessage({
- defaultMessage:
- "Individual Contributor: IT Senior Advisors (IT-04) provide expert technical advice and strategic direction in their field of expertise in the provision of solutions and services to internal or external clients, and stakeholders.",
- id: "VQWGkh",
- description:
- "IT-04 senior advisor description precursor to work stream list, ignore things in <> tags please",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Individual Contributor:
- {intl.formatMessage({
- defaultMessage:
- "This section is optional, however, to be considered eligible for the IT Apprenticeship Program for Indigenous Peoples, you must self declare as Indigenous. If you are a member of one or more of these employment equity groups, and you do not wish to self identify on this platform, there is no obligation to do so. Complete the form below if you meet both of these conditions:",
- id: "okZjVr",
- description:
- "Explanation that employment equity information is optional.",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "This section is optional, however, to be considered eligible for the
- {intl.formatMessage({
- defaultMessage:
- "This platform is focused on hiring digital talent to work in positions classified as IT (Information Technology). Look at the following levels within the IT classification and select only the ones that represent the work you want to do.",
- id: "Eubngf",
- description: "Blurb describing the purpose of the form",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "This platform is focused on hiring digital talent to work in positions classified as
- {intl.formatMessage({
- defaultMessage:
- "Technicians (IT-01) provide technical support in the development, implementation, integration, and maintenance of service delivery to clients and stakeholders",
- id: "Z9Uex5",
- description: "blurb describing IT-01",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Technicians (
- {intl.formatMessage({
- defaultMessage:
- "IT Technicians are primarily found in three work streams: ",
- id: "vQzmUH",
- description: "Preceding list description",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "
- {intl.formatMessage({
- defaultMessage:
- "Analysts (IT-02) provide technical services, advice, analysis, and research in their field of expertise to support service delivery to clients and stakeholders. IT analysts are found in all work streams.",
- id: "raFdbB",
- description: "blurb describing IT-02",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Analysts (
- {intl.formatMessage({
- defaultMessage:
- "There are two types of IT-03 employees: those following a management path, and individual contributors.",
- id: "hCgrxA",
- description: "IT-03 description precursor",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "There are two types of
- {intl.formatMessage({
- defaultMessage:
- "Management Path: IT Team Leads (IT-03) are responsible for supervising work and project teams for IT services and operations in their field of expertise to support service delivery to clients and stakeholders. IT Team Leads are found in all work streams.",
- id: "+bC9lc",
- description:
- "IT-03 team lead path description, ignore things in <> tags please",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Management Path:
- {intl.formatMessage({
- defaultMessage:
- "There are two types of IT-03 employees: those following a management path, and individual contributors.",
- id: "hCgrxA",
- description: "IT-03 description precursor",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "There are two types of
- {intl.formatMessage({
- defaultMessage:
- "Individual Contributor: IT Technical Advisors (IT-03) provide specialized technical advice, recommendations and support on solutions and services in their field of expertise in support of service delivery to clients and stakeholders. IT Technical Advisors are found in all work streams.",
- id: "u+9mg1",
- description:
- "IT-03 advisor description, ignore things in <> tags please",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Individual Contributor:
- {intl.formatMessage({
- defaultMessage:
- "There are two types of IT-04 employees: those following a management path, and individual contributors.",
- id: "87nFC8",
- description: "IT-04 description precursor",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "There are two types of
- {intl.formatMessage({
- defaultMessage:
- "Management Path: IT Managers (IT-04) are responsible for managing the development and delivery of IT services and/or operations through subordinate team leaders, technical advisors, and project teams, for service delivery to clients and stakeholders. IT Managers are found in all work streams.",
- id: "m21EOJ",
- description:
- "IT-04 manager path description, ignore things in <> tags please",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Management Path:
- {intl.formatMessage({
- defaultMessage:
- "There are two types of IT-04 employees: those following a management path, and individual contributors.",
- id: "87nFC8",
- description: "IT-04 description precursor",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "There are two types of
- {intl.formatMessage({
- defaultMessage:
- "Individual Contributor: IT Senior Advisors (IT-04) provide expert technical advice and strategic direction in their field of expertise in the provision of solutions and services to internal or external clients, and stakeholders. IT Senior Advisors are primarily found in six work streams:",
- id: "58BEeZ",
- description:
- "IT-04 senior advisor description precursor to work stream list, ignore things in <> tags please",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Individual Contributor: {getFullPoolAdvertisementTitle(intl, poolCandidate?.pool)}
+ {getFullPoolAdvertisementTitleHtml(intl, poolCandidate?.pool)}
+
diff --git a/apps/web/src/pages/Profile/RoleSalaryPage/components/RoleSalaryForm/RoleSalaryForm.tsx b/apps/web/src/pages/Profile/RoleSalaryPage/components/RoleSalaryForm/RoleSalaryForm.tsx
index 23fdc5216e7..7ec98e618f4 100644
--- a/apps/web/src/pages/Profile/RoleSalaryPage/components/RoleSalaryForm/RoleSalaryForm.tsx
+++ b/apps/web/src/pages/Profile/RoleSalaryPage/components/RoleSalaryForm/RoleSalaryForm.tsx
@@ -11,7 +11,7 @@ import { unpackMaybes } from "@common/helpers/formUtils";
import { toast } from "@common/components/Toast";
import Well from "@common/components/Well";
import { ExternalLink } from "@common/components/Link";
-import { getFullPoolAdvertisementTitle } from "@common/helpers/poolUtils";
+import { getFullPoolAdvertisementTitleHtml } from "@common/helpers/poolUtils";
import {
GenericJobTitle,
@@ -141,7 +141,7 @@ const RoleSalaryForm: React.FunctionComponent
- {getFullPoolAdvertisementTitle(intl, pool)}
+ {getFullPoolAdvertisementTitleHtml(intl, pool)}
{intl.formatMessage(
diff --git a/apps/web/src/pages/SearchRequests/ViewSearchRequestPage/components/ViewSearchRequest.tsx b/apps/web/src/pages/SearchRequests/ViewSearchRequestPage/components/ViewSearchRequest.tsx
index 80919edfb36..7010d0454fb 100644
--- a/apps/web/src/pages/SearchRequests/ViewSearchRequestPage/components/ViewSearchRequest.tsx
+++ b/apps/web/src/pages/SearchRequests/ViewSearchRequestPage/components/ViewSearchRequest.tsx
@@ -9,7 +9,7 @@ import { getPoolCandidateSearchStatus } from "@common/constants/localizedConstan
import Pending from "@common/components/Pending";
import NotFound from "@common/components/NotFound";
import { formatDate, parseDateTimeUtc } from "@common/helpers/dateUtils";
-import { getFullPoolAdvertisementTitle } from "@common/helpers/poolUtils";
+import { getFullPoolAdvertisementTitleHtml } from "@common/helpers/poolUtils";
import Heading from "@common/components/Heading/Heading";
import {
@@ -133,12 +133,12 @@ const ManagerInfo: React.FunctionComponent<{
content={
applicantFilter
? applicantFilter?.pools?.map((pool) =>
- getFullPoolAdvertisementTitle(intl, pool, {
+ getFullPoolAdvertisementTitleHtml(intl, pool, {
defaultTitle: nonApplicableMessage,
}),
)
: poolCandidateFilter?.pools?.map((pool) =>
- getFullPoolAdvertisementTitle(intl, pool, {
+ getFullPoolAdvertisementTitleHtml(intl, pool, {
defaultTitle: nonApplicableMessage,
}),
)
diff --git a/apps/web/src/pages/Users/ViewUserPage/components/GeneralInformationTab/AddToPoolDialog.tsx b/apps/web/src/pages/Users/ViewUserPage/components/GeneralInformationTab/AddToPoolDialog.tsx
index e5c19065593..755e52591f6 100644
--- a/apps/web/src/pages/Users/ViewUserPage/components/GeneralInformationTab/AddToPoolDialog.tsx
+++ b/apps/web/src/pages/Users/ViewUserPage/components/GeneralInformationTab/AddToPoolDialog.tsx
@@ -7,7 +7,10 @@ import Dialog from "@common/components/Dialog";
import Button from "@common/components/Button";
import { toast } from "@common/components/Toast";
import { getFullNameHtml } from "@common/helpers/nameUtils";
-import { getFullPoolAdvertisementTitle } from "@common/helpers/poolUtils";
+import {
+ getFullPoolAdvertisementTitleLabel,
+ getFullPoolAdvertisementTitleHtml,
+} from "@common/helpers/poolUtils";
import { Input } from "@common/components/form";
import { commonMessages, errorMessages } from "@common/messages";
import { currentDate } from "@common/helpers/formUtils";
@@ -119,7 +122,7 @@ export const AddToPoolDialog: React.FC
- - {getFullPoolAdvertisementTitle(intl, selectedCandidate?.pool)}
+ - {getFullPoolAdvertisementTitleHtml(intl, selectedCandidate?.pool)}
- {intl.formatMessage({
- defaultMessage:
- "Address the great demand for Indigenous talent in
@@ -152,15 +172,21 @@ const OngoingRecruitmentSection = ({
3,
),
applyMessage: intl.formatMessage(messages.it03ApplyMessage, {
- name: intl.formatMessage(messages.businessAdvisoryServicesTitle),
+ name: intl.formatMessage(messages.businessAdvisoryServicesTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it04Title),
+ title: intl.formatMessage(messages.it04Title, {
+ abbreviation,
+ }),
description: (
<>
- {intl.formatMessage(messages.it04Description1)}
+ {intl.formatMessage(messages.it04Description1, {
+ abbreviation,
+ })}
{intl.formatMessage(messages.it04Description2)}
@@ -174,7 +200,9 @@ const OngoingRecruitmentSection = ({
4,
),
applyMessage: intl.formatMessage(messages.it04ApplyMessage, {
- name: intl.formatMessage(messages.businessAdvisoryServicesTitle),
+ name: intl.formatMessage(messages.businessAdvisoryServicesTitle, {
+ abbreviation,
+ }),
}),
},
],
@@ -182,11 +210,16 @@ const OngoingRecruitmentSection = ({
// IT database management
{
key: PoolStream.DatabaseManagement,
- title: intl.formatMessage(messages.databaseManagementTitle),
+ title: intl.formatMessage(messages.databaseManagementTitle, {
+ abbreviation,
+ }),
+ label: intl.formatMessage(messages.databaseManagementLabel),
summary: intl.formatMessage(messages.databaseManagementSummary),
classifications: [
{
- title: intl.formatMessage(messages.it01Title),
+ title: intl.formatMessage(messages.it01Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it01Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -195,11 +228,15 @@ const OngoingRecruitmentSection = ({
1,
),
applyMessage: intl.formatMessage(messages.it01ApplyMessage, {
- name: intl.formatMessage(messages.databaseManagementTitle),
+ name: intl.formatMessage(messages.databaseManagementTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it02Title),
+ title: intl.formatMessage(messages.it02Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it02Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -208,11 +245,15 @@ const OngoingRecruitmentSection = ({
2,
),
applyMessage: intl.formatMessage(messages.it02ApplyMessage, {
- name: intl.formatMessage(messages.databaseManagementTitle),
+ name: intl.formatMessage(messages.databaseManagementTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it03Title),
+ title: intl.formatMessage(messages.it03Title, {
+ abbreviation,
+ }),
description: (
<>
@@ -230,15 +271,21 @@ const OngoingRecruitmentSection = ({
3,
),
applyMessage: intl.formatMessage(messages.it03ApplyMessage, {
- name: intl.formatMessage(messages.databaseManagementTitle),
+ name: intl.formatMessage(messages.databaseManagementTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it04Title),
+ title: intl.formatMessage(messages.it04Title, {
+ abbreviation,
+ }),
description: (
<>
- {intl.formatMessage(messages.it04Description1)}
+ {intl.formatMessage(messages.it04Description1, {
+ abbreviation,
+ })}
{intl.formatMessage(messages.it04Description2)}
@@ -252,7 +299,9 @@ const OngoingRecruitmentSection = ({
4,
),
applyMessage: intl.formatMessage(messages.it04ApplyMessage, {
- name: intl.formatMessage(messages.databaseManagementTitle),
+ name: intl.formatMessage(messages.databaseManagementTitle, {
+ abbreviation,
+ }),
}),
},
],
@@ -260,11 +309,18 @@ const OngoingRecruitmentSection = ({
// IT enterprise architecture
{
key: PoolStream.EnterpriseArchitecture,
- title: intl.formatMessage(messages.enterpriseArchitectureTitle),
- summary: intl.formatMessage(messages.enterpriseArchitectureSummary),
+ title: intl.formatMessage(messages.enterpriseArchitectureTitle, {
+ abbreviation,
+ }),
+ label: intl.formatMessage(messages.enterpriseArchitectureLabel),
+ summary: intl.formatMessage(messages.enterpriseArchitectureSummary, {
+ abbreviation,
+ }),
classifications: [
{
- title: intl.formatMessage(messages.it01Title),
+ title: intl.formatMessage(messages.it01Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it01Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -273,11 +329,15 @@ const OngoingRecruitmentSection = ({
1,
),
applyMessage: intl.formatMessage(messages.it01ApplyMessage, {
- name: intl.formatMessage(messages.enterpriseArchitectureTitle),
+ name: intl.formatMessage(messages.enterpriseArchitectureTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it02Title),
+ title: intl.formatMessage(messages.it02Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it02Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -286,11 +346,15 @@ const OngoingRecruitmentSection = ({
2,
),
applyMessage: intl.formatMessage(messages.it02ApplyMessage, {
- name: intl.formatMessage(messages.enterpriseArchitectureTitle),
+ name: intl.formatMessage(messages.enterpriseArchitectureTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it03Title),
+ title: intl.formatMessage(messages.it03Title, {
+ abbreviation,
+ }),
description: (
<>
@@ -308,15 +372,21 @@ const OngoingRecruitmentSection = ({
3,
),
applyMessage: intl.formatMessage(messages.it03ApplyMessage, {
- name: intl.formatMessage(messages.enterpriseArchitectureTitle),
+ name: intl.formatMessage(messages.enterpriseArchitectureTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it04Title),
+ title: intl.formatMessage(messages.it04Title, {
+ abbreviation,
+ }),
description: (
<>
- {intl.formatMessage(messages.it04Description1)}
+ {intl.formatMessage(messages.it04Description1, {
+ abbreviation,
+ })}
{intl.formatMessage(messages.it04Description2)}
@@ -330,7 +400,9 @@ const OngoingRecruitmentSection = ({
4,
),
applyMessage: intl.formatMessage(messages.it04ApplyMessage, {
- name: intl.formatMessage(messages.enterpriseArchitectureTitle),
+ name: intl.formatMessage(messages.enterpriseArchitectureTitle, {
+ abbreviation,
+ }),
}),
},
],
@@ -338,11 +410,18 @@ const OngoingRecruitmentSection = ({
// IT infrastructure operations
{
key: PoolStream.InfrastructureOperations,
- title: intl.formatMessage(messages.infrastructureOperationsTitle),
- summary: intl.formatMessage(messages.infrastructureOperationsSummary),
+ title: intl.formatMessage(messages.infrastructureOperationsTitle, {
+ abbreviation,
+ }),
+ label: intl.formatMessage(messages.infrastructureOperationsLabel),
+ summary: intl.formatMessage(messages.infrastructureOperationsSummary, {
+ abbreviation,
+ }),
classifications: [
{
- title: intl.formatMessage(messages.it01Title),
+ title: intl.formatMessage(messages.it01Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it01Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -351,11 +430,15 @@ const OngoingRecruitmentSection = ({
1,
),
applyMessage: intl.formatMessage(messages.it01ApplyMessage, {
- name: intl.formatMessage(messages.infrastructureOperationsTitle),
+ name: intl.formatMessage(messages.infrastructureOperationsTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it02Title),
+ title: intl.formatMessage(messages.it02Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it02Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -364,11 +447,15 @@ const OngoingRecruitmentSection = ({
2,
),
applyMessage: intl.formatMessage(messages.it02ApplyMessage, {
- name: intl.formatMessage(messages.infrastructureOperationsTitle),
+ name: intl.formatMessage(messages.infrastructureOperationsTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it03Title),
+ title: intl.formatMessage(messages.it03Title, {
+ abbreviation,
+ }),
description: (
<>
@@ -386,15 +473,21 @@ const OngoingRecruitmentSection = ({
3,
),
applyMessage: intl.formatMessage(messages.it03ApplyMessage, {
- name: intl.formatMessage(messages.infrastructureOperationsTitle),
+ name: intl.formatMessage(messages.infrastructureOperationsTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it04Title),
+ title: intl.formatMessage(messages.it04Title, {
+ abbreviation,
+ }),
description: (
<>
- {intl.formatMessage(messages.it04Description1)}
+ {intl.formatMessage(messages.it04Description1, {
+ abbreviation,
+ })}
{intl.formatMessage(messages.it04Description2)}
@@ -408,7 +501,9 @@ const OngoingRecruitmentSection = ({
4,
),
applyMessage: intl.formatMessage(messages.it04ApplyMessage, {
- name: intl.formatMessage(messages.infrastructureOperationsTitle),
+ name: intl.formatMessage(messages.infrastructureOperationsTitle, {
+ abbreviation,
+ }),
}),
},
],
@@ -416,11 +511,18 @@ const OngoingRecruitmentSection = ({
// IT planning and reporting
{
key: PoolStream.PlanningAndReporting,
- title: intl.formatMessage(messages.planningAndReportingTitle),
- summary: intl.formatMessage(messages.planningAndReportingSummary),
+ title: intl.formatMessage(messages.planningAndReportingTitle, {
+ abbreviation,
+ }),
+ label: intl.formatMessage(messages.planningAndReportingLabel),
+ summary: intl.formatMessage(messages.planningAndReportingSummary, {
+ abbreviation,
+ }),
classifications: [
{
- title: intl.formatMessage(messages.it01Title),
+ title: intl.formatMessage(messages.it01Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it01Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -429,11 +531,15 @@ const OngoingRecruitmentSection = ({
1,
),
applyMessage: intl.formatMessage(messages.it01ApplyMessage, {
- name: intl.formatMessage(messages.planningAndReportingTitle),
+ name: intl.formatMessage(messages.planningAndReportingTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it02Title),
+ title: intl.formatMessage(messages.it02Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it02Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -442,11 +548,15 @@ const OngoingRecruitmentSection = ({
2,
),
applyMessage: intl.formatMessage(messages.it02ApplyMessage, {
- name: intl.formatMessage(messages.planningAndReportingTitle),
+ name: intl.formatMessage(messages.planningAndReportingTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it03Title),
+ title: intl.formatMessage(messages.it03Title, {
+ abbreviation,
+ }),
description: (
<>
@@ -464,15 +574,21 @@ const OngoingRecruitmentSection = ({
3,
),
applyMessage: intl.formatMessage(messages.it03ApplyMessage, {
- name: intl.formatMessage(messages.planningAndReportingTitle),
+ name: intl.formatMessage(messages.planningAndReportingTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it04Title),
+ title: intl.formatMessage(messages.it04Title, {
+ abbreviation,
+ }),
description: (
<>
- {intl.formatMessage(messages.it04Description1)}
+ {intl.formatMessage(messages.it04Description1, {
+ abbreviation,
+ })}
{intl.formatMessage(messages.it04Description2)}
@@ -486,7 +602,9 @@ const OngoingRecruitmentSection = ({
4,
),
applyMessage: intl.formatMessage(messages.it04ApplyMessage, {
- name: intl.formatMessage(messages.planningAndReportingTitle),
+ name: intl.formatMessage(messages.planningAndReportingTitle, {
+ abbreviation,
+ }),
}),
},
],
@@ -494,11 +612,18 @@ const OngoingRecruitmentSection = ({
// IT project portfolio management
{
key: PoolStream.ProjectPortfolioManagement,
- title: intl.formatMessage(messages.projectPortfolioManagementTitle),
- summary: intl.formatMessage(messages.projectPortfolioSummary),
+ title: intl.formatMessage(messages.projectPortfolioManagementTitle, {
+ abbreviation,
+ }),
+ label: intl.formatMessage(messages.projectPortfolioManagementLabel),
+ summary: intl.formatMessage(messages.projectPortfolioSummary, {
+ abbreviation,
+ }),
classifications: [
{
- title: intl.formatMessage(messages.it01Title),
+ title: intl.formatMessage(messages.it01Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it01Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -507,11 +632,15 @@ const OngoingRecruitmentSection = ({
1,
),
applyMessage: intl.formatMessage(messages.it01ApplyMessage, {
- name: intl.formatMessage(messages.projectPortfolioManagementTitle),
+ name: intl.formatMessage(messages.projectPortfolioManagementTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it02Title),
+ title: intl.formatMessage(messages.it02Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it02Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -520,11 +649,15 @@ const OngoingRecruitmentSection = ({
2,
),
applyMessage: intl.formatMessage(messages.it02ApplyMessage, {
- name: intl.formatMessage(messages.projectPortfolioManagementTitle),
+ name: intl.formatMessage(messages.projectPortfolioManagementTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it03Title),
+ title: intl.formatMessage(messages.it03Title, {
+ abbreviation,
+ }),
description: (
<>
@@ -542,15 +675,21 @@ const OngoingRecruitmentSection = ({
3,
),
applyMessage: intl.formatMessage(messages.it03ApplyMessage, {
- name: intl.formatMessage(messages.projectPortfolioManagementTitle),
+ name: intl.formatMessage(messages.projectPortfolioManagementTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it04Title),
+ title: intl.formatMessage(messages.it04Title, {
+ abbreviation,
+ }),
description: (
<>
- {intl.formatMessage(messages.it04Description1)}
+ {intl.formatMessage(messages.it04Description1, {
+ abbreviation,
+ })}
{intl.formatMessage(messages.it04Description2)}
@@ -564,7 +703,9 @@ const OngoingRecruitmentSection = ({
4,
),
applyMessage: intl.formatMessage(messages.it04ApplyMessage, {
- name: intl.formatMessage(messages.projectPortfolioManagementTitle),
+ name: intl.formatMessage(messages.projectPortfolioManagementTitle, {
+ abbreviation,
+ }),
}),
},
],
@@ -572,11 +713,16 @@ const OngoingRecruitmentSection = ({
// IT security
{
key: PoolStream.Security,
- title: intl.formatMessage(messages.securityTitle),
+ title: intl.formatMessage(messages.securityTitle, {
+ abbreviation,
+ }),
+ label: intl.formatMessage(messages.securityLabel),
summary: intl.formatMessage(messages.securitySummary),
classifications: [
{
- title: intl.formatMessage(messages.it01Title),
+ title: intl.formatMessage(messages.it01Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it01Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -585,11 +731,15 @@ const OngoingRecruitmentSection = ({
1,
),
applyMessage: intl.formatMessage(messages.it01ApplyMessage, {
- name: intl.formatMessage(messages.securityTitle),
+ name: intl.formatMessage(messages.securityTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it02Title),
+ title: intl.formatMessage(messages.it02Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it02Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -598,11 +748,15 @@ const OngoingRecruitmentSection = ({
2,
),
applyMessage: intl.formatMessage(messages.it02ApplyMessage, {
- name: intl.formatMessage(messages.securityTitle),
+ name: intl.formatMessage(messages.securityTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it03Title),
+ title: intl.formatMessage(messages.it03Title, {
+ abbreviation,
+ }),
description: (
<>
@@ -620,15 +774,21 @@ const OngoingRecruitmentSection = ({
3,
),
applyMessage: intl.formatMessage(messages.it03ApplyMessage, {
- name: intl.formatMessage(messages.securityTitle),
+ name: intl.formatMessage(messages.securityTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it04Title),
+ title: intl.formatMessage(messages.it04Title, {
+ abbreviation,
+ }),
description: (
<>
- {intl.formatMessage(messages.it04Description1)}
+ {intl.formatMessage(messages.it04Description1, {
+ abbreviation,
+ })}
{intl.formatMessage(messages.it04Description2)}
@@ -643,7 +803,9 @@ const OngoingRecruitmentSection = ({
),
applyMessage: intl.formatMessage(messages.it04ApplyMessage, {
- name: intl.formatMessage(messages.securityTitle),
+ name: intl.formatMessage(messages.securityTitle, {
+ abbreviation,
+ }),
}),
},
],
@@ -651,11 +813,16 @@ const OngoingRecruitmentSection = ({
// IT software solutions
{
key: PoolStream.SoftwareSolutions,
- title: intl.formatMessage(messages.softwareSolutionsTitle),
+ title: intl.formatMessage(messages.softwareSolutionsTitle, {
+ abbreviation,
+ }),
+ label: intl.formatMessage(messages.softwareSolutionsLabel),
summary: intl.formatMessage(messages.softwareSolutionsSummary),
classifications: [
{
- title: intl.formatMessage(messages.it01Title),
+ title: intl.formatMessage(messages.it01Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it01Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -664,11 +831,15 @@ const OngoingRecruitmentSection = ({
1,
),
applyMessage: intl.formatMessage(messages.it01ApplyMessage, {
- name: intl.formatMessage(messages.softwareSolutionsTitle),
+ name: intl.formatMessage(messages.softwareSolutionsTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it02Title),
+ title: intl.formatMessage(messages.it02Title, {
+ abbreviation,
+ }),
description: intl.formatMessage(messages.it02Description),
poolAdvertisement: selectPoolForSection(
pools,
@@ -677,11 +848,15 @@ const OngoingRecruitmentSection = ({
2,
),
applyMessage: intl.formatMessage(messages.it02ApplyMessage, {
- name: intl.formatMessage(messages.softwareSolutionsTitle),
+ name: intl.formatMessage(messages.softwareSolutionsTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it03Title),
+ title: intl.formatMessage(messages.it03Title, {
+ abbreviation,
+ }),
description: (
<>
@@ -699,15 +874,21 @@ const OngoingRecruitmentSection = ({
3,
),
applyMessage: intl.formatMessage(messages.it03ApplyMessage, {
- name: intl.formatMessage(messages.softwareSolutionsTitle),
+ name: intl.formatMessage(messages.softwareSolutionsTitle, {
+ abbreviation,
+ }),
}),
},
{
- title: intl.formatMessage(messages.it04Title),
+ title: intl.formatMessage(messages.it04Title, {
+ abbreviation,
+ }),
description: (
<>
- {intl.formatMessage(messages.it04Description1)}
+ {intl.formatMessage(messages.it04Description1, {
+ abbreviation,
+ })}
{intl.formatMessage(messages.it04Description2)}
@@ -721,7 +902,9 @@ const OngoingRecruitmentSection = ({
4,
),
applyMessage: intl.formatMessage(messages.it04ApplyMessage, {
- name: intl.formatMessage(messages.softwareSolutionsTitle),
+ name: intl.formatMessage(messages.softwareSolutionsTitle, {
+ abbreviation,
+ }),
}),
},
],
@@ -802,7 +985,7 @@ const OngoingRecruitmentSection = ({
},
...streamsWithAvailablePools.map((stream) => ({
value: stream.key,
- label: stream.title,
+ label: stream.label,
})),
]}
trackUnsaved={false}
@@ -875,7 +1058,7 @@ const OngoingRecruitmentSection = ({
)
.map((classification) => (
- {intl.formatMessage({
- id: "s2+FXu",
- defaultMessage:
- "GC Digital Talent is committed to building an accessible and inclusive digital service. At the heart of our platform design and development is an endeavour to create equal employment opportunities for all. To us, building accessible services means meeting the needs of as many people as possible, including edge cases. We are working across all disciplines - research, development, design, and accessibility - to ensure our service is intentional, accessible, and inclusive.",
- description: "Opening paragraph for accessibility statement",
- })}
+ {intl.formatMessage(
+ {
+ id: "fNnKNn",
+ defaultMessage:
+ "
- {intl.formatMessage({
- defaultMessage:
- "Welcome to the Digital Talent platform. Moving forward, you can log into your profile using the same GC Key username and password.",
- id: "0O/eV0",
- description:
- "Message for successful login alert in create account page.",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Welcome to the Digital Talent platform. Moving forward, you can log into your profile using the same
- {intl.formatMessage({
- defaultMessage:
- "Remember, to sign back in, you'll need to use your GC Key username and password. We hope to see you soon!",
- id: "6UCzgs",
- description: "Message displayed to a user after logging out.",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Remember, to sign back in, you'll need to use your
- {intl.formatMessage({
- defaultMessage:
- "You can log into your Digital Talent profile using your existing GC Key, even if you’ve never used this platform before.",
- id: "K7wsxV",
- description: "Instructions on how to login with GC Key.",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "You can log into your Digital Talent profile using your existing
- {intl.formatMessage({
- defaultMessage:
- "If you’re unsure whether you have an existing GC Key account, continue to the website and try logging in. If you can’t remember your password, you can also reset it there.",
- id: "Q2+VXx",
- description:
- "Instructions on what to do if user doesn't know if they have a GC Key",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "If you’re unsure whether you have an existing
{intl.formatMessage(
{
defaultMessage:
- "Don't have a GC Key account? Register for one.",
- id: "ofOoFQ",
+ "Don't have a
- {intl.formatMessage({
- defaultMessage:
- "You can log into your Digital Talent profile using your existing GC Key, even if you've never used this platform before.",
- id: "c3CV4P",
- description: "Instructions on how to login with GC Key.",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "You can log into your Digital Talent profile using your existing
- {intl.formatMessage({
- defaultMessage:
- "If you're unsure whether you have an existing GC Key account, continue to the website and try logging in. If you can't remember your password, you can also reset it there.",
- id: "pcnr9A",
- description:
- "Instructions on what to do if user doesn't know if they have a GC Key",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "If you're unsure whether you have an existing
{intl.formatMessage(
{
defaultMessage:
- "Don't have a GC Key account? Register for one.",
- id: "ofOoFQ",
+ "Don't have a
- {intl.formatMessage({
- defaultMessage:
- "Welcome to GC Digital Talent, please log in to continue.",
- id: "Nfy1HK",
- description:
- "Instructional text for the talent cloud pool manager portal home page.",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Welcome to
- {intl.formatMessage({
- defaultMessage:
- "GC Digital Talent is only one of the many initiatives being led by the Office of the Chief Information Officer of Canada (OCIO). Learn more about OCIO's role in the Government of Canada. Check out Canada's Digital Ambition 2022 to see where OCIO is heading in the future.",
- id: "s3Uz7q",
- description:
- "Description of the Office of the Chief Information Officer",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "
- {intl.formatMessage({
- defaultMessage:
- "Behind the GC Digital Talent platform is a whole team of people designing, developing, screening applicants, talent managing employees, placing executives, and helping managers find the talent they need to deliver services to Canadians.",
- id: "l3tT4m",
- description:
- "Description for the Digital Community Management",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Behind the
- {intl.formatMessage({
- defaultMessage:
- "Curious about how the GC Digital Talent platform was developed? Want to learn more about the ideas, designs, and philosophy going on behind the scenes? Check out the path from Talent Cloud's experimental pilot to today's full-scale platform.",
- id: "GSzckJ",
- description: "Description of how the platform was created.",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Curious about how the {
data-h2-margin="base(x1, 0, x2, 0)"
data-h2-max-width="p-tablet(50%)"
>
- {intl.formatMessage({
- defaultMessage:
- "Whether you're thinking about joining government or already an employee, hoping to hire or considering an executive role, this is the place to come to be part of the GC digital community.",
- id: "zmV99R",
- description: "Description of the application on the homepage",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Whether you're thinking about joining government or already an employee, hoping to hire or considering an executive role, this is the place to come to be part of the
- {intl.formatMessage({
- defaultMessage:
- "Check out the latest GC opportunities in digital and tech, from entry level to management. Find a team, make a difference, and be inspired.",
- id: "951Oju",
- description:
- "Description for the digital government job opportunities",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "Check out the latest
- {intl.formatMessage({
- defaultMessage:
- "From entry-level executives to CIO opportunities across the GC, this is the place to come if you're ready to take on a digital leadership role making a difference for Canadians.",
- id: "EWCP4t",
- description: "Description for executive jobs in government",
- })}
+ {intl.formatMessage(
+ {
+ defaultMessage:
+ "From entry-level executives to
{intl.formatMessage({
defaultMessage:
diff --git a/frontend/common/src/constants/localizedConstants.tsx b/frontend/common/src/constants/localizedConstants.tsx
index 65beff26286..0598a5003ec 100644
--- a/frontend/common/src/constants/localizedConstants.tsx
+++ b/frontend/common/src/constants/localizedConstants.tsx
@@ -1568,14 +1568,18 @@ export const getPublishingGroup = (
);
export const abbreviations = defineMessages({
- IT: {
- defaultMessage: "Information Technology",
- id: "nLW9zq",
- },
AS: {
defaultMessage: "Administrative Services",
id: "6svHxg",
},
+ GC: {
+ defaultMessage: "Government of Canada",
+ id: "t9i8Ml",
+ },
+ IT: {
+ defaultMessage: "Information Technology",
+ id: "nLW9zq",
+ },
});
export const getAbbreviations = (
diff --git a/frontend/common/src/helpers/nameUtils.tsx b/frontend/common/src/helpers/nameUtils.tsx
index 616c0fb6453..3b6d66added 100644
--- a/frontend/common/src/helpers/nameUtils.tsx
+++ b/frontend/common/src/helpers/nameUtils.tsx
@@ -154,6 +154,12 @@ export const wrapAbbr = (
{text}
);
+ case stringifyText.match("GC")?.input:
+ return (
+
+ {text}
+
+ );
default:
if (title === undefined) {
// eslint-disable-next-line no-console
@@ -163,7 +169,7 @@ export const wrapAbbr = (
}
return (
- {text}
+ {text}
);
}
diff --git a/frontend/common/src/lang/fr.json b/frontend/common/src/lang/fr.json
index 48970a14826..c14d82e472b 100644
--- a/frontend/common/src/lang/fr.json
+++ b/frontend/common/src/lang/fr.json
@@ -773,7 +773,7 @@
"description": "Current Location label and colon"
},
"shPV27": {
- "defaultMessage": "A achevé une évaluation officielle du GC :",
+ "defaultMessage": "A achevé une évaluation officielle du
{intl.formatMessage(
{
- id: "fNnKNn",
+ id: "rnPvJN",
defaultMessage:
- "
{application.poolAdvertisement
- ? getFullPoolAdvertisementTitle(
+ ? getFullPoolAdvertisementTitleHtml(
intl,
application.poolAdvertisement,
)
diff --git a/apps/web/src/pages/Applications/ReviewApplicationPage/ReviewApplicationPage.tsx b/apps/web/src/pages/Applications/ReviewApplicationPage/ReviewApplicationPage.tsx
index 9edf57e8566..fc5d216bfb6 100644
--- a/apps/web/src/pages/Applications/ReviewApplicationPage/ReviewApplicationPage.tsx
+++ b/apps/web/src/pages/Applications/ReviewApplicationPage/ReviewApplicationPage.tsx
@@ -16,7 +16,7 @@ import { notEmpty } from "@common/helpers/util";
import { Link } from "@common/components";
import { flattenExperienceSkills } from "@common/types/ExperienceUtils";
import { categorizeSkill, getMissingSkills } from "@common/helpers/skillUtils";
-import { getFullPoolAdvertisementTitle } from "@common/helpers/poolUtils";
+import { getFullPoolAdvertisementTitleHtml } from "@common/helpers/poolUtils";
import { getMissingLanguageRequirements } from "@common/helpers/languageUtils";
import LanguageInformationSection from "@common/components/UserProfile/ProfileSections/LanguageInformationSection";
@@ -79,7 +79,7 @@ export const ReviewApplication: React.FunctionComponent<
hasExperiences ? flattenExperienceSkills(experiences) : [],
).length === 0 &&
missingLanguageRequirements.length === 0;
- const jobTitle = getFullPoolAdvertisementTitle(intl, poolAdvertisement);
+ const jobTitle = getFullPoolAdvertisementTitleHtml(intl, poolAdvertisement);
return (
<>
diff --git a/apps/web/src/pages/Applications/SignAndSubmitPage/SignAndSubmitPage.tsx b/apps/web/src/pages/Applications/SignAndSubmitPage/SignAndSubmitPage.tsx
index 8fd6725530a..b9d5daeddf6 100644
--- a/apps/web/src/pages/Applications/SignAndSubmitPage/SignAndSubmitPage.tsx
+++ b/apps/web/src/pages/Applications/SignAndSubmitPage/SignAndSubmitPage.tsx
@@ -21,7 +21,7 @@ import { notEmpty } from "@common/helpers/util";
import { categorizeSkill, getMissingSkills } from "@common/helpers/skillUtils";
import { getMissingLanguageRequirements } from "@common/helpers/languageUtils";
import { flattenExperienceSkills } from "@common/types/ExperienceUtils";
-import { getFullPoolAdvertisementTitle } from "@common/helpers/poolUtils";
+import { getFullPoolAdvertisementTitleHtml } from "@common/helpers/poolUtils";
import useRoutes from "~/hooks/useRoutes";
import {
@@ -236,7 +236,7 @@ export interface SignAndSubmitFormProps {
poolAdvertisementId: string;
userId: string;
closingDate: PoolAdvertisement["closingDate"];
- jobTitle: string;
+ jobTitle: string | React.ReactNode;
isApplicationComplete: boolean;
handleSubmitApplication: (
id: string,
@@ -394,7 +394,10 @@ const SignAndSubmitPage = () => {
});
const jobTitle = data?.poolCandidate?.poolAdvertisement
- ? getFullPoolAdvertisementTitle(intl, data.poolCandidate.poolAdvertisement)
+ ? getFullPoolAdvertisementTitleHtml(
+ intl,
+ data.poolCandidate.poolAdvertisement,
+ )
: intl.formatMessage({
defaultMessage: "Error, job title not found.",
id: "oDyHaL",
diff --git a/apps/web/src/pages/PoolCandidates/IndexPoolCandidatePage/IndexPoolCandidatePage.tsx b/apps/web/src/pages/PoolCandidates/IndexPoolCandidatePage/IndexPoolCandidatePage.tsx
index af86e1ceb08..42c90af4da8 100644
--- a/apps/web/src/pages/PoolCandidates/IndexPoolCandidatePage/IndexPoolCandidatePage.tsx
+++ b/apps/web/src/pages/PoolCandidates/IndexPoolCandidatePage/IndexPoolCandidatePage.tsx
@@ -6,7 +6,7 @@ import PageHeader from "@common/components/PageHeader";
import { Squares2X2Icon } from "@heroicons/react/24/outline";
import Breadcrumbs from "@common/components/Breadcrumbs";
import Pending from "@common/components/Pending";
-import { getFullPoolAdvertisementTitle } from "@common/helpers/poolUtils";
+import { getFullPoolAdvertisementTitleHtml } from "@common/helpers/poolUtils";
import { Scalars, useGetPoolAdvertisementQuery } from "~/api/generated";
import useRoutes from "~/hooks/useRoutes";
@@ -39,7 +39,7 @@ export const IndexPoolCandidatePage = () => {
},
{
title:
- getFullPoolAdvertisementTitle(intl, data?.poolAdvertisement) ||
+ getFullPoolAdvertisementTitleHtml(intl, data?.poolAdvertisement) ||
intl.formatMessage({
defaultMessage: "Pool name not found",
id: "HGMl3y",
@@ -76,7 +76,7 @@ export const IndexPoolCandidatePage = () => {
"Subtitle on pool candidates page indicating which pool candidates are from",
},
{
- poolName: getFullPoolAdvertisementTitle(
+ poolName: getFullPoolAdvertisementTitleHtml(
intl,
data?.poolAdvertisement,
),
diff --git a/apps/web/src/pages/PoolCandidates/ViewPoolCandidatePage/ViewPoolCandidatePage.tsx b/apps/web/src/pages/PoolCandidates/ViewPoolCandidatePage/ViewPoolCandidatePage.tsx
index e3eeacecf05..4a3cd785074 100644
--- a/apps/web/src/pages/PoolCandidates/ViewPoolCandidatePage/ViewPoolCandidatePage.tsx
+++ b/apps/web/src/pages/PoolCandidates/ViewPoolCandidatePage/ViewPoolCandidatePage.tsx
@@ -14,7 +14,7 @@ import Breadcrumbs, { BreadcrumbsProps } from "@common/components/Breadcrumbs";
import UserProfile from "@common/components/UserProfile";
import { Applicant } from "@common/api/generated";
import TableOfContents from "@common/components/TableOfContents";
-import { getFullPoolAdvertisementTitle } from "@common/helpers/poolUtils";
+import { getFullPoolAdvertisementTitleHtml } from "@common/helpers/poolUtils";
import useRoutes from "~/hooks/useRoutes";
import {
@@ -57,7 +57,7 @@ export const ViewPoolCandidate = ({
href: paths.poolTable(),
},
{
- title: getFullPoolAdvertisementTitle(intl, poolCandidate.pool),
+ title: getFullPoolAdvertisementTitleHtml(intl, poolCandidate.pool),
href: paths.poolView(poolCandidate.pool.id),
},
{
@@ -213,7 +213,10 @@ export const ViewPoolCandidate = ({
},
{
submittedAt: poolCandidate.submittedAt,
- poolName: getFullPoolAdvertisementTitle(intl, poolCandidate.pool),
+ poolName: getFullPoolAdvertisementTitleHtml(
+ intl,
+ poolCandidate.pool,
+ ),
},
)}
diff --git a/apps/web/src/pages/PoolCandidates/ViewPoolCandidatePage/components/ApplicationStatusForm/ApplicationStatusForm.tsx b/apps/web/src/pages/PoolCandidates/ViewPoolCandidatePage/components/ApplicationStatusForm/ApplicationStatusForm.tsx
index bab1afe1385..8d5304051a6 100644
--- a/apps/web/src/pages/PoolCandidates/ViewPoolCandidatePage/components/ApplicationStatusForm/ApplicationStatusForm.tsx
+++ b/apps/web/src/pages/PoolCandidates/ViewPoolCandidatePage/components/ApplicationStatusForm/ApplicationStatusForm.tsx
@@ -14,7 +14,7 @@ import { getPoolCandidateStatus } from "@common/constants/localizedConstants";
import { strToFormDate } from "@common/helpers/dateUtils";
import { commonMessages } from "@common/messages";
import { emptyToNull } from "@common/helpers/util";
-import { getFullPoolAdvertisementTitle } from "@common/helpers/poolUtils";
+import { getFullPoolAdvertisementTitleHtml } from "@common/helpers/poolUtils";
import {
PoolCandidateStatus,
@@ -195,7 +195,7 @@ export const ApplicationStatusForm = ({
"Label for the notes field on the pool candidate application",
},
{
- poolName: getFullPoolAdvertisementTitle(
+ poolName: getFullPoolAdvertisementTitleHtml(
intl,
application.pool,
),
diff --git a/apps/web/src/pages/Pools/BrowsePoolsPage/components/PoolCard/PoolCard.tsx b/apps/web/src/pages/Pools/BrowsePoolsPage/components/PoolCard/PoolCard.tsx
index 332ce4ab805..aba368c4a28 100644
--- a/apps/web/src/pages/Pools/BrowsePoolsPage/components/PoolCard/PoolCard.tsx
+++ b/apps/web/src/pages/Pools/BrowsePoolsPage/components/PoolCard/PoolCard.tsx
@@ -17,33 +17,16 @@ import {
} from "@common/helpers/localize";
import { notEmpty } from "@common/helpers/util";
import { commonMessages } from "@common/messages";
-import {
- formatClassificationString,
- getFullPoolAdvertisementTitle,
-} from "@common/helpers/poolUtils";
+import { getFullPoolAdvertisementTitleHtml } from "@common/helpers/poolUtils";
import { PoolAdvertisement } from "~/api/generated";
import useRoutes from "~/hooks/useRoutes";
+import { wrapAbbr } from "@common/helpers/nameUtils";
import IconLabel from "./IconLabel";
import "./pool-card.css";
-const getClassificationStrings = (pool: PoolAdvertisement) => {
- if (!pool.classifications) return null;
-
- return pool.classifications
- .map((classification) => {
- if (!classification) return undefined;
-
- return formatClassificationString({
- group: classification.group,
- level: classification.level,
- });
- })
- .filter(notEmpty);
-};
-
const getSalaryRanges = (pool: PoolAdvertisement, locale: string) => {
if (!pool.classifications) return null;
@@ -70,8 +53,14 @@ const PoolCard = ({ pool, headingLevel = "h3" }: PoolCardProps) => {
const locale = getLocale(intl);
const paths = useRoutes();
- const classifications = getClassificationStrings(pool);
- const classification = classifications?.length ? classifications[0] : null;
+ const { classifications } = pool;
+ const classification = classifications ? classifications[0] : null;
+
+ let classificationAbbr; // type wrangling the complex type into a string
+ if (classification) {
+ const { group, level } = classification;
+ classificationAbbr = wrapAbbr(`${group}-0${level}`, intl);
+ }
const salaryRanges = getSalaryRanges(pool, locale);
const nullMessage = intl.formatMessage(commonMessages.notAvailable);
@@ -103,7 +92,7 @@ const PoolCard = ({ pool, headingLevel = "h3" }: PoolCardProps) => {
data-h2-font-size="base(h6) l-tablet(h4, 1.2)"
data-h2-layer="base(2, relative)"
>
- {classification || nullMessage}
+ {classificationAbbr || nullMessage}
{rejectedRequests.map((rejected) => (
@@ -150,7 +153,7 @@ export const AddToPoolDialog: React.FC
{rejectedRequests.map((r) => (
@@ -202,7 +209,7 @@ export const ChangeStatusDialog: React.FCIT guidance as well as working with clients and/or suppliers to acquire and sustain
diff --git a/apps/web/src/pages/Auth/LoginPage/LoginPage.tsx b/apps/web/src/pages/Auth/LoginPage/LoginPage.tsx
index 1a4005b18e4..229ef58004f 100644
--- a/apps/web/src/pages/Auth/LoginPage/LoginPage.tsx
+++ b/apps/web/src/pages/Auth/LoginPage/LoginPage.tsx
@@ -10,6 +10,7 @@ import SEO from "@common/components/SEO/SEO";
import useRoutes from "~/hooks/useRoutes";
import useBreadcrumbs from "~/hooks/useBreadcrumbs";
+import { wrapAbbr } from "~/../../../frontend/common/src/helpers/nameUtils";
const keyRegistrationLink = (path: string, chunks: React.ReactNode) => (
{chunks}
@@ -25,12 +26,25 @@ const LoginPage: React.FC = () => {
getLocale(intl),
);
- const pageTitle = intl.formatMessage({
+ const abbreviation = (text: React.ReactNode) => wrapAbbr(text, intl);
+
+ const seoTitle = intl.formatMessage({
defaultMessage: "Login using GC Key",
- id: "Z3prc4",
- description: "Title for the login page for applicant profiles.",
+ id: "4RXJ4p",
+ description: "Seo title for the login page for applicant profiles.",
});
+ const pageTitle = intl.formatMessage(
+ {
+ defaultMessage: "Login using