Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
f2f36de
feat: add custom plural for note relationship attribute
henrikmv Jul 23, 2026
18351e9
feat: update name assignment in TrackedEntityTypeFactory to use trans…
henrikmv Jul 23, 2026
5a895cd
feat: metadata loading support custom plural labels based on server v…
henrikmv Jul 23, 2026
8cedb68
feat: add customTerminologyPlurals feature support
henrikmv Jul 23, 2026
433aa56
Merge remote-tracking branch 'origin/master' into hv/feat/DHIS2-21878…
henrikmv Jul 25, 2026
ab2685d
Merge remote-tracking branch 'origin/master' into hv/feat/DHIS2-21878…
henrikmv Aug 6, 2026
c479953
fix: separate base and plural fields for improved readability
henrikmv Aug 6, 2026
e5b4d74
feat: temp change helper function and stop capitalize
henrikmv Aug 7, 2026
302cc2b
feat: implement custom terminology handling with bootstrap
henrikmv Aug 7, 2026
823f4e1
fix: revert changes belonging to child branch
henrikmv Aug 7, 2026
764e73b
fix: sonar qube
henrikmv Aug 7, 2026
df95c4d
Merge remote-tracking branch 'origin/master' into hv/feat/DHIS2-21635…
henrikmv Aug 7, 2026
2e19a93
feat: code clean up
henrikmv Aug 7, 2026
0a0d90a
fix: type change
henrikmv Aug 7, 2026
809aad6
feat: update terminology
henrikmv Aug 7, 2026
54d8332
feat: enhance API program fields with custom terminology support
henrikmv Aug 7, 2026
45eb553
feat: clean up
henrikmv Aug 7, 2026
de452bc
feat: temp devin review
henrikmv Aug 12, 2026
6a8cd9c
fix: revert single event infrastructure
henrikmv Aug 12, 2026
56ac556
feat: update terminology handling across components
henrikmv Aug 12, 2026
718ae46
feat: enhance custom terminology handling and optimize location query…
henrikmv Aug 12, 2026
b52ffd8
feat: custom terminology context handling
henrikmv Aug 12, 2026
f3b34dc
fix: change approach
henrikmv Aug 12, 2026
2b92b9a
fix: complete clean up after revert
henrikmv Aug 12, 2026
d66e422
feat: update custom label handling and refactor label exports
henrikmv Aug 12, 2026
762f6bd
fix: correct capitalization in widget header and improve label resolu…
henrikmv Aug 12, 2026
ee3d687
fix: simplify label resolution logic by removing fallback for plural …
henrikmv Aug 13, 2026
8b7afbb
feat: new translate function
henrikmv Aug 15, 2026
542e611
Merge remote-tracking branch 'origin/master' into hv/chore/DHIS2-2196…
henrikmv Aug 15, 2026
ad9b50a
Merge remote-tracking branch 'origin/master' into hv/chore/DHIS2-2196…
henrikmv Aug 17, 2026
89b75c7
fix: temp clean up
henrikmv Aug 28, 2026
a2dd40f
feat: replace tLabel with tCustomTerm
henrikmv Aug 28, 2026
cb9b195
feat: consolidate capitalizeFirstLetter utility and update imports
henrikmv Aug 31, 2026
3ead8dd
fix: simplify interpolation handling in tCustomTerm function
henrikmv Aug 31, 2026
d00b1b9
fix: update plural label fallback to use singular label for default
henrikmv Sep 1, 2026
a18315b
fix: update getTermLabel to correctly pass programId from options
henrikmv Sep 2, 2026
0e6a407
fix: enhance withCustomLabels to include programId and stageId in lab…
henrikmv Sep 2, 2026
226b2dc
fix: update TermLabelOptions to allow null values for programId and s…
henrikmv Sep 2, 2026
790e301
feat: implement customTerms for improved i18n handling and remove tCu…
henrikmv Sep 2, 2026
6c9e94a
feat: global uppercase handler for custom term
henrikmv Sep 3, 2026
0991fe5
fix: revert changes that belongs to child pr
henrikmv Sep 4, 2026
a19e674
fix: revert cypress test
henrikmv Sep 4, 2026
d8cb582
feat: clean up
henrikmv Sep 4, 2026
cff6516
feat: clean up and add comments
henrikmv Sep 4, 2026
3f3f263
fix: (sonar qube) optimize regex usage for extracting leading custom …
henrikmv Sep 4, 2026
7ab88ca
fix: clean up
henrikmv Sep 4, 2026
465c731
fix: (review) devin comments
henrikmv Sep 4, 2026
190c679
fix: clean up
henrikmv Sep 4, 2026
736bcbe
fix: refine type definitions in withCustomLabels HOC
henrikmv Sep 4, 2026
e889aac
Merge branch 'master' into hv/chore/DHIS2-21969_refine-configurable-t…
henrikmv Sep 4, 2026
2644b87
feat: add plural terminology for notes, relationships, and attributes
henrikmv Sep 5, 2026
6809b0b
fix: simplify useProgram hook by removing unused fields and logic
henrikmv Sep 5, 2026
dd7848d
Revert "fix: simplify useProgram hook by removing unused fields and l…
henrikmv Sep 5, 2026
72c5033
feat: add getLabelFromProgram utility and update WidgetEnrollment for…
henrikmv Sep 5, 2026
f0c635a
Merge branch 'hv/chore/DHIS2-21969_refine-configurable-terminology-su…
henrikmv Sep 5, 2026
791f4c7
fix: refine GetTermLabelFromProgramOptions type definition and update…
henrikmv Sep 6, 2026
c9d572b
fix: update enrollment label rendering example
henrikmv Sep 6, 2026
e04ffac
feat: refine terminology support by updating label handling and intro…
henrikmv Sep 6, 2026
906d642
fix: clean up
henrikmv Sep 6, 2026
120b2ff
Merge remote-tracking branch 'origin/hv/chore/DHIS2-21969_refine-conf…
henrikmv Sep 6, 2026
8e53c24
feat: refine terminology support by updating label keys to singular a…
henrikmv Sep 6, 2026
fb554a0
Merge branch 'hv/chore/DHIS2-21969_refine-configurable-terminology-su…
henrikmv Sep 6, 2026
f312f01
feat: refine label configuration by updating field definitions and in…
henrikmv Sep 6, 2026
a73d352
feat: refactoring label handling and introducing constants for label …
henrikmv Sep 7, 2026
0af0b01
Merge remote-tracking branch 'origin/hv/chore/DHIS2-21969_refine-conf…
henrikmv Sep 7, 2026
331da5e
feat: add consts to support plural of note, relationship, and attribu…
henrikmv Sep 7, 2026
8c72bc6
Merge branch 'hv/chore/DHIS2-21969_refined-custom-terminology-support…
henrikmv Sep 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions i18n/en.pot
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"POT-Creation-Date: 2026-09-07T13:16:33.923Z\n"
"PO-Revision-Date: 2026-09-07T13:16:33.923Z\n"
"POT-Creation-Date: 2026-09-08T10:35:10.382Z\n"
"PO-Revision-Date: 2026-09-08T10:35:10.382Z\n"

