Skip to content

New Crowdin updates #13233

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10,000 commits into
base: development
Choose a base branch
from
Open

New Crowdin updates #13233

wants to merge 10,000 commits into from

Conversation

MateStrysewske
Copy link
Contributor

@MateStrysewske MateStrysewske commented Jan 16, 2025

Summary by CodeRabbit

  • New Features

    • Large multilingual localization rollout adding Adverse Events (AEFI) workflows — menus, dashboards, investigations, lists, exports and classification labels.
    • Surveys: localized create/send flows, survey tokens, import of tokens/responses, document generation and example templates.
    • Expanded UI captions for system/disease configuration, notifier messages, environment ↔ event linking (including vector types), pathogen test fields, therapy, document templates, and many case/person/contact/symptom fields.
  • Style

    • Wording, capitalization and consistency refinements across locales.

Copy link

coderabbitai bot commented Jul 21, 2025

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

💤 Files selected but had no reviewable changes (2)
  • sormas-api/src/main/resources/enum_ar-SA.properties
  • sormas-api/src/main/resources/strings_ar-SA.properties

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

Adds a large, mostly additive set of localization keys and some caption value updates across many locale resource files to enable AEFI/adverse‑events, surveys (SurveyToken/SurveyDocumentOptions), disease/system configuration, document templates, environment/event linking, expanded symptoms/pathogen/therapy fields, and new views/menus.

Changes

Cohort / File(s) Change Summary
Czech (cs‑CZ)
sormas-api/src/main/resources/captions_cs-CZ.properties
Massive additions: AEFI (Aefi*, AdverseEvents*, AefiInvestigation*), surveys/SurveyToken, DocumentTemplate, Disease/System configuration, EntityColumn, environment/event fields, expanded Symptoms/Person/PathogenTest/CaseData, menu/view labels.
German (de‑CH / de‑DE)
.../captions_de-CH.properties, .../captions_de-DE.properties
Large AEFI/adverse‑events/investigation keys, survey tokens, dashboards, DocumentTemplate, Disease/System configuration, EntityColumn, environment/event, PathogenTest, Symptoms, Person, CaseData; several existing captions reworded.
English locales (AF, GH, GM, KE, LR, NG)
.../captions_en-*.properties
Add AEFI families (index/export/criteria/investigations), AdverseEvents types, survey/SurveyToken captions, DocumentTemplate entries, Disease/System configuration, environment/vector fields, EntityColumn keys, expanded Symptoms/PathogenTest/Person/CaseData and new View/menu labels.
Spanish locales (BO, CU)
.../captions_es-*.properties
Added AEFI, surveys, DocumentTemplate, Disease/System configuration, environment/event linking, expanded clinical/pathogen/symptom captions, views/menus and some caption value updates.
French locales (FR, CH, TN)
.../captions_fr-*.properties
Comprehensive AEFI and survey captions, DocumentTemplate, Disease/System configuration, environment linking, EntityColumn, expanded Symptoms/PathogenTest/Person/CaseData and new UI labels.
Italian locales (it‑CH, it‑IT)
.../captions_it-*.properties
Added includePartialBirthdates, AEFI and survey captions, DocumentTemplate templates, Disease/System configuration, new Views/menus, EntityColumn, environment/event fields, expanded Symptoms/PathogenTest/Person/CaseData, therapy captions.
Nordic / Persian / Pashto / Polish / Finnish / others
.../captions_fi-FI.properties, .../captions_fa-AF.properties, .../captions_ps-AF.properties, .../captions_pl-PL.properties, ...
Broad additive expansions across AEFI, surveys, DocumentTemplate, Disease/System configuration, environment/vectorType, EntityColumn, Symptoms/PathogenTest/Person/CaseData/Exposure/Therapy; a few value updates (e.g., CaseData.epidemiologicalConfirmation).
DocumentTemplate (many locales)
(multiple locale files)
New DocumentTemplate keys across locales: fileName, disease, EventHandout, QuarantineOrder, example templates for cases/contacts/events/surveys, upload/workflow keys.
UI/menu/view and dashboards (many locales)
(multiple locale files)
New menu entries (mainMenuAdverseEvents, mainMenuSurveys), new views (View.dashboard.adverseevents, View.dashboard.gis, View.adverseevents, View.adverseevents.investigations, View.surveys, View.surveys.surveyTokens), dashboard labels (dashboardNumberOfAdverseEvents, aefiDashboard*).

Sequence Diagram(s)

(omitted — changes are localization/resource additions only; no control‑flow modifications to diagram)

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested reviewers

  • obinna-h-n
  • KarnaiahPesula

Poem

🐇 Tiny paws on keyboard light,
New keys sprout in day and night.
Surveys, AEFI, menus sing —
Translations hop on every string.
This rabbit cheers: "Now SORMAS speaks!"

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch l10n_development

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 49

🔭 Outside diff range comments (5)
sormas-api/src/main/resources/captions_ps-AF.properties (1)

1815-1875: New PathogenTest resistance/typing fields – verify spellings and plurals

Examples:
PathogenTest.specie should probably be species (plural) if following microbiology terminology.
Check spelling of seroTypingMethod, seroTypingMethodText, etc., and align with existing naming conventions used in other locales.

sormas-api/src/main/resources/captions_fr-FR.properties (3)

55-61: Untranslated & mixed-language caption (includePartialBirthdates)

The value is still in English, while surrounding captions are localized. This creates a jarring user experience and breaks i18n consistency.

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates = Inclure les dates de naissance partielles

425-449: Multiple captions still in English + leading blank

CaseData.epidemiologicalConfirmation starts with a space and is English.
CaseData.postMortem, CaseData.department are untranslated.

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
-CaseData.postMortem=Post Mortem
-CaseData.department=Facility Department
+CaseData.epidemiologicalConfirmation=Lien épidémiologique à un cas confirmé
+CaseData.postMortem=Post-mortem
+CaseData.department=Service de l’établissement

The leading space also breaks key-value parsing.


2787-2799: Pertussis-specific symptom captions not localized

The explanatory strings are full English sentences; these appear in tooltips/forms.

-Symptoms.coughingBouts.PERTUSSIS=Any person with a cough lasting at least two weeks <b>AND</b>
-Symptoms.apnoea.PERTUSSIS=Apnoeic episodes in infants
+Symptoms.coughingBouts.PERTUSSIS=Toute personne présentant une toux durant au moins deux semaines <b>ET</b>
+Symptoms.apnoea.PERTUSSIS=Épisodes d’apnée chez le nourrisson
sormas-api/src/main/resources/captions_fr-TN.properties (1)

425-449: Multiple issues in CaseData block

  • Leading blank after ‘=’ in line 425 (= An epidemiological…) will be rendered literally.
  • Values are untranslated (EN) in a FR file.
  • CaseData.department value mixes domains (“Facility Department”) and is also EN.

Minimal fix:

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
-CaseData.postMortem=Post Mortem
-CaseData.department=Facility Department
+CaseData.epidemiologicalConfirmation= Lien épidémiologique avec un cas confirmé
+CaseData.postMortem=Autopsie
+CaseData.department=Service de l’établissement
🧹 Nitpick comments (64)
sormas-api/src/main/resources/captions_en-AF.properties (5)

199-202: Remove superfluous quotes & align with existing key-value style

The new AEFI action captions add a leading blank before = and wrap one value in quotation marks.
No other keys in this file use either convention, so these four lines break stylistic consistency and will show the quotes literally in the UI for actionAefiAssignNewReportingIdNumber.

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
-actionImportSurveyTokens = Import survey tokens
-actionImportSurveyTokenResponses = Import survey token responses
+actionAefiSelectPrimarySuspectVaccination=Select suspect vaccination
+actionAefiAssignNewReportingIdNumber=Assign new AEFI ID
+actionImportSurveyTokens=Import survey tokens
+actionImportSurveyTokenResponses=Import survey token responses

55-55: Trim stray space before “=”

includePartialBirthdates = Include partial birthdates contains an unnecessary blank before the equal sign, unlike surrounding keys (all=All, area=Region, …).
Harmless for the properties parser but it creates avoidable noise in diffs and IDE inspections.


425-426: Leading blank in value likely unintended

CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case

The leading space will be rendered in some UI toolkits and looks misplaced.
Either delete it or escape with \ if a non-breaking space is really required.


577-581: Check sentence-case & spacing of newly added clinical captions

CaseData.radiographyCompatibility=Radiography
CaseData.otherDiagnosticCriteria=Other diagnostic details
CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
  1. clinicalConfirmation.PERTUSSIS again contains a leading blank in the value.
  2. Consider sentence-case for the last value (“Any person diagnosed …”) to match surrounding captions that start with a capital letter only.

2907-2908: Possible duplicate / override

Both keys exist back-to-back:

Symptoms.imi.pneumoniaClinicalOrRadiologic=Pneumonia
Symptoms.ipi.pneumoniaClinicalOrRadiologic=Bacterial pneumonia

Because everything before the first = is the lookup key, these two are distinct, but extremely similar. Please double-check that two separate captions are really required and the prefixes are not a typo.

sormas-api/src/main/resources/captions_ps-AF.properties (5)

199-203: Remove the superfluous quotation marks and keep formatting consistent

The value of actionAefiAssignNewReportingIdNumber is wrapped in double quotes while the other captions in the file are not. This produces the literal quotes in the UI.

-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
+actionAefiAssignNewReportingIdNumber=Assign New AEFI ID

(Adapt the wording or translate to Pashto if required.)


426-426: Leading blank before value – minor formatting clean-up

CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case

The single space after the = is not parsed but is inconsistent with the rest of the file; consider trimming it for readability.


577-581: Spurious leading blank and capitalisation inconsistencies

CaseData.radiographyCompatibility=Radiography
CaseData.otherDiagnosticCriteria=Other diagnostic details
CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
  1. The last line has an unnecessary leading blank.
  2. Keys under the same logical block (clinicalConfirmation.*) previously start with a lowercase letter after the dot; double-check whether that affects look-ups.

Tidy up to avoid subtle key mismatches.


1020-1023: Dashboard keys introduced without translation

dashboardNumberOfAdverseEvents, dashboardOtherLabel, dashboardGisMapFilter are shown in English. Please validate whether Pashto translations are pending.


1178-1191: EntityColumn.*: keep style consistent

Most other section-header captions in this locale are translated. Keeping these column headers in English might break visual consistency with tables rendered elsewhere. Consider translating or flagging as intentionally untranslated.

sormas-api/src/main/resources/captions_en-KE.properties (3)

55-55: Remove superfluous whitespace around the delimiter

includePartialBirthdates = Include partial birthdates contains spaces on both sides of = whereas the surrounding keys don’t.
.properties files ignore that technically, but it pollutes diffs and makes grep-based tooling harder. Stick to one style – in this file the de-facto standard is key=value.

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Include partial birthdates

199-202: Drop literal quotation marks in the caption

Line 200 ships the value with embedded quotes:

actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"

Unless the UI really has to show the quotes, they should be removed; otherwise you’ll see "Assign New AEFI ID" rendered verbatim while the rest of the menu has no quotes.

-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
+actionAefiAssignNewReportingIdNumber=Assign New AEFI ID

425-425: Trim leading space in value

There’s an unintended leading blank after the = which the UI will render:

CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case
sormas-api/src/main/resources/captions_en-GM.properties (5)

425-426: Trim leading space in the value

A leading blank is kept by the Java Properties loader and will show up in the caption.

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case

581-582: Same issue: leading space before value

-CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
+CaseData.clinicalConfirmation.PERTUSSIS=Any person diagnosed as pertussis by a physician

1268-1274: Capitalise for consistency with other “Link X” captions

-linkEnvironment=Link environment
+linkEnvironment=Link Environment

1381-1383: Strip superfluous spaces around “=”

-Event.environmentMedia = Media
-Event.environment.investigationStatus = Status
+Event.environmentMedia=Media
+Event.environment.investigationStatus=Status

1783-1783: Remove padding spaces around separator

-mainMenuSurveys = Surveys
+mainMenuSurveys=Surveys
sormas-api/src/main/resources/captions_it-IT.properties (2)

426-426: Leading space will leak into the UI

A left-padding space is part of the value and will show up in every label.

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case

580-580: Same whitespace issue for the PERTUSSIS caption

-CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
+CaseData.clinicalConfirmation.PERTUSSIS=Any person diagnosed as pertussis by a physician
sormas-api/src/main/resources/captions_pl-PL.properties (2)

55-56: Un-translated caption slipped in

includePartialBirthdates = Include partial birthdates is still English in the Polish bundle.
If no official Polish wording exists yet, add a TODO marker so translators can pick it up; otherwise substitute the proper translation to keep language consistency.


577-579: Mismatching language – value still English

CaseData.radiographyCompatibility and CaseData.otherDiagnosticCriteria are new Polish keys with English text.
Ensure these are translated before release or tag them for translation review to avoid partial-language UI.

sormas-api/src/main/resources/captions_fa-AF.properties (7)

55-55: Missing Dari translation

includePartialBirthdates is still English. Provide a Dari (fa-AF) translation to keep the locale internally consistent.


425-425: Leading space before value

CaseData.epidemiologicalConfirmation starts with a blank which will be shown in the UI and may affect look-ups.

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case

447-448: Untranslated additions

CaseData.postMortem and CaseData.department are new but still in English. Please translate to Dari for consistency with the rest of the resource file.


580-581: Hard-coded disease-specific text

Symptoms.coughingBouts.PERTUSSIS and similar disease-qualified keys are embedded English sentences. Consider shortening to a caption and moving the detailed clinical description to documentation, otherwise translate.


854-856: Contact prophylaxis strings not translated

The three Contact.* keys are English; translate or mark TODO so the UI does not show mixed language.


1210-1211: Duplicate English wording

Vector Type appears for both Environment and EnvironmentSample and is English. Provide Dari translation once and reuse the wording to avoid inconsistent phrasing.

Also applies to: 1251-1251


1268-1293: Environment linking captions remain English

All newly added menu/help texts related to linking environments (eventNewEnvironment, linkEnvironment, etc.) are still English. Translate to ensure the Persian UI is complete.

sormas-api/src/main/resources/captions_en-NG.properties (5)

55-55: Remove surrounding blanks around the ‘=’ delimiter

The new entry contains a blank in front of and after the delimiter:

includePartialBirthdates = Include partial birthdates

In a Java .properties file the first blank terminates the key, meaning the effective key is interpreted as
includePartialBirthdates (no trailing blanks) and the sequence " = " is treated as part of the delimiter.
Although it still works, the style deviates from the rest of the file and makes accidental duplicate keys hard to spot.

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Include partial birthdates

199-202: Strip quotes and trailing blanks to stay consistent with existing captions

The four new action captions mix leading blanks and superfluous quotes:

actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"

No other caption in the bundle is quoted or padded. The quotes will appear in the UI and the trailing blank before = inflates the key parsing.

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
+actionAefiSelectPrimarySuspectVaccination=Select suspect vaccination
+actionAefiAssignNewReportingIdNumber=Assign new AEFI ID

426-426: Remove leading blank in value

CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case

The leading space is rendered in the UI.

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case

2339-2345: Spelling error in caption

Aefi.reporterInstitution=InsitutionInstitution is miss-spelled.

-Aefi.reporterInstitution=Insitution
+Aefi.reporterInstitution=Institution

2903-2904: Trim unintended leading blank

Symptoms.nocturnalCough= Nocturnal Cough

Remove the leading space for UI consistency.

-Symptoms.nocturnalCough= Nocturnal Cough
+Symptoms.nocturnalCough=Nocturnal cough
sormas-api/src/main/resources/captions_de-DE.properties (3)

425-426: Leading blank in value + still English

CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case

• Remove the blank after = to avoid odd UI spacing.
• Translate or mark for translation.

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=Epidemiologische Verbindung zu einem bestätigten Fall

448-449: Untranslated department label

CaseData.department=Facility Department

German users will see an English label; propose:

-CaseData.department=Facility Department
+CaseData.department=Abteilung der Einrichtung

577-581: Radiology & diagnostic criteria still English

CaseData.radiographyCompatibility=Radiography
CaseData.otherDiagnosticCriteria=Other diagnostic details
CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician

Besides language, the third line again has a leading blank and a long explanatory sentence which probably does not belong in a caption.

Example patch:

-CaseData.radiographyCompatibility=Radiography
-CaseData.otherDiagnosticCriteria=Other diagnostic details
-CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
+CaseData.radiographyCompatibility=Radiologischer Befund
+CaseData.otherDiagnosticCriteria=Andere diagnostische Kriterien
+CaseData.clinicalConfirmation.PERTUSSIS=Klinische Bestätigung (Pertussis)
sormas-api/src/main/resources/captions_de-CH.properties (3)

425-426: Leading space sneaked into value

CaseData.epidemiologicalConfirmation starts with a blank which will be rendered to the UI:

CaseData.epidemiologicalConfirmation= An epidemiological link ...
-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=Ein epidemiologischer Bezug zu einem bestätigten Fall

577-580: Untranslated diagnostic captions

CaseData.radiographyCompatibility, CaseData.otherDiagnosticCriteria and CaseData.clinicalConfirmation.PERTUSSIS are English. If no domain-specific reason exists, translate them to maintain consistency.


2343-2345: Typo in value: “Insitution”

Aefi.reporterInstitution=Insitution
-Aefi.reporterInstitution=Insitution
+Aefi.reporterInstitution=Institution
sormas-api/src/main/resources/captions_en-GH.properties (4)

55-55: Keep formatting style consistent (remove spaces around "=")
New entries introduce a space before/after the “=” while the surrounding file consistently uses the compact form (key=value).
Standardising the delimiter keeps diffs minimal and avoids accidental duplicate-key bugs caused by invisible whitespace.

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Include partial birthdates
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
+actionAefiAssignNewReportingIdNumber="Assign New AEFI ID"
-DocumentTemplate.fileName=File name      # <- fine, keep
-EntityColumn.ENTITY = Entity
+EntityColumn.ENTITY=Entity
...
-surveyNew = New Survey
+surveyNew=New Survey

