New Crowdin updates#13996
Conversation
There was a problem hiding this comment.
Actionable comments posted: 16
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (6)
sormas-api/src/main/resources/captions_cs-CZ.properties (1)
3145-3145:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUntranslated caption in Czech locale:
Symptoms.wateryDiarrheashould be translated to Czech.Line 3145 contains English text ("Watery diarrhoea") in the Czech locale file. This caption should be translated to Czech. The pattern in this file shows symptom-related captions are translated (e.g., "Průjem" at line 2914 for diarrhea, "Zvracení" at line 3029 for vomiting).
🔧 Suggested fix: Translate to Czech
Provide a Czech translation:
-Symptoms.wateryDiarrhea=Watery diarrhoea +Symptoms.wateryDiarrhea=Vodnatý průjem🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/captions_cs-CZ.properties` at line 3145, The Symptoms.wateryDiarrhea caption in the Czech locale file contains English text instead of a Czech translation. Replace the English value "Watery diarrhoea" with the appropriate Czech translation for this symptom, following the pattern of other symptom translations already present in the file such as "Průjem" for diarrhea and "Zvracení" for vomiting.sormas-api/src/main/resources/captions_en-GM.properties (1)
3145-3145:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winSpelling inconsistency: Mix of American and British English for "diarrhea" variants in en-GM locale
The Gambia locale (en-GM) file contains inconsistent spelling for diarrhea-related terms:
- Line 2914:
Symptoms.diarrhea=Diarrhea(American spelling, existing)- Line 3145:
Symptoms.wateryDiarrhea=Watery diarrhoea(British spelling, new)Since the Gambia locale should follow British English conventions, both terms should use consistent spelling. Either standardize both to
diarrhoea(British) or both todiarrhea(American).📝 Suggested fix to standardize British English spelling
Option 1 (preferred for en-GM): Update line 2914 to use British spelling:
-Symptoms.diarrhea=Diarrhea +Symptoms.diarrhea=DiarrhoeaOption 2: Update line 3145 to use American spelling (if consistency with existing term is preferred):
-Symptoms.wateryDiarrhea=Watery diarrhoea +Symptoms.wateryDiarrhea=Watery diarrheaVerify the correction is applied consistently across all 28 locale files in this PR.
Also applies to: 2914-2914
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/captions_en-GM.properties` at line 3145, The en-GM locale file has inconsistent spelling for diarrhea-related terms: Symptoms.diarrhea uses American spelling "Diarrhea" while Symptoms.wateryDiarrhea uses British spelling "diarrhoea". Since the Gambia locale should follow British English conventions, update the Symptoms.diarrhea property on line 2914 to change "Diarrhea" to "Diarrhoea" to match the British spelling used in Symptoms.wateryDiarrhea. Ensure this spelling standardization is applied consistently across all locale files included in this PR.sormas-api/src/main/resources/captions_fr-TN.properties (1)
3145-3145:⚠️ Potential issue | 🟠 Major | ⚡ Quick winTranslation missing:
Symptoms.wateryDiarrheais in English, not French.The caption value
"Watery diarrhoea"is in English, but this is the French (Tunisia) locale file and should be translated. For example,Symptoms.diarrhea(line 2914) is correctly translated as"Diarrhée". This new entry should also be translated to French.Additionally, note the pre-existing inconsistency at line 3144 (
Symptoms.bloodyDiarrhea=Bloody diarrhea) which also has an English value in a French locale file. Consider correcting both during this update.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/captions_fr-TN.properties` at line 3145, In the captions_fr-TN.properties file, translate the English caption values to French for both the Symptoms.wateryDiarrhea entry (line 3145) and the pre-existing Symptoms.bloodyDiarrhea entry (line 3144). Replace "Watery diarrhoea" with its French equivalent and "Bloody diarrhea" with its French equivalent, following the translation pattern used for similar entries like Symptoms.diarrhea which is translated as "Diarrhée".sormas-api/src/main/resources/captions_pl-PL.properties (1)
3145-3145:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMissing Polish translation for
Symptoms.wateryDiarrheacaption.The new key
Symptoms.wateryDiarrheaon line 3145 is defined with an English value (Watery diarrhoea), but this is a Polish locale-specific file (captions_pl-PL.properties). It should contain a Polish translation to match the locale.Please provide the Polish translation for this caption.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/captions_pl-PL.properties` at line 3145, The Symptoms.wateryDiarrhea key in the Polish locale file captions_pl-PL.properties contains an English translation instead of Polish. Replace the English value "Watery diarrhoea" with the appropriate Polish translation for this caption to ensure consistency with the locale-specific file's purpose.sormas-api/src/main/resources/captions_ur-PK.properties (1)
3145-3145:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winCritical: Untranslated caption for new
Symptoms.wateryDiarrheakey.Line 3145 contains English text where Urdu translation is required:
Symptoms.wateryDiarrhea=Watery diarrhoeaThis is inconsistent with the related symptom already properly translated:
- Line 2914:
Symptoms.diarrhea=پیچش✓ (Urdu translation)The new
wateryDiarrheacaption should follow the same pattern. Please provide the Urdu translation for this symptom name.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/captions_ur-PK.properties` at line 3145, The caption property Symptoms.wateryDiarrhea in the Urdu language file contains English text instead of the required Urdu translation. Replace the English text "Watery diarrhoea" with the appropriate Urdu translation for the symptom, following the same pattern as the existing related symptom translation Symptoms.diarrhea which correctly contains Urdu text.sormas-api/src/main/resources/enum_de-CH.properties (1)
1240-1248:⚠️ Potential issue | 🟡 MinorProvide German translations for untranslated enum values in German locale file.
The
PathogenTestType.DIRECT_MICROSCOPYentry (line 1245) remains in English while adjacent PathogenTestType entries in this de-CH locale file are translated to German (e.g., line 1244:Mikroskopie, line 1247:Sonstiges). This inconsistency also appears in the de-DE locale file, indicating the translation may be incomplete.Additionally, the entire
ExposureSubSettingsection (lines 3139–3161) lacks German translations and uses English captions exclusively, which contrasts with the translation approach applied to other enums in this file.Provide German translations for
PathogenTestType.DIRECT_MICROSCOPY(e.g., "Direktmikroskopie") and theExposureSubSettingentries to maintain localization consistency, or document if English fallback is intentional for these specific enums.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_de-CH.properties` around lines 1240 - 1248, The German locale file contains incomplete translations for enum values. Locate the PathogenTestType.DIRECT_MICROSCOPY entry and replace the English text "Direct microscopy" with a German translation such as "Direktmikroskopie" to match the translation pattern of adjacent PathogenTestType entries like MICROSCOPY. Additionally, locate the entire ExposureSubSetting section which currently uses English captions exclusively, and provide German translations for all ExposureSubSetting enum entries to maintain consistency with the localization approach applied to other enums in this file.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@sormas-api/src/main/resources/captions_cs-CZ.properties`:
- Line 1183: The caption EpiData.country.SHIG in the Czech locale file contains
English text instead of Czech. Replace the English description "Place of
residence of patient at the time of disease onset" with its Czech translation.
Ensure the translation maintains consistency with other medical and
epidemiological terms used in the file, and have it reviewed by a qualified
Czech translator to verify accuracy in the medical context.
In `@sormas-api/src/main/resources/captions_fr-FR.properties`:
- Line 1183: In the French locale properties file captions_fr-FR.properties,
several newly added caption keys contain English values instead of French
translations. Replace the English text for the following keys with their French
equivalents: EpiData.country.SHIG should be changed to "Lieu de résidence du
patient au moment du début de la maladie", PathogenTest.quantitativeValue should
be "Valeur", PathogenTest.quantitativeUnit should be "Unité", and
Symptoms.wateryDiarrhea should be "Diarrhée aqueuse". Ensure all other new
caption entries in the file are similarly updated to provide proper French
translations instead of English text to maintain consistency with the file's
locale purpose and existing French translations elsewhere in the file.
In `@sormas-api/src/main/resources/captions_fr-TN.properties`:
- Line 1183: The property EpiData.country.SHIG in the French (Tunisia) locale
file contains an English value instead of a French translation. Replace the
English text "Place of residence of patient at the time of disease onset" with
its French equivalent translation to maintain consistency with other French
captions in this properties file.
In `@sormas-api/src/main/resources/captions_pl-PL.properties`:
- Line 1183: The caption EpiData.country.SHIG in the Polish locale properties
file contains an English value instead of a Polish translation. Replace the
English text "Place of residence of patient at the time of disease onset" with
its appropriate Polish translation to ensure the caption matches the Polish
locale convention of the captions_pl-PL.properties file.
In `@sormas-api/src/main/resources/captions_ur-PK.properties`:
- Line 1183: The caption for the EpiData.country.SHIG key in the Urdu
localization file contains English text instead of Urdu translation, breaking
localization consistency with other entries in the file. Replace the English
value "Place of residence of patient at the time of disease onset" with its
appropriate Urdu translation while keeping the key EpiData.country.SHIG
unchanged, ensuring the format remains consistent with other properly translated
entries in the captions_ur-PK.properties file.
In `@sormas-api/src/main/resources/enum_cs-CZ.properties`:
- Line 1245: The PathogenTestType.DIRECT_MICROSCOPY property in the Czech locale
file enum_cs-CZ.properties contains English text "Direct microscopy" instead of
a Czech translation. Replace the English value with the appropriate Czech
translation for this pathogen test type, following the same pattern as other
entries in the file such as PathogenTestType.MICROSCOPY which uses
"Mikroskopie".
- Around line 3147-3148: In the Czech locale file enum_cs-CZ.properties, the
entries for ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS and
ExposureSubSetting.SEXUAL_ACTIVITY contain English text instead of Czech
translations. Replace the English values with appropriate Czech translations
following the same pattern as the surrounding entries like
ExposureSubSetting.CLOSE_PHYSICAL_CONTACT which correctly shows the Czech
translation format, or alternatively remove these two lines entirely to allow
the application to fall back to the base enum.properties file for these keys.
In `@sormas-api/src/main/resources/enum_de-CH.properties`:
- Around line 3147-3148: The ExposureSubSetting enum entries in the de-CH
properties file are completely in English while other enums in the same file are
translated to German (e.g., Disease, PathogenTestType), creating an
inconsistency. Additionally, the English text for
ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS and
ExposureSubSetting.SEXUAL_ACTIVITY differs from the base enum.properties file.
Review the entire ExposureSubSetting enum section (all entries from line
3139-3158) and determine whether to translate all ExposureSubSetting entries to
German to match other enums in this file, or if English-only captions are
intentional. If translating, ensure consistency with standard German terminology
used elsewhere in the properties file. If keeping English, align the caption
text with the base enum.properties file.
In `@sormas-api/src/main/resources/enum_de-DE.properties`:
- Around line 3147-3148: The German locale properties file contains English text
for ExposureSubSetting enum values instead of German translations. Replace the
English text for ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS (currently
"High-contact environments (e.g. childcare centers, healthcare facilities)")
with its German translation, and replace the English text for
ExposureSubSetting.SEXUAL_ACTIVITY (currently "Sexual contact") with its German
translation. Ensure both entries provide proper German localization for
German-speaking users.
- Line 1245: The PathogenTestType.DIRECT_MICROSCOPY entry in the German locale
file contains English text instead of a German translation. Replace the value
"Direct microscopy" with the appropriate German translation (such as
"Direktmikroskopie" or similar) to align with the German locale convention,
similar to how the nearby MICROSCOPY entry uses "Mikroskopie".
In `@sormas-api/src/main/resources/enum_en-KE.properties`:
- Around line 1240-1245: The new enum entry PathogenTestType.DIRECT_MICROSCOPY
has been added to enum_en-KE.properties but is missing from 26 out of 55 locale
files, including critical base fallback files like enum_en.properties and
enum_ar.properties. Add the entry PathogenTestType.DIRECT_MICROSCOPY with an
appropriate translation for each language/locale to all remaining
enum_*.properties files that are currently missing it. Prioritize adding it to
the base fallback files first (enum_en.properties, enum_ar.properties, etc.) to
ensure all locales have access to this new enum value at runtime.
In `@sormas-api/src/main/resources/enum_fr-TN.properties`:
- Line 1245: The `PathogenTestType.DIRECT_MICROSCOPY` entry in the French
(Tunisia) locale file is currently in English ("Direct microscopy") and must be
translated to French to maintain consistency with all other PathogenTestType
enum entries in this file. Replace the English value "Direct microscopy" with an
appropriate French translation such as "Microscopie directe" to align with the
pattern of other translated entries in the properties file.
- Line 1242: The French translation for PathogenTestType.IGA_SERUM_ANTIBODY
incorrectly uses "IgG" in the translation string when it should use "IgA" to
match the enum constant name. Replace "IgG" with "IgA" in the translation for
PathogenTestType.IGA_SERUM_ANTIBODY to read "Anticorps du sérum d'IgA" instead
of "Anticorps du sérum d'IgG", ensuring consistency with the pattern used for
the IGG and IGM translations on the adjacent lines.
- Around line 3147-3148: The ExposureSubSetting enum entries in all French
locale property files (enum_fr-TN.properties, enum_fr-FR.properties, and
enum_fr-CH.properties) are missing French translations and currently display
English text. Translate all ExposureSubSetting key-value pairs (including
HIGH_TOUCH_ENVIRONMENTS and SEXUAL_ACTIVITY entries across lines 3139-3161) from
English to appropriate French text in each of the three French locale files,
ensuring consistent terminology across all French variants.
In `@sormas-api/src/main/resources/enum_ps-AF.properties`:
- Around line 3147-3148: The enum_ps-AF.properties file contains only English
translations with zero Pashto script content across all 2,734 entries, providing
no actual localization value. Either remove this file entirely if Pashto
localization is not currently supported, or populate it with proper Pashto
translations for all entries including
ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS and
ExposureSubSetting.SEXUAL_ACTIVITY. If proceeding with translation, ensure
actual Pashto script characters are used (not English text) to match the
translation coverage of similar locale files like ur-PK (66%) and ar-SA (78%).
In `@sormas-api/src/main/resources/enum_pt-BR.properties`:
- Around line 3147-3148: The enum_pt-BR.properties file contains English text
for ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS and
ExposureSubSetting.SEXUAL_ACTIVITY instead of Portuguese (Brazil) translations.
Replace the English values with proper Portuguese (Brazil) translations for both
keys. Additionally, verify that the same keys in other affected locale files
(de-DE, fr-FR) also contain appropriate language-specific translations rather
than English fallback text, and ensure consistency with the complete values used
across all locale files (particularly that SEXUAL_ACTIVITY includes the full
translated phrase, not just a partial translation).
---
Outside diff comments:
In `@sormas-api/src/main/resources/captions_cs-CZ.properties`:
- Line 3145: The Symptoms.wateryDiarrhea caption in the Czech locale file
contains English text instead of a Czech translation. Replace the English value
"Watery diarrhoea" with the appropriate Czech translation for this symptom,
following the pattern of other symptom translations already present in the file
such as "Průjem" for diarrhea and "Zvracení" for vomiting.
In `@sormas-api/src/main/resources/captions_en-GM.properties`:
- Line 3145: The en-GM locale file has inconsistent spelling for
diarrhea-related terms: Symptoms.diarrhea uses American spelling "Diarrhea"
while Symptoms.wateryDiarrhea uses British spelling "diarrhoea". Since the
Gambia locale should follow British English conventions, update the
Symptoms.diarrhea property on line 2914 to change "Diarrhea" to "Diarrhoea" to
match the British spelling used in Symptoms.wateryDiarrhea. Ensure this spelling
standardization is applied consistently across all locale files included in this
PR.
In `@sormas-api/src/main/resources/captions_fr-TN.properties`:
- Line 3145: In the captions_fr-TN.properties file, translate the English
caption values to French for both the Symptoms.wateryDiarrhea entry (line 3145)
and the pre-existing Symptoms.bloodyDiarrhea entry (line 3144). Replace "Watery
diarrhoea" with its French equivalent and "Bloody diarrhea" with its French
equivalent, following the translation pattern used for similar entries like
Symptoms.diarrhea which is translated as "Diarrhée".
In `@sormas-api/src/main/resources/captions_pl-PL.properties`:
- Line 3145: The Symptoms.wateryDiarrhea key in the Polish locale file
captions_pl-PL.properties contains an English translation instead of Polish.
Replace the English value "Watery diarrhoea" with the appropriate Polish
translation for this caption to ensure consistency with the locale-specific
file's purpose.
In `@sormas-api/src/main/resources/captions_ur-PK.properties`:
- Line 3145: The caption property Symptoms.wateryDiarrhea in the Urdu language
file contains English text instead of the required Urdu translation. Replace the
English text "Watery diarrhoea" with the appropriate Urdu translation for the
symptom, following the same pattern as the existing related symptom translation
Symptoms.diarrhea which correctly contains Urdu text.
In `@sormas-api/src/main/resources/enum_de-CH.properties`:
- Around line 1240-1248: The German locale file contains incomplete translations
for enum values. Locate the PathogenTestType.DIRECT_MICROSCOPY entry and replace
the English text "Direct microscopy" with a German translation such as
"Direktmikroskopie" to match the translation pattern of adjacent
PathogenTestType entries like MICROSCOPY. Additionally, locate the entire
ExposureSubSetting section which currently uses English captions exclusively,
and provide German translations for all ExposureSubSetting enum entries to
maintain consistency with the localization approach applied to other enums in
this file.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: b8928ac0-a876-490a-b1b6-361c5d37cdf9
📒 Files selected for processing (58)
sormas-api/src/main/resources/captions_ar-SA.propertiessormas-api/src/main/resources/captions_cs-CZ.propertiessormas-api/src/main/resources/captions_de-CH.propertiessormas-api/src/main/resources/captions_de-DE.propertiessormas-api/src/main/resources/captions_en-AF.propertiessormas-api/src/main/resources/captions_en-GH.propertiessormas-api/src/main/resources/captions_en-GM.propertiessormas-api/src/main/resources/captions_en-KE.propertiessormas-api/src/main/resources/captions_en-LR.propertiessormas-api/src/main/resources/captions_en-NG.propertiessormas-api/src/main/resources/captions_es-BO.propertiessormas-api/src/main/resources/captions_es-CU.propertiessormas-api/src/main/resources/captions_fa-AF.propertiessormas-api/src/main/resources/captions_fi-FI.propertiessormas-api/src/main/resources/captions_fr-CH.propertiessormas-api/src/main/resources/captions_fr-FR.propertiessormas-api/src/main/resources/captions_fr-TN.propertiessormas-api/src/main/resources/captions_it-CH.propertiessormas-api/src/main/resources/captions_it-IT.propertiessormas-api/src/main/resources/captions_ka-GE.propertiessormas-api/src/main/resources/captions_pl-PL.propertiessormas-api/src/main/resources/captions_ps-AF.propertiessormas-api/src/main/resources/captions_pt-BR.propertiessormas-api/src/main/resources/captions_pt-CV.propertiessormas-api/src/main/resources/captions_ru-RU.propertiessormas-api/src/main/resources/captions_sr-CS.propertiessormas-api/src/main/resources/captions_sw-TZ.propertiessormas-api/src/main/resources/captions_ur-PK.propertiessormas-api/src/main/resources/captions_zh-CN.propertiessormas-api/src/main/resources/enum_ar-SA.propertiessormas-api/src/main/resources/enum_cs-CZ.propertiessormas-api/src/main/resources/enum_de-CH.propertiessormas-api/src/main/resources/enum_de-DE.propertiessormas-api/src/main/resources/enum_en-AF.propertiessormas-api/src/main/resources/enum_en-GH.propertiessormas-api/src/main/resources/enum_en-GM.propertiessormas-api/src/main/resources/enum_en-KE.propertiessormas-api/src/main/resources/enum_en-LR.propertiessormas-api/src/main/resources/enum_en-NG.propertiessormas-api/src/main/resources/enum_es-BO.propertiessormas-api/src/main/resources/enum_es-CU.propertiessormas-api/src/main/resources/enum_fa-AF.propertiessormas-api/src/main/resources/enum_fi-FI.propertiessormas-api/src/main/resources/enum_fr-CH.propertiessormas-api/src/main/resources/enum_fr-FR.propertiessormas-api/src/main/resources/enum_fr-TN.propertiessormas-api/src/main/resources/enum_it-CH.propertiessormas-api/src/main/resources/enum_it-IT.propertiessormas-api/src/main/resources/enum_ka-GE.propertiessormas-api/src/main/resources/enum_pl-PL.propertiessormas-api/src/main/resources/enum_ps-AF.propertiessormas-api/src/main/resources/enum_pt-BR.propertiessormas-api/src/main/resources/enum_pt-CV.propertiessormas-api/src/main/resources/enum_ru-RU.propertiessormas-api/src/main/resources/enum_sr-CS.propertiessormas-api/src/main/resources/enum_sw-TZ.propertiessormas-api/src/main/resources/enum_ur-PK.propertiessormas-api/src/main/resources/enum_zh-CN.properties
✅ Files skipped from review due to trivial changes (5)
- sormas-api/src/main/resources/enum_pl-PL.properties
- sormas-api/src/main/resources/enum_fr-FR.properties
- sormas-api/src/main/resources/enum_en-GM.properties
- sormas-api/src/main/resources/captions_de-DE.properties
- sormas-api/src/main/resources/enum_es-BO.properties
🚧 Files skipped from review as they are similar to previous changes (8)
- sormas-api/src/main/resources/captions_es-CU.properties
- sormas-api/src/main/resources/captions_it-IT.properties
- sormas-api/src/main/resources/captions_sw-TZ.properties
- sormas-api/src/main/resources/captions_ru-RU.properties
- sormas-api/src/main/resources/captions_en-KE.properties
- sormas-api/src/main/resources/captions_pt-CV.properties
- sormas-api/src/main/resources/captions_de-CH.properties
- sormas-api/src/main/resources/captions_sr-CS.properties
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
🛑 Comments failed to post (16)
sormas-api/src/main/resources/captions_cs-CZ.properties (1)
1183-1183:
⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUntranslated caption in Czech locale:
EpiData.country.SHIGshould be translated to Czech.Line 1183 contains English text ("Place of residence of patient at the time of disease onset") in the Czech locale file. This caption should be translated to Czech for consistency with the rest of the file and to ensure proper user experience for Czech-speaking users. Compare with the pattern of other captions in this file (e.g., "Horečka" for fever, "Průjem" for diarrhea).
🔧 Suggested fix: Translate to Czech
Provide a Czech translation. Example (you may adjust to match your terminology):
-EpiData.country.SHIG= Place of residence of patient at the time of disease onset +EpiData.country.SHIG=Bydliště pacienta v době nástupu onemocnění(Note: A qualified Czech translator should review the exact terminology to ensure accuracy with medical/epidemiological context.)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/captions_cs-CZ.properties` at line 1183, The caption EpiData.country.SHIG in the Czech locale file contains English text instead of Czech. Replace the English description "Place of residence of patient at the time of disease onset" with its Czech translation. Ensure the translation maintains consistency with other medical and epidemiological terms used in the file, and have it reviewed by a qualified Czech translator to verify accuracy in the medical context.sormas-api/src/main/resources/captions_fr-FR.properties (1)
1183-1183:
⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFrench translations missing for new caption keys – all new entries contain English text instead of French.
Line 1183 (
EpiData.country.SHIG) and related new keys (e.g.,PathogenTest.quantitativeValue,PathogenTest.quantitativeUnit,Symptoms.wateryDiarrhea) have been added with English values only. This contradicts the file's purpose as a French locale file (captions_fr-FR.properties). The file demonstrates proper French translations elsewhere (e.g., line 18:all=Tous, line 23:postcode=Code postal), confirming that all values should be in French.Expected format:
- Line 1183:
EpiData.country.SHIG=Lieu de résidence du patient au moment du début de la maladie- Line 2012:
PathogenTest.quantitativeValue=Valeur- Line 2013:
PathogenTest.quantitativeUnit=Unité- Line 3145:
Symptoms.wateryDiarrhea=Diarrhée aqueuseAction required: Provide French translations for all newly added caption keys in this file before merge.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/captions_fr-FR.properties` at line 1183, In the French locale properties file captions_fr-FR.properties, several newly added caption keys contain English values instead of French translations. Replace the English text for the following keys with their French equivalents: EpiData.country.SHIG should be changed to "Lieu de résidence du patient au moment du début de la maladie", PathogenTest.quantitativeValue should be "Valeur", PathogenTest.quantitativeUnit should be "Unité", and Symptoms.wateryDiarrhea should be "Diarrhée aqueuse". Ensure all other new caption entries in the file are similarly updated to provide proper French translations instead of English text to maintain consistency with the file's locale purpose and existing French translations elsewhere in the file.sormas-api/src/main/resources/captions_fr-TN.properties (1)
1183-1183:
⚠️ Potential issue | 🟠 Major | ⚡ Quick winTranslation missing:
EpiData.country.SHIGis in English, not French.This is the French (Tunisia) locale file, but the value is in English:
"Place of residence of patient at the time of disease onset". It should be translated to French. For consistency with other entries in this file (e.g., line 1165–1188), the caption should be in French.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/captions_fr-TN.properties` at line 1183, The property EpiData.country.SHIG in the French (Tunisia) locale file contains an English value instead of a French translation. Replace the English text "Place of residence of patient at the time of disease onset" with its French equivalent translation to maintain consistency with other French captions in this properties file.sormas-api/src/main/resources/captions_pl-PL.properties (1)
1183-1183:
⚠️ Potential issue | 🟠 Major | ⚡ Quick winMissing Polish translation for
EpiData.country.SHIGcaption.The new key
EpiData.country.SHIGon line 1183 is defined with an English value (Place of residence of patient at the time of disease onset), but this is a Polish locale-specific file (captions_pl-PL.properties). It should contain a Polish translation to match the locale.Please provide the Polish translation for this caption.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/captions_pl-PL.properties` at line 1183, The caption EpiData.country.SHIG in the Polish locale properties file contains an English value instead of a Polish translation. Replace the English text "Place of residence of patient at the time of disease onset" with its appropriate Polish translation to ensure the caption matches the Polish locale convention of the captions_pl-PL.properties file.sormas-api/src/main/resources/captions_ur-PK.properties (1)
1183-1183:
⚠️ Potential issue | 🔴 Critical | ⚡ Quick winCritical: Untranslated caption for new
EpiData.country.SHIGkey.Line 1183 contains English text where Urdu translation is required:
EpiData.country.SHIG= Place of residence of patient at the time of disease onsetThis breaks the localization consistency pattern. Compare to nearby properly translated entries:
- Line 1165:
EpiData.areaInfectedAnimals=کسی ایسے خطے میں رہنا، کام کرنا یا سفر کرنا جہاں متاثرہ جانوروں کی تصدیق ہوئی ہو✓ (Urdu)Please provide the Urdu translation for this caption.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/captions_ur-PK.properties` at line 1183, The caption for the EpiData.country.SHIG key in the Urdu localization file contains English text instead of Urdu translation, breaking localization consistency with other entries in the file. Replace the English value "Place of residence of patient at the time of disease onset" with its appropriate Urdu translation while keeping the key EpiData.country.SHIG unchanged, ensuring the format remains consistent with other properly translated entries in the captions_ur-PK.properties file.sormas-api/src/main/resources/enum_cs-CZ.properties (2)
1245-1245:
⚠️ Potential issue | 🔴 Critical | ⚡ Quick winCritical: English text in Czech locale file instead of Czech translation.
Line 1245 contains an English caption for
PathogenTestType.DIRECT_MICROSCOPY. The Czech locale file should provide a Czech translation, not English. Compare with surrounding entries (e.g., line 1244:PathogenTestType.MICROSCOPY = Mikroskopie).The value should be a Czech translation, or the line should be removed to fall back to the base
enum.propertiesfile.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_cs-CZ.properties` at line 1245, The PathogenTestType.DIRECT_MICROSCOPY property in the Czech locale file enum_cs-CZ.properties contains English text "Direct microscopy" instead of a Czech translation. Replace the English value with the appropriate Czech translation for this pathogen test type, following the same pattern as other entries in the file such as PathogenTestType.MICROSCOPY which uses "Mikroskopie".
3147-3148:
⚠️ Potential issue | 🔴 Critical | ⚡ Quick winCritical: English text in Czech locale file instead of Czech translations.
Lines 3147–3148 contain English captions for
ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTSandExposureSubSetting.SEXUAL_ACTIVITY. The Czech locale file should provide Czech translations. Compare with surrounding entries (e.g., line 3146:ExposureSubSetting.CLOSE_PHYSICAL_CONTACT=Zavřít fyzický kontakt).Both values should be Czech translations, or the lines should be removed to fall back to the base
enum.propertiesfile.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_cs-CZ.properties` around lines 3147 - 3148, In the Czech locale file enum_cs-CZ.properties, the entries for ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS and ExposureSubSetting.SEXUAL_ACTIVITY contain English text instead of Czech translations. Replace the English values with appropriate Czech translations following the same pattern as the surrounding entries like ExposureSubSetting.CLOSE_PHYSICAL_CONTACT which correctly shows the Czech translation format, or alternatively remove these two lines entirely to allow the application to fall back to the base enum.properties file for these keys.sormas-api/src/main/resources/enum_de-CH.properties (1)
3147-3148:
⚠️ Potential issue | 🟡 Minor🧩 Analysis chain
🏁 Script executed:
#!/bin/bash # Search for DIRECT_MICROSCOPY and ExposureSubSetting entries in the base enum file grep -n "PathogenTestType.DIRECT_MICROSCOPY\|ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS\|ExposureSubSetting.SEXUAL_ACTIVITY" sormas-api/src/main/resources/enum.propertiesRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 303
🏁 Script executed:
# Check if other German locale files have ExposureSubSetting entries find sormas-api/src/main/resources -name "enum_de*.properties" -type fRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 180
🏁 Script executed:
# Check ExposureSubSetting entries in all locale files grep -n "^ExposureSubSetting\." sormas-api/src/main/resources/enum_de-CH.properties | head -20Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 1625
🏁 Script executed:
# Check if there's a German-only enum file and its ExposureSubSetting entries grep -n "^ExposureSubSetting\." sormas-api/src/main/resources/enum_de.properties 2>/dev/null | head -20Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 58
🏁 Script executed:
# Check the pattern for other enums like Disease or PathogenTestType in de-CH grep -n "^Disease\.\|^PathogenTestType\." sormas-api/src/main/resources/enum_de-CH.properties | head -10Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 414
Resolve the English-only localization for ExposureSubSetting in de-CH file and verify text consistency with base enum.properties.
The ExposureSubSetting enum section (lines 3139–3158) in enum_de-CH.properties is entirely in English, which is inconsistent with other enums (e.g., Disease, PathogenTestType) that are translated to German in the same file. Additionally, the English captions in de-CH differ from the base enum.properties file:
- Line 3147: de-CH has "High-contact environments" vs base has "High-touch environments"
- Line 3148: de-CH has "Sexual contact" vs base has "Sexual"
Determine whether ExposureSubSetting should receive German translations like other enums, or whether English-only with customized captions is intentional.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_de-CH.properties` around lines 3147 - 3148, The ExposureSubSetting enum entries in the de-CH properties file are completely in English while other enums in the same file are translated to German (e.g., Disease, PathogenTestType), creating an inconsistency. Additionally, the English text for ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS and ExposureSubSetting.SEXUAL_ACTIVITY differs from the base enum.properties file. Review the entire ExposureSubSetting enum section (all entries from line 3139-3158) and determine whether to translate all ExposureSubSetting entries to German to match other enums in this file, or if English-only captions are intentional. If translating, ensure consistency with standard German terminology used elsewhere in the properties file. If keeping English, align the caption text with the base enum.properties file.sormas-api/src/main/resources/enum_de-DE.properties (2)
1245-1245:
⚠️ Potential issue | 🔴 Critical | ⚡ Quick winGerman locale enum file contains English text instead of German translation.
Line 1245 adds
PathogenTestType.DIRECT_MICROSCOPY = Direct microscopy, but this is the German locale file (enum_de-DE.properties). The value should be a German translation (e.g., "Direktmikroskopie"), not English. Nearby entries likeMICROSCOPY = Mikroskopieconfirm the file should contain German translations.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_de-DE.properties` at line 1245, The PathogenTestType.DIRECT_MICROSCOPY entry in the German locale file contains English text instead of a German translation. Replace the value "Direct microscopy" with the appropriate German translation (such as "Direktmikroskopie" or similar) to align with the German locale convention, similar to how the nearby MICROSCOPY entry uses "Mikroskopie".
3147-3148:
⚠️ Potential issue | 🔴 Critical | ⚡ Quick winGerman locale enum file contains English text for ExposureSubSetting enum values.
Lines 3147–3148 update
ExposureSubSettingentries with English text:
- Line 3147:
HIGH_TOUCH_ENVIRONMENTS=High-contact environments (e.g. childcare centers, healthcare facilities)(English)- Line 3148:
SEXUAL_ACTIVITY=Sexual contact(English)These are in the German locale file (
enum_de-DE.properties) and must be German translations, not English. This breaks the localization contract for German-speaking users.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_de-DE.properties` around lines 3147 - 3148, The German locale properties file contains English text for ExposureSubSetting enum values instead of German translations. Replace the English text for ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS (currently "High-contact environments (e.g. childcare centers, healthcare facilities)") with its German translation, and replace the English text for ExposureSubSetting.SEXUAL_ACTIVITY (currently "Sexual contact") with its German translation. Ensure both entries provide proper German localization for German-speaking users.sormas-api/src/main/resources/enum_en-KE.properties (1)
1240-1245:
⚠️ Potential issue | 🔴 Critical🧩 Analysis chain
🏁 Script executed:
#!/bin/bash # Verify DIRECT_MICROSCOPY is present and consistent in all enum_*.properties locale files echo "=== Checking for PathogenTestType.DIRECT_MICROSCOPY in all enum files ===" rg -n "PathogenTestType\.DIRECT_MICROSCOPY" sormas-api/src/main/resources/enum_*.properties echo -e "\n=== Counting enum files that contain the entry ===" rg -l "PathogenTestType\.DIRECT_MICROSCOPY" sormas-api/src/main/resources/enum_*.properties | wc -l echo -e "\n=== Listing all enum_*.properties files (to compare count) ===" fd "enum_.*\.properties$" sormas-api/src/main/resources/ | wc -lRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 3520
🏁 Script executed:
# Identify which enum files are MISSING the DIRECT_MICROSCOPY entry echo "=== Enum files MISSING PathogenTestType.DIRECT_MICROSCOPY ===" fd "enum_.*\.properties$" sormas-api/src/main/resources/ | while read file; do if ! rg -q "PathogenTestType\.DIRECT_MICROSCOPY" "$file"; then echo "$file" fi doneRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 1486
Enum entry incomplete: PathogenTestType.DIRECT_MICROSCOPY is missing from 26 of 55 locale files.
The entry is correctly added to
enum_en-KE.propertiesat line 1245 with the caption "Direct microscopy", but verification shows this addition is inconsistent across the localization suite. The entry is present in only 29 files and missing from 26 files, including critical base fallback files (enum_en.properties,enum_ar.properties). This incomplete rollout means locales without an explicit translation file will not have access to the new enum value, potentially causing runtime issues. All 55 enum_*.properties files should include this entry.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_en-KE.properties` around lines 1240 - 1245, The new enum entry PathogenTestType.DIRECT_MICROSCOPY has been added to enum_en-KE.properties but is missing from 26 out of 55 locale files, including critical base fallback files like enum_en.properties and enum_ar.properties. Add the entry PathogenTestType.DIRECT_MICROSCOPY with an appropriate translation for each language/locale to all remaining enum_*.properties files that are currently missing it. Prioritize adding it to the base fallback files first (enum_en.properties, enum_ar.properties, etc.) to ensure all locales have access to this new enum value at runtime.sormas-api/src/main/resources/enum_fr-TN.properties (3)
1242-1242:
⚠️ Potential issue | 🟠 Major | ⚡ Quick winPotential translation error in
PathogenTestType.IGA_SERUM_ANTIBODY.Line 1242 translates
IGA_SERUM_ANTIBODYas "Anticorps du sérum d'IgG" (IgG serum antibodies), but it should be "Anticorps du sérum d'IgA" (IgA serum antibodies) to match the enum constant. Compare with line 1240 (IGG) and line 1241 (IGM), which correctly use "IgG" and "IgM" respectively in their translations.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_fr-TN.properties` at line 1242, The French translation for PathogenTestType.IGA_SERUM_ANTIBODY incorrectly uses "IgG" in the translation string when it should use "IgA" to match the enum constant name. Replace "IgG" with "IgA" in the translation for PathogenTestType.IGA_SERUM_ANTIBODY to read "Anticorps du sérum d'IgA" instead of "Anticorps du sérum d'IgG", ensuring consistency with the pattern used for the IGG and IGM translations on the adjacent lines.
1245-1245:
⚠️ Potential issue | 🟠 Major | ⚡ Quick winMissing French translation for
PathogenTestType.DIRECT_MICROSCOPY.This new enum entry is in English ("Direct microscopy") but all other
PathogenTestTypeentries in this French (Tunisia) locale file are translated to French (e.g., line 1234: "Test de détection antigène", line 1244: "Microscopie"). The French translation for "Direct microscopy" should be added (e.g., "Microscopie directe" or similar).🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_fr-TN.properties` at line 1245, The `PathogenTestType.DIRECT_MICROSCOPY` entry in the French (Tunisia) locale file is currently in English ("Direct microscopy") and must be translated to French to maintain consistency with all other PathogenTestType enum entries in this file. Replace the English value "Direct microscopy" with an appropriate French translation such as "Microscopie directe" to align with the pattern of other translated entries in the properties file.
3147-3148:
⚠️ Potential issue | 🟠 Major🧩 Analysis chain
🏁 Script executed:
# First, let's examine the file to understand the pattern of ExposureSubSetting entries cat -n sormas-api/src/main/resources/enum_fr-TN.properties | grep -A 5 -B 5 "ExposureSubSetting" | head -50Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 2287
🏁 Script executed:
# Check how many ExposureSubSetting entries exist and their patterns rg "ExposureSubSetting\." sormas-api/src/main/resources/enum_fr-TN.properties | head -20Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 1525
🏁 Script executed:
# Look for the English equivalent locale file to compare fd -t f "enum_en" sormas-api/src/main/resources/Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 437
🏁 Script executed:
# Check what other locale files exist for enums fd -t f "enum_" sormas-api/src/main/resources/ | sortRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 2932
🏁 Script executed:
# Check if there are any French translations in the file or if it's all English cat sormas-api/src/main/resources/enum_fr-TN.properties | head -100Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 4139
🏁 Script executed:
# Search for patterns that would indicate French text (common French words) rg "^[^=]*=[^=]*(le|la|les|un|une|des|est|sont|pour|avec|dans)" sormas-api/src/main/resources/enum_fr-TN.properties | head -20Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 1581
🏁 Script executed:
# Compare the ExposureSubSetting section between English and French locale echo "=== ENGLISH ===" && rg "ExposureSubSetting\." sormas-api/src/main/resources/enum_en.properties && echo -e "\n=== FRENCH (TN) ===" && rg "ExposureSubSetting\." sormas-api/src/main/resources/enum_fr-TN.propertiesRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 92
🏁 Script executed:
# Check if ExposureSubSetting exists in the English locale file rg "ExposureSubSetting" sormas-api/src/main/resources/enum_en.properties | head -5Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 58
🏁 Script executed:
# Let's check if ExposureSubSetting is a new addition by checking when it first appears rg "ExposureSubSetting" sormas-api/src/main/resources/enum_*.properties | head -20Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 2535
🏁 Script executed:
# Check how many French locale files have translations vs English for comparison wc -l sormas-api/src/main/resources/enum_fr-TN.properties sormas-api/src/main/resources/enum_en.propertiesRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 204
🏁 Script executed:
# Check the actual English properties file - it seems very small cat sormas-api/src/main/resources/enum_en.propertiesRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 1039
🏁 Script executed:
# Look for a base/default properties file fd -t f "enum\.properties" sormas-api/src/main/resources/Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 122
🏁 Script executed:
# Get a better understanding of file structure ls -lh sormas-api/src/main/resources/enum*.properties | head -10Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 1077
🏁 Script executed:
# Check if the French files have translations or are in English too rg "ExposureSubSetting" sormas-api/src/main/resources/enum_fr-*.propertiesRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 8593
🏁 Script executed:
# Check if ExposureSubSetting appears in the base enum.properties file rg "ExposureSubSetting" sormas-api/src/main/resources/enum.propertiesRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 1657
🏁 Script executed:
# Verify if ALL ExposureSubSetting entries in French files are in English or just the two mentioned rg "ExposureSubSetting\..*=" sormas-api/src/main/resources/enum_fr-TN.properties | cut -d'=' -f2 | sort -uRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 734
🏁 Script executed:
# Check a German locale file to see if German translations exist for ExposureSubSetting rg "ExposureSubSetting" sormas-api/src/main/resources/enum_de-DE.properties | head -10Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 771
🏁 Script executed:
# Check other non-English locales rg "ExposureSubSetting" sormas-api/src/main/resources/enum_es-ES.properties | head -3Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 58
ExposureSubSetting entries remain untranslated in French locale file.
All ExposureSubSetting entries (lines 3139–3161) in the French locale file, including lines 3147–3148, contain English text. This appears to be a new enum section added to the codebase that lacks French translations across all French locale variants (
enum_fr-TN.properties,enum_fr-FR.properties,enum_fr-CH.properties). Either provide French translations for the entire ExposureSubSetting section or document why English fallbacks are acceptable.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_fr-TN.properties` around lines 3147 - 3148, The ExposureSubSetting enum entries in all French locale property files (enum_fr-TN.properties, enum_fr-FR.properties, and enum_fr-CH.properties) are missing French translations and currently display English text. Translate all ExposureSubSetting key-value pairs (including HIGH_TOUCH_ENVIRONMENTS and SEXUAL_ACTIVITY entries across lines 3139-3161) from English to appropriate French text in each of the three French locale files, ensuring consistent terminology across all French variants.sormas-api/src/main/resources/enum_ps-AF.properties (1)
3147-3148:
⚠️ Potential issue | 🟠 Major🧩 Analysis chain
🏁 Script executed:
#!/bin/bash # Compare size/content of this Pashto file vs others to understand the pattern wc -l sormas-api/src/main/resources/enum_*.properties | sort -n | tail -10 # Check if Pashto file is intentionally English or should be empty ls -lh sormas-api/src/main/resources/enum_ps-AF.properties sormas-api/src/main/resources/enum_en-AF.properties 2>/dev/null | awk '{print $9, $5}'Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 744
🏁 Script executed:
#!/bin/bash # Check if base enum.properties exists and its size ls -lh sormas-api/src/main/resources/enum.properties 2>/dev/null | awk '{print $9, $5}' || echo "Base enum.properties not found" # Sample a few lines from Pashto file to see if it contains English or actual Pashto text echo "=== Pashto file sample (first 5 property lines) ===" grep -v '^#' sormas-api/src/main/resources/enum_ps-AF.properties | grep '=' | head -5 # Sample from another locale file (e.g., Polish) to see if pattern is consistent echo "=== Polish file sample (first 5 property lines) ===" grep -v '^#' sormas-api/src/main/resources/enum_pl-PL.properties | grep '=' | head -5 # Sample from Russian file echo "=== Russian file sample (first 5 property lines) ===" grep -v '^#' sormas-api/src/main/resources/enum_ru-RU.properties | grep '=' | head -5Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 1331
🏁 Script executed:
#!/bin/bash # Check if there are translation tables in database schema or other translation mechanisms find sormas-api/src/main -name "*.sql" -o -name "*.properties" | xargs grep -l "translation\|locale\|language" 2>/dev/null | head -10 # Check for localization documentation find . -name "README*" -o -name "LOCALIZATION*" -o -name "*i18n*" | grep -E "(README|LOCALIZATION|i18n)" | head -5 # Check if there's a messages properties file or translation bundle ls -lh sormas-api/src/main/resources/*.properties | grep -E "(message|translation|bundle)" || echo "No specific translation bundles found" # Compare base enum.properties with one locale file to see actual differences (if any) echo "=== Checking if base and locale files have actual differences ===" diff -q sormas-api/src/main/resources/enum.properties sormas-api/src/main/resources/enum_ps-AF.properties || echo "Files differ"Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 1014
🏁 Script executed:
#!/bin/bash # Check actual differences between base and Pashto enum files echo "=== First 20 lines of diff output ===" diff sormas-api/src/main/resources/enum.properties sormas-api/src/main/resources/enum_ps-AF.properties | head -20 # Check if Pashto has any actual translated content (non-English words) echo "" echo "=== Checking for any non-English content in Pashto enum file ===" grep -v '^[A-Za-z0-9_\.=\s\(\)\-\,]' sormas-api/src/main/resources/enum_ps-AF.properties | head -5 || echo "No non-ASCII content found" # Look at the i18n package to understand localization strategy echo "" echo "=== I18n related files ===" find sormas-api/src/main/java/de/symeda/sormas/api/i18n -type f -name "*.java" | head -10 # Check for any documentation in the i18n package cat sormas-api/src/main/java/de/symeda/sormas/api/i18n/README* 2>/dev/null || echo "No README in i18n package" </parameter>Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 1945
🏁 Script executed:
#!/bin/bash # Compare Pashto with English Afghanistan variant echo "=== Pashto file sample (lines 160-165 for CaseClassification.SUSPECT) ===" sed -n '160,165p' sormas-api/src/main/resources/enum_ps-AF.properties echo "" echo "=== English Afghanistan file sample (lines 160-165) ===" sed -n '160,165p' sormas-api/src/main/resources/enum_en-AF.properties # Check git history to see when ps-AF was added and if it was meant to contain translations echo "" echo "=== Git log for enum_ps-AF.properties (last 3 commits) ===" git log --oneline -3 -- sormas-api/src/main/resources/enum_ps-AF.properties 2>/dev/null || echo "Git log not available" # Check if there's any documentation about supported languages/locales echo "" echo "=== Searching for locale/language configuration ===" find sormas-api/src -name "*.properties" -o -name "*.xml" -o -name "*.yml" -o -name "*.json" | xargs grep -l "ps-AF\|pashto\|dari" 2>/dev/null | head -5Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 1332
🏁 Script executed:
#!/bin/bash # Let me search more specifically for the SUSPECT line that showed differences echo "=== Looking for CaseClassification.SUSPECT in both files ===" grep "CaseClassification.SUSPECT" sormas-api/src/main/resources/enum.properties grep "CaseClassification.SUSPECT" sormas-api/src/main/resources/enum_ps-AF.properties # Check which locales are actually configured/supported in the application echo "" echo "=== Checking for locale/language configuration in code ===" find sormas-api/src/main -name "*.java" | xargs grep -h "ps-AF\|ps_AF\|pashto" 2>/dev/null | head -5 || echo "No references to ps-AF in Java code" # Check if there's a list of supported languages echo "" echo "=== Looking for supported languages list ===" find . -name "*.java" -o -name "*.properties" | xargs grep -l "SUPPORTED.*LANGUAGE\|LANGUAGES.*=" 2>/dev/null | head -3 # Check if files are auto-generated by a translation tool (Crowdin, etc.) echo "" echo "=== Checking for translation tool indicators ===" head -20 sormas-api/src/main/resources/enum_ps-AF.properties | grep -i "crowdin\|transifex\|auto\|generated" || echo "No auto-generation indicators found" # List ALL enum_*.properties files to see the full pattern echo "" echo "=== All enum locale files present ===" ls -1 sormas-api/src/main/resources/enum_*.properties | sed 's/.*enum_//' | sed 's/.properties//' | sortRepository: SORMAS-Foundation/SORMAS-Project
Length of output: 779
🏁 Script executed:
#!/bin/bash # Let's check if other non-English locales actually have real translated content echo "=== Sample from German (de-DE) enum file ===" grep "^[A-Z]" sormas-api/src/main/resources/enum_de-DE.properties | head -5 echo "" echo "=== Sample from Russian (ru-RU) enum file ===" grep "^[A-Z]" sormas-api/src/main/resources/enum_ru-RU.properties | head -5 echo "" echo "=== Sample from Urdu (ur-PK) enum file ===" grep "^[A-Z]" sormas-api/src/main/resources/enum_ur-PK.properties | head -5 # Check if Pashto and Urdu (both Afghanistan/Pakistan) have different content echo "" echo "=== Comparing ps-AF and ur-PK first property entries ===" diff <(head -50 sormas-api/src/main/resources/enum_ps-AF.properties | grep "^[A-Z]") <(head -50 sormas-api/src/main/resources/enum_ur-PK.properties | grep "^[A-Z]") | head -10 || echo "Files identical in first 50 lines"Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 1396
🏁 Script executed:
#!/bin/bash # The pattern is becoming clear - let's see how many locale files contain English vs actual translations echo "=== Checking for actual non-English content in locale files ===" for file in sormas-api/src/main/resources/enum_{fa-AF,ur-PK,ar-SA,ru-RU,ps-AF,ks-PK}.properties; do if [ -f "$file" ]; then # Count lines with non-ASCII characters (actual translations) non_ascii=$(grep -v '^#' "$file" | grep -v '^$' | grep -P '[^\x00-\x7F]' | wc -l) total=$(grep -v '^#' "$file" | grep -v '^$' | wc -l) locale=$(basename "$file" .properties | sed 's/enum_//') echo "$locale: $non_ascii translated lines out of $total total" fi done # Specifically check if ps-AF has ANY non-ASCII content echo "" echo "=== Non-ASCII content in ps-AF (should be Pashto if translated) ===" grep -P '[^\x00-\x7F]' sormas-api/src/main/resources/enum_ps-AF.properties | head -3 || echo "No Pashto script found - file contains only English"Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 848
🏁 Script executed:
#!/bin/bash # Check what those 24 "translated" lines in ps-AF actually are echo "=== The 24 'non-ASCII' lines in ps-AF ===" grep -P '[^\x00-\x7F]' sormas-api/src/main/resources/enum_ps-AF.properties | sed 's/.*=//' | sort -u # Also check fa-AF (Farsi) which also has 24 - are they identical? echo "" echo "=== The 24 'non-ASCII' lines in fa-AF ===" grep -P '[^\x00-\x7F]' sormas-api/src/main/resources/enum_fa-AF.properties | sed 's/.*=//' | sort -u # Confirm what the actual translation status is by checking a translated locale vs English-only echo "" echo "=== Lines with actual language content (not symbols) in ur-PK (translated) ===" grep -P '[^\x00-\x7F]' sormas-api/src/main/resources/enum_ur-PK.properties | grep -v '®' | grep -v '≥' | head -3 # Final check: are ps-AF and fa-AF files content-wise identical except for comments? echo "" echo "=== Comparing ps-AF and fa-AF (filtering out comments) ===" diff <(grep "^[A-Z]" sormas-api/src/main/resources/enum_ps-AF.properties | head -20) <(grep "^[A-Z]" sormas-api/src/main/resources/enum_fa-AF.properties | head -20) | head -5 || echo "Files are identical"Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 2492
🏁 Script executed:
#!/bin/bash # Let's verify the actual translation percentage for clarity echo "=== Translation completeness summary ===" for file in sormas-api/src/main/resources/enum_{de-DE,ur-PK,ar-SA,ps-AF,fa-AF,ru-RU}.properties; do if [ -f "$file" ]; then # Count actual translated lines (with non-ASCII script characters, excluding symbols) actual_translated=$(grep -P '[^\x00-\x7F]' "$file" | grep -v "^#" | grep -v '®\|§\|→\|–\|≥\|©' | wc -l) total=$(grep -v '^#' "$file" | grep -v '^$' | wc -l) locale=$(basename "$file" .properties | sed 's/enum_//') pct=$((actual_translated * 100 / total)) echo "$locale: $actual_translated actual translations out of $total ($pct%)" fi done # Confirm ps-AF has zero actual Pashto script characters echo "" echo "=== Pashto (ps) script check ===" grep -P 'ا|پ|ش|د|د|ج|ک|ل|م|ن|و|ه|ی' sormas-api/src/main/resources/enum_ps-AF.properties | wc -l echo "Pashto script character lines found (should be > 0 for translated file)" # Check the git commit that added/modified ps-AF echo "" echo "=== Full git history for enum_ps-AF.properties ===" git log --oneline -- sormas-api/src/main/resources/enum_ps-AF.properties 2>/dev/null | head -5Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 627
Remove or provide Pashto translations for
enum_ps-AF.properties.This file contains 0% actual Pashto content (0 Pashto script characters found across 2,734 entries)—it is 100% English identical to the base file, providing no localization value. Comparison with functional locale files shows:
ur-PK(Urdu): 66% translatedar-SA(Arabic): 78% translatedps-AF(Pashto): 0% translated (English only)The file should either be removed (if Pashto localization is not supported) or populated with actual Pashto translations. Similarly,
fa-AF(Farsi) andru-RU(Russian) also lack translations and may need review.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_ps-AF.properties` around lines 3147 - 3148, The enum_ps-AF.properties file contains only English translations with zero Pashto script content across all 2,734 entries, providing no actual localization value. Either remove this file entirely if Pashto localization is not currently supported, or populate it with proper Pashto translations for all entries including ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS and ExposureSubSetting.SEXUAL_ACTIVITY. If proceeding with translation, ensure actual Pashto script characters are used (not English text) to match the translation coverage of similar locale files like ur-PK (66%) and ar-SA (78%).Source: Learnings
sormas-api/src/main/resources/enum_pt-BR.properties (1)
3147-3148:
⚠️ Potential issue | 🟠 Major🧩 Analysis chain
🏁 Script executed:
#!/bin/bash # Check if enum_pt-BR.properties has translated content or acts as an English fallback echo "=== Checking enum_pt-BR.properties line counts and sampling ===" wc -l sormas-api/src/main/resources/enum_pt-BR.properties echo "" echo "=== Sampling lines around ExposureSubSetting ===" sed -n '3140,3162p' sormas-api/src/main/resources/enum_pt-BR.properties echo "" echo "=== Checking if a base enum.properties exists ===" ls -la sormas-api/src/main/resources/enum.properties 2>/dev/null || echo "Base enum.properties not found"Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 1889
🏁 Script executed:
#!/bin/bash # Understanding the localization architecture echo "=== Checking base enum.properties for the same ExposureSubSetting entries ===" sed -n '3140,3162p' sormas-api/src/main/resources/enum.properties | head -20 echo "" echo "=== Checking other locale files exist and their structure ===" ls -la sormas-api/src/main/resources/enum_*.properties | head -10 echo "" echo "=== Comparing line counts: do all locale files have similar sizes? ===" wc -l sormas-api/src/main/resources/enum*.properties | tail -1 echo "" echo "=== Checking sample from another complete locale (en-GB) ===" sed -n '3147,3148p' sormas-api/src/main/resources/enum_en-GB.properties 2>/dev/null || echo "enum_en-GB.properties not found" echo "" echo "=== Checking sample from German locale (de-DE) ===" sed -n '3147,3148p' sormas-api/src/main/resources/enum_de-DE.properties 2>/dev/null || echo "enum_de-DE.properties not found" echo "" echo "=== Checking sample from French locale (fr-FR) ===" sed -n '3147,3148p' sormas-api/src/main/resources/enum_fr-FR.properties 2>/dev/null || echo "enum_fr-FR.properties not found"Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 2569
🏁 Script executed:
#!/bin/bash # Need to investigate if these keys are recent additions or systematically untranslated echo "=== Finding lines for HIGH_TOUCH_ENVIRONMENTS and SEXUAL_ACTIVITY in base enum.properties ===" grep -n "ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS\|ExposureSubSetting.SEXUAL_ACTIVITY" sormas-api/src/main/resources/enum.properties echo "" echo "=== Check a broader sample of ExposureSubSetting in de-DE to see translation pattern ===" grep -n "ExposureSubSetting\." sormas-api/src/main/resources/enum_de-DE.properties | head -30 echo "" echo "=== Check if French has actual translations for other ExposureSubSetting entries ===" grep "ExposureSubSetting.CLOSE_PHYSICAL_CONTACT\|ExposureSubSetting.HEALTHCARE_SETTINGS" sormas-api/src/main/resources/enum_fr-FR.properties echo "" echo "=== Compare: do base enum.properties and pt-BR have exact same content for all keys? ===" diff <(grep "ExposureSubSetting" sormas-api/src/main/resources/enum.properties | head -15) \ <(grep "ExposureSubSetting" sormas-api/src/main/resources/enum_pt-BR.properties | head -15)Repository: SORMAS-Foundation/SORMAS-Project
Length of output: 2518
Update Portuguese (Brazil) and other locale files with translated captions for ExposureSubSetting keys.
Lines 3147–3148 in
enum_pt-BR.propertiescontain English text. However, this is part of a broader localization issue: the same keys (HIGH_TOUCH_ENVIRONMENTS,SEXUAL_ACTIVITY) appear untranslated across multiple locale files (de-DE, fr-FR) with English fallback values instead of language-specific translations.Additionally, the values in these locale files differ from the base
enum.properties:
- Base file line 3167:
ExposureSubSetting.SEXUAL_ACTIVITY=Sexual(incomplete)- Locale files:
ExposureSubSetting.SEXUAL_ACTIVITY=Sexual contact(complete)This pattern suggests an incomplete Crowdin translation update where English fallback content was not replaced with actual Portuguese, German, or French translations. Ensure that the Brazilian Portuguese translations are in place for this enum section, along with translations for other affected locales.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sormas-api/src/main/resources/enum_pt-BR.properties` around lines 3147 - 3148, The enum_pt-BR.properties file contains English text for ExposureSubSetting.HIGH_TOUCH_ENVIRONMENTS and ExposureSubSetting.SEXUAL_ACTIVITY instead of Portuguese (Brazil) translations. Replace the English values with proper Portuguese (Brazil) translations for both keys. Additionally, verify that the same keys in other affected locale files (de-DE, fr-FR) also contain appropriate language-specific translations rather than English fallback text, and ensure consistency with the complete values used across all locale files (particularly that SEXUAL_ACTIVITY includes the full translated phrase, not just a partial translation).Source: Learnings
Summary by CodeRabbit