Skip to content

FIX: Several strings ignore the selected install-time culture and always render in English in Install Wizard - #7426

Open
idumlupinar wants to merge 13 commits into
dnnsoftware:developfrom
idumlupinar:bugfix-7424
Open

FIX: Several strings ignore the selected install-time culture and always render in English in Install Wizard#7426
idumlupinar wants to merge 13 commits into
dnnsoftware:developfrom
idumlupinar:bugfix-7424

Conversation

@idumlupinar

Copy link
Copy Markdown
Contributor

Fixes #7424

Summary

Fixes the Install Wizard's password-strength meter always rendering in English, regardless of the selected install-time culture, even when InstallWizard.aspx.<culture>.resx is fully translated.

Root cause

DnnPaswordStrengthOptions's constructor hardcodes its text source to App_GlobalResources/WebControls.resx via Utilities.GetLocalizedString. The Install Wizard runs before the rest of the application (including global resource translations for every culture) is guaranteed to be in place, so this dependency silently breaks localization for this one widget on this one page — every other string on InstallWizard.aspx already correctly reads from the page's own local resource file. In addition, culture field in DNN Platform/Website/Install/InstallWizard.aspx.cs doesn't survive an AppDomain restart during install, so localization would silently fall back to default.

Changes

  • InstallWizard.aspx.cs: after constructing DnnPaswordStrengthOptions, override its MinLengthText, WeakText, FairText, StrongText, CriteriaAtLeastNCharsText, CriteriaAtLeastNSpecialCharsText, CriteriaValidationExpressionText, and PasswordRulesHeadText fields using the page's existing LocalizeString() helper, before serialization.
  • InstallWizard.aspx.resx (base) and all shipped InstallWizard.aspx.<culture>.resx files: added the corresponding resource keys, values copied/translated from App_GlobalResources/WebControls.resx.
  • No Errors Logged message localization
  • Password match validation messages
  • cultureCode implementation
  • Turkish translations added/improved

Testing performed

  • Fresh install using default culture has no problems in the Install Wizard
  • Fresh install, culture = tr-TR: strength meter, confirm-password indicator, and "no errors logged" message all fully localized; numeric substitution in strength-meter rules correct
  • Manual visual check, mismatched-password check, and empty-log check

Notes for reviewers

  • Other shipped culture resx files have not been updated in this PR and will fall back to whatever default missing-key behavior is until follow-up translations land — flagging so maintainers can decide whether to gate this PR on all cultures being updated together or ship incrementally.

idumlupinar and others added 13 commits August 3, 2026 23:06
Updates InstallWizard.aspx.cs to override the default DnnPaswordStrengthOptions text properties with local resource strings prior to JSON serialization.

Currently, the password strength meter reads from App_GlobalResources/WebControls.resx by default. During the initial installation phase, global resources cannot be relied upon to be fully translated for the user's selected culture. This change forces the password strength criteria and UI warnings to use the wizard's own local resource file, ensuring a fully localized experience that is consistent with the rest of the installation steps.

Technical Note:
The local resource overrides are intentionally applied before Json.Serialize(options). This ensures that the [OnSerializing] method on DnnPaswordStrengthOptions correctly applies string.Format to evaluate the {0} placeholders (for numeric values like minimum characters) against the newly localized strings before the JSON payload is generated.
Values copied verbatim from App_GlobalResources/WebControls.resx
Turkish localization for the missing strings
ConfirmPasswordUnmatched and ConfirmPasswordMatched strings added.
Added ConfirmPasswordUnmatched.Text and ConfirmPasswordMatched.Text values.
Added ConfirmPasswordUnmatched.Text and ConfirmPasswordMatched.Text values.
Previously, NoErrorsLogged message was always shown in English. This code aims fixing the issue.
…ll, so localization would silently fall back to default
Updated Turkish localization for various strings in the Installwizard.

@valadas valadas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nothing sticks out to me

@valadas valadas added this to the 10.4.0 milestone Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Several strings ignore the selected install-time culture and always render in English in Install Wizard

2 participants