Also applies to: 199-202, 1148-1150, 1177-1191, 3487-3490


199-200: Remove superfluous quotes – they end up in the UI
"Assign New AEFI ID" will literally render with quotes. Unless UX demands them, drop the quotes to match neighbouring captions.

-actionAefiAssignNewReportingIdNumber="Assign New AEFI ID"
+actionAefiAssignNewReportingIdNumber=Assign New AEFI ID

425-425: Strip unintended leading spaces in values
Leading blanks (= An epidemiological …) survive property parsing and will be visible to users.

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case

-CaseData.postMortem=Post Mortem
-CaseData.department= Facility Department
+CaseData.postMortem=Post mortem
+CaseData.department=Facility department

Also applies to: 447-447, 577-578


1772-1783: Navigation labels – keep vocabulary consistent
mainMenuAdverseEvents vs View.dashboard.adverseevents vs View.adverseevents – pluralisation switches between “Adverse Event(s)”.
Align wording to avoid duplicate menu entries in some languages.

Also applies to: 3189-3191

sormas-api/src/main/resources/captions_en-LR.properties (4)

55-55: Remove stray blanks after = for consistency

A few newly-added captions contain a leading blank that none of the legacy lines use.
Normalising them keeps the file diff-friendly and avoids surprises with strict parsers.

-includePartialBirthdates = Include partial birthdates
-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
-CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
-Contact.prophylaxisPrescribed = Prophylaxis Prescribed
-Contact.prescribedDrug = Prescribed Drug
-Contact.prescribedDrugText = Specify Prescribed Drug
+includePartialBirthdates=Include partial birthdates
+CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case
+CaseData.clinicalConfirmation.PERTUSSIS=Any person diagnosed as pertussis by a physician
+Contact.prophylaxisPrescribed=Prophylaxis Prescribed
+Contact.prescribedDrug=Prescribed Drug
+Contact.prescribedDrugText=Specify Prescribed Drug

Also applies to: 425-426, 580-581, 854-856


2440-2440: Fix spelling – “supect” → “suspect”

-AefiExport.primarySuspectVaccineBatchNumber=Primary supect vaccine batch number
+AefiExport.primarySuspectVaccineBatchNumber=Primary suspect vaccine batch number

2343-2343: Typo – “Insitution” → “Institution”

-Aefi.reporterInstitution=Insitution
+Aefi.reporterInstitution=Institution

2629-2629: Use “affected”, not “effected”

-aefiInvestigationOfThoseAffected=Of those effected, how many are
+aefiInvestigationOfThoseAffected=Of those affected, how many are
sormas-api/src/main/resources/captions_cs-CZ.properties (3)

425-425: Remove leading space after ‘=’

The leading space becomes part of the value and will be displayed to the user.

-CaseData.epidemiologicalConfirmation= Epidemiologická souvislost s potvrzeným případem
+CaseData.epidemiologicalConfirmation=Epidemiologická souvislost s potvrzeným případem

1268-1277: Missing Czech translation

linkEnvironment, environmentSelect and related keys are still English while the surrounding captions are translated.

-linkEnvironment=Link environment
+linkEnvironment=Propojit prostředí
-environmentSelect=Vybrat environment
+environmentSelect=Vybrat prostředí

This avoids mixed-language UI elements.


1381-1383: Key naming inconsistency

Event.environment.investigationStatus uses a dot in the middle of the key unlike the rest of the file (Event.environmentMedia, Event.environmentReportDate).
Consider harmonising to a flat namespace (Event.environmentInvestigationStatus) to keep look-ups symmetrical.

sormas-api/src/main/resources/captions_fi-FI.properties (2)

55-55: Avoid whitespace before the key-value delimiter

includePartialBirthdates = … is parsed with the space character acting as the separator, which works but leaves a redundant = that is ignored.
Dropping the space keeps the file consistent with the rest of the catalogue and prevents copy-paste gotchas.

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Include partial birthdates

425-427: Strip leading space from the translated string

The value for CaseData.epidemiologicalConfirmation starts with a space, which will be rendered verbatim and mis-align the label inside the UI.

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case
sormas-api/src/main/resources/captions_es-CU.properties (5)

55-55: Strip surrounding blanks to keep key = value formatting consistent

All pre-existing keys in this file are written without blanks around the equal sign.
Keeping the pattern uniform prevents accidental leading/trailing-space artefacts in the UI and makes diff reviews easier.

-includePartialBirthdates = Incluir fechas de nacimiento incompletas
+includePartialBirthdates=Incluir fechas de nacimiento incompletas

426-426: Leading blank sneaks into the caption

CaseData.epidemiologicalConfirmation currently starts with a space and will therefore be rendered with an unwanted indent.

-CaseData.epidemiologicalConfirmation= Un vínculo epidemiológico con un caso confirmado
+CaseData.epidemiologicalConfirmation=Un vínculo epidemiológico con un caso confirmado

580-580: Same leading-space issue as above

-CaseData.clinicalConfirmation.PERTUSSIS= Cualquier persona diagnosticada con tos ferina por un médico
+CaseData.clinicalConfirmation.PERTUSSIS=Cualquier persona diagnosticada con tos ferina por un médico

2903-2903: Unintended leading blank in Symptoms.nocturnalCough

-Symptoms.nocturnalCough= Tos nocturna
+Symptoms.nocturnalCough=Tos nocturna

1381-1384: Keep formatting uniform for the newly added environment keys

-Event.environmentMedia = Medios
-Event.environment.investigationStatus = Estado
+Event.environmentMedia=Medios
+Event.environment.investigationStatus=Estado
sormas-api/src/main/resources/captions_fr-TN.properties (6)

55-55: English fallback left in a French bundle

includePartialBirthdates is still English; the fr-TN file should not rely on the default bundle.
Recommended:

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates = Inclure les dates de naissance partielles

854-856: Contact prophylaxis lines untranslated

Contact.prophylaxisPrescribed, Contact.prescribedDrug, Contact.prescribedDrugText are English; translate before release to avoid mixed-language UI.


1020-1023: Dashboard captions still English

dashboardNumberOfAdverseEvents, dashboardOtherLabel, dashboardGisMapFilter added in this PR but not translated.


1210-1211: Vector-type captions in Environment entities

These keys are English; translate to maintain domain consistency:

-Environment.vectorType=Vector Type
-EnvironmentSample.vectorType=Vector Type
+Environment.vectorType=Type de vecteur
+EnvironmentSample.vectorType=Type de vecteur

Also applies to: 1251-1251


1268-1293: Environment/Event linking captions not localized

eventNewEnvironment, linkEnvironment, environmentSelect, eventNoEventLinkedToEnvironment, environmentEvents, eventUnlinkEnvironment are user-visible and should be French.


1361-1384: Environment fields inside Event remain English

Event.environmentMedia, Event.environment.investigationStatus, Event.environmentReportDate are untranslated and use inconsistent key-naming (environment. vs camel case).

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 45627d8 and ea065d6.

📒 Files selected for processing (20)
  • sormas-api/src/main/resources/captions_cs-CZ.properties (39 hunks)
  • sormas-api/src/main/resources/captions_de-CH.properties (33 hunks)
  • sormas-api/src/main/resources/captions_de-DE.properties (33 hunks)
  • sormas-api/src/main/resources/captions_en-AF.properties (33 hunks)
  • sormas-api/src/main/resources/captions_en-GH.properties (33 hunks)
  • sormas-api/src/main/resources/captions_en-GM.properties (33 hunks)
  • sormas-api/src/main/resources/captions_en-KE.properties (33 hunks)
  • sormas-api/src/main/resources/captions_en-LR.properties (33 hunks)
  • sormas-api/src/main/resources/captions_en-NG.properties (33 hunks)
  • sormas-api/src/main/resources/captions_es-BO.properties (33 hunks)
  • sormas-api/src/main/resources/captions_es-CU.properties (32 hunks)
  • sormas-api/src/main/resources/captions_fa-AF.properties (33 hunks)
  • sormas-api/src/main/resources/captions_fi-FI.properties (33 hunks)
  • sormas-api/src/main/resources/captions_fr-CH.properties (33 hunks)
  • sormas-api/src/main/resources/captions_fr-FR.properties (33 hunks)
  • sormas-api/src/main/resources/captions_fr-TN.properties (33 hunks)
  • sormas-api/src/main/resources/captions_it-CH.properties (33 hunks)
  • sormas-api/src/main/resources/captions_it-IT.properties (33 hunks)
  • sormas-api/src/main/resources/captions_pl-PL.properties (33 hunks)
  • sormas-api/src/main/resources/captions_ps-AF.properties (33 hunks)
🔇 Additional comments (33)
sormas-api/src/main/resources/captions_en-AF.properties (3)

1547-1549: Inconsistent key prefix: imi vs ipi

You introduced

Exposure.imi.shortDistance
Exposure.imi.longFaceToFaceContact

and (two hundred lines below)

Symptoms.ipi.pneumoniaClinicalOrRadiologic

Is ipi a typo for imi, or a deliberate different namespace? If it’s a typo it will never be resolved by the code and the caption will fall back to the default language.


2787-2788: Duplicate terminology – confirm “Whoop sound” is unique

Symptoms.whoopSound is added next to pertussis-specific Symptoms.coughingBouts and Symptoms.apnoea. Make sure you didn’t already have a Symptoms.whoop or similar earlier in the file, otherwise one of them will be silently overridden.


1-3550: Guard against accidental duplicate keys

With 3 500+ entries, accidental duplicate keys are easy to slip in and will make earlier captions invisible at runtime.
Run the following one-liner to spot any duplicates before shipping:

sormas-api/src/main/resources/captions_ps-AF.properties (4)

55-55: Value still in English – verify whether translation is missing

includePartialBirthdates = Include partial birthdates is the only newly-added general caption that remains in English, whereas the surrounding “General Captions” section is translated into Pashto.
Confirm that this is intentional; otherwise provide a Pashto equivalent (or prepend the standard “TODO-TRANSLATE” marker used in other locales).


447-452: Mixed-language additions – verify localisation completeness

All four newly-added CaseData.* captions (postMortem, department, …) are in English, unlike earlier CaseData captions that are Pashto.
If full localisation is required for ps-AF, add the Pashto equivalents or mark them pending.


854-856: Confirm wording & translation of new Contact drug-related fields

Contact.prophylaxisPrescribed, Contact.prescribedDrug, Contact.prescribedDrugText are kept in English.
If Pashto UI parity is a goal, these should be translated; otherwise add a comment explaining why English is retained.


1038-1052: AEFI dashboard entries: check for duplicate keys & translation

The block adds 13 new aefiDashboard* keys.
• Make sure none of these keys already exist elsewhere – duplicate keys silently override earlier values at load time.
• All values are English; decide whether a Pashto translation is still to be provided.

sormas-api/src/main/resources/captions_en-KE.properties (1)

2907-2909: Inconsistent namespace – imi vs ipi

Two neighbouring keys differ only in the mid-segment:

Symptoms.imi.pneumoniaClinicalOrRadiologic=Pneumonia
Symptoms.ipi.pneumoniaClinicalOrRadiologic=Bacterial pneumonia

If imi/ipi is not intentional (e.g. different modules), this is almost certainly a typo that will cause one caption to be unreachable. Please verify the expected prefix.

sormas-api/src/main/resources/captions_it-IT.properties (1)

1-3549: No duplicate property keys detected—ready to merge

I ran the AWK-based duplicate-key check on sormas-api/src/main/resources/captions_it-IT.properties and no duplicate keys were reported. You can safely merge this large properties file as is.

sormas-api/src/main/resources/captions_pl-PL.properties (1)

1547-1549: Key prefix inconsistency (imi vs existing pattern)

The newly added exposure keys use the prefix imi. (Exposure.imi.shortDistance, Exposure.imi.longFaceToFaceContact).
All pre-existing disease-specific overrides follow the upper-case disease code pattern (PERTUSSIS, etc.). Double-check that your i18n loader is able to resolve dotted sub-keys; otherwise these strings will never be displayed.

sormas-api/src/main/resources/captions_fa-AF.properties (2)

577-579: Check wording & translation

The new radiography/diagnostic criteria strings are English and have no trailing space like earlier keys do. Either supply Dari or keep formatting consistent with neighbouring entries.


1381-1384: Check key naming consistency

Event.environmentMedia and Event.environment.investigationStatus mix camel-case and dot-notation; verify the consuming code expects this exact key, otherwise alignment failures will occur.

sormas-api/src/main/resources/captions_en-NG.properties (1)

3175-3176: Ensure new navigation captions fit existing casing scheme

View.configuration.diseaseconfiguration and .short use all-lower-case for the bundle key segment (diseaseconfiguration) whereas other multi-word segments are camel-cased (systemConfiguration).
Please align casing to avoid parallel but differently cased keys (diseaseConfiguration) creeping in.

sormas-api/src/main/resources/captions_it-CH.properties (1)

854-856: Key names polluted with spaces – will never resolve

-Contact.prophylaxisPrescribed = Prophylaxis Prescribed
-Contact.prescribedDrug = Prescribed Drug
-Contact.prescribedDrugText = Specify Prescribed Drug
+Contact.prophylaxisPrescribed=Profilassi prescritta
+Contact.prescribedDrug=Farmaco prescritto
+Contact.prescribedDrugText=Specifica farmaco prescritto

Likely an incorrect or invalid review comment.

sormas-api/src/main/resources/captions_de-CH.properties (2)

448-449: English placeholder still present

CaseData.department is displayed as “Facility Department”. Please provide the German equivalent, for example:

-CaseData.department=Facility Department
+CaseData.department=Abteilung der Einrichtung

3528-3534: Correct the misspelled key encrytp to encrypt in all resource bundles

The property SystemConfigurationValue.encrytp is misspelled and should be SystemConfigurationValue.encrypt. This typo will prevent look-ups for “encrypt” from resolving and cause missing captions at runtime.

• Update all affected captions_*.properties files at line 3530:

-SystemConfigurationValue.encrytp = Encrypt
+SystemConfigurationValue.encrypt = Encrypt

• After renaming, manually verify any Java code or enum that references SystemConfigurationValue.encrypt (or would have referenced the misspelled key) to ensure look-ups still succeed.

sormas-api/src/main/resources/captions_es-BO.properties (1)

1209-1209: Vector type caption English

-Environment.vectorType=Vector Type
+Environment.vectorType=Tipo de vector

Likely an incorrect or invalid review comment.

sormas-api/src/main/resources/captions_en-GH.properties (2)

2723-2735: Pertussis additions – verify HTML markup in values
Strings like Symptoms.coughingBouts.PERTUSSIS=Any person with a cough lasting at least two weeks <b>AND</b> embed raw HTML.
Ensure the consuming UI escapes/handles HTML; if not, the markup will leak.


1177-1191: EntityColumn block duplicates existing German keys
Before merging, grep for these keys in other captions_* files; duplicates with divergent wording confuse translators.

sormas-api/src/main/resources/captions_cs-CZ.properties (4)

447-449: Consistency check

New keys look correct and contain no placeholder/format-string issues.


577-580: Trim leading blanks + empty sub-key

  1. CaseData.clinicalConfirmation.PERTUSSIS contains the same leading-space problem as above – please trim.
  2. Symptoms.coughingBouts.PERTUSSIS is introduced with an empty value. If that is intentional (fallback to default), add a comment; otherwise supply the Czech caption to avoid showing the key name in the UI.

1640-1640: Duplicate key warning

ExternalMessage.labSampleId already exists earlier in the file (English locale shows it).
Please verify that the earlier entry wasn’t overwritten; duplicate keys result in the last occurrence winning silently.


1178-1191: Trailing whitespace before ‘=’ breaks key parsing

Whitespace before the = ends the key; the = then becomes part of the value, effectively changing the key name and breaking look-ups.

-EntityColumn.TYPE = Typ
+EntityColumn.TYPE=Typ
-EntityColumn.NEW_DISEASE = Nová nemoc
+EntityColumn.NEW_DISEASE=Nová nemoc
# …repeat for all lines in this block

Please strip the blanks before the = for every line in this section.

Likely an incorrect or invalid review comment.

sormas-api/src/main/resources/captions_fi-FI.properties (1)

2907-2909: Potential typo in enum prefix (ipi vs imi)

The newly added key

Symptoms.ipi.pneumoniaClinicalOrRadiologic

breaks the established naming pattern (imi. elsewhere, e.g. Symptoms.imi.pneumoniaClinicalOrRadiologic).
If this is not intentional, downstream look-ups will fail and the caption will fall back to the default language.

Please verify and, if necessary, rename:

-Symptoms.ipi.pneumoniaClinicalOrRadiologic=Bacterial pneumonia
+Symptoms.imi.pneumoniaClinicalOrRadiologic=Bacterial pneumonia
sormas-api/src/main/resources/captions_fr-CH.properties (7)

55-55: Trim the surrounding blanks after the key separator

The surrounding blanks around the = break the prevailing key=value convention used throughout this file and inevitably stand out during merges.

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Include partial birthdates

[ suggest_nitpick ]


199-202: Remove superfluous blanks – and the stray quote – for uniform key/value formatting

The four new AEFI & survey action labels contain additional blanks after the key and, in one case, a quoted value.
Quotes are literally rendered by the UI and were not used anywhere else.

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
-actionImportSurveyTokens = Import survey tokens
-actionImportSurveyTokenResponses = Import survey token responses
+actionAefiSelectPrimarySuspectVaccination=Select Suspect Vaccination
+actionAefiAssignNewReportingIdNumber=Assign New AEFI ID
+actionImportSurveyTokens=Import survey tokens
+actionImportSurveyTokenResponses=Import survey token responses

