From a63b90bb813e76fc72efaab098ab0e11d3968b75 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 6 Feb 2026 22:04:43 +0000 Subject: [PATCH 1/3] Add remuneration breakdown page for individual First Nations Adds a new page at first-nations/remuneration/ that shows all remuneration entries from all years in a single sortable, filterable table. Includes year summary cards, search by name/position, year filter, and totals row. https://claude.ai/code/session_017dQTnDm1WL3b9ijQg5L9ZJ --- .../remuneration/[bcid]/page.tsx | 148 +++++ .../first-nations/RemunerationBreakdown.tsx | 560 ++++++++++++++++++ src/components/first-nations/index.ts | 1 + src/lib/supabase/remuneration.ts | 22 + 4 files changed, 731 insertions(+) create mode 100644 src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx create mode 100644 src/components/first-nations/RemunerationBreakdown.tsx diff --git a/src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx b/src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx new file mode 100644 index 00000000..668f511e --- /dev/null +++ b/src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx @@ -0,0 +1,148 @@ +import { notFound } from "next/navigation"; +import { Trans, useLingui } from "@lingui/react/macro"; +import { initLingui } from "@/initLingui"; +import { + H1, + Intro, + Page, + PageContent, + Section, + InternalLink, +} from "@/components/Layout"; +import { RemunerationBreakdown } from "@/components/first-nations/RemunerationBreakdown"; +import { getFirstNationById, getAllFirstNations } from "@/lib/supabase"; +import { + getRemunerationEntriesByBand, + getBandRemunerationSummaryByBcid, +} from "@/lib/supabase/remuneration"; +import { locales } from "@/lib/constants"; +import { generateHreflangAlternates } from "@/lib/utils"; +import { Metadata } from "next"; + +export const revalidate = 3600; +export const dynamicParams = true; + +export async function generateStaticParams() { + const firstNations = await getAllFirstNations(); + + return locales.flatMap((lang) => + firstNations.map((firstNation) => ({ + lang, + bcid: firstNation.bcid, + })), + ); +} + +export async function generateMetadata({ + params, +}: { + params: Promise<{ lang: string; bcid: string }>; +}): Promise { + const { lang, bcid } = await params; + + const firstNation = await getFirstNationById(bcid); + + if (!firstNation) { + return {}; + } + + initLingui(lang); + + // eslint-disable-next-line react-hooks/rules-of-hooks + const { t } = useLingui(); + + const provinceSuffix = firstNation.province + ? `, ${firstNation.province}` + : ""; + + const title = `${firstNation.name} Remuneration Breakdown${provinceSuffix} | Canada Spends`; + const description = t`View all remuneration data for ${firstNation.name}${provinceSuffix} across all available years. Includes compensation and expenses for elected officials and staff from annual reports published under the FNFTA.`; + + return { + title, + description, + alternates: generateHreflangAlternates( + lang, + "/first-nations/remuneration/[bcid]", + { bcid }, + ), + openGraph: { + title, + description, + type: "website", + }, + }; +} + +export default async function FirstNationRemunerationPage({ + params, +}: { + params: Promise<{ lang: string; bcid: string }>; +}) { + const { lang, bcid } = await params; + initLingui(lang); + + const [firstNation, summaries, entries] = await Promise.all([ + getFirstNationById(bcid), + getBandRemunerationSummaryByBcid(bcid), + getRemunerationEntriesByBand(bcid), + ]); + + if (!firstNation) { + notFound(); + } + + if (summaries.length === 0 && entries.length === 0) { + notFound(); + } + + const provinceSuffix = firstNation.province + ? `, ${firstNation.province}` + : ""; + + return ( + + +
+
+ + First Nations + + {" / "} + + {firstNation.name} + + {" / "} + + Remuneration + +
+

+ + {firstNation.name} Remuneration{provinceSuffix} + +