msgid "The application could not be loaded."
msgstr "The application could not be loaded."
Expand Down Expand Up @@ -2269,12 +2269,21 @@ msgstr "program stages"
msgid "note"
msgstr "note"

msgid "notes"
msgstr "notes"

msgid "relationship"
msgstr "relationship"

msgid "relationships"
msgstr "relationships"

msgid "attribute"
msgstr "attribute"

msgid "attributes"
msgstr "attributes"

msgid "organisation unit"
msgstr "organisation unit"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,21 @@ export const LABELS = {
},
note: {
apiFieldSingular: 'displayNoteLabel',
apiFieldPlural: 'displayNotesLabel',
defaultSingular: () => i18n.t('note'),
defaultPlural: () => i18n.t('notes'),
},
relationship: {
apiFieldSingular: 'displayRelationshipLabel',
apiFieldPlural: 'displayRelationshipsLabel',
defaultSingular: () => i18n.t('relationship'),
defaultPlural: () => i18n.t('relationships'),
},
attribute: {
apiFieldSingular: 'displayTrackedEntityAttributeLabel',
apiFieldPlural: 'displayTrackedEntityAttributesLabel',
defaultSingular: () => i18n.t('attribute'),
defaultPlural: () => i18n.t('attributes'),
},
orgUnit: {
apiFieldSingular: 'displayOrgUnitLabel',
Expand All @@ -56,8 +62,11 @@ export const LabelKeys = {
programStageSingular: 'programStage',
programStagePlural: { key: 'programStage', plural: true },
noteSingular: 'note',
notePlural: { key: 'note', plural: true },
relationshipSingular: 'relationship',
relationshipPlural: { key: 'relationship', plural: true },
attributeSingular: 'attribute',
attributePlural: { key: 'attribute', plural: true },
orgUnitSingular: 'orgUnit',
followUpSingular: 'followUp',
} as const;
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,11 @@ type apiProgram = {
displayFollowUpLabel?: string | null,
displayOrgUnitLabel?: string | null,
displayRelationshipLabel?: string | null,
displayRelationshipsLabel?: string | null,
displayNoteLabel?: string | null,
displayNotesLabel?: string | null,
displayTrackedEntityAttributeLabel?: string | null,
displayTrackedEntityAttributesLabel?: string | null,
displayProgramStageLabel?: string | null,
displayProgramStagesLabel?: string | null,
displayEventLabel?: string | null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -215,8 +215,11 @@ export type CachedProgram = {
displayFollowUpLabel?: string | null,
displayOrgUnitLabel?: string | null,
displayRelationshipLabel?: string | null,
displayRelationshipsLabel?: string | null,
displayNoteLabel?: string | null,
displayNotesLabel?: string | null,
displayTrackedEntityAttributeLabel?: string | null,
displayTrackedEntityAttributesLabel?: string | null,
displayProgramStageLabel?: string | null,
displayProgramStagesLabel?: string | null,
displayEventLabel?: string | null,
Expand Down
6 changes: 3 additions & 3 deletions src/i18n/setupFormatters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ const CUSTOM_TERM_VARS = new Set([
'programStageLabel', 'programStagesLabel',
'linkableStageLabel',
'followUpLabel', 'orgUnitLabel',
'relationshipLabel',
'noteLabel',
'attributeLabel',
'relationshipLabel', 'relationshipsLabel',
'noteLabel', 'notesLabel',
'attributeLabel', 'attributesLabel',
]);

const interpolator = (i18n as any).services?.interpolator;
Expand Down
Loading