[ suggest_nitpick ]


425-425: Drop the leading blank after =

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case

[ suggest_nitpick ]


580-580: Trim space for the newly added Pertussis caption

-CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
+CaseData.clinicalConfirmation.PERTUSSIS=Any person diagnosed as pertussis by a physician

[ suggest_nitpick ]


1381-1382: Keep separator formatting consistent

-Event.environmentMedia = Media
-Event.environment.investigationStatus = Status
+Event.environmentMedia=Media
+Event.environment.investigationStatus=Status

[ suggest_nitpick ]


854-856: Consistent key/value spacing for new Contact-therapy captions

-Contact.prophylaxisPrescribed = Prophylaxis Prescribed
-Contact.prescribedDrug = Prescribed Drug
-Contact.prescribedDrugText = Specify Prescribed Drug
+Contact.prophylaxisPrescribed=Prophylaxis Prescribed
+Contact.prescribedDrug=Prescribed Drug
+Contact.prescribedDrugText=Specify Prescribed Drug

[ suggest_nitpick ]


2903-2906: Leading blanks & capitalisation

-Symptoms.septicaemia=Septicaemia
-Symptoms.nocturnalCough= Nocturnal Cough
+Symptoms.septicaemia=Septicaemia
+Symptoms.nocturnalCough=Nocturnal cough

(You may want to check whether “Nocturnal cough” should be localised to French in the next translation pass.)
[ suggest_nitpick ]

sormas-api/src/main/resources/captions_fr-TN.properties (2)

577-582: New diagnostic-criteria captions left untranslated

radiographyCompatibility, otherDiagnosticCriteria, clinicalConfirmation.PERTUSSIS are still English.

Example:

-CaseData.radiographyCompatibility=Radiography
+CaseData.radiographyCompatibility=Compatibilité radiographique

Please translate the remaining keys for consistency.


1038-1052: AEFI dashboard block – entire section missing localization

Lines 1039-1052 are visible labels; leaving them in English creates an inconsistent dashboard. Please provide French equivalents.

Comment on lines +55 to 56
includePartialBirthdates = Include partial birthdates
numberOfCharacters=Anzahl der Zeichen\: %d / %d
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Missing German translation & superfluous whitespace

The value for includePartialBirthdates is still English and is preceded by an extra space before the = delimiter.

includePartialBirthdates = Include partial birthdates

Suggested fix:

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Teilweise Geburtsdaten berücksichtigen
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-CH.properties at lines 55 to 56,
remove the extra space before the equals sign in the includePartialBirthdates
property and replace the English text "Include partial birthdates" with the
correct German translation. Ensure the line reads without leading spaces and
uses proper German wording.

Comment on lines +199 to +202
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Un-translated captions and stray quotation marks

All four new AEFI action captions are kept in English and actionAefiAssignNewReportingIdNumber carries superfluous quotes:

actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
  1. Provide proper German wording.
  2. Remove the unwanted quotes which will become part of the caption at runtime.

Example:

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
+actionAefiSelectPrimarySuspectVaccination=Verdächtige Impfung auswählen
+actionAefiAssignNewReportingIdNumber=Neue AEFI-ID zuweisen
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-CH.properties around lines 199 to
202, the new AEFI action captions are still in English and the caption for
actionAefiAssignNewReportingIdNumber includes unnecessary quotation marks.
Translate all four captions into proper German and remove the quotes around the
value for actionAefiAssignNewReportingIdNumber to prevent them from appearing in
the UI.

Comment on lines 54 to 56
inaccessibleValue=Vertraulich
includePartialBirthdates = Include partial birthdates
numberOfCharacters=Anzahl der Zeichen\: %d / %d
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Trailing space inside the key + untranslated value

includePartialBirthdates = Include partial birthdates

  1. The blank before = becomes part of the key ("includePartialBirthdates "), so look-ups with the declared enum/string will silently fail.
  2. The caption is still English in a German bundle – probably a fallback from Crowdin but worth a quick sweep.
-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Teilgeburtsdaten einschließen

🌐 Web query:

Does Java Properties.load include whitespace before '=' as part of the key?

💡 Result:

No, Java's Properties.load method does not include whitespace before = as part of the key.

According to the Java documentation, when reading a property line, parsing proceeds as follows:

  • The key is defined as all the characters from the first non-whitespace character up to (but not including) the first unescaped =, :, or whitespace character (other than a line terminator).

  • Any whitespace after the key, and before = or :, is skipped and not included in the key. The = or : separator itself is also ignored, and any whitespace after it is skipped too[7][3][4][2].

  • The key thus consists only of the characters before the first unescaped separator or whitespace, trimmed of leading whitespace. For example, these lines are parsed identically (all with key "Truth" and value "Beauty"):

    Truth=Beauty
    Truth = Beauty
    Truth    :    Beauty
    

So, if you write a properties file line with spaces before =, like:

myKey      = myValue

The key loaded will be "myKey" (not "myKey " or similar), and "myValue" will be the value. Whitespace right before = is ignored and never becomes part of the key[7][3][4][2].

The only way to include whitespace as part of the key is to escape it with a backslash, e.g.:

my\ key = value

This would load the key as "my key", not "my"[7][3].

Summary:
Whitespace before the separator (= or :) is not part of the key in a standard Java properties file loaded with Properties.load[7][3][4][2].

Citations:


Untranslated caption in German resource
The key lookup isn’t affected by the space before =, but the value is still English in the German bundle. Please translate and standardize the formatting:

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Teilgeburtsdaten einschließen
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
inaccessibleValue=Vertraulich
includePartialBirthdates = Include partial birthdates
numberOfCharacters=Anzahl der Zeichen\: %d / %d
inaccessibleValue=Vertraulich
includePartialBirthdates=Teilgeburtsdaten einschließen
numberOfCharacters=Anzahl der Zeichen\: %d / %d
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties around lines 54 to
56, the value for the key includePartialBirthdates is still in English.
Translate this value into German and remove the space before the equals sign to
standardize the formatting with other entries.

Comment on lines 198 to +202
actionConfirmAction = Vorgang bestätigen
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Several AEFI action captions suffer from the same key-whitespace + language issue

actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses

Problems:

  1. Trailing blanks before = → invalid keys.
  2. English placeholders inside de-DE.
  3. Superfluous quotes in the second string will be rendered literally.

Suggested quick fix (translation obviously placeholder – adjust as needed):

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
-actionImportSurveyTokens = Import survey tokens
-actionImportSurveyTokenResponses = Import survey token responses
+actionAefiSelectPrimarySuspectVaccination=Verdächtigen Impfstoff wählen
+actionAefiAssignNewReportingIdNumber=Neue AEFI-ID vergeben
+actionImportSurveyTokens=Survey-Tokens importieren
+actionImportSurveyTokenResponses=Survey-Antworten importieren
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionConfirmAction = Vorgang bestätigen
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
actionConfirmAction = Vorgang bestätigen
actionAefiSelectPrimarySuspectVaccination=Verdächtigen Impfstoff wählen
actionAefiAssignNewReportingIdNumber=Neue AEFI-ID vergeben
actionImportSurveyTokens=Survey-Tokens importieren
actionImportSurveyTokenResponses=Survey-Antworten importieren
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties around lines 198 to
202, fix the AEFI action captions by removing trailing spaces before the equals
sign to ensure valid keys, replace the English placeholder texts with
appropriate German translations, and remove the unnecessary quotes around the
second string to avoid literal rendering. Adjust the translations as needed to
fit the German locale.

Comment on lines +199 to +202
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Remove quotes & stray spaces to avoid literal characters in UI

Quoted values will be rendered with quotes in the UI and the extra blanks around “=” are inconsistent with the rest of the file.

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
+actionAefiSelectPrimarySuspectVaccination=Select suspect vaccination
+actionAefiAssignNewReportingIdNumber=Assign new AEFI ID

Use this quick check to ensure no other quoted values slipped in:


🏁 Script executed:

#!/usr/bin/env bash
# List property lines whose value starts with a quote
rg '^[^#].*=\s*".*"' -n sormas-api/src/main/resources/captions_en-GM.properties

Length of output: 145


Clean up AEFI property formatting

A quick regex check confirmed that only one property value is still quoted (line 200) and that these two lines have extra spaces around the =. Let’s remove the quotes, strip the spaces, and convert to sentence-case to match the rest of the file.

• File: sormas-api/src/main/resources/captions_en-GM.properties
– Lines 199–200

--- a/sormas-api/src/main/resources/captions_en-GM.properties
+++ b/sormas-api/src/main/resources/captions_en-GM.properties
@@ -199,7 +199,7 @@
-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
+actionAefiSelectPrimarySuspectVaccination=Select suspect vaccination
-actionAefiAssignNewReportingIdNumber = "Assign new AEFI ID"
+actionAefiAssignNewReportingIdNumber=Assign new AEFI ID
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
actionAefiSelectPrimarySuspectVaccination=Select suspect vaccination
actionAefiAssignNewReportingIdNumber=Assign new AEFI ID
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_en-GM.properties at lines 199 to 200,
remove the quotes around the value on line 200, strip any extra spaces around
the equals signs on both lines, and convert the property values to sentence case
to maintain consistency with the rest of the file.

Comment on lines +577 to +580
CaseData.radiographyCompatibility=Radiography
CaseData.otherDiagnosticCriteria=Other diagnostic details

CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Mixed issues: trailing spaces and untranslated text

-CaseData.radiographyCompatibility=Radiography
-CaseData.otherDiagnosticCriteria=Other diagnostic details
-CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
+CaseData.radiographyCompatibility=Compatibilità radiografica
+CaseData.otherDiagnosticCriteria=Altri criteri diagnostici
+CaseData.clinicalConfirmation.PERTUSSIS=Qualsiasi persona diagnosticata con pertosse da un medico
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
CaseData.radiographyCompatibility=Radiography
CaseData.otherDiagnosticCriteria=Other diagnostic details
CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
CaseData.radiographyCompatibility=Compatibilità radiografica
CaseData.otherDiagnosticCriteria=Altri criteri diagnostici
CaseData.clinicalConfirmation.PERTUSSIS=Qualsiasi persona diagnosticata con pertosse da un medico
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_it-CH.properties around lines 577 to
580, remove any trailing spaces at the end of the lines and translate the text
"Any person diagnosed as pertussis by a physician" into Italian to maintain
consistency with the rest of the file.

Comment on lines +1020 to +1022
dashboardNumberOfAdverseEvents=Number of Adverse Events
dashboardOtherLabel=Other
dashboardGisMapFilter=Filter
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Dashboard captions left in English

If a translation is not yet available, prefer duplicating the English key into captions_en.properties instead of shipping Italian resources with English text.

-dashboardNumberOfAdverseEvents=Number of Adverse Events
-dashboardOtherLabel=Other
-dashboardGisMapFilter=Filter
+dashboardNumberOfAdverseEvents=Numero di eventi avversi
+dashboardOtherLabel=Altro
+dashboardGisMapFilter=Filtro
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
dashboardNumberOfAdverseEvents=Number of Adverse Events
dashboardOtherLabel=Other
dashboardGisMapFilter=Filter
dashboardNumberOfAdverseEvents=Numero di eventi avversi
dashboardOtherLabel=Altro
dashboardGisMapFilter=Filtro
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_it-CH.properties at lines 1020 to
1022, the dashboard captions are still in English. To fix this, remove these
English entries from the Italian captions file and instead duplicate these keys
with their English values into the captions_en.properties file. This keeps the
Italian resource file consistent and avoids shipping untranslated English text
in the Italian localization.

Comment on lines +199 to +202
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Align formatting and drop stray quotes

All four keys have a leading blank after =, and one value is additionally wrapped in quotes. Those quotes will be rendered to the UI and the blanks make grepping/error-prone.

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
-actionImportSurveyTokens = Import survey tokens
-actionImportSurveyTokenResponses = Import survey token responses
+actionAefiSelectPrimarySuspectVaccination=Select Suspect Vaccination
+actionAefiAssignNewReportingIdNumber=Assign New AEFI ID
+actionImportSurveyTokens=Import survey tokens
+actionImportSurveyTokenResponses=Import survey token responses
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
actionAefiSelectPrimarySuspectVaccination=Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber=Assign New AEFI ID
actionImportSurveyTokens=Import survey tokens
actionImportSurveyTokenResponses=Import survey token responses
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_it-IT.properties around lines 199 to
202, remove the leading spaces after the equals sign for all four keys and
eliminate the stray double quotes around the value of
actionAefiAssignNewReportingIdNumber to ensure consistent formatting and prevent
quotes from appearing in the UI.

Comment on lines +199 to +202
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Remove literal quotation marks from value

actionAefiAssignNewReportingIdNumber contains double quotes in the value

actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"

These quotes will be rendered in the UI. All other captions omit them, so this is most likely unintended.

-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
+actionAefiAssignNewReportingIdNumber = Assign New AEFI ID
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = Assign New AEFI ID
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_pl-PL.properties around lines 199 to
202, the value for actionAefiAssignNewReportingIdNumber includes literal double
quotes which will appear in the UI. Remove the surrounding double quotes from
the value so it reads Assign New AEFI ID without quotes, consistent with the
other captions.

Comment on lines +425 to 426
CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
CaseData.laboratoryDiagnosticConfirmation=Laboratory diagnostic confirmation
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Leading space after ‘=’ will be retained

CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case

Frameworks usually keep the leading space inside the value, so the UI will show it.
Delete the extra space to avoid layout issues.

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
CaseData.laboratoryDiagnosticConfirmation=Laboratory diagnostic confirmation
CaseData.epidemiologicalConfirmation=An epidemiological link to a confirmed case
CaseData.laboratoryDiagnosticConfirmation=Laboratory diagnostic confirmation
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_pl-PL.properties at lines 425 to 426,
remove the leading space after the '=' sign in the line defining
CaseData.epidemiologicalConfirmation to prevent unwanted spacing in the UI.
Change the line from "CaseData.epidemiologicalConfirmation= An epidemiological
link to a confirmed case" to "CaseData.epidemiologicalConfirmation=An
epidemiological link to a confirmed case" to avoid layout issues caused by the
extra space.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review continued from previous batch...

Comment on lines +199 to +202
actionAefiSelectPrimarySuspectVaccination = Vyberte podezřelou očkovací látku
actionAefiAssignNewReportingIdNumber = "Přiřadit nové AEFI ID"
actionImportSurveyTokens = Importovat tokeny průzkumu
actionImportSurveyTokenResponses = Importovat tokeny odpovědi na průzkum
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Drop super-fluous quotation marks in values

Values in a .properties file are read literally; surrounding them with double quotes causes the quotes to be part of the rendered caption at runtime.

-actionAefiAssignNewReportingIdNumber = "Přiřadit nové AEFI ID"
+actionAefiAssignNewReportingIdNumber = Přiřadit nové AEFI ID

Do the same for the neighbouring keys if quoting was only added for visual emphasis.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionAefiSelectPrimarySuspectVaccination = Vyberte podezřelou očkovací látku
actionAefiAssignNewReportingIdNumber = "Přiřadit nové AEFI ID"
actionImportSurveyTokens = Importovat tokeny průzkumu
actionImportSurveyTokenResponses = Importovat tokeny odpovědi na průzkum
actionAefiSelectPrimarySuspectVaccination = Vyberte podezřelou očkovací látku
actionAefiAssignNewReportingIdNumber = Přiřadit nové AEFI ID
actionImportSurveyTokens = Importovat tokeny průzkumu
actionImportSurveyTokenResponses = Importovat tokeny odpovědi na průzkum
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_cs-CZ.properties around lines 199 to
202, remove the unnecessary double quotes surrounding the value for the key
actionAefiAssignNewReportingIdNumber and any other neighboring keys that have
quotes only for visual emphasis, so that the quotes do not appear in the
rendered captions at runtime.

Comment on lines 2341 to 2345
Aefi.healthFacilityDetails=Facility name & description
Aefi.reporterName=Name
Aefi.reporterInstitution=Insitution
Aefi.reporterDesignation=Designation
Aefi.reporterDepartment=Department
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Typo: “Insitution” → “Institution”
User-visible spelling error in Aefi.reporterInstitution.

-Aefi.reporterInstitution=Insitution
+Aefi.reporterInstitution=Institution
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Aefi.healthFacilityDetails=Facility name & description
Aefi.reporterName=Name
Aefi.reporterInstitution=Insitution
Aefi.reporterDesignation=Designation
Aefi.reporterDepartment=Department
Aefi.healthFacilityDetails=Facility name & description
Aefi.reporterName=Name
Aefi.reporterInstitution=Institution
Aefi.reporterDesignation=Designation
Aefi.reporterDepartment=Department
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_en-GH.properties around lines 2341 to
2345, correct the typo in the key Aefi.reporterInstitution by changing the value
from "Insitution" to "Institution" to fix the user-visible spelling error.

Comment on lines +2438 to +2440
AefiExport.primarySuspectVaccineManufacturer=Primary suspect vaccine name (manufacturer)
AefiExport.primarySuspectVaccineBatchNumber=Primary supect vaccine batch number
AefiExport.primarySuspectVaccineDose=Primary suspect vaccine dose number for this particular vaccinee
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Typo: “supect” ⇒ “suspect”

-AefiExport.primarySuspectVaccineBatchNumber=Primary supect vaccine batch number
+AefiExport.primarySuspectVaccineBatchNumber=Primary suspect vaccine batch number
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
AefiExport.primarySuspectVaccineManufacturer=Primary suspect vaccine name (manufacturer)
AefiExport.primarySuspectVaccineBatchNumber=Primary supect vaccine batch number
AefiExport.primarySuspectVaccineDose=Primary suspect vaccine dose number for this particular vaccinee
AefiExport.primarySuspectVaccineManufacturer=Primary suspect vaccine name (manufacturer)
AefiExport.primarySuspectVaccineBatchNumber=Primary suspect vaccine batch number
AefiExport.primarySuspectVaccineDose=Primary suspect vaccine dose number for this particular vaccinee
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_en-GH.properties at lines 2438 to
2440, fix the typo in the key AefiExport.primarySuspectVaccineBatchNumber by
changing "supect" to "suspect" to correct the spelling error.