+ + + All remuneration entries for {firstNation.name} across{" "} + {summaries.length} available fiscal year(s). Data is extracted + from remuneration schedules published under the First Nations + Financial Transparency Act (FNFTA). + + +
+
+ +
+
+
+ ); +} diff --git a/src/components/first-nations/RemunerationBreakdown.tsx b/src/components/first-nations/RemunerationBreakdown.tsx new file mode 100644 index 00000000..86f8e19f --- /dev/null +++ b/src/components/first-nations/RemunerationBreakdown.tsx @@ -0,0 +1,560 @@ +"use client"; + +import { useState, useMemo, useCallback, useEffect, useRef } from "react"; +import { Trans } from "@lingui/react/macro"; +import { + Search, + ChevronUp, + ChevronDown, + ChevronsUpDown, + FileText, + Loader2, +} from "lucide-react"; +import type { BandRemunerationSummary } from "@/lib/supabase/remuneration"; +import type { RemunerationEntryRow } from "@/lib/supabase/remuneration"; + +const CDN_BASE_URL = "https://cdn.canadaspends.com"; + +function formatCurrency(value: number | null | undefined): string { + if (value === undefined || value === null) return "-"; + return new Intl.NumberFormat("en-CA", { + style: "currency", + currency: "CAD", + minimumFractionDigits: 0, + maximumFractionDigits: 0, + }).format(value); +} + +function formatCurrencyCompact(value: number | null | undefined): string { + if (value === undefined || value === null) return "-"; + const absolute = Math.abs(value); + if (absolute >= 1_000_000) { + return `$${(value / 1_000_000).toFixed(2)}M`; + } + if (absolute >= 1_000) { + return `$${(value / 1_000).toFixed(0)}K`; + } + return new Intl.NumberFormat("en-CA", { + style: "currency", + currency: "CAD", + minimumFractionDigits: 0, + maximumFractionDigits: 0, + }).format(value); +} + +type SortKey = + | "fiscal_year_end" + | "official_name" + | "position" + | "compensation" + | "expenses" + | "row_total" + | "months_in_office"; + +type SortDirection = "asc" | "desc"; + +function getSortValue( + entry: RemunerationEntryRow, + key: SortKey, +): string | number { + switch (key) { + case "fiscal_year_end": + return entry.fiscal_year_end; + case "official_name": + return entry.official_name; + case "position": + return entry.position; + case "compensation": + return entry.compensation; + case "expenses": + return entry.expenses; + case "row_total": + return entry.row_total; + case "months_in_office": + return entry.months_in_office ?? 0; + } +} + +function SortIcon({ + columnKey, + activeKey, + direction, +}: { + columnKey: SortKey; + activeKey: SortKey; + direction: SortDirection; +}) { + if (columnKey !== activeKey) { + return ; + } + return direction === "asc" ? ( + + ) : ( + + ); +} + +interface RemunerationBreakdownProps { + summaries: BandRemunerationSummary[]; + entries: RemunerationEntryRow[]; +} + +export function RemunerationBreakdown({ + summaries, + entries, +}: RemunerationBreakdownProps) { + const [searchQuery, setSearchQuery] = useState(""); + const [debouncedSearch, setDebouncedSearch] = useState(""); + const [selectedYear, setSelectedYear] = useState(""); + const [sortKey, setSortKey] = useState("fiscal_year_end"); + const [sortDirection, setSortDirection] = useState("desc"); + + const debounceRef = useRef(null); + useEffect(() => { + if (debounceRef.current) { + clearTimeout(debounceRef.current); + } + debounceRef.current = setTimeout(() => { + setDebouncedSearch(searchQuery); + }, 300); + return () => { + if (debounceRef.current) { + clearTimeout(debounceRef.current); + } + }; + }, [searchQuery]); + + const isSearching = debouncedSearch !== searchQuery; + + const availableYears = useMemo(() => { + const yearsSet = new Set(); + for (const s of summaries) { + yearsSet.add(s.fiscal_year_end); + } + return Array.from(yearsSet).sort((a, b) => b - a); + }, [summaries]); + + const handleSort = useCallback( + (key: SortKey) => { + if (key === sortKey) { + setSortDirection((d) => (d === "asc" ? "desc" : "asc")); + } else { + setSortKey(key); + setSortDirection( + key === "official_name" || key === "position" ? "asc" : "desc", + ); + } + }, + [sortKey], + ); + + const filtered = useMemo(() => { + let result = entries; + + if (selectedYear) { + result = result.filter((e) => e.fiscal_year_end === Number(selectedYear)); + } + + if (debouncedSearch.trim()) { + const query = debouncedSearch.toLowerCase(); + result = result.filter( + (e) => + e.official_name.toLowerCase().includes(query) || + e.position.toLowerCase().includes(query), + ); + } + + const sorted = [...result].sort((a, b) => { + const aVal = getSortValue(a, sortKey); + const bVal = getSortValue(b, sortKey); + let cmp: number; + if (typeof aVal === "string" && typeof bVal === "string") { + cmp = aVal.localeCompare(bVal); + } else { + cmp = (aVal as number) - (bVal as number); + } + return sortDirection === "asc" ? cmp : -cmp; + }); + + return sorted; + }, [entries, selectedYear, debouncedSearch, sortKey, sortDirection]); + + // Build a lookup from year to summary for source PDFs + const summaryByYear = useMemo(() => { + const map = new Map(); + for (const s of summaries) { + map.set(s.fiscal_year_end, s); + } + return map; + }, [summaries]); + + // Compute totals for the filtered set + const totals = useMemo(() => { + return filtered.reduce( + (acc, e) => ({ + compensation: acc.compensation + e.compensation, + expenses: acc.expenses + e.expenses, + total: acc.total + e.row_total, + }), + { compensation: 0, expenses: 0, total: 0 }, + ); + }, [filtered]); + + const thClass = + "px-4 py-3 text-xs font-medium text-gray-500 uppercase tracking-wider cursor-pointer hover:text-gray-700 select-none whitespace-nowrap"; + + return ( +
+ {/* Year Summary Cards */} + {summaries.length > 1 && ( +
+ {summaries.map((s) => ( +
+
+ + FY {s.fiscal_year_end} + + {s.source_pdf_r2_path && ( + + + + )} +
+

+ {formatCurrencyCompact(s.total_remuneration)} +

+

+ {s.officials_count} officials + {s.chief_name && ( + <> + {" "} + · Chief: {s.chief_name} + + )} +

+
+ ))} +
+ )} + + {/* Filters */} +
+
+
+ +
+ setSearchQuery(e.target.value)} + placeholder="Search by name or position..." + className="block w-full pl-10 pr-3 py-3 border border-gray-300 shadow-sm placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-auburn-500 focus:border-auburn-500 text-base" + /> +
+ {availableYears.length > 1 && ( + + )} +
+ + {/* Results count */} +
+ {searchQuery || selectedYear ? ( + + Showing {filtered.length} of {entries.length} entries + + ) : ( + + {entries.length} remuneration entries across {availableYears.length}{" "} + year(s) + + )} + {isSearching && ( + + )} +
+ + {filtered.length === 0 ? ( +
+

+ No entries found matching your search. +

+
+ ) : ( + <> + {/* Mobile Card View */} +
+ {filtered.map((entry, i) => ( +
+
+
+

+ {entry.official_name} +

+

{entry.position}

+
+ + FY {entry.fiscal_year_end} + +
+
+
+ + Compensation + +

+ {formatCurrency(entry.compensation)} +

+
+
+ + Expenses + +

+ {formatCurrency(entry.expenses)} +

+
+
+ + Total + +

+ {formatCurrency(entry.row_total)} +

+
+
+
+ ))} +
+ + {/* Desktop Table View */} +
+ + + + + + + + + + + + + + + {filtered.map((entry, i) => { + const summary = summaryByYear.get(entry.fiscal_year_end); + return ( + + + + + + + + + + + ); + })} + + + + + + + + + + +
handleSort("fiscal_year_end")} + > + Year + + handleSort("official_name")} + > + Name + + handleSort("position")} + > + Position + + handleSort("compensation")} + > + Compensation + + handleSort("expenses")} + > + Expenses + + handleSort("row_total")} + > + Total + + handleSort("months_in_office")} + > + Months + + + Source +
+ {entry.fiscal_year_end} + + {entry.official_name} + + {entry.position} + + {formatCurrency(entry.compensation)} + + {formatCurrency(entry.expenses)} + + {formatCurrency(entry.row_total)} + + {entry.months_in_office !== null + ? entry.months_in_office + : "-"} + + {summary?.source_pdf_r2_path ? ( + + + + ) : ( + - + )} +
+ Total + {selectedYear || debouncedSearch ? ( + + ({filtered.length} entries) + + ) : null} + + {formatCurrency(totals.compensation)} + + {formatCurrency(totals.expenses)} + + {formatCurrency(totals.total)} +
+
+ + {/* Mobile totals */} +
+

+ Totals +

+
+
+ + Compensation + +

+ {formatCurrencyCompact(totals.compensation)} +

+
+
+ + Expenses + +

+ {formatCurrencyCompact(totals.expenses)} +

+
+
+ + Total + +

+ {formatCurrencyCompact(totals.total)} +