Comment on lines +199 to +202
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Standardize action captions – drop quotes & extra whitespace

Extra whitespace after the key delimiter and the embedded quotes around the AEFI ID caption deviate from the existing style in this file and can break key parsing (e.g. ResourceBundle treats everything left of the first = as the key, including spaces).

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
-actionImportSurveyTokens = Import survey tokens
-actionImportSurveyTokenResponses = Import survey token responses
+actionAefiSelectPrimarySuspectVaccination=Select Suspect Vaccination
+actionAefiAssignNewReportingIdNumber=Assign New AEFI ID
+actionImportSurveyTokens=Import survey tokens
+actionImportSurveyTokenResponses=Import survey token responses
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
actionAefiSelectPrimarySuspectVaccination=Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber=Assign New AEFI ID
actionImportSurveyTokens=Import survey tokens
actionImportSurveyTokenResponses=Import survey token responses
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_en-LR.properties around lines 199 to
202, remove the extra whitespace after the equals sign and drop the embedded
quotes around the value for the key actionAefiAssignNewReportingIdNumber to
match the standard style of the file and avoid key parsing issues. Ensure all
key-value pairs follow the format key=value without spaces or quotes.

Comment on lines +3528 to +3533
SystemConfigurationValue.category = Category
SystemConfigurationValue.categoryName = Category
SystemConfigurationValue.encrytp = Encrypt
SystemConfigurationValue.key = Key
SystemConfigurationValue.pattern = Pattern
SystemConfigurationValue.value = Value
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Misspelled key SystemConfigurationValue.encrytp will never be resolved

The application code will most likely look for SystemConfigurationValue.encrypt.
Leaving the typo breaks internationalisation and surfaces as a missing caption.

-SystemConfigurationValue.encrytp = Encrypt
+SystemConfigurationValue.encrypt=Encrypt
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
SystemConfigurationValue.category = Category
SystemConfigurationValue.categoryName = Category
SystemConfigurationValue.encrytp = Encrypt
SystemConfigurationValue.key = Key
SystemConfigurationValue.pattern = Pattern
SystemConfigurationValue.value = Value
SystemConfigurationValue.category = Category
SystemConfigurationValue.categoryName = Category
SystemConfigurationValue.encrypt=Encrypt
SystemConfigurationValue.key = Key
SystemConfigurationValue.pattern = Pattern
SystemConfigurationValue.value = Value
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_en-LR.properties around lines 3528 to
3533, the key `SystemConfigurationValue.encrytp` is misspelled and should be
corrected to `SystemConfigurationValue.encrypt` to match the application code
and ensure the caption is properly resolved for internationalization.

Comment on lines +199 to +202
actionAefiSelectPrimarySuspectVaccination = Seleccionar vacunación sospechosa
actionAefiAssignNewReportingIdNumber = "Asignar nuevo ID de AEFI"
actionImportSurveyTokens = Importar tokens de encuesta
actionImportSurveyTokenResponses = Importar respuestas de token de encuesta
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Remove superfluous blanks and stray quotes

  1. Blanks after the key break the established formatting convention.
  2. The surrounding quotes will be rendered literally in the UI because .properties files don’t treat them as string delimiters.
-actionAefiSelectPrimarySuspectVaccination = Seleccionar vacunación sospechosa
-actionAefiAssignNewReportingIdNumber = "Asignar nuevo ID de AEFI"
+actionAefiSelectPrimarySuspectVaccination=Seleccionar vacunación sospechosa
+actionAefiAssignNewReportingIdNumber=Asignar nuevo ID de AEFI
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionAefiSelectPrimarySuspectVaccination = Seleccionar vacunación sospechosa
actionAefiAssignNewReportingIdNumber = "Asignar nuevo ID de AEFI"
actionImportSurveyTokens = Importar tokens de encuesta
actionImportSurveyTokenResponses = Importar respuestas de token de encuesta
# File: sormas-api/src/main/resources/captions_es-CU.properties
actionAefiSelectPrimarySuspectVaccination=Seleccionar vacunación sospechosa
actionAefiAssignNewReportingIdNumber=Asignar nuevo ID de AEFI
actionImportSurveyTokens = Importar tokens de encuesta
actionImportSurveyTokenResponses = Importar respuestas de token de encuesta
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_es-CU.properties around lines 199 to
202, remove the extra spaces after the keys to match the formatting convention
and delete the surrounding quotes from the value of
actionAefiAssignNewReportingIdNumber so the quotes are not rendered literally in
the UI.

Comment on lines +3528 to +3533
SystemConfigurationValue.category = Categoría
SystemConfigurationValue.categoryName = Categoría
SystemConfigurationValue.encrytp = Cifrar
SystemConfigurationValue.key = Clave
SystemConfigurationValue.pattern = Patrón
SystemConfigurationValue.value = Valor
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Key typo & spacing: encrytp will never be resolved

The system code (English bundle) uses SystemConfigurationValue.encrypt.
With the current misspelling the caption lookup will fall back to the default locale.

-SystemConfigurationValue.encrytp = Cifrar
+SystemConfigurationValue.encrypt=Cifrar
-SystemConfigurationValue.categoryName = Categoría
-SystemConfigurationValue.key = Clave
+SystemConfigurationValue.categoryName=Categoría
+SystemConfigurationValue.key=Clave

Please double-check all usages of SystemConfigurationValue.encrypt in other bundles to stay aligned.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
SystemConfigurationValue.category = Categoría
SystemConfigurationValue.categoryName = Categoría
SystemConfigurationValue.encrytp = Cifrar
SystemConfigurationValue.key = Clave
SystemConfigurationValue.pattern = Patrón
SystemConfigurationValue.value = Valor
# sormas-api/src/main/resources/captions_es-CU.properties
SystemConfigurationValue.category = Categoría
-SystemConfigurationValue.categoryName = Categoría
-SystemConfigurationValue.encrytp = Cifrar
-SystemConfigurationValue.key = Clave
+SystemConfigurationValue.categoryName=Categoría
+SystemConfigurationValue.encrypt=Cifrar
+SystemConfigurationValue.key=Clave
SystemConfigurationValue.pattern = Patrón
SystemConfigurationValue.value = Valor
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_es-CU.properties around lines 3528 to
3533, the key "SystemConfigurationValue.encrytp" is misspelled and should be
corrected to "SystemConfigurationValue.encrypt" to match the system code and
ensure proper caption resolution. Review other locale bundles for consistent
usage of "SystemConfigurationValue.encrypt" and correct any discrepancies.

Comment on lines +199 to +202
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Quotes + untranslated captions may break parsing & UX

  1. The surrounding quotes inside the value of actionAefiAssignNewReportingIdNumber are persisted in the output string and are rarely wanted.
  2. All 4 captions are still English in the French catalogue.
-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
+actionAefiSelectPrimarySuspectVaccination = Sélectionner la vaccination suspecte
+actionAefiAssignNewReportingIdNumber = Attribuer un nouvel ID AEFI

Remove the inner quotes to avoid visual artifacts.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
actionAefiSelectPrimarySuspectVaccination = Sélectionner la vaccination suspecte
actionAefiAssignNewReportingIdNumber = Attribuer un nouvel ID AEFI
actionImportSurveyTokens = Import survey tokens
actionImportSurveyTokenResponses = Import survey token responses
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_fr-TN.properties around lines 199 to
202, remove the inner quotes from the value of
actionAefiAssignNewReportingIdNumber to prevent them from appearing in the UI,
and translate all four English captions into French to ensure proper
localization and avoid parsing or user experience issues.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

♻️ Duplicate comments (2)
sormas-api/src/main/resources/captions_de-DE.properties (2)

55-55: Still English + stray blank before ‘=’
Issue flagged in a previous review is still unresolved. Please translate and drop the blank.

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Teilgeburtsdaten einbeziehen

199-202: Untranslated AEFI action captions, extra blanks and stray quotes
Same findings as in the last review – German bundle still contains English plus formatting issues.

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
-actionImportSurveyTokens = Import survey tokens
-actionImportSurveyTokenResponses = Import survey token responses
+actionAefiSelectPrimarySuspectVaccination=Verdächtigen Impfstoff wählen
+actionAefiAssignNewReportingIdNumber=Neue AEFI-ID vergeben
+actionImportSurveyTokens=Survey-Tokens importieren
+actionImportSurveyTokenResponses=Survey-Antworten importieren
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ea065d6 and d15d0af.

📒 Files selected for processing (1)
  • sormas-api/src/main/resources/captions_de-DE.properties (33 hunks)

@@ -417,7 +422,7 @@ CaseData.caseIdentificationSource=Fall bekannt durch
CaseData.screeningType=Testung/Reihenuntersuchung
CaseData.clinicalConfirmation=Klinische Bestätigung
CaseData.community=Gemeinde
CaseData.epidemiologicalConfirmation=Epidemiologische Bestätigung
CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

English value in German resource

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=Epidemiologische Verbindung zu einem bestätigten Fall
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
CaseData.epidemiologicalConfirmation=Epidemiologische Verbindung zu einem bestätigten Fall
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties at line 425, the
value for the key CaseData.epidemiologicalConfirmation is in English instead of
German. Replace the English text with the correct German translation for "An
epidemiological link to a confirmed case" to maintain language consistency in
the German resource file.

Comment on lines +447 to 449
CaseData.postMortem=Post Mortem
CaseData.department=Facility Department
CaseData.externalID=Externe ID
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

New Case fields left in English

-CaseData.postMortem=Post Mortem
-CaseData.department=Facility Department
+CaseData.postMortem=Post-mortale Untersuchung
+CaseData.department=Abteilung der Einrichtung
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
CaseData.postMortem=Post Mortem
CaseData.department=Facility Department
CaseData.externalID=Externe ID
CaseData.postMortem=Post-mortale Untersuchung
CaseData.department=Abteilung der Einrichtung
CaseData.externalID=Externe ID
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties at lines 447 to 449,
the new Case fields are still in English. Translate the values for
CaseData.postMortem, CaseData.department, and CaseData.externalID into proper
German equivalents to maintain language consistency in the file.

Comment on lines +577 to 581
CaseData.radiographyCompatibility=Radiography
CaseData.otherDiagnosticCriteria=Other diagnostic details

CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
# CaseExport
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Diagnostic captions not localised + leading blank

-CaseData.radiographyCompatibility=Radiography
-CaseData.otherDiagnosticCriteria=Other diagnostic details
-CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
+CaseData.radiographyCompatibility=Röntgenkompatibilität
+CaseData.otherDiagnosticCriteria=Weitere diagnostische Details
+CaseData.clinicalConfirmation.PERTUSSIS=Person, die von Ärztin/Arzt mit Pertussis diagnostiziert wurde
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
CaseData.radiographyCompatibility=Radiography
CaseData.otherDiagnosticCriteria=Other diagnostic details
CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
# CaseExport
CaseData.radiographyCompatibility=Röntgenkompatibilität
CaseData.otherDiagnosticCriteria=Weitere diagnostische Details
CaseData.clinicalConfirmation.PERTUSSIS=Person, die von Ärztin/Arzt mit Pertussis diagnostiziert wurde
# CaseExport
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties around lines 577 to
581, the diagnostic captions are not localized and there is a leading blank
space before the text for CaseData.clinicalConfirmation.PERTUSSIS. Remove the
leading blank space and provide the appropriate German translation for the
diagnostic captions to ensure proper localization.

Comment on lines +854 to +856
Contact.prophylaxisPrescribed = Prophylaxis Prescribed
Contact.prescribedDrug = Prescribed Drug
Contact.prescribedDrugText = Specify Prescribed Drug
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Contact prophylaxis captions untranslated

-Contact.prophylaxisPrescribed = Prophylaxis Prescribed
-Contact.prescribedDrug = Prescribed Drug
-Contact.prescribedDrugText = Specify Prescribed Drug
+Contact.prophylaxisPrescribed=Postexpositionsprophylaxe verordnet
+Contact.prescribedDrug=Verschriebenes Medikament
+Contact.prescribedDrugText=Verschriebenes Medikament angeben
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Contact.prophylaxisPrescribed = Prophylaxis Prescribed
Contact.prescribedDrug = Prescribed Drug
Contact.prescribedDrugText = Specify Prescribed Drug
Contact.prophylaxisPrescribed=Postexpositionsprophylaxe verordnet
Contact.prescribedDrug=Verschriebenes Medikament
Contact.prescribedDrugText=Verschriebenes Medikament angeben
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties at lines 854 to 856,
the captions for Contact.prophylaxisPrescribed, Contact.prescribedDrug, and
Contact.prescribedDrugText are still in English and need to be translated into
German. Replace the English text with the correct German translations for these
keys to ensure localization consistency.

Comment on lines +1020 to +1022
dashboardNumberOfAdverseEvents=Number of Adverse Events
dashboardOtherLabel=Other
dashboardGisMapFilter=Filter
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Dashboard captions in English

-dashboardNumberOfAdverseEvents=Number of Adverse Events
-dashboardOtherLabel=Other
-dashboardGisMapFilter=Filter
+dashboardNumberOfAdverseEvents=Anzahl unerwünschter Ereignisse
+dashboardOtherLabel=Andere
+dashboardGisMapFilter=Filter
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
dashboardNumberOfAdverseEvents=Number of Adverse Events
dashboardOtherLabel=Other
dashboardGisMapFilter=Filter
dashboardNumberOfAdverseEvents=Anzahl unerwünschter Ereignisse
dashboardOtherLabel=Andere
dashboardGisMapFilter=Filter
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties around lines 1020 to
1022, the captions are currently in English but should be in German to match the
file's language. Translate the values of dashboardNumberOfAdverseEvents,
dashboardOtherLabel, and dashboardGisMapFilter into German and replace the
English text accordingly.

Comment on lines 1038 to 1052
#AefiDashboard
aefiDashboardAllAefi=AEFI
aefiDashboardSerious=Serious
aefiDashboardNonSerious=Non Serious
aefiDashboardSeriousAefi=Serious AEFI
aefiDashboardNonSeriousAefi=Non-Serious AEFI
aefiDashboardShowSeriousAefi=Show Serious AEFI
aefiDashboardShowNonSeriousAefi=Show Non-Serious AEFI
aefiDashboardAllAefiInvestigation=Investigationen
aefiDashboardAefiInvestigationDone=Investigation Done
aefiDashboardAefiInvestigationDiscarded=Investigation Discarded
aefiDashboardAefiClassificationRelatedToVaccination=Related to vaccine or vaccination
aefiDashboardAefiClassificationCoincidentalAdverseEvent=Coincidental adverse event
aefiDashboardAefiClassificationUndetermined=Undetermined

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Entire AEFI dashboard section not translated

-aefiDashboardAllAefi=AEFI
-aefiDashboardSerious=Serious
-aefiDashboardNonSerious=Non Serious
-aefiDashboardSeriousAefi=Serious AEFI
-aefiDashboardNonSeriousAefi=Non-Serious AEFI
-aefiDashboardShowSeriousAefi=Show Serious AEFI
-aefiDashboardShowNonSeriousAefi=Show Non-Serious AEFI
-aefiDashboardAllAefiInvestigation=Investigationen
-aefiDashboardAefiInvestigationDone=Investigation Done
-aefiDashboardAefiInvestigationDiscarded=Investigation Discarded
-aefiDashboardAefiClassificationRelatedToVaccination=Related to vaccine or vaccination
-aefiDashboardAefiClassificationCoincidentalAdverseEvent=Coincidental adverse event
-aefiDashboardAefiClassificationUndetermined=Undetermined
+aefiDashboardAllAefi=Alle AEFI
+aefiDashboardSerious=Schwerwiegend
+aefiDashboardNonSerious=Nicht schwerwiegend
+aefiDashboardSeriousAefi=Schwerwiegende AEFI
+aefiDashboardNonSeriousAefi=Nicht schwerwiegende AEFI
+aefiDashboardShowSeriousAefi=Schwerwiegende AEFI anzeigen
+aefiDashboardShowNonSeriousAefi=Nicht schwerwiegende AEFI anzeigen
+aefiDashboardAllAefiInvestigation=Alle Untersuchungen
+aefiDashboardAefiInvestigationDone=Untersuchung abgeschlossen
+aefiDashboardAefiInvestigationDiscarded=Untersuchung verworfen
+aefiDashboardAefiClassificationRelatedToVaccination=Mit Impfstoff/Impfung assoziiert
+aefiDashboardAefiClassificationCoincidentalAdverseEvent=Zufälliges unerwünschtes Ereignis
+aefiDashboardAefiClassificationUndetermined=Ungeklärt
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#AefiDashboard
aefiDashboardAllAefi=AEFI
aefiDashboardSerious=Serious
aefiDashboardNonSerious=Non Serious
aefiDashboardSeriousAefi=Serious AEFI
aefiDashboardNonSeriousAefi=Non-Serious AEFI
aefiDashboardShowSeriousAefi=Show Serious AEFI
aefiDashboardShowNonSeriousAefi=Show Non-Serious AEFI
aefiDashboardAllAefiInvestigation=Investigationen
aefiDashboardAefiInvestigationDone=Investigation Done
aefiDashboardAefiInvestigationDiscarded=Investigation Discarded
aefiDashboardAefiClassificationRelatedToVaccination=Related to vaccine or vaccination
aefiDashboardAefiClassificationCoincidentalAdverseEvent=Coincidental adverse event
aefiDashboardAefiClassificationUndetermined=Undetermined
#AefiDashboard
aefiDashboardAllAefi=Alle AEFI
aefiDashboardSerious=Schwerwiegend
aefiDashboardNonSerious=Nicht schwerwiegend
aefiDashboardSeriousAefi=Schwerwiegende AEFI
aefiDashboardNonSeriousAefi=Nicht schwerwiegende AEFI
aefiDashboardShowSeriousAefi=Schwerwiegende AEFI anzeigen
aefiDashboardShowNonSeriousAefi=Nicht schwerwiegende AEFI anzeigen
aefiDashboardAllAefiInvestigation=Alle Untersuchungen
aefiDashboardAefiInvestigationDone=Untersuchung abgeschlossen
aefiDashboardAefiInvestigationDiscarded=Untersuchung verworfen
aefiDashboardAefiClassificationRelatedToVaccination=Mit Impfstoff/Impfung assoziiert
aefiDashboardAefiClassificationCoincidentalAdverseEvent=Zufälliges unerwünschtes Ereignis
aefiDashboardAefiClassificationUndetermined=Ungeklärt
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties between lines 1038
and 1052, the AEFI dashboard section is not translated and remains in English.
Translate all the English phrases in this section into German to ensure
consistency with the file's language and proper localization.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (8)
sormas-api/src/main/resources/captions_de-DE.properties (8)