+
+
+
+ + )} +
+ ); +} diff --git a/src/components/first-nations/index.ts b/src/components/first-nations/index.ts index dfa71393..5a4ebda2 100644 --- a/src/components/first-nations/index.ts +++ b/src/components/first-nations/index.ts @@ -5,6 +5,7 @@ export { FirstNationsNotes } from "./FirstNationsNotes"; export { FirstNationsPageContent } from "./FirstNationsPageContent"; export { FirstNationsSearch } from "./FirstNationsSearch"; export { FirstNationsYearSelector } from "./FirstNationsYearSelector"; +export { RemunerationBreakdown } from "./RemunerationBreakdown"; export { RemunerationOverview } from "./RemunerationOverview"; export { RemunerationTable } from "./RemunerationTable"; export { diff --git a/src/lib/supabase/remuneration.ts b/src/lib/supabase/remuneration.ts index 9ec6c287..5ac03b8b 100644 --- a/src/lib/supabase/remuneration.ts +++ b/src/lib/supabase/remuneration.ts @@ -91,3 +91,25 @@ export async function getRemunerationEntries( `remuneration_entries?bcid=eq.${encodeURIComponent(bcid)}&fiscal_year_end=eq.${year}&order=entry_index.asc`, ); } + +/** + * Get all remuneration entries for a specific band across all years. + */ +export async function getRemunerationEntriesByBand( + bcid: string, +): Promise { + return supabaseFetch( + `remuneration_entries?bcid=eq.${encodeURIComponent(bcid)}&order=fiscal_year_end.desc,entry_index.asc`, + ); +} + +/** + * Get remuneration summary rows for a specific band across all years. + */ +export async function getBandRemunerationSummaryByBcid( + bcid: string, +): Promise { + return supabaseFetch( + `band_remuneration_summary?bcid=eq.${encodeURIComponent(bcid)}&order=fiscal_year_end.desc`, + ); +} From ef924298c122ec63e5a24ddc68330efb4fcc8245 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 7 Feb 2026 00:17:00 +0000 Subject: [PATCH 2/3] Wrap generateStaticParams in try-catch to handle API unavailability The static param generation for the remuneration breakdown page now gracefully falls back to an empty array if the API is unreachable, relying on dynamicParams = true for on-demand rendering. https://claude.ai/code/session_017dQTnDm1WL3b9ijQg5L9ZJ --- .../remuneration/[bcid]/page.tsx | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx b/src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx index 668f511e..a4be1c57 100644 --- a/src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx +++ b/src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx @@ -23,14 +23,18 @@ export const revalidate = 3600; export const dynamicParams = true; export async function generateStaticParams() { - const firstNations = await getAllFirstNations(); - - return locales.flatMap((lang) => - firstNations.map((firstNation) => ({ - lang, - bcid: firstNation.bcid, - })), - ); + try { + const firstNations = await getAllFirstNations(); + + return locales.flatMap((lang) => + firstNations.map((firstNation) => ({ + lang, + bcid: firstNation.bcid, + })), + ); + } catch { + return []; + } } export async function generateMetadata({ From 3d225db8550cc2fa6a55cdf9a5c2c95f3b1a11ce Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 7 Feb 2026 00:17:52 +0000 Subject: [PATCH 3/3] Update locale files and static data for remuneration breakdown page https://claude.ai/code/session_017dQTnDm1WL3b9ijQg5L9ZJ --- data/static-data.json | 20 +++---- src/locales/en.po | 132 +++++++++++++++++++++++++++++------------- src/locales/fr.po | 132 +++++++++++++++++++++++++++++------------- 3 files changed, 194 insertions(+), 90 deletions(-) diff --git a/data/static-data.json b/data/static-data.json index 1b3aa90e..fc6c8a5f 100644 --- a/data/static-data.json +++ b/data/static-data.json @@ -1,16 +1,16 @@ { "_disclaimer": "⚠️ AUTO-GENERATED FILE - DO NOT EDIT MANUALLY ⚠️\nThis file is automatically generated by scripts/generate-statics.ts during the build process.\nAny manual changes will be overwritten. To modify this data, update the source files and rebuild.", "fileStats": { - "data/provincial/alberta/2025/summary.json": "2026-01-31T18:15:04.397Z", - "data/provincial/alberta/2024/summary.json": "2026-01-31T18:15:04.395Z", - "data/provincial/british-columbia/2025/summary.json": "2026-01-31T18:15:04.697Z", - "data/provincial/ontario/2025/summary.json": "2026-01-31T23:47:54.378Z", - "data/provincial/ontario/2024/summary.json": "2026-01-31T18:15:04.703Z", - "data/municipal/alberta/edmonton/2024/summary.json": "2026-01-31T18:15:04.153Z", - "data/municipal/british-columbia/vancouver/2024/summary.json": "2026-01-31T18:15:04.299Z", - "data/municipal/ontario/toronto/2024/summary.json": "2026-01-31T18:15:04.300Z", - "articles/en/understanding-federal-budget-2025/metadata.json": "2025-11-03T15:05:03.388Z", - "articles/fr/understanding-federal-budget-2025/metadata.json": "2025-11-03T15:05:03.389Z" + "data/provincial/alberta/2025/summary.json": "2026-02-06T21:20:25.000Z", + "data/provincial/alberta/2024/summary.json": "2026-02-06T21:20:25.000Z", + "data/provincial/british-columbia/2025/summary.json": "2026-02-06T21:20:25.000Z", + "data/provincial/ontario/2025/summary.json": "2026-02-06T21:20:25.000Z", + "data/provincial/ontario/2024/summary.json": "2026-02-06T21:20:25.000Z", + "data/municipal/alberta/edmonton/2024/summary.json": "2026-02-06T21:20:25.000Z", + "data/municipal/british-columbia/vancouver/2024/summary.json": "2026-02-06T21:20:25.000Z", + "data/municipal/ontario/toronto/2024/summary.json": "2026-02-06T21:20:25.000Z", + "articles/en/understanding-federal-budget-2025/metadata.json": "2026-02-06T21:20:25.000Z", + "articles/fr/understanding-federal-budget-2025/metadata.json": "2026-02-06T21:20:25.000Z" }, "structure": { "provincial": { diff --git a/src/locales/en.po b/src/locales/en.po index 91807178..931262be 100644 --- a/src/locales/en.po +++ b/src/locales/en.po @@ -46,7 +46,7 @@ msgid "{0} First Nations with financial data" msgstr "{0} First Nations with financial data" #. placeholder {0}: filtered.length -#: src/components/first-nations/RemunerationOverview.tsx:314 +#: src/components/first-nations/RemunerationOverview.tsx:305 msgid "{0} First Nations with remuneration data" msgstr "{0} First Nations with remuneration data" @@ -76,6 +76,17 @@ msgstr "{0} is a First Nation{1}." msgid "{0} of federal income tax" msgstr "{0} of federal income tax" +#. placeholder {0}: entries.length +#. placeholder {1}: availableYears.length +#: src/components/first-nations/RemunerationBreakdown.tsx:286 +msgid "{0} remuneration entries across {1} year(s)" +msgstr "{0} remuneration entries across {1} year(s)" + +#. placeholder {0}: firstNation.name +#: src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx:133 +msgid "{0} Remuneration{provinceSuffix}" +msgstr "{0} Remuneration{provinceSuffix}" + #. placeholder {0}: jurisdiction.name #. placeholder {1}: jurisdiction.financialYear #: src/components/JurisdictionPageContent.tsx:357 @@ -337,6 +348,12 @@ msgstr "All of the information we use comes from publicly available databases an msgid "All program and operating spending recorded for the fiscal year." msgstr "All program and operating spending recorded for the fiscal year." +#. placeholder {0}: firstNation.name +#. placeholder {1}: summaries.length +#: src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx:138 +msgid "All remuneration entries for {0} across {1} available fiscal year(s). Data is extracted from remuneration schedules published under the First Nations Financial Transparency Act (FNFTA)." +msgstr "All remuneration entries for {0} across {1} available fiscal year(s). Data is extracted from remuneration schedules published under the First Nations Financial Transparency Act (FNFTA)." + #: src/components/JurisdictionPageContent.tsx:163 msgid "All revenue collected during the fiscal year, including taxes, transfers, and other sources." msgstr "All revenue collected during the fiscal year, including taxes, transfers, and other sources." @@ -598,7 +615,8 @@ msgstr "Carbon Taxes" msgid "Cash, investments, accounts receivable, and other assets that can be converted to cash." msgstr "Cash, investments, accounts receivable, and other assets that can be converted to cash." -#: src/components/first-nations/RemunerationOverview.tsx:410 +#: src/components/first-nations/RemunerationBreakdown.tsx:240 +#: src/components/first-nations/RemunerationOverview.tsx:401 msgid "Chief" msgstr "Chief" @@ -667,10 +685,13 @@ msgstr "Compare remuneration data across First Nations. View total compensation, msgid "Compare your total tax burden across all Canadian provinces and territories" msgstr "Compare your total tax burden across all Canadian provinces and territories" -#: src/components/first-nations/RemunerationOverview.tsx:434 -#: src/components/first-nations/RemunerationOverview.tsx:579 -#: src/components/first-nations/RemunerationOverview.tsx:656 -#: src/components/first-nations/RemunerationOverview.tsx:803 +#: src/components/first-nations/RemunerationBreakdown.tsx:325 +#: src/components/first-nations/RemunerationBreakdown.tsx:398 +#: src/components/first-nations/RemunerationBreakdown.tsx:532 +#: src/components/first-nations/RemunerationOverview.tsx:425 +#: src/components/first-nations/RemunerationOverview.tsx:570 +#: src/components/first-nations/RemunerationOverview.tsx:647 +#: src/components/first-nations/RemunerationOverview.tsx:794 msgid "Compensation" msgstr "Compensation" @@ -1064,10 +1085,13 @@ msgstr "Executing Agency/Partner" msgid "Expected Results" msgstr "Expected Results" -#: src/components/first-nations/RemunerationOverview.tsx:446 -#: src/components/first-nations/RemunerationOverview.tsx:587 -#: src/components/first-nations/RemunerationOverview.tsx:660 -#: src/components/first-nations/RemunerationOverview.tsx:806 +#: src/components/first-nations/RemunerationBreakdown.tsx:333 +#: src/components/first-nations/RemunerationBreakdown.tsx:410 +#: src/components/first-nations/RemunerationBreakdown.tsx:540 +#: src/components/first-nations/RemunerationOverview.tsx:437 +#: src/components/first-nations/RemunerationOverview.tsx:578 +#: src/components/first-nations/RemunerationOverview.tsx:651 +#: src/components/first-nations/RemunerationOverview.tsx:797 #: src/components/first-nations/RemunerationTable.tsx:259 msgid "Expenses" msgstr "Expenses" @@ -1358,11 +1382,12 @@ msgid "First" msgstr "First" #: src/components/first-nations/FirstNationsSearch.tsx:282 -#: src/components/first-nations/RemunerationOverview.tsx:350 +#: src/components/first-nations/RemunerationOverview.tsx:341 msgid "First Nation" msgstr "First Nation" #: src/app/[lang]/(main)/first-nations/[bcid]/page.tsx:59 +#: src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx:117 #: src/components/MainLayout/_components/DesktopNav.tsx:186 #: src/components/MainLayout/_components/MobileMenu.tsx:147 msgid "First Nations" @@ -1664,7 +1689,7 @@ msgstr "HICC administers the National Housing Strategy, which funds the construc msgid "HICC spent $14.5 billion in fiscal year (FY) 2024. This was 2.8% of the $513.9 billion in overall federal spending. The department ranked eighth among federal departments in total spending." msgstr "HICC spent $14.5 billion in fiscal year (FY) 2024. This was 2.8% of the $513.9 billion in overall federal spending. The department ranked eighth among federal departments in total spending." -#: src/components/first-nations/RemunerationOverview.tsx:622 +#: src/components/first-nations/RemunerationOverview.tsx:613 msgid "Hide details" msgstr "Hide details" @@ -2158,8 +2183,9 @@ msgstr "Ministry" msgid "Miscellaneous revenues" msgstr "Miscellaneous revenues" -#: src/components/first-nations/RemunerationOverview.tsx:664 -#: src/components/first-nations/RemunerationOverview.tsx:812 +#: src/components/first-nations/RemunerationBreakdown.tsx:434 +#: src/components/first-nations/RemunerationOverview.tsx:655 +#: src/components/first-nations/RemunerationOverview.tsx:803 #: src/components/first-nations/RemunerationTable.tsx:122 msgid "Months" msgstr "Months" @@ -2188,7 +2214,8 @@ msgstr "Most federal spending can be categorized as direct or indirect. Direct s msgid "Municipal" msgstr "Municipal" -#: src/components/first-nations/RemunerationOverview.tsx:797 +#: src/components/first-nations/RemunerationBreakdown.tsx:374 +#: src/components/first-nations/RemunerationOverview.tsx:788 #: src/components/first-nations/RemunerationTable.tsx:114 msgid "Name" msgstr "Name" @@ -2299,6 +2326,10 @@ msgstr "No articles available yet on Canada Spends. Check back soon!" msgid "No content available." msgstr "No content available." +#: src/components/first-nations/RemunerationBreakdown.tsx:299 +msgid "No entries found matching your search." +msgstr "No entries found matching your search." + #. placeholder {0}: firstNation.name #: src/app/[lang]/(main)/first-nations/[bcid]/page.tsx:117 msgid "No financial data is currently available for {0}." @@ -2309,7 +2340,7 @@ msgid "No financial position data available." msgstr "No financial position data available." #: src/components/first-nations/FirstNationsSearch.tsx:229 -#: src/components/first-nations/RemunerationOverview.tsx:324 +#: src/components/first-nations/RemunerationOverview.tsx:315 msgid "No First Nations found matching your search." msgstr "No First Nations found matching your search." @@ -2317,8 +2348,8 @@ msgstr "No First Nations found matching your search." msgid "No form of electronic communication can be made 100% secure. While we take every precaution to protect your identity, you use this service at your own risk. We encourage you to take the security precautions outlined above." msgstr "No form of electronic communication can be made 100% secure. While we take every precaution to protect your identity, you use this service at your own risk. We encourage you to take the security precautions outlined above." -#: src/components/first-nations/RemunerationOverview.tsx:673 -#: src/components/first-nations/RemunerationOverview.tsx:845 +#: src/components/first-nations/RemunerationOverview.tsx:664 +#: src/components/first-nations/RemunerationOverview.tsx:836 msgid "No individual entries available." msgstr "No individual entries available." @@ -2502,7 +2533,11 @@ msgstr "Official Fall 2025 Federal Budget Released" msgid "Official Languages + Culture" msgstr "Official Languages + Culture" -#: src/components/first-nations/RemunerationOverview.tsx:422 +#: src/components/first-nations/RemunerationBreakdown.tsx:236 +msgid "officials" +msgstr "officials" + +#: src/components/first-nations/RemunerationOverview.tsx:413 msgid "Officials" msgstr "Officials" @@ -2510,8 +2545,8 @@ msgstr "Officials" msgid "On-reserve Income Support in Yukon Territory" msgstr "On-reserve Income Support in Yukon Territory" -#: src/components/first-nations/RemunerationOverview.tsx:398 -#: src/components/first-nations/RemunerationOverview.tsx:571 +#: src/components/first-nations/RemunerationOverview.tsx:389 +#: src/components/first-nations/RemunerationOverview.tsx:562 msgid "On-Reserve Pop." msgstr "On-Reserve Pop." @@ -2759,13 +2794,8 @@ msgstr "Pollution pricing" msgid "Pollution pricing proceeds" msgstr "Pollution pricing proceeds" -#. placeholder {0}: populationData[0]?.year -#. placeholder {1}: populationData[populationData.length - 1]?.year -#: src/components/first-nations/PopulationCharts.tsx:116 -msgid "Population trends for {bandName} from {0} to {1}." -msgstr "Population trends for {bandName} from {0} to {1}." - -#: src/components/first-nations/RemunerationOverview.tsx:800 +#: src/components/first-nations/RemunerationBreakdown.tsx:386 +#: src/components/first-nations/RemunerationOverview.tsx:791 #: src/components/first-nations/RemunerationTable.tsx:107 msgid "Position" msgstr "Position" @@ -2855,7 +2885,7 @@ msgid "Property tax revenue per {0} resident" msgstr "Property tax revenue per {0} resident" #: src/components/first-nations/FirstNationsSearch.tsx:288 -#: src/components/first-nations/RemunerationOverview.tsx:362 +#: src/components/first-nations/RemunerationOverview.tsx:353 msgid "Prov." msgstr "Prov." @@ -3011,6 +3041,7 @@ msgstr "Recipient Class" msgid "Regions" msgstr "Regions" +#: src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx:129 #: src/components/first-nations/RemunerationTable.tsx:233 #: src/components/MainLayout/_components/DesktopNav.tsx:208 #: src/components/MainLayout/_components/MobileMenu.tsx:166 @@ -3170,15 +3201,21 @@ msgstr "Settlement Amount" msgid "Settlement Assistance" msgstr "Settlement Assistance" -#: src/components/first-nations/RemunerationOverview.tsx:627 +#: src/components/first-nations/RemunerationOverview.tsx:618 msgid "Show individual entries" msgstr "Show individual entries" #. placeholder {0}: filtered.length - visibleCount -#: src/components/first-nations/RemunerationOverview.tsx:492 +#: src/components/first-nations/RemunerationOverview.tsx:483 msgid "Show more ({0} remaining)" msgstr "Show more ({0} remaining)" +#. placeholder {0}: filtered.length +#. placeholder {1}: entries.length +#: src/components/first-nations/RemunerationBreakdown.tsx:282 +msgid "Showing {0} of {1} entries" +msgstr "Showing {0} of {1} entries" + #. placeholder {0}: filteredFirstNations.length #. placeholder {1}: firstNations.length #: src/components/first-nations/FirstNationsSearch.tsx:217 @@ -3187,7 +3224,7 @@ msgstr "Showing {0} of {1} First Nations" #. placeholder {0}: filtered.length #. placeholder {1}: summaries.length -#: src/components/first-nations/RemunerationOverview.tsx:310 +#: src/components/first-nations/RemunerationOverview.tsx:301 msgid "Showing {0} of {1} results" msgstr "Showing {0} of {1} results" @@ -3221,12 +3258,13 @@ msgstr "Social Security" msgid "Social Transfer to Provinces" msgstr "Social Transfer to Provinces" -#: src/components/first-nations/RemunerationOverview.tsx:469 +#: src/components/first-nations/RemunerationBreakdown.tsx:445 +#: src/components/first-nations/RemunerationOverview.tsx:460 #: src/components/JurisdictionPageContent.tsx:385 msgid "Source" msgstr "Source" -#: src/components/first-nations/RemunerationOverview.tsx:610 +#: src/components/first-nations/RemunerationOverview.tsx:601 msgid "Source PDF" msgstr "Source PDF" @@ -3631,7 +3669,11 @@ msgstr "Tools" #: src/app/[lang]/(main)/tax-visualizer/page.tsx:398 #: src/app/[lang]/(main)/tax-visualizer/page.tsx:509 #: src/components/first-nations/ClaimsTable.tsx:300 -#: src/components/first-nations/RemunerationOverview.tsx:809 +#: src/components/first-nations/RemunerationBreakdown.tsx:341 +#: src/components/first-nations/RemunerationBreakdown.tsx:422 +#: src/components/first-nations/RemunerationBreakdown.tsx:502 +#: src/components/first-nations/RemunerationBreakdown.tsx:548 +#: src/components/first-nations/RemunerationOverview.tsx:800 #: src/components/first-nations/RemunerationTable.tsx:139 #: src/components/first-nations/RemunerationTable.tsx:208 #: src/components/JurisdictionComparisonChart.tsx:282 @@ -3696,8 +3738,8 @@ msgstr "Total net assets" msgid "Total Payments" msgstr "Total Payments" -#: src/components/first-nations/RemunerationOverview.tsx:386 -#: src/components/first-nations/RemunerationOverview.tsx:565 +#: src/components/first-nations/RemunerationOverview.tsx:377 +#: src/components/first-nations/RemunerationOverview.tsx:556 msgid "Total Pop." msgstr "Total Pop." @@ -3705,8 +3747,8 @@ msgstr "Total Pop." msgid "Total property tax revenue divided by population. Primary revenue source for municipalities." msgstr "Total property tax revenue divided by population. Primary revenue source for municipalities." -#: src/components/first-nations/RemunerationOverview.tsx:458 -#: src/components/first-nations/RemunerationOverview.tsx:593 +#: src/components/first-nations/RemunerationOverview.tsx:449 +#: src/components/first-nations/RemunerationOverview.tsx:584 msgid "Total Remuneration" msgstr "Total Remuneration" @@ -3747,6 +3789,10 @@ msgstr "Total Tax" msgid "Total Wages" msgstr "Total Wages" +#: src/components/first-nations/RemunerationBreakdown.tsx:527 +msgid "Totals" +msgstr "Totals" + #: src/components/Sankey/index.tsx:692 msgid "Trade and Investment" msgstr "Trade and Investment" @@ -3891,6 +3937,11 @@ msgstr "Veterans Affairs Canada | Canada Spends" msgid "View {year} financial statements for {0}{provinceSuffix}. Includes statement of operations, financial position, and remuneration data from the First Nations Financial Transparency Act annual report." msgstr "View {year} financial statements for {0}{provinceSuffix}. Includes statement of operations, financial position, and remuneration data from the First Nations Financial Transparency Act annual report." +#. placeholder {0}: firstNation.name +#: src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx:63 +msgid "View all remuneration data for {0}{provinceSuffix} across all available years. Includes compensation and expenses for elected officials and staff from annual reports published under the FNFTA." +msgstr "View all remuneration data for {0}{provinceSuffix} across all available years. Includes compensation and expenses for elected officials and staff from annual reports published under the FNFTA." + #: src/app/[lang]/(main)/tax-visualizer/page.tsx:744 #: src/components/TaxBreakdownAccordion.tsx:100 msgid "View detailed tax breakdown" @@ -4161,7 +4212,8 @@ msgid "Why Submit a Tip?" msgstr "Why Submit a Tip?" #: src/app/[lang]/(main)/federal/spending/SalaryDistributionChart.tsx:80 -#: src/components/first-nations/RemunerationOverview.tsx:374 +#: src/components/first-nations/RemunerationBreakdown.tsx:362 +#: src/components/first-nations/RemunerationOverview.tsx:365 msgid "Year" msgstr "Year" diff --git a/src/locales/fr.po b/src/locales/fr.po index 20447ced..8e4e1ce0 100644 --- a/src/locales/fr.po +++ b/src/locales/fr.po @@ -46,7 +46,7 @@ msgid "{0} First Nations with financial data" msgstr "{0} Premières Nations avec des données financières" #. placeholder {0}: filtered.length -#: src/components/first-nations/RemunerationOverview.tsx:314 +#: src/components/first-nations/RemunerationOverview.tsx:305 msgid "{0} First Nations with remuneration data" msgstr "{0} Premières Nations avec données de rémunération" @@ -76,6 +76,17 @@ msgstr "{0} est une Première Nation{1}." msgid "{0} of federal income tax" msgstr "{0} de l'impôt fédéral sur le revenu" +#. placeholder {0}: entries.length +#. placeholder {1}: availableYears.length +#: src/components/first-nations/RemunerationBreakdown.tsx:286 +msgid "{0} remuneration entries across {1} year(s)" +msgstr "" + +#. placeholder {0}: firstNation.name +#: src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx:133 +msgid "{0} Remuneration{provinceSuffix}" +msgstr "" + #. placeholder {0}: jurisdiction.name #. placeholder {1}: jurisdiction.financialYear #: src/components/JurisdictionPageContent.tsx:357 @@ -337,6 +348,12 @@ msgstr "Toutes les informations que nous utilisons proviennent des bases de donn msgid "All program and operating spending recorded for the fiscal year." msgstr "Toutes les dépenses de programmes et d'exploitation enregistrées pour l'exercice financier." +#. placeholder {0}: firstNation.name +#. placeholder {1}: summaries.length +#: src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx:138 +msgid "All remuneration entries for {0} across {1} available fiscal year(s). Data is extracted from remuneration schedules published under the First Nations Financial Transparency Act (FNFTA)." +msgstr "" + #: src/components/JurisdictionPageContent.tsx:163 msgid "All revenue collected during the fiscal year, including taxes, transfers, and other sources." msgstr "Tous les revenus collectés pendant l'exercice financier, y compris les impôts, les transferts et d'autres sources." @@ -598,7 +615,8 @@ msgstr "Taxes sur le carbone" msgid "Cash, investments, accounts receivable, and other assets that can be converted to cash." msgstr "Encaisse, placements, comptes débiteurs et autres actifs pouvant être convertis en espèces." -#: src/components/first-nations/RemunerationOverview.tsx:410 +#: src/components/first-nations/RemunerationBreakdown.tsx:240 +#: src/components/first-nations/RemunerationOverview.tsx:401 msgid "Chief" msgstr "Chef" @@ -667,10 +685,13 @@ msgstr "Comparez les données de rémunération des Premières Nations. Consulte msgid "Compare your total tax burden across all Canadian provinces and territories" msgstr "Comparez votre fardeau fiscal total dans toutes les provinces et territoires canadiens" -#: src/components/first-nations/RemunerationOverview.tsx:434 -#: src/components/first-nations/RemunerationOverview.tsx:579 -#: src/components/first-nations/RemunerationOverview.tsx:656 -#: src/components/first-nations/RemunerationOverview.tsx:803 +#: src/components/first-nations/RemunerationBreakdown.tsx:325 +#: src/components/first-nations/RemunerationBreakdown.tsx:398 +#: src/components/first-nations/RemunerationBreakdown.tsx:532 +#: src/components/first-nations/RemunerationOverview.tsx:425 +#: src/components/first-nations/RemunerationOverview.tsx:570 +#: src/components/first-nations/RemunerationOverview.tsx:647 +#: src/components/first-nations/RemunerationOverview.tsx:794 msgid "Compensation" msgstr "Rémunération" @@ -1064,10 +1085,13 @@ msgstr "Agence/Partenaire d'exécution" msgid "Expected Results" msgstr "Résultats attendus" -#: src/components/first-nations/RemunerationOverview.tsx:446 -#: src/components/first-nations/RemunerationOverview.tsx:587 -#: src/components/first-nations/RemunerationOverview.tsx:660 -#: src/components/first-nations/RemunerationOverview.tsx:806 +#: src/components/first-nations/RemunerationBreakdown.tsx:333 +#: src/components/first-nations/RemunerationBreakdown.tsx:410 +#: src/components/first-nations/RemunerationBreakdown.tsx:540 +#: src/components/first-nations/RemunerationOverview.tsx:437 +#: src/components/first-nations/RemunerationOverview.tsx:578 +#: src/components/first-nations/RemunerationOverview.tsx:651 +#: src/components/first-nations/RemunerationOverview.tsx:797 #: src/components/first-nations/RemunerationTable.tsx:259 msgid "Expenses" msgstr "Dépenses" @@ -1358,11 +1382,12 @@ msgid "First" msgstr "Premier" #: src/components/first-nations/FirstNationsSearch.tsx:282 -#: src/components/first-nations/RemunerationOverview.tsx:350 +#: src/components/first-nations/RemunerationOverview.tsx:341 msgid "First Nation" msgstr "Première Nation" #: src/app/[lang]/(main)/first-nations/[bcid]/page.tsx:59 +#: src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx:117 #: src/components/MainLayout/_components/DesktopNav.tsx:186 #: src/components/MainLayout/_components/MobileMenu.tsx:147 msgid "First Nations" @@ -1664,7 +1689,7 @@ msgstr "LICC administre la Stratégie nationale sur le logement, qui finance la msgid "HICC spent $14.5 billion in fiscal year (FY) 2024. This was 2.8% of the $513.9 billion in overall federal spending. The department ranked eighth among federal departments in total spending." msgstr "LICC a dépensé 14,5 milliards de dollars au cours de l'exercice 2024. Cela représentait 2,8 % des 513,9 milliards de dollars de dépenses fédérales totales. Le ministère s'est classé huitième parmi les ministères fédéraux en termes de dépenses totales." -#: src/components/first-nations/RemunerationOverview.tsx:622 +#: src/components/first-nations/RemunerationOverview.tsx:613 msgid "Hide details" msgstr "Masquer les détails" @@ -2158,8 +2183,9 @@ msgstr "Ministère" msgid "Miscellaneous revenues" msgstr "Revenus divers" -#: src/components/first-nations/RemunerationOverview.tsx:664 -#: src/components/first-nations/RemunerationOverview.tsx:812 +#: src/components/first-nations/RemunerationBreakdown.tsx:434 +#: src/components/first-nations/RemunerationOverview.tsx:655 +#: src/components/first-nations/RemunerationOverview.tsx:803 #: src/components/first-nations/RemunerationTable.tsx:122 msgid "Months" msgstr "Mois" @@ -2188,7 +2214,8 @@ msgstr "La plupart des dépenses fédérales peuvent être classées comme direc msgid "Municipal" msgstr "Municipal" -#: src/components/first-nations/RemunerationOverview.tsx:797 +#: src/components/first-nations/RemunerationBreakdown.tsx:374 +#: src/components/first-nations/RemunerationOverview.tsx:788 #: src/components/first-nations/RemunerationTable.tsx:114 msgid "Name" msgstr "Nom" @@ -2299,6 +2326,10 @@ msgstr "Aucun article disponible pour le moment sur Canada Spends. Revenez bient msgid "No content available." msgstr "Aucun contenu disponible." +#: src/components/first-nations/RemunerationBreakdown.tsx:299 +msgid "No entries found matching your search." +msgstr "" + #. placeholder {0}: firstNation.name #: src/app/[lang]/(main)/first-nations/[bcid]/page.tsx:117 msgid "No financial data is currently available for {0}." @@ -2309,7 +2340,7 @@ msgid "No financial position data available." msgstr "Aucune donnée de situation financière disponible." #: src/components/first-nations/FirstNationsSearch.tsx:229 -#: src/components/first-nations/RemunerationOverview.tsx:324 +#: src/components/first-nations/RemunerationOverview.tsx:315 msgid "No First Nations found matching your search." msgstr "Aucune Première Nation trouvée correspondant à votre recherche." @@ -2317,8 +2348,8 @@ msgstr "Aucune Première Nation trouvée correspondant à votre recherche." msgid "No form of electronic communication can be made 100% secure. While we take every precaution to protect your identity, you use this service at your own risk. We encourage you to take the security precautions outlined above." msgstr "Aucune forme de communication électronique ne peut être rendue 100% sécurisée. Bien que nous prenions toutes les précautions pour protéger votre identité, vous utilisez ce service à vos propres risques. Nous vous encourageons à prendre les précautions de sécurité décrites ci-dessus." -#: src/components/first-nations/RemunerationOverview.tsx:673 -#: src/components/first-nations/RemunerationOverview.tsx:845 +#: src/components/first-nations/RemunerationOverview.tsx:664 +#: src/components/first-nations/RemunerationOverview.tsx:836 msgid "No individual entries available." msgstr "Aucune entrée individuelle disponible." @@ -2502,7 +2533,11 @@ msgstr "Publication du budget fédéral officiel de l'automne 2025" msgid "Official Languages + Culture" msgstr "Langues officielles + Culture" -#: src/components/first-nations/RemunerationOverview.tsx:422 +#: src/components/first-nations/RemunerationBreakdown.tsx:236 +msgid "officials" +msgstr "" + +#: src/components/first-nations/RemunerationOverview.tsx:413 msgid "Officials" msgstr "Représentants" @@ -2510,8 +2545,8 @@ msgstr "Représentants" msgid "On-reserve Income Support in Yukon Territory" msgstr "Soutien du revenu dans les réserves du Yukon" -#: src/components/first-nations/RemunerationOverview.tsx:398 -#: src/components/first-nations/RemunerationOverview.tsx:571 +#: src/components/first-nations/RemunerationOverview.tsx:389 +#: src/components/first-nations/RemunerationOverview.tsx:562 msgid "On-Reserve Pop." msgstr "Pop. dans réserve" @@ -2759,13 +2794,8 @@ msgstr "Tarification de la pollution" msgid "Pollution pricing proceeds" msgstr "Produits de la tarification de la pollution" -#. placeholder {0}: populationData[0]?.year -#. placeholder {1}: populationData[populationData.length - 1]?.year -#: src/components/first-nations/PopulationCharts.tsx:116 -msgid "Population trends for {bandName} from {0} to {1}." -msgstr "Tendances démographiques pour {bandName} de {0} à {1}." - -#: src/components/first-nations/RemunerationOverview.tsx:800 +#: src/components/first-nations/RemunerationBreakdown.tsx:386 +#: src/components/first-nations/RemunerationOverview.tsx:791 #: src/components/first-nations/RemunerationTable.tsx:107 msgid "Position" msgstr "Poste" @@ -2855,7 +2885,7 @@ msgid "Property tax revenue per {0} resident" msgstr "Revenus de l'impôt foncier par résident de {0}" #: src/components/first-nations/FirstNationsSearch.tsx:288 -#: src/components/first-nations/RemunerationOverview.tsx:362 +#: src/components/first-nations/RemunerationOverview.tsx:353 msgid "Prov." msgstr "Prov." @@ -3011,6 +3041,7 @@ msgstr "Classe de bénéficiaire" msgid "Regions" msgstr "Régions" +#: src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx:129 #: src/components/first-nations/RemunerationTable.tsx:233 #: src/components/MainLayout/_components/DesktopNav.tsx:208 #: src/components/MainLayout/_components/MobileMenu.tsx:166 @@ -3170,15 +3201,21 @@ msgstr "Montant du règlement" msgid "Settlement Assistance" msgstr "Aide à l'établissement" -#: src/components/first-nations/RemunerationOverview.tsx:627 +#: src/components/first-nations/RemunerationOverview.tsx:618 msgid "Show individual entries" msgstr "Afficher les entrées individuelles" #. placeholder {0}: filtered.length - visibleCount -#: src/components/first-nations/RemunerationOverview.tsx:492 +#: src/components/first-nations/RemunerationOverview.tsx:483 msgid "Show more ({0} remaining)" msgstr "Afficher plus ({0} restants)" +#. placeholder {0}: filtered.length +#. placeholder {1}: entries.length +#: src/components/first-nations/RemunerationBreakdown.tsx:282 +msgid "Showing {0} of {1} entries" +msgstr "" + #. placeholder {0}: filteredFirstNations.length #. placeholder {1}: firstNations.length #: src/components/first-nations/FirstNationsSearch.tsx:217 @@ -3187,7 +3224,7 @@ msgstr "Affichage de {0} sur {1} Premières Nations" #. placeholder {0}: filtered.length #. placeholder {1}: summaries.length -#: src/components/first-nations/RemunerationOverview.tsx:310 +#: src/components/first-nations/RemunerationOverview.tsx:301 msgid "Showing {0} of {1} results" msgstr "Affichage de {0} sur {1} résultats" @@ -3221,12 +3258,13 @@ msgstr "Sécurité sociale" msgid "Social Transfer to Provinces" msgstr "Transfert social aux provinces" -#: src/components/first-nations/RemunerationOverview.tsx:469 +#: src/components/first-nations/RemunerationBreakdown.tsx:445 +#: src/components/first-nations/RemunerationOverview.tsx:460 #: src/components/JurisdictionPageContent.tsx:385 msgid "Source" msgstr "Source" -#: src/components/first-nations/RemunerationOverview.tsx:610 +#: src/components/first-nations/RemunerationOverview.tsx:601 msgid "Source PDF" msgstr "PDF source" @@ -3631,7 +3669,11 @@ msgstr "Outils" #: src/app/[lang]/(main)/tax-visualizer/page.tsx:398 #: src/app/[lang]/(main)/tax-visualizer/page.tsx:509 #: src/components/first-nations/ClaimsTable.tsx:300 -#: src/components/first-nations/RemunerationOverview.tsx:809 +#: src/components/first-nations/RemunerationBreakdown.tsx:341 +#: src/components/first-nations/RemunerationBreakdown.tsx:422 +#: src/components/first-nations/RemunerationBreakdown.tsx:502 +#: src/components/first-nations/RemunerationBreakdown.tsx:548 +#: src/components/first-nations/RemunerationOverview.tsx:800 #: src/components/first-nations/RemunerationTable.tsx:139 #: src/components/first-nations/RemunerationTable.tsx:208 #: src/components/JurisdictionComparisonChart.tsx:282 @@ -3696,8 +3738,8 @@ msgstr "Total des actifs nets" msgid "Total Payments" msgstr "Total des paiements" -#: src/components/first-nations/RemunerationOverview.tsx:386 -#: src/components/first-nations/RemunerationOverview.tsx:565 +#: src/components/first-nations/RemunerationOverview.tsx:377 +#: src/components/first-nations/RemunerationOverview.tsx:556 msgid "Total Pop." msgstr "Pop. totale" @@ -3705,8 +3747,8 @@ msgstr "Pop. totale" msgid "Total property tax revenue divided by population. Primary revenue source for municipalities." msgstr "Revenus totaux de l'impôt foncier divisés par la population. Source de revenus principale pour les municipalités." -#: src/components/first-nations/RemunerationOverview.tsx:458 -#: src/components/first-nations/RemunerationOverview.tsx:593 +#: src/components/first-nations/RemunerationOverview.tsx:449 +#: src/components/first-nations/RemunerationOverview.tsx:584 msgid "Total Remuneration" msgstr "Rémunération totale" @@ -3747,6 +3789,10 @@ msgstr "Impôt total" msgid "Total Wages" msgstr "Salaires totaux" +#: src/components/first-nations/RemunerationBreakdown.tsx:527 +msgid "Totals" +msgstr "" + #: src/components/Sankey/index.tsx:692 msgid "Trade and Investment" msgstr "Commerce et investissement" @@ -3891,6 +3937,11 @@ msgstr "Anciens Combattants Canada | Canada Dépense" msgid "View {year} financial statements for {0}{provinceSuffix}. Includes statement of operations, financial position, and remuneration data from the First Nations Financial Transparency Act annual report." msgstr "Consultez les états financiers {year} pour {0}{provinceSuffix}. Comprend l'état des résultats, la situation financière et les données de rémunération du rapport annuel de la Loi sur la transparence financière des Premières Nations." +#. placeholder {0}: firstNation.name +#: src/app/[lang]/(main)/first-nations/remuneration/[bcid]/page.tsx:63 +msgid "View all remuneration data for {0}{provinceSuffix} across all available years. Includes compensation and expenses for elected officials and staff from annual reports published under the FNFTA." +msgstr "" + #: src/app/[lang]/(main)/tax-visualizer/page.tsx:744 #: src/components/TaxBreakdownAccordion.tsx:100 msgid "View detailed tax breakdown" @@ -4161,7 +4212,8 @@ msgid "Why Submit a Tip?" msgstr "Pourquoi soumettre une information?" #: src/app/[lang]/(main)/federal/spending/SalaryDistributionChart.tsx:80 -#: src/components/first-nations/RemunerationOverview.tsx:374 +#: src/components/first-nations/RemunerationBreakdown.tsx:362 +#: src/components/first-nations/RemunerationOverview.tsx:365 msgid "Year" msgstr "Année"