55-55: Caption still English + stray whitespace – update translation

The value is English and there is an extra blank before =.

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Teilgeburtsdaten einschließen

199-202: AEFI action captions remain untranslated, quotes + blanks

Same issue raised earlier – keys keep the trailing space, values stay English and one string is quoted.

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
-actionImportSurveyTokens = Import survey tokens
-actionImportSurveyTokenResponses = Import survey token responses
+actionAefiSelectPrimarySuspectVaccination=Verdächtigen Impfstoff wählen
+actionAefiAssignNewReportingIdNumber=Neue AEFI-ID vergeben
+actionImportSurveyTokens=Survey-Tokens importieren
+actionImportSurveyTokenResponses=Survey-Antworten importieren

425-425: Untranslated case caption + leading blank

The German bundle still shows the English text and an unwanted space.

-CaseData.epidemiologicalConfirmation= An epidemiological link to a confirmed case
+CaseData.epidemiologicalConfirmation=Epidemiologische Verbindung zu einem bestätigten Fall

447-448: New case fields left in English

Both captions need German wording.

-CaseData.postMortem=Post Mortem
-CaseData.department=Facility Department
+CaseData.postMortem=Post-mortale Untersuchung
+CaseData.department=Abteilung der Einrichtung

577-580: Diagnostic captions untranslated + leading space

The three keys still contain English text and-/or whitespace.

-CaseData.radiographyCompatibility=Radiography
-CaseData.otherDiagnosticCriteria=Other diagnostic details
-CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
+CaseData.radiographyCompatibility=Röntgenkompatibilität
+CaseData.otherDiagnosticCriteria=Weitere diagnostische Details
+CaseData.clinicalConfirmation.PERTUSSIS=Person, die von Ärztin/Arzt mit Pertussis diagnostiziert wurde

854-856: Contact prophylaxis captions untranslated + stray blanks

Still English and with blanks before =.

-Contact.prophylaxisPrescribed = Prophylaxis Prescribed
-Contact.prescribedDrug = Prescribed Drug
-Contact.prescribedDrugText = Specify Prescribed Drug
+Contact.prophylaxisPrescribed=Postexpositionsprophylaxe verordnet
+Contact.prescribedDrug=Verschriebenes Medikament
+Contact.prescribedDrugText=Verschriebenes Medikament angeben

1020-1022: Dashboard captions still English

Values should be German to keep UI consistent.

-dashboardNumberOfAdverseEvents=Number of Adverse Events
-dashboardOtherLabel=Other
-dashboardGisMapFilter=Filter
+dashboardNumberOfAdverseEvents=Anzahl unerwünschter Ereignisse
+dashboardOtherLabel=Andere
+dashboardGisMapFilter=Filter

1038-1051: Entire AEFI dashboard section not translated

None of the newly added captions are German.

-aefiDashboardAllAefi=AEFI
-aefiDashboardSerious=Serious
-aefiDashboardNonSerious=Non Serious
-aefiDashboardSeriousAefi=Serious AEFI
-aefiDashboardNonSeriousAefi=Non-Serious AEFI
-aefiDashboardShowSeriousAefi=Show Serious AEFI
-aefiDashboardShowNonSeriousAefi=Show Non-Serious AEFI
-aefiDashboardAllAefiInvestigation=Investigationen
-aefiDashboardAefiInvestigationDone=Investigation Done
-aefiDashboardAefiInvestigationDiscarded=Investigation Discarded
-aefiDashboardAefiClassificationRelatedToVaccination=Related to vaccine or vaccination
-aefiDashboardAefiClassificationCoincidentalAdverseEvent=Coincidental adverse event
-aefiDashboardAefiClassificationUndetermined=Undetermined
+aefiDashboardAllAefi=Alle AEFI
+aefiDashboardSerious=Schwerwiegend
+aefiDashboardNonSerious=Nicht schwerwiegend
+aefiDashboardSeriousAefi=Schwerwiegende AEFI
+aefiDashboardNonSeriousAefi=Nicht schwerwiegende AEFI
+aefiDashboardShowSeriousAefi=Schwerwiegende AEFI anzeigen
+aefiDashboardShowNonSeriousAefi=Nicht schwerwiegende AEFI anzeigen
+aefiDashboardAllAefiInvestigation=Alle Untersuchungen
+aefiDashboardAefiInvestigationDone=Untersuchung abgeschlossen
+aefiDashboardAefiInvestigationDiscarded=Untersuchung verworfen
+aefiDashboardAefiClassificationRelatedToVaccination=Mit Impfstoff/Impfung assoziiert
+aefiDashboardAefiClassificationCoincidentalAdverseEvent=Zufälliges unerwünschtes Ereignis
+aefiDashboardAefiClassificationUndetermined=Ungeklärt
🧹 Nitpick comments (6)
sormas-api/src/main/resources/captions_de-DE.properties (6)

1148-1149: DocumentTemplate captions English

German resource should localise UI labels.

-DocumentTemplate.fileName=File name
-DocumentTemplate.disease=Disease
+DocumentTemplate.fileName=Dateiname
+DocumentTemplate.disease=Krankheit

1170-1171: Example template captions not localised

Minor but visible in UI.

-DocumentTemplate.exampleTemplateSurveyDocument=Example Template Survey request document
-DocumentTemplate.exampleTemplateSurveyEmail=Example Template Survey request email
+DocumentTemplate.exampleTemplateSurveyDocument=Beispielvorlage Umfrage-Anschreiben (Dokument)
+DocumentTemplate.exampleTemplateSurveyEmail=Beispielvorlage Umfrage-Anschreiben (E-Mail)

1210-1211: Environment.vectorType untranslated

Should align with other environment captions.

-Environment.vectorType=Vector Type
+Environment.vectorType=Vektortyp

1381-1383: Event-environment fields English

Part of event form – translate.

-Event.environmentMedia = Media
-Event.environment.investigationStatus = Status
-Event.environmentReportDate=Meldedatum
+Event.environmentMedia=Medium
+Event.environment.investigationStatus=Status
+# (Report date is already German)

1523-1524: Exposure IMI captions untranslated

These show up next to German neighbours; translate.

-Exposure.imi.shortDistance=1.0 m distance
-Exposure.imi.longFaceToFaceContact=1 hr face-to-face contact
+Exposure.imi.shortDistance=< 1,0 m Abstand
+Exposure.imi.longFaceToFaceContact=1 h Face-to-Face-Kontakt

1615-1617: Tuberculosis health-condition captions English

Visible in German UI.

-HealthConditions.previousTuberculosisTreatment=Previous Anti-TB Treatment(at least one month)
-HealthConditions.tuberculosisInfectionYear=Year of infection
-HealthConditions.complianceWithTreatment=Compliance With Treatment
+HealthConditions.previousTuberculosisTreatment=Vorherige Anti-TB-Behandlung (mind. 1 Monat)
+HealthConditions.tuberculosisInfectionYear=Infektionsjahr
+HealthConditions.complianceWithTreatment=Therapietreue
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d15d0af and 91936ea.

📒 Files selected for processing (1)
  • sormas-api/src/main/resources/captions_de-DE.properties (34 hunks)

Comment on lines +1268 to 1293
eventNewEnvironment=New Environment
eventSearchEvent=Ereignis suchen
eventSearchSpecificEvent=Nach einem bestimmten Ereignis suchen
linkEvent=Ereignis verknüpfen
linkEventGroup=Gruppe verknüpfen
linkEnvironment=Link environment
eventSelect=Ereignis auswählen
eventSelectGroup=Ereignisgruppe auswählen
environmentSelect=Select Environment
eventDefaultView=Ereignisse
eventActionsView=Aktionen
eventGroupsView=Gruppen
eventNoEventLinkedToCase=Kein Ereignis mit Fall verknüpft
eventNoEventLinkedToEventGroup=Kein Ereignis mit der Ereignisgruppe verknüpft
eventNoEventLinkedToEnvironment=No event linked to this environment
eventNoEventLinkedToContact=Kein Ereignis mit Kontakt verknüpft
eventOnlyWithContactSourceCaseInvolved=Nur Ereignisse, in denen der Indexfall des Kontaktes involviert ist
eventLinkToCases=Ereignis-Fälle anschauen
eventLinkToContacts=Ereignis-Kontakte anschauen
eventSubordinateEvents=Untergeordnete Ereignisse
environmentEvents=Events
eventSuperordinateEvent=Übergeordnetes Ereignis
eventUnlinkEvent=Ereignis trennen
eventUnlinkEventGroup=Ereignisgruppe trennen
eventUnlinkEnvironment=Unlink Environment
eventGroupListEvents=Navigiere zum Ereignisverzeichnis gefiltert nach der Ereignisgruppe
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Environment-event linking captions English

All six keys introduced stay English – translate & drop blanks.

-eventNewEnvironment=New Environment
-linkEnvironment=Link environment
-environmentSelect=Select Environment
-eventNoEventLinkedToEnvironment=No event linked to this environment
-environmentEvents=Events
-eventUnlinkEnvironment=Unlink Environment
+eventNewEnvironment=Neue Umgebung
+linkEnvironment=Umgebung verknüpfen
+environmentSelect=Umgebung auswählen
+eventNoEventLinkedToEnvironment=Kein Ereignis mit dieser Umgebung verknüpft
+environmentEvents=Ereignisse
+eventUnlinkEnvironment=Umgebung trennen
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
eventNewEnvironment=New Environment
eventSearchEvent=Ereignis suchen
eventSearchSpecificEvent=Nach einem bestimmten Ereignis suchen
linkEvent=Ereignis verknüpfen
linkEventGroup=Gruppe verknüpfen
linkEnvironment=Link environment
eventSelect=Ereignis auswählen
eventSelectGroup=Ereignisgruppe auswählen
environmentSelect=Select Environment
eventDefaultView=Ereignisse
eventActionsView=Aktionen
eventGroupsView=Gruppen
eventNoEventLinkedToCase=Kein Ereignis mit Fall verknüpft
eventNoEventLinkedToEventGroup=Kein Ereignis mit der Ereignisgruppe verknüpft
eventNoEventLinkedToEnvironment=No event linked to this environment
eventNoEventLinkedToContact=Kein Ereignis mit Kontakt verknüpft
eventOnlyWithContactSourceCaseInvolved=Nur Ereignisse, in denen der Indexfall des Kontaktes involviert ist
eventLinkToCases=Ereignis-Fälle anschauen
eventLinkToContacts=Ereignis-Kontakte anschauen
eventSubordinateEvents=Untergeordnete Ereignisse
environmentEvents=Events
eventSuperordinateEvent=Übergeordnetes Ereignis
eventUnlinkEvent=Ereignis trennen
eventUnlinkEventGroup=Ereignisgruppe trennen
eventUnlinkEnvironment=Unlink Environment
eventGroupListEvents=Navigiere zum Ereignisverzeichnis gefiltert nach der Ereignisgruppe
eventNewEnvironment=Neue Umgebung
eventSearchEvent=Ereignis suchen
eventSearchSpecificEvent=Nach einem bestimmten Ereignis suchen
linkEvent=Ereignis verknüpfen
linkEventGroup=Gruppe verknüpfen
linkEnvironment=Umgebung verknüpfen
eventSelect=Ereignis auswählen
eventSelectGroup=Ereignisgruppe auswählen
environmentSelect=Umgebung auswählen
eventDefaultView=Ereignisse
eventActionsView=Aktionen
eventGroupsView=Gruppen
eventNoEventLinkedToCase=Kein Ereignis mit Fall verknüpft
eventNoEventLinkedToEventGroup=Kein Ereignis mit der Ereignisgruppe verknüpft
eventNoEventLinkedToEnvironment=Kein Ereignis mit dieser Umgebung verknüpft
eventNoEventLinkedToContact=Kein Ereignis mit Kontakt verknüpft
eventOnlyWithContactSourceCaseInvolved=Nur Ereignisse, in denen der Indexfall des Kontaktes involviert ist
eventLinkToCases=Ereignis-Fälle anschauen
eventLinkToContacts=Ereignis-Kontakte anschauen
eventSubordinateEvents=Untergeordnete Ereignisse
environmentEvents=Ereignisse
eventSuperordinateEvent=Übergeordnetes Ereignis
eventUnlinkEvent=Ereignis trennen
eventUnlinkEventGroup=Ereignisgruppe trennen
eventUnlinkEnvironment=Umgebung trennen
eventGroupListEvents=Navigiere zum Ereignisverzeichnis gefiltert nach der Ereignisgruppe
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties between lines 1268
and 1293, six caption keys related to environment-event linking remain in
English. Translate these six keys into German and remove any blank lines to
maintain consistency with the rest of the file.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🔭 Outside diff range comments (1)
sormas-api/src/main/resources/captions_de-DE.properties (1)

2724-2779: Pertussis symptom block untranslated / inconsistent

Nearly all newly added Pertussis-specific symptom captions are English. Please provide German medical equivalents to keep the symptom form coherent.

Example:

-Symptoms.coughingBouts=Coughing bouts
-Symptoms.coughsProvokeVomiting=Coughs provoke vomiting
-Symptoms.whoopSound=Whoop sound
+Symptoms.coughingBouts=Hustenanfälle
+Symptoms.coughsProvokeVomiting=Husten löst Erbrechen aus
+Symptoms.whoopSound=Stakkato-Husten (Whoop-Geräusch)

Apply the same pattern to the remaining keys in this range.

♻️ Duplicate comments (10)
sormas-api/src/main/resources/captions_de-DE.properties (10)

55-55: Key still contains leading blank + value remains English

The entry keeps the space before = and is untranslated, so look-ups fail to match your enum constant and the UI shows English text.

-includePartialBirthdates = Include partial birthdates
+includePartialBirthdates=Teilgeburtsdaten zulassen

199-202: AEFI action captions: same whitespace + quotation problems, still English

All four keys keep trailing blanks before = and two values contain literal quotes. Please clean up and translate.

-actionAefiSelectPrimarySuspectVaccination = Select Suspect Vaccination
-actionAefiAssignNewReportingIdNumber = "Assign New AEFI ID"
-actionImportSurveyTokens = Import survey tokens
-actionImportSurveyTokenResponses = Import survey token responses
+actionAefiSelectPrimarySuspectVaccination=Verdächtigen Impfstoff auswählen
+actionAefiAssignNewReportingIdNumber=Neue AEFI-ID vergeben
+actionImportSurveyTokens=Survey-Tokens importieren
+actionImportSurveyTokenResponses=Survey-Antworten importieren

447-448: Still untranslated German CaseData fields

Post Mortem and Facility Department are shown to German users in English. Provide proper translations.

-CaseData.postMortem=Post Mortem
-CaseData.department=Facility Department
+CaseData.postMortem=Post-mortale Untersuchung
+CaseData.department=Abteilung der Einrichtung

577-581: Diagnostic caption block unchanged – English + leading blank

The three keys are rendered English and one starts with a blank. Please translate and strip the blank.

-CaseData.radiographyCompatibility=Radiography
-CaseData.otherDiagnosticCriteria=Other diagnostic details
-CaseData.clinicalConfirmation.PERTUSSIS= Any person diagnosed as pertussis by a physician
+CaseData.radiographyCompatibility=Röntgenkompatibilität
+CaseData.otherDiagnosticCriteria=Weitere diagnostische Details
+CaseData.clinicalConfirmation.PERTUSSIS=Person, die von Ärztin/Arzt mit Pertussis diagnostiziert wurde

854-856: Contact prophylaxis captions remain English

Translate and remove blanks before =.

-Contact.prophylaxisPrescribed = Prophylaxis Prescribed
-Contact.prescribedDrug = Prescribed Drug
-Contact.prescribedDrugText = Specify Prescribed Drug
+Contact.prophylaxisPrescribed=Postexpositionsprophylaxe verordnet
+Contact.prescribedDrug=Verschriebenes Medikament
+Contact.prescribedDrugText=Verschriebenes Medikament angeben

1020-1022: Dashboard captions still English

-dashboardNumberOfAdverseEvents=Number of Adverse Events
-dashboardOtherLabel=Other
-dashboardGisMapFilter=Filter
+dashboardNumberOfAdverseEvents=Anzahl unerwünschter Ereignisse
+dashboardOtherLabel=Andere
+dashboardGisMapFilter=Filter

1038-1051: AEFI dashboard block partly untranslated

Several entries still English while one is already German – inconsistent UI. Translate all or none.

-aefiDashboardAllAefi=AEFI
-aefiDashboardSerious=Serious
-aefiDashboardNonSerious=Non Serious
-aefiDashboardSeriousAefi=Serious AEFI
-aefiDashboardNonSeriousAefi=Non-Serious AEFI
-aefiDashboardShowSeriousAefi=Show Serious AEFI
-aefiDashboardAefiInvestigationDone=Investigation Done
-aefiDashboardAefiInvestigationDiscarded=Investigation Discarded
-aefiDashboardAefiClassificationCoincidentalAdverseEvent=Coincidental adverse event
-aefiDashboardAefiClassificationUndetermined=Undetermined
+aefiDashboardAllAefi=Alle AEFI
+aefiDashboardSerious=Schwerwiegend
+aefiDashboardNonSerious=Nicht schwerwiegend
+aefiDashboardSeriousAefi=Schwerwiegende AEFI
+aefiDashboardNonSeriousAefi=Nicht schwerwiegende AEFI
+aefiDashboardShowSeriousAefi=Schwerwiegende AEFI anzeigen
+aefiDashboardAefiInvestigationDone=Untersuchung abgeschlossen
+aefiDashboardAefiInvestigationDiscarded=Untersuchung verworfen
+aefiDashboardAefiClassificationCoincidentalAdverseEvent=Zufälliges unerwünschtes Ereignis
+aefiDashboardAefiClassificationUndetermined=Ungeklärt

1139-1141: Therapy captions unchanged – still English

-Therapy.directlyObservedTreatment = Directly observed treatment
-Therapy.mdrXdrTuberculosis = MDR/XDR tuberculosis
-Therapy.beijingLineage = Beijing lineage
+Therapy.directlyObservedTreatment=Direkt beobachtete Behandlung
+Therapy.mdrXdrTuberculosis=MDR/XDR-Tuberkulose
+Therapy.beijingLineage=Beijing-Linie

1178-1190: EntityColumn section still completely English – same whitespace issue as before. See earlier review.


1268-1292: Environment-event linking captions still English & blank issues – duplicate of earlier comment.

🧹 Nitpick comments (7)
sormas-api/src/main/resources/captions_de-DE.properties (7)

1147-1150: DocumentTemplate labels remain English – translate for German UI

-DocumentTemplate.fileName=File name
-DocumentTemplate.disease=Disease
+DocumentTemplate.fileName=Dateiname
+DocumentTemplate.disease=Krankheit

1210-1211: Environment.vectorType untranslated

-Environment.vectorType=Vector Type
+Environment.vectorType=Vektorart

1251-1252: EnvironmentSample.vectorType untranslated

-EnvironmentSample.vectorType=Vector Type
+EnvironmentSample.vectorType=Vektorart

1615-1617: New tuberculosis health-condition lines left English

-HealthConditions.previousTuberculosisTreatment=Previous Anti-TB Treatment(at least one month)
-HealthConditions.tuberculosisInfectionYear=Year of infection
-HealthConditions.complianceWithTreatment=Compliance With Treatment
+HealthConditions.previousTuberculosisTreatment=Frühere Anti-TB-Behandlung (mind. ein Monat)
+HealthConditions.tuberculosisInfectionYear=Jahr der Infektion
+HealthConditions.complianceWithTreatment=Therapietreue

1864-1874: PathogenTest advanced resistance keys untranslated

Provide German captions to keep the laboratory form consistent.

-PathogenTest.rifampicinResistant=Rifampicin resistant
-PathogenTest.isoniazidResistant=Isoniazid resistant
-PathogenTest.specie=Specie
-PathogenTest.patternProfile=Pattern profile
-PathogenTest.strainCallStatus=Strain Call Status
-PathogenTest.testScale=Test Scale
-PathogenTest.drugSusceptibility=Drug Susceptibility
-PathogenTest.seroTypingMethod=Sero Typing Method
-PathogenTest.seroTypingMethodText=Specify Sero Typing Method
-PathogenTest.seroGroupSpecification=Serogroup Specification
-PathogenTest.seroGroupSpecificationText=Specify Serogroup Specification Method
+PathogenTest.rifampicinResistant=Rifampicin-Resistenz
+PathogenTest.isoniazidResistant=Isoniazid-Resistenz
+PathogenTest.specie=Spezies
+PathogenTest.patternProfile=Musterprofil
+PathogenTest.strainCallStatus=Stammbestimmungs-Status
+PathogenTest.testScale=Testskala
+PathogenTest.drugSusceptibility=Arzneimittel-Empfindlichkeit
+PathogenTest.seroTypingMethod=Serotypisierungs-Methode
+PathogenTest.seroTypingMethodText=Serotypisierungs-Methode angeben
+PathogenTest.seroGroupSpecification=Serogruppen-Spezifikation
+PathogenTest.seroGroupSpecificationText=Serogruppen-Spezifikation angeben

1967-1971: Person legal-status attributes untranslated

-Person.entryDate=Entry Date
-Person.livingStatus=Living Status
-Person.hasGuardian=Person has a legal guardian (i.e. in case of minors or incapacitated persons)
-Person.incapacitated=Incapacitated (i.e. person will have a legal guardian after 18)
-Person.emancipated=Emancipated (i.e. person is under 18 and does not have a guardian by law)
+Person.entryDate=Eintrittsdatum
+Person.livingStatus=Lebensstatus
+Person.hasGuardian=Person hat eine*n gesetzliche*n Vertreter*in (z. B. Minderjährige oder nicht geschäftsfähige Personen)
+Person.incapacitated=Geschäftsunfähig (benötigt nach Volljährigkeit gesetzliche Vertretung)
+Person.emancipated=Emanzipiert (unter 18 J., ohne gesetzliche Vertretung)

2898-2905: Additional clinical-presentation keys remain English

Translate to German for end-user consistency.

-Symptoms.asymptomatic=Asymptomatic
-Symptoms.hemorrhagicRash=Hemorrhagic Rash
-Symptoms.arthritis=Septic Arthritis
-Symptoms.meningitis=Meningitis
-Symptoms.septicaemia=Septicaemia
-Symptoms.nocturnalCough= Nocturnal Cough
-Symptoms.otherClinicalPresentation=Other Clinical Presentation Symptoms
-Symptoms.otherClinicalPresentationText=Specify Other Symptoms
+Symptoms.asymptomatic=Asymptomatisch
+Symptoms.hemorrhagicRash=Hämorrhagischer Ausschlag
+Symptoms.arthritis=Septische Arthritis
+Symptoms.meningitis=Meningitis
+Symptoms.septicaemia=Septikämie
+Symptoms.nocturnalCough=Nächtlicher Husten
+Symptoms.otherClinicalPresentation=Weitere klinische Präsentationssymptome
+Symptoms.otherClinicalPresentationText=Weitere Symptome angeben
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 91936ea and e279974.

📒 Files selected for processing (1)
  • sormas-api/src/main/resources/captions_de-DE.properties (34 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
sormas-api/src/main/resources/captions_de-DE.properties (1)
sormas-api/src/main/java/de/symeda/sormas/api/i18n/Captions.java (1)
  • Captions (5-2902)

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

🔭 Outside diff range comments (2)
sormas-api/src/main/resources/captions_de-DE.properties (2)

1515-1515: Untranslated exposure caption

Exposure.imi.shortDistance is shown to end-users but is still English.

-Exposure.imi.shortDistance=1.0 m distance
+Exposure.imi.shortDistance=< 1,0 m Abstand

2933-2933: Environment sample creation caption untranslated

-environmentSampleNewSample=New sample
+environmentSampleNewSample=Neue Probe
♻️ Duplicate comments (1)
sormas-api/src/main/resources/captions_de-DE.properties (1)

55-55: Same i18n + formatting issues already raised earlier

These keys still contain (1) leading blanks before “=”, (2) untranslated English values and/or stray quotes. See earlier review for concrete fixes.
No additional feedback required here.

Also applies to: 199-202, 425-425, 447-448, 577-580, 854-856, 1020-1022, 1038-1052, 1138-1141, 1177-1191, 1268-1292

🧹 Nitpick comments (1)
sormas-api/src/main/resources/captions_de-DE.properties (1)

3483-3485: Confirmation-dialog strings not localised

-confirmChangesField=Field\:
-confirmChangesValue=Will be changed to\:
+confirmChangesField=Feld\:
+confirmChangesValue=Wird geändert zu\:
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e279974 and 4d80d21.

📒 Files selected for processing (1)
  • sormas-api/src/main/resources/captions_de-DE.properties (37 hunks)
🔇 Additional comments (1)
sormas-api/src/main/resources/captions_de-DE.properties (1)

3542-3554: Diagnosis-criteria captions untranslated

Provide German equivalents or these tables will mix languages.

Comment on lines +1210 to 1211
Environment.vectorType=Vector Type

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Translate “Vector Type” captions + drop blank

Both environment-related keys remain English and one line has a leading blank before “=”. Suggested quick fix:

-Environment.vectorType=Vector Type
-EnvironmentSample.vectorType=Vector Type
+Environment.vectorType=Vektorart
+EnvironmentSample.vectorType=Vektorart

Also applies to: 1251-1252

🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties at lines 1210-1211
and 1251-1252, translate the English caption "Vector Type" into German and
remove any leading blank spaces before the equals sign. Ensure both
environment-related keys are fully translated and formatted without leading
whitespace.

Comment on lines +1381 to 1384
Event.environmentMedia = Media
Event.environment.investigationStatus = Status
Event.environmentReportDate=Meldedatum
# Event action
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Event-environment captions not localised

Event.environmentMedia and Event.environment.investigationStatus still use English placeholders. Please supply proper German translations and align the key naming (dot inside key is unusual).

-Event.environmentMedia = Media
-Event.environment.investigationStatus = Status
+Event.environmentMedia=Medium
+Event.environmentInvestigationStatus=Untersuchungsstatus
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Event.environmentMedia = Media
Event.environment.investigationStatus = Status
Event.environmentReportDate=Meldedatum
# Event action
Event.environmentMedia=Medium
Event.environmentInvestigationStatus=Untersuchungsstatus
# Event action
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties around lines 1381 to
1384, the keys Event.environmentMedia and Event.environment.investigationStatus
use English placeholders and have unusual dot notation in the key names. Replace
the English placeholders with proper German translations and rename the keys to
use underscores or camelCase instead of dots to align with naming conventions.

Comment on lines +1615 to +1617
HealthConditions.previousTuberculosisTreatment=Previous Anti-TB Treatment(at least one month)
HealthConditions.tuberculosisInfectionYear=Year of infection
HealthConditions.complianceWithTreatment=Compliance With Treatment
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Health-condition extensions left in English

Provide German equivalents and remove blanks:

-HealthConditions.previousTuberculosisTreatment=Previous Anti-TB Treatment(at least one month)
-HealthConditions.tuberculosisInfectionYear=Year of infection
-HealthConditions.complianceWithTreatment=Compliance With Treatment
+HealthConditions.previousTuberculosisTreatment=Frühere Anti-TB-Behandlung (mindestens ein Monat)
+HealthConditions.tuberculosisInfectionYear=Infektionsjahr
+HealthConditions.complianceWithTreatment=Therapietreue
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
HealthConditions.previousTuberculosisTreatment=Previous Anti-TB Treatment(at least one month)
HealthConditions.tuberculosisInfectionYear=Year of infection
HealthConditions.complianceWithTreatment=Compliance With Treatment
HealthConditions.previousTuberculosisTreatment=Frühere Anti-TB-Behandlung (mindestens ein Monat)
HealthConditions.tuberculosisInfectionYear=Infektionsjahr
HealthConditions.complianceWithTreatment=Therapietreue
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties at lines 1615 to
1617, the health condition captions are still in English and contain unnecessary
blanks. Replace the English text with the correct German translations for each
key and remove any extra spaces to ensure consistency and proper localization.

Comment on lines +1864 to 1875
PathogenTest.rifampicinResistant=Rifampicin resistant
PathogenTest.isoniazidResistant=Isoniazid resistant
PathogenTest.specie=Specie
PathogenTest.patternProfile=Pattern profile
PathogenTest.strainCallStatus=Strain Call Status
PathogenTest.testScale=Test Scale
PathogenTest.drugSusceptibility=Drug Susceptibility
PathogenTest.seroTypingMethod=Sero Typing Method
PathogenTest.seroTypingMethodText=Specify Sero Typing Method
PathogenTest.seroGroupSpecification=Serogroup Specification
PathogenTest.seroGroupSpecificationText=Specify Serogroup Specification Method
# Person
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

New pathogen-test attributes untranslated

The whole block is still English; update before UI freeze.

-PathogenTest.rifampicinResistant=Rifampicin resistant
-PathogenTest.isoniazidResistant=Isoniazid resistant
-PathogenTest.specie=Specie
-PathogenTest.patternProfile=Pattern profile
-PathogenTest.strainCallStatus=Strain Call Status
-PathogenTest.testScale=Test Scale
-PathogenTest.drugSusceptibility=Drug Susceptibility
-PathogenTest.seroTypingMethod=Sero Typing Method
-PathogenTest.seroTypingMethodText=Specify Sero Typing Method
-PathogenTest.seroGroupSpecification=Serogroup Specification
-PathogenTest.seroGroupSpecificationText=Specify Serogroup Specification Method
+PathogenTest.rifampicinResistant=Rifampicin-Resistenz
+PathogenTest.isoniazidResistant=Isoniazid-Resistenz
+PathogenTest.specie=Spezies
+PathogenTest.patternProfile=Musterprofil
+PathogenTest.strainCallStatus=Stamm-Bewertungsstatus
+PathogenTest.testScale=Testschema
+PathogenTest.drugSusceptibility=Arzneimittel-Empfindlichkeit
+PathogenTest.seroTypingMethod=Serotypisierungs­methode
+PathogenTest.seroTypingMethodText=Serotypisierungs­methode angeben
+PathogenTest.seroGroupSpecification=Serogruppen­spezifikation
+PathogenTest.seroGroupSpecificationText=Methode der Serogruppen­spezifikation angeben
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
PathogenTest.rifampicinResistant=Rifampicin resistant
PathogenTest.isoniazidResistant=Isoniazid resistant
PathogenTest.specie=Specie
PathogenTest.patternProfile=Pattern profile
PathogenTest.strainCallStatus=Strain Call Status
PathogenTest.testScale=Test Scale
PathogenTest.drugSusceptibility=Drug Susceptibility
PathogenTest.seroTypingMethod=Sero Typing Method
PathogenTest.seroTypingMethodText=Specify Sero Typing Method
PathogenTest.seroGroupSpecification=Serogroup Specification
PathogenTest.seroGroupSpecificationText=Specify Serogroup Specification Method
# Person
PathogenTest.rifampicinResistant=Rifampicin-Resistenz
PathogenTest.isoniazidResistant=Isoniazid-Resistenz
PathogenTest.specie=Spezies
PathogenTest.patternProfile=Musterprofil
PathogenTest.strainCallStatus=Stamm-Bewertungsstatus
PathogenTest.testScale=Testschema
PathogenTest.drugSusceptibility=Arzneimittel-Empfindlichkeit
PathogenTest.seroTypingMethod=Serotypisierungs­methode
PathogenTest.seroTypingMethodText=Serotypisierungs­methode angeben
PathogenTest.seroGroupSpecification=Serogruppen­spezifikation
PathogenTest.seroGroupSpecificationText=Methode der Serogruppen­spezifikation angeben
# Person
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties between lines 1864
and 1875, the new pathogen-test attribute keys are still in English. Translate
all the values into German to ensure the UI displays localized text before the
UI freeze.

Comment on lines +2723 to 2735
Symptoms.apnoea=Apnoea (infant)
Symptoms.confusedDisoriented=Verwirrt oder desorientiert
Symptoms.congenitalGlaucoma=Angeborenes Glaukom
Symptoms.congenitalHeartDisease=Angeborene Herzkrankheit
Symptoms.congenitalHeartDiseaseType=Art der Herzkrankheit
Symptoms.congenitalHeartDiseaseDetails=Angeben
Symptoms.conjunctivitis=Konjunktivitis (gerötete Augen)
Symptoms.cough=Husten
Symptoms.coughingBouts=Coughing bouts
Symptoms.coughingBouts.PERTUSSIS=Any person with a cough lasting at least two weeks <b>AND</b>
Symptoms.apnoea.PERTUSSIS=Apnoeic episodes in infants
Symptoms.coughsProvokeVomiting=Coughs provoke vomiting
Symptoms.coughWithSputum=Husten mit Sputum
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Large symptom block still EN → DE

Multiple newly introduced pertussis & general symptom captions are left untranslated and, in some cases, have leading blanks. Please provide German texts before release; otherwise the UI will degrade.

Examples (adjust wording as required):

-Symptoms.apnoea=Apnoea (infant)
-Symptoms.coughingBouts=Coughing bouts
-Symptoms.whoopSound=Whoop sound
-Symptoms.meningealSigns=Meningeal Signs
-Symptoms.asymptomatic=Asymptomatic
-Symptoms.hemorrhagicRash=Hemorrhagic Rash
-Symptoms.arthritis=Septic Arthritis
-Symptoms.meningitis=Meningitis
-Symptoms.septicaemia=Septicaemia
-Symptoms.nocturnalCough= Nocturnal Cough
-Symptoms.otherClinicalPresentation=Other Clinical Presentation Symptoms
-Symptoms.otherClinicalPresentationText=Specify Other Symptoms
-Symptoms.dateOfOnsetKnown=Date of onset known
-Symptoms.clinicalPresentationStatus=Signs and symptoms
+Symptoms.apnoea=Atemaussetzer (Säugling)
+Symptoms.coughingBouts=Hustenanfälle
+Symptoms.whoopSound=Keuchhusten-typischer „Whoop“-Laut
+Symptoms.meningealSigns=Meningenzeichen
+Symptoms.asymptomatic=Asymptomatisch
+Symptoms.hemorrhagicRash=Hämorrhagischer Hautausschlag
+Symptoms.arthritis=Septische Arthritis
+Symptoms.meningitis=Hirnhautentzündung (Meningitis)
+Symptoms.septicaemia=Septikämie
+Symptoms.nocturnalCough=Nächtlicher Husten
+Symptoms.otherClinicalPresentation=Weitere klinische Präsentationen
+Symptoms.otherClinicalPresentationText=Weitere Symptome angeben
+Symptoms.dateOfOnsetKnown=Beginn bekannt
+Symptoms.clinicalPresentationStatus=Klinische Präsentation

Also applies to: 2787-2788, 2898-2915

🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties between lines 2723
and 2735, several new symptom captions related to pertussis and general symptoms
remain untranslated and some have leading spaces. To fix this, translate all
English symptom captions into proper German equivalents, remove any leading
blanks, and ensure consistency in terminology. Also, apply the same translation
and formatting corrections to lines 2787-2788 and 2898-2915 to maintain UI
quality.

Comment on lines +3433 to 3434
environmentNoEnvs = There are no environments for this event %s

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

English fallback for empty environment list

-environmentNoEnvs = There are no environments for this event %s
+environmentNoEnvs=Für dieses Ereignis sind keine Umgebungen vorhanden %s
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
environmentNoEnvs = There are no environments for this event %s
environmentNoEnvs=Für dieses Ereignis sind keine Umgebungen vorhanden %s
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties at lines 3433 to
3434, the property environmentNoEnvs currently has an English message. Replace
the English text with the correct German translation for "There are no
environments for this event %s" to provide a proper German fallback message.

Comment on lines +3506 to +3515
SurveyDocumentOptions.survey = Survey
SurveyDocumentOptions.recipientEmail = Recipient email

# Disease configuration
diseaseConfigurationReportingTypeFilter=Reporting Type

# DiseaseConfiguration
DiseaseConfiguration.disease=Disease
DiseaseConfiguration.active=Active
DiseaseConfiguration.primaryDisease=Primary
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Survey & disease-configuration captions need German

Several newly added survey/disease-configuration keys are still English. Translate before cutting a release.

-SurveyDocumentOptions.survey = Survey
-SurveyDocumentOptions.recipientEmail = Recipient email
-diseaseConfigurationReportingTypeFilter=Reporting Type
+SurveyDocumentOptions.survey=Umfrage
+SurveyDocumentOptions.recipientEmail=Empfänger-E-Mail
+diseaseConfigurationReportingTypeFilter=Meldetyp
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
SurveyDocumentOptions.survey = Survey
SurveyDocumentOptions.recipientEmail = Recipient email
# Disease configuration
diseaseConfigurationReportingTypeFilter=Reporting Type
# DiseaseConfiguration
DiseaseConfiguration.disease=Disease
DiseaseConfiguration.active=Active
DiseaseConfiguration.primaryDisease=Primary
SurveyDocumentOptions.survey=Umfrage
SurveyDocumentOptions.recipientEmail=Empfänger-E-Mail
# Disease configuration
diseaseConfigurationReportingTypeFilter=Meldetyp
# DiseaseConfiguration
DiseaseConfiguration.disease=Disease
DiseaseConfiguration.active=Active
DiseaseConfiguration.primaryDisease=Primary
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties around lines 3506 to
3515, the captions for survey and disease-configuration keys are still in
English. Replace the English text with the correct German translations for all
keys in this section before the release. Ensure the translations are accurate
and consistent with the existing German captions style.

Comment on lines 3537 to 3540
Notifier.notification = Notification
Notification.dateOfNotification = Date of notification
Notification.noNotification = There are no notifications

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Notifier captions missing German

-Notifier.notification = Notification
-Notification.dateOfNotification = Date of notification
-Notification.noNotification = There are no notifications
+Notifier.notification=Benachrichtigung
+Notification.dateOfNotification=Datum der Benachrichtigung
+Notification.noNotification=Keine Benachrichtigungen vorhanden
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Notifier.notification = Notification
Notification.dateOfNotification = Date of notification
Notification.noNotification = There are no notifications
Notifier.notification=Benachrichtigung
Notification.dateOfNotification=Datum der Benachrichtigung
Notification.noNotification=Keine Benachrichtigungen vorhanden
🤖 Prompt for AI Agents
In sormas-api/src/main/resources/captions_de-DE.properties around lines 3537 to
3540, the captions for Notifier are currently in English and missing their
German translations. Replace the English text with the correct German
translations for each caption key to ensure localization is complete and
consistent.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🔭 Outside diff range comments (1)
sormas-api/src/main/resources/captions_es-CU.properties (1)

667-679: Translate remaining English labels in previous hospitalization block and normalize spacing

Bring these in line with the rest of the Spanish bundle.

-CasePreviousHospitalization.healthFacilityDepartment=Department
-CasePreviousHospitalization.icuLengthOfStay=Length of stay in the ICU
-CasePreviousHospitalization.oxygenPrescribed=Was oxygen prescribed during the hospitalization?
-CasePreviousHospitalization.stillHospitalized=Is the patient still hospitalized?
+CasePreviousHospitalization.healthFacilityDepartment=Departamento
+CasePreviousHospitalization.icuLengthOfStay=Duración de la estancia en la UCI (días)
+CasePreviousHospitalization.oxygenPrescribed=Oxígeno prescrito durante la hospitalización
+CasePreviousHospitalization.stillHospitalized=¿El paciente sigue hospitalizado?
♻️ Duplicate comments (9)
sormas-api/src/main/resources/captions_es-CU.properties (9)

1148-1153: Therapy block: translate remaining English values and fix spacing (repeat of prior feedback)

Update translations and normalize formatting.

-Therapy.directlyObservedTreatment = Tratamiento observado directamente
-Therapy.mdrXdrTuberculosis = Tuberculosis multirresistente/ultrarresistente
-Therapy.beijingLineage = Linaje Beijing
-Therapy.treatmentStarted = Treatment started
-Therapy.treatmentNotApplicable = Treatment not applicable
-Therapy.treatmentStartedDate = Treatment started date
+Therapy.directlyObservedTreatment=Tratamiento directamente observado
+Therapy.mdrXdrTuberculosis=Tuberculosis MDR/XDR
+Therapy.beijingLineage=Línea Beijing
+Therapy.treatmentStarted=Tratamiento iniciado
+Therapy.treatmentNotApplicable=No aplicable
+Therapy.treatmentStartedDate=Fecha de inicio del tratamiento

3462-3462: Normalize '=' spacing (repeat of prior feedback)

Align with global convention.

-environmentNoEnvs = No hay ambientes para este evento %s
+environmentNoEnvs=No hay ambientes para este evento %s

199-202: Remove stray quotes and spaces around '=' (repeat of prior comment)

Also align with "key=value" formatting.

-actionAefiSelectPrimarySuspectVaccination = Seleccionar vacunación sospechosa
-actionAefiAssignNewReportingIdNumber = "Asignar nuevo ID de AEFI"
-actionImportSurveyTokens = Importar tokens de encuesta
-actionImportSurveyTokenResponses = Importar respuestas de token de encuesta
+actionAefiSelectPrimarySuspectVaccination=Seleccionar vacunación sospechosa
+actionAefiAssignNewReportingIdNumber=Asignar nuevo ID de AEFI
+actionImportSurveyTokens=Importar tokens de encuesta
+actionImportSurveyTokenResponses=Importar respuestas de token de encuesta

1545-1546: Translate childcare facility captions (repeat of prior feedback)

Localize remaining English values.

-Exposure.typeOfChildcareFacility=Type of childcare facility
-Exposure.childcareFacilityDetails=Type of childcare facility details
+Exposure.typeOfChildcareFacility=Tipo de centro de cuidado infantil
+Exposure.childcareFacilityDetails=Detalles del centro de cuidado infantil

1629-1633: Translate HealthConditions additions (repeat of prior feedback)

Bring the remaining values into Spanish.

-HealthConditions.recurrentBronchiolitis=Recurrent bronchiolitis
-HealthConditions.immunodepression=Immunodepression
-HealthConditions.previousTuberculosisTreatment=Tratamiento anterior contra la TB (de al menos un mes)
-HealthConditions.tuberculosisInfectionYear=Año de la infección
-HealthConditions.complianceWithTreatment=Cumplimiento del tratamiento
+HealthConditions.recurrentBronchiolitis=Bronquiolitis recurrente
+HealthConditions.immunodepression=Inmunodepresión
+HealthConditions.previousTuberculosisTreatment=Tratamiento previo contra la TB (al menos un mes)
+HealthConditions.tuberculosisInfectionYear=Año de infección
+HealthConditions.complianceWithTreatment=Adherencia al tratamiento

1881-1881: Medical term typo (repeat of prior feedback): isoniazida

Correct Spanish spelling.

-PathogenTest.isoniazidResistant=Resistente a la isoniacida
+PathogenTest.isoniazidResistant=Resistente a la isoniazida

1988-1991: Translate newborn/person fields (repeat of prior feedback)

Localize and keep formatting consistent.

-Person.gestationalAgeCategory=Gestational age category
-Person.birthWeightCategory=Birth weight category
-Person.birthWeightValue=Birth weight value
-Person.multipleBirth=Multiple birth
+Person.gestationalAgeCategory=Categoría de edad gestacional
+Person.birthWeightCategory=Categoría de peso al nacer
+Person.birthWeightValue=Peso al nacer
+Person.multipleBirth=Parto múltiple

3557-3564: Fix misspelled key and spacing (repeat of prior critical feedback)

  • Correct key to SystemConfigurationValue.encrypt to match code.
  • Normalize spacing throughout the block.
-SystemConfigurationValue.category = Categoría
-SystemConfigurationValue.categoryName = Categoría
-SystemConfigurationValue.encrytp = Cifrar
-SystemConfigurationValue.key = Clave
-SystemConfigurationValue.pattern = Patrón
-SystemConfigurationValue.value = Valor
-SystemConfigurationValue.General = General
+SystemConfigurationValue.category=Categoría
+SystemConfigurationValue.categoryName=Categoría
+SystemConfigurationValue.encrypt=Cifrar
+SystemConfigurationValue.key=Clave
+SystemConfigurationValue.pattern=Patrón
+SystemConfigurationValue.value=Valor
+SystemConfigurationValue.General=General

3566-3576: Translate Notification block and normalize spacing (repeat of prior feedback)

Localize remaining English values.

-Notifier.notification = Notificación
-Notification.dateOfNotification = Fecha de notificación
-Notification.noNotification = No hay notificaciones
-Notification.reportingAgent = Reporting Health Agent:
-Notification.registrationNumber = Registration Number
-Notification.createNotification = Create Notification
-Notification.editNotification = Edit Notification
-Notification.viewNotification = View Notification
-Notification.notificationTypeExternal = External notification
-Notification.notificationTypePhone = Phone notification
+Notifier.notification=Notificación
+Notification.dateOfNotification=Fecha de notificación
+Notification.noNotification=No hay notificaciones
+Notification.reportingAgent=Agente de salud informante:
+Notification.registrationNumber=Número de registro
+Notification.createNotification=Crear notificación
+Notification.editNotification=Editar notificación
+Notification.viewNotification=Ver notificación
+Notification.notificationTypeExternal=Notificación externa
+Notification.notificationTypePhone=Notificación telefónica
🧹 Nitpick comments (11)
sormas-api/src/main/resources/captions_es-CU.properties (11)

55-55: Normalize '=' spacing to match file convention

Drop spaces around '=' for consistency.

-includePartialBirthdates = Incluir fechas de nacimiento incompletas
+includePartialBirthdates=Incluir fechas de nacimiento incompletas

425-425: Remove leading space after '='

Tiny formatting glitch; keep consistent.

-CaseData.epidemiologicalConfirmation= Un vínculo epidemiológico con un caso confirmado
+CaseData.epidemiologicalConfirmation=Un vínculo epidemiológico con un caso confirmado

447-448: Spanish localization and consistency: fix English terms and spacing

  • Prefer “Post mortem” in Spanish UI.
  • Translate “Department” to “Departamento”.
  • Normalize spacing.
-CaseData.postMortem=Post Mortem
-CaseData.department=Departamento
-CaseData.healthFacilityDepartment=Departamento
-CaseData.postpartum=Postpartum
+CaseData.postMortem=Post mortem
+CaseData.department=Departamento
+CaseData.healthFacilityDepartment=Departamento
+CaseData.postpartum=Posparto

Also applies to: 456-456, 478-478


578-581: Remove leading spaces and refine wording

  • “Radiografía” alone is ambiguous; suggest more descriptive label.
  • Remove leading space in the PERTUSSIS line.
-CaseData.radiographyCompatibility=Radiografía
-CaseData.otherDiagnosticCriteria=Otros detalles del diagnóstico
-CaseData.clinicalConfirmation.PERTUSSIS= Cualquier persona diagnosticada con tos ferina por un médico
+CaseData.radiographyCompatibility=Compatibilidad radiográfica
+CaseData.otherDiagnosticCriteria=Otros criterios diagnósticos (detalles)
+CaseData.clinicalConfirmation.PERTUSSIS=Cualquier persona diagnosticada con tos ferina por un médico

1190-1203: Normalize '=' spacing across EntityColumn block

Adopt key=value convention uniformly.

-EntityColumn.ENTITY = Entidad
-EntityColumn.FIELD_ID = ID de campo
-EntityColumn.FIELD = Campo
-EntityColumn.TYPE = Tipo
-EntityColumn.DATA_PROTECTION = Protección de datos
-EntityColumn.CAPTION = Leyenda
-EntityColumn.DESCRIPTION = Descripción
-EntityColumn.REQUIRED = Requerido
-EntityColumn.NEW_DISEASE = Nueva enfermedad
-EntityColumn.DISEASES = Enfermedades
-EntityColumn.OUTBREAKS = Brotes
-EntityColumn.IGNORED_COUNTRIES = Países ignorados
-EntityColumn.EXCLUSIVE_COUNTRIES = Países exclusivos
+EntityColumn.ENTITY=Entidad
+EntityColumn.FIELD_ID=ID de campo
+EntityColumn.FIELD=Campo
+EntityColumn.TYPE=Tipo
+EntityColumn.DATA_PROTECTION=Protección de datos
+EntityColumn.CAPTION=Leyenda
+EntityColumn.DESCRIPTION=Descripción
+EntityColumn.REQUIRED=Requerido
+EntityColumn.NEW_DISEASE=Nueva enfermedad
+EntityColumn.DISEASES=Enfermedades
+EntityColumn.OUTBREAKS=Brotes
+EntityColumn.IGNORED_COUNTRIES=Países ignorados
+EntityColumn.EXCLUSIVE_COUNTRIES=Países exclusivos

1393-1395: Normalize '=' spacing in Event.environment lines*

Consistency nit.

-Event.environmentMedia = Medios
-Event.environment.investigationStatus = Estado
+Event.environmentMedia=Medios
+Event.environment.investigationStatus=Estado

1886-1886: Improve medical terminology

“Drogas” is colloquial; prefer “fármacos” (or “medicamentos”) in medical UI.

-PathogenTest.drugSusceptibility=Susceptibilidad a las drogas
+PathogenTest.drugSusceptibility=Susceptibilidad a los fármacos

2650-2650: Avoid Markdown in properties; prefer plain text or HTML as elsewhere

Use plain text (or HTML tags, like , used in other lines) to avoid literal “**” rendering.

-aefiInvestigationMedicalCareDetailsInstruction=**Instrucciones ? Adjunte copias de TODOS los documentos disponibles (incluidos hoja del caso, resumen del alta, notas del caso, informes de laboratorio e informes de autopsia) y, a continuación, complete la información adicional NO DISPONIBLE en los documentos existentes,
+aefiInvestigationMedicalCareDetailsInstruction=Instrucciones: Adjunte copias de TODOS los documentos disponibles (incluidos hoja del caso, resumen del alta, notas del caso, informes de laboratorio y de autopsia) y, a continuación, complete la información adicional NO DISPONIBLE en los documentos existentes.

3520-3533: Normalize '=' spacing in SurveyToken block

Adopt key=value style.

-SurveyToken = Token de encuesta
-SurveyToken.uuid = ID de token
-SurveyToken.survey = Encuesta
-SurveyToken.token = Token
-SurveyToken.assignedCaseUuid = Caso asignado a
-SurveyToken.assignmentDate = Fecha de asignación
-SurveyToken.recipientEmail = Correo electrónico del destinatario
-SurveyToken.generatedDocument = Documento generado
-SurveyToken.responseReceived = Respuesta recibida
-SurveyToken.responseReceivedDate = Fecha de recepción de la respuesta
-surveyTokenDeleteSurveyToken = Eliminar token de encuesta
-surveyTokenFilterResponseReceived = Respuesta recibida
-surveyTokenFilterTokenNotAssigned = Token no asignado aún
+SurveyToken=Token de encuesta
+SurveyToken.uuid=ID de token
+SurveyToken.survey=Encuesta
+SurveyToken.token=Token
+SurveyToken.assignedCaseUuid=Caso asignado a
+SurveyToken.assignmentDate=Fecha de asignación
+SurveyToken.recipientEmail=Correo electrónico del destinatario
+SurveyToken.generatedDocument=Documento generado
+SurveyToken.responseReceived=Respuesta recibida
+SurveyToken.responseReceivedDate=Fecha de recepción de la respuesta
+surveyTokenDeleteSurveyToken=Eliminar token de encuesta
+surveyTokenFilterResponseReceived=Respuesta recibida
+surveyTokenFilterTokenNotAssigned=Token no asignado aún

3535-3537: Normalize '=' spacing in SurveyDocumentOptions block

Consistency nit.

-SurveyDocumentOptions.survey = Encuesta
-SurveyDocumentOptions.recipientEmail = Correo electrónico del destinatario
+SurveyDocumentOptions.survey=Encuesta
+SurveyDocumentOptions.recipientEmail=Correo electrónico del destinatario

3578-3585: Normalize '=' spacing in diagnosis criteria detail labels

Minor consistency polish.

-diagnosisCriteriaDetailTestResult = Resultado
-diagnosisCriteriaDetailTestResultDate = Fecha
-diagnosisCriteriaDetailTestTypeYes = Sí
-diagnosisCriteriaDetailTestTypeNo = No
-diagnosisCriteriaDetailTestTypeNotApplicable = N/A
-diagnosisCriteriaDetailTestResultPos = Pos
-diagnosisCriteriaDetailTestResultNeg = Neg
-diagnosisCriteriaDetailTestResultOngoing = En curso
+diagnosisCriteriaDetailTestResult=Resultado
+diagnosisCriteriaDetailTestResultDate=Fecha
+diagnosisCriteriaDetailTestTypeYes=Sí
+diagnosisCriteriaDetailTestTypeNo=No
+diagnosisCriteriaDetailTestTypeNotApplicable=N/A
+diagnosisCriteriaDetailTestResultPos=Pos
+diagnosisCriteriaDetailTestResultNeg=Neg
+diagnosisCriteriaDetailTestResultOngoing=En curso
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 1b58c6c and 695710b.

📒 Files selected for processing (1)
  • sormas-api/src/main/resources/captions_es-CU.properties (37 hunks)
🔇 Additional comments (5)
sormas-api/src/main/resources/captions_es-CU.properties (5)

1048-1061: AEFI dashboard additions look good

Translations and terminology are consistent and clear. No issues spotted.


3218-3220: LGTM: new dashboard view captions

Translations are clear and align with UI structure.


3249-3251: LGTM: surveys views

Consistent with new surveys module; no issues.


3512-3514: LGTM: confirmation dialog labels

Captions read well and match other confirmation texts.


2755-2758: Key naming consistent across bundles
Verified across all locale files that only Symptoms.coughsProvokeVomiting is used—no coughingProvokeVomiting variant exists. The Spanish entry is correct.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (3)
sormas-api/src/main/resources/captions_es-CU.properties (3)

199-202: Remove superfluous blanks and stray quotes

As already noted earlier: no spaces around '=' and drop the literal quotes to avoid them showing up in the UI.

-actionAefiSelectPrimarySuspectVaccination = Seleccionar vacunación sospechosa
-actionAefiAssignNewReportingIdNumber = "Asignar nuevo ID de AEFI"
-actionImportSurveyTokens = Importar tokens de encuesta
-actionImportSurveyTokenResponses = Importar respuestas de token de encuesta
+actionAefiSelectPrimarySuspectVaccination=Seleccionar vacunación sospechosa
+actionAefiAssignNewReportingIdNumber=Asignar nuevo ID de AEFI
+actionImportSurveyTokens=Importar tokens de encuesta
+actionImportSurveyTokenResponses=Importar respuestas de token de encuesta

3557-3564: Key typo & spacing: SystemConfigurationValue.encrytp will never be resolved

Correct the misspelling to match the system code and remove spaces around '='.

-SystemConfigurationValue.category = Categoría
-SystemConfigurationValue.categoryName = Categoría
-SystemConfigurationValue.encrytp = Cifrar
-SystemConfigurationValue.key = Clave
-SystemConfigurationValue.pattern = Patrón
-SystemConfigurationValue.value = Valor
-SystemConfigurationValue.General = General
+SystemConfigurationValue.category=Categoría
+SystemConfigurationValue.categoryName=Categoría
+SystemConfigurationValue.encrypt=Cifrar
+SystemConfigurationValue.key=Clave
+SystemConfigurationValue.pattern=Patrón
+SystemConfigurationValue.value=Valor
+SystemConfigurationValue.General=General

1880-1890: Medical term typo: "isoniacida" → "isoniazida"

Correct the Spanish term; otherwise, user-facing text is wrong.

-PathogenTest.isoniazidResistant=Resistente a la isoniacida
+PathogenTest.isoniazidResistant=Resistente a la isoniazida
🧹 Nitpick comments (18)
sormas-api/src/main/resources/captions_es-CU.properties (18)

55-55: Normalize properties formatting: remove spaces around '='

Follow the prevailing key=value convention.

-includePartialBirthdates = Incluir fechas de nacimiento incompletas
+includePartialBirthdates=Incluir fechas de nacimiento incompletas

192-198: Consistent key=value formatting in Actions block

Remove spaces surrounding '=' for consistency with the rest of the bundle.

-actionOkAndGoToMerge = Aceptar y abrir el resumen de combinación
-actionOkAndGoToContactDirectory = Aceptar y abrir el directorio de contactos
-actionOkAndGoToContactDetails = Aceptar y abrir el contacto
-actionOkAndGoToPersonDirectory = Aceptar y abrir el directorio de personas
-actionExecuteAutomaticDeletion = Ejecutar eliminación automática
-actionDone = Hecho
-actionConfirmAction = Confirmar acción
+actionOkAndGoToMerge=Aceptar y abrir el resumen de combinación
+actionOkAndGoToContactDirectory=Aceptar y abrir el directorio de contactos
+actionOkAndGoToContactDetails=Aceptar y abrir el contacto
+actionOkAndGoToPersonDirectory=Aceptar y abrir el directorio de personas
+actionExecuteAutomaticDeletion=Ejecutar eliminación automática
+actionDone=Hecho
+actionConfirmAction=Confirmar acción

256-260: Consistent key=value formatting in AggregateReport section

Remove spaces around '='.

-aggregateReportShowZeroRows = Mostrar filas 0 para enfermedad(es)
-aggregateReportExpiredAgeGroups = Expirados
-aggregateReportNoAgeGroup = Sin grupo de edad
-aggregateReportShowOnlyDuplicateReports = Mostrar sólo informes duplicados
+aggregateReportShowZeroRows=Mostrar filas 0 para enfermedad(es)
+aggregateReportExpiredAgeGroups=Expirados
+aggregateReportNoAgeGroup=Sin grupo de edad
+aggregateReportShowOnlyDuplicateReports=Mostrar sólo informes duplicados

283-285: Normalize formatting: remove spaces around '=' in Bulk actions

Align with the rest of the file.

-bulkEmailSend = Enviar mensajes
+bulkEmailSend=Enviar mensajes
...
-bulkEdit=Editar...
+bulkEdit=Editar...
-bulkEventInvestigationStatus=Cambiar estado de investigación del evento
-bulkEventManagementStatus=Cambiar estado de gestión de evento
-bulkEventParticipantsToContacts=Crear contactos
-bulkEventStatus=Cambiar estado del evento
-bulkEventType=Cambiar tipo de evento
-bulkFacility=Cambiar instalación
+bulkEventInvestigationStatus=Cambiar estado de investigación del evento
+bulkEventManagementStatus=Cambiar estado de gestión de evento
+bulkEventParticipantsToContacts=Crear contactos
+bulkEventStatus=Cambiar estado del evento
+bulkEventType=Cambiar tipo de evento
+bulkFacility=Cambiar instalación

Also applies to: 293-299


425-425: Trim leading space in value

Remove the leading space after '='.

-CaseData.epidemiologicalConfirmation= Un vínculo epidemiológico con un caso confirmado
+CaseData.epidemiologicalConfirmation=Un vínculo epidemiológico con un caso confirmado

578-581: Whitespace fix: leading space in PERTUSSIS caption

Trim leading space.

-CaseData.clinicalConfirmation.PERTUSSIS= Cualquier persona diagnosticada con tos ferina por un médico
+CaseData.clinicalConfirmation.PERTUSSIS=Cualquier persona diagnosticada con tos ferina por un médico

863-865: Normalize formatting in Contact prophylaxis fields

Remove spaces around '='.

-Contact.prophylaxisPrescribed = Profilaxis prescrita
-Contact.prescribedDrug = Fármaco prescrito
-Contact.prescribedDrugText = Especificar el fármaco prescrito
+Contact.prophylaxisPrescribed=Profilaxis prescrita
+Contact.prescribedDrug=Fármaco prescrito
+Contact.prescribedDrugText=Especificar el fármaco prescrito

1148-1153: Therapy block: fix spacing around '='

Keep the established key=value style.

-Therapy.directlyObservedTreatment = Tratamiento observado directamente
-Therapy.mdrXdrTuberculosis = Tuberculosis multirresistente/ultrarresistente
-Therapy.beijingLineage = Linaje Beijing
-Therapy.treatmentStarted = Tratamiento iniciado
-Therapy.treatmentNotApplicable = Tratamiento no aplicable
-Therapy.treatmentStartedDate = Fecha de inicio del tratamiento
+Therapy.directlyObservedTreatment=Tratamiento observado directamente
+Therapy.mdrXdrTuberculosis=Tuberculosis multirresistente/ultrarresistente
+Therapy.beijingLineage=Linaje Beijing
+Therapy.treatmentStarted=Tratamiento iniciado
+Therapy.treatmentNotApplicable=Tratamiento no aplicable
+Therapy.treatmentStartedDate=Fecha de inicio del tratamiento

1190-1203: EntityColumn block: remove spaces around '='

Ensure consistent formatting.

-EntityColumn.ENTITY = Entidad
-EntityColumn.FIELD_ID = ID de campo
-EntityColumn.FIELD = Campo
-EntityColumn.TYPE = Tipo
-EntityColumn.DATA_PROTECTION = Protección de datos
-EntityColumn.CAPTION = Leyenda
-EntityColumn.DESCRIPTION = Descripción
-EntityColumn.REQUIRED = Requerido
-EntityColumn.NEW_DISEASE = Nueva enfermedad
-EntityColumn.DISEASES = Enfermedades
-EntityColumn.OUTBREAKS = Brotes
-EntityColumn.IGNORED_COUNTRIES = Países ignorados
-EntityColumn.EXCLUSIVE_COUNTRIES = Países exclusivos
+EntityColumn.ENTITY=Entidad
+EntityColumn.FIELD_ID=ID de campo
+EntityColumn.FIELD=Campo
+EntityColumn.TYPE=Tipo
+EntityColumn.DATA_PROTECTION=Protección de datos
+EntityColumn.CAPTION=Leyenda
+EntityColumn.DESCRIPTION=Descripción
+EntityColumn.REQUIRED=Requerido
+EntityColumn.NEW_DISEASE=Nueva enfermedad
+EntityColumn.DISEASES=Enfermedades
+EntityColumn.OUTBREAKS=Brotes
+EntityColumn.IGNORED_COUNTRIES=Países ignorados
+EntityColumn.EXCLUSIVE_COUNTRIES=Países exclusivos

1393-1395: Fix spacing in Event.environment entries*

Remove spaces around '='.

-Event.environmentMedia = Medios
-Event.environment.investigationStatus = Estado
+Event.environmentMedia=Medios
+Event.environment.investigationStatus=Estado

1788-1799: Fix spacing in Surveys main menu entry

Remove space around '='.

-mainMenuSurveys = Encuestas
+mainMenuSurveys=Encuestas

2401-2404: AEFI lists: fix spaces around '='

Normalize formatting.

-aefiActiveAdverseEvents = Eventos adversos activos
-aefiArchivedAdverseEvents = Eventos adversos archivados
-aefiAllActiveAndArchivedAdverseEvents = Todos los eventos adversos activos y archivados
-aefiDeletedAdverseEvents = Eventos adversos eliminados
+aefiActiveAdverseEvents=Eventos adversos activos
+aefiArchivedAdverseEvents=Eventos adversos archivados
+aefiAllActiveAndArchivedAdverseEvents=Todos los eventos adversos activos y archivados
+aefiDeletedAdverseEvents=Eventos adversos eliminados

2921-2929: Remove leading space in Symptoms.nocturnalCough

Fixes a stray space that would render in the UI.

-Symptoms.nocturnalCough= Tos nocturna
+Symptoms.nocturnalCough=Tos nocturna

3362-3364: Fix spacing in survey list captions

Normalize formatting.

-surveyNewSurvey = Nueva encuesta
-surveySurveyList = Lista de encuestas
-surveySurveyTokenList = Lista de tokens de encuesta
+surveyNewSurvey=Nueva encuesta
+surveySurveyList=Lista de encuestas
+surveySurveyTokenList=Lista de tokens de encuesta

3520-3537: SurveyToken and SurveyDocumentOptions: remove spaces around '='

Bring in line with file conventions.

-SurveyToken = Token de encuesta
-SurveyToken.uuid = ID de token
-SurveyToken.survey = Encuesta
-SurveyToken.token = Token
-SurveyToken.assignedCaseUuid = Caso asignado a
-SurveyToken.assignmentDate = Fecha de asignación
-SurveyToken.recipientEmail = Correo electrónico del destinatario
-SurveyToken.generatedDocument = Documento generado
-SurveyToken.responseReceived = Respuesta recibida
-SurveyToken.responseReceivedDate = Fecha de recepción de la respuesta
-surveyTokenDeleteSurveyToken = Eliminar token de encuesta
-surveyTokenFilterResponseReceived = Respuesta recibida
-surveyTokenFilterTokenNotAssigned = Token no asignado aún
+SurveyToken=Token de encuesta
+SurveyToken.uuid=ID de token
+SurveyToken.survey=Encuesta
+SurveyToken.token=Token
+SurveyToken.assignedCaseUuid=Caso asignado a
+SurveyToken.assignmentDate=Fecha de asignación
+SurveyToken.recipientEmail=Correo electrónico del destinatario
+SurveyToken.generatedDocument=Documento generado
+SurveyToken.responseReceived=Respuesta recibida
+SurveyToken.responseReceivedDate=Fecha de recepción de la respuesta
+surveyTokenDeleteSurveyToken=Eliminar token de encuesta
+surveyTokenFilterResponseReceived=Respuesta recibida
+surveyTokenFilterTokenNotAssigned=Token no asignado aún
...
-SurveyDocumentOptions.survey = Encuesta
-SurveyDocumentOptions.recipientEmail = Correo electrónico del destinatario
+SurveyDocumentOptions.survey=Encuesta
+SurveyDocumentOptions.recipientEmail=Correo electrónico del destinatario

3566-3576: Notifier/Notification blocks: normalize '=' spacing

Formatting-only; prevents accidental inconsistencies.

-Notifier.notification = Notificación
-Notification.dateOfNotification = Fecha de notificación
-Notification.noNotification = No hay notificaciones
-Notification.reportingAgent = Funcionario de salud informante\:
-Notification.registrationNumber = Número de registro
-Notification.createNotification = Crear notificación
-Notification.editNotification = Editar notificación
-Notification.viewNotification = Ver notificación
-Notification.notificationTypeExternal = Notificación externa
-Notification.notificationTypePhone = Notificación telefónica
+Notifier.notification=Notificación
+Notification.dateOfNotification=Fecha de notificación
+Notification.noNotification=No hay notificaciones
+Notification.reportingAgent=Funcionario de salud informante\:
+Notification.registrationNumber=Número de registro
+Notification.createNotification=Crear notificación
+Notification.editNotification=Editar notificación
+Notification.viewNotification=Ver notificación
+Notification.notificationTypeExternal=Notificación externa
+Notification.notificationTypePhone=Notificación telefónica

3578-3585: Diagnosis criteria details: normalize spacing

Keep key=value consistent.

-diagnosisCriteriaDetailTestResult = Resultado
-diagnosisCriteriaDetailTestResultDate = Fecha
-diagnosisCriteriaDetailTestTypeYes = Sí
-diagnosisCriteriaDetailTestTypeNo = No
-diagnosisCriteriaDetailTestTypeNotApplicable = N/A
-diagnosisCriteriaDetailTestResultPos = Pos
-diagnosisCriteriaDetailTestResultNeg = Neg
-diagnosisCriteriaDetailTestResultOngoing = En curso
+diagnosisCriteriaDetailTestResult=Resultado
+diagnosisCriteriaDetailTestResultDate=Fecha
+diagnosisCriteriaDetailTestTypeYes=Sí
+diagnosisCriteriaDetailTestTypeNo=No
+diagnosisCriteriaDetailTestTypeNotApplicable=N/A
+diagnosisCriteriaDetailTestResultPos=Pos
+diagnosisCriteriaDetailTestResultNeg=Neg
+diagnosisCriteriaDetailTestResultOngoing=En curso

3462-3462: environmentNoEnvs: remove spaces around '='

Formatting-only fix.

-environmentNoEnvs = No hay ambientes para este evento %s
+environmentNoEnvs=No hay ambientes para este evento %s
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 695710b and 45a44d2.

📒 Files selected for processing (1)
  • sormas-api/src/main/resources/captions_es-CU.properties (37 hunks)
🔇 Additional comments (12)
sormas-api/src/main/resources/captions_es-CU.properties (12)

647-650: AEFI hospitalization additions look good

Spanish localization and keys align with new data points.


667-679: Previous hospitalization extension: LGTM

Keys and translations are consistent and clear.


1160-1162: DocumentTemplate additions: LGTM

Accurate keys and appropriate Spanish.


1181-1182: Survey example template captions: LGTM

Clear and consistent wording.


1222-1222: Environment.vectorType addition: LGTM

Key naming and translation are consistent with EnvironmentSample.vectorType below.


1280-1305: Environment linking to Events: LGTM

New linking keys (add/select/unlink) read well and match the domain.


1545-1546: Childcare facility exposure: LGTM

Spanish localization is clear and consistent with Exposure.* conventions.


1561-1562: IMI exposure timing: LGTM

Translations are understandable; unit formatting matches the source intent.


1630-1633: HealthConditions additions: LGTM

Good localizations; terminology is medically sound.


1898-1898: personFullName: LGTM

Accurate and useful addition.


1983-1991: Person newborn/gestation fields: LGTM

Appropriate Spanish; matches domain vocabulary.


2755-2758: Ignore invalid key mismatch
The property key Symptoms.coughsProvokeVomiting is consistently used across all captions_*.properties (including English locales); there is no Symptoms.coughingProvokeVomiting in the codebase. The Spanish entry matches the existing key. No changes required.

Likely an incorrect or invalid review comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants