You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is to keep track of strings which need improvements, please keep discussion on topic. It is not a place to request new languages to be added to the Crowdin project!
Mention the string ID
Why is it bad
What improvement(s) would make it easier to translate.
settings.display.theme.sync-across-devices.sign-in-tooltip (Sign into Modrinth to sync theme) app.behavior-settings.sync-across-devices.signed-out-tooltip (Sign into a Modrinth account to sync settings.)
These strings are used in similar scenarios. I think they should be consistent:
use either into Modrinth or into a Modrinth account
Issue: Need plural/gender support for the string "All" in French (i18n)
Description:
The standalone string "All" requires plural and gender agreement in French depending on what it refers to (e.g., "Tous" for masculine/mixed items vs. "Toutes" for feminine items).
Could this string be given additional context or split into specific keys based on where it is used so it can be localized accurately?
Replace ALL strings having variables using strings with ICU-selects. Not having any, and limiting translators to NOT use any because they won't be accepted inside Modrinth, limit the translations greatly.
time-frame-picker.last-timeframe-prefix should give the translators the ability to change the order of the elements.
Something like this: In the last <amount></amount> <unit></unit>
This string previously used an ICU select expression directly in the source, allowing translators to translate the entire sentence according to their language's grammar.
For example, the original format was similar to:
Search {projectType, select, ...}...
This made it possible to produce natural translations in languages such as Hungarian, where the word order differs from English (e.g. "Modok keresése..." instead of the literal "Keresés modok...").
The string has since been split into multiple translation entries (Search {projectType}... and separate strings for each project type). While this works well in English, it makes natural translations much harder—or impossible—for languages with different grammar or word order.
Additionally, using the original ICU select syntax in the translation no longer seems to work. The Modrinth website and app display the English text instead of rendering the translated ICU expression.
This approach worked correctly in the past. However, after the strings were split, translated ICU select expressions no longer appear to be processed correctly.
What improvement(s) would make it easier to translate?
Ideally, this string should remain as a single ICU MessageFormat string with a select expression, or another solution should be used that allows translators to control the entire sentence instead of assembling it from separate translated fragments.
This would improve localization not only for Hungarian, but also for other languages whose grammar or word order differs from English.
Activity
Andre601 commentedon Apr 1, 2026
[-]i18n Megathread[/-][+]i18n - String improvement megathread[/+]creeperkatze commentedon Apr 1, 2026
Jerozgen commentedon Apr 3, 2026
Laxan3000 commentedon Apr 13, 2026
Daylight-MC commentedon Apr 13, 2026
creeperkatze commentedon Apr 13, 2026
creeperkatze commentedon Apr 13, 2026
Andre601 commentedon Apr 13, 2026
lumiscosity commentedon Apr 26, 2026
Jerozgen commentedon Apr 27, 2026
55 remaining items
Jerozgen commentedon Aug 23, 2026
settings.display.theme.sync-across-devices.sign-in-tooltip(Sign into Modrinth to sync theme)app.behavior-settings.sync-across-devices.signed-out-tooltip(Sign into a Modrinth account to sync settings.)These strings are used in similar scenarios. I think they should be consistent:
into Modrinthorinto a Modrinth account.or notJerozgen commentedon Aug 23, 2026
The "Actions" column in the blocked users table should adapt to longer buttons (or use an icon instead of text)
I've used "Разблокировать" (a literal Russian translation of "Unblock") in this screenshot:

creeperkatze commentedon Sep 3, 2026
The spacing of the ads consent popup is broken.
Cookai1205 commentedon Sep 5, 2026
Cookai1205 commentedon Sep 9, 2026
In Serbian (Latin), texts generated by i18n functions use Cyrillic instead of Latin script.
Laxan3000 commentedon Sep 9, 2026
All strings under
app.settings.game-options.choice.*should have duplicates based on where they are usedNamely "All" and "None", but also others under the same subkey.
moi-le-chat commentedon Sep 9, 2026
String ID:
app.settings.game-options.choice.allIssue: Need plural/gender support for the string "All" in French (i18n)
Description:
The standalone string
"All"requires plural and gender agreement in French depending on what it refers to (e.g.,"Tous"for masculine/mixed items vs."Toutes"for feminine items).Could this string be given additional context or split into specific keys based on where it is used so it can be localized accurately?
Laxan3000 commentedon Sep 12, 2026
dashboard.creator-withdraw-modal.tremendous-details.search-category-placeholdershould have an icu-select insteadCeebug commentedon Sep 24, 2026
Yeah that should be called "Open Sidebar"
Laxan3000 commentedon Sep 30, 2026
Replace ALL strings having variables using strings with ICU-selects. Not having any, and limiting translators to NOT use any because they won't be accepted inside Modrinth, limit the translations greatly.
Laxan3000 commentedon Sep 30, 2026
time-frame-picker.last-timeframe-prefixshould give the translators the ability to change the order of the elements.Something like this:
In the last <amount></amount> <unit></unit>Laxan3000 commentedon Oct 5, 2026
installation-settings.linked-instance.titlefor the languages that have the variable first, the first letter should be capitalized
Laxan3000 commentedon Oct 5, 2026
files.create-modal.header,files.upload.drag-and-drop.drop-to-uploadThese strings should use an ICU tagSzabAndris10 commentedon Oct 13, 2026
String ID: 7539
Why is it bad?
This string previously used an ICU
selectexpression directly in the source, allowing translators to translate the entire sentence according to their language's grammar.For example, the original format was similar to:
This made it possible to produce natural translations in languages such as Hungarian, where the word order differs from English (e.g. "Modok keresése..." instead of the literal "Keresés modok...").
The string has since been split into multiple translation entries (
Search {projectType}...and separate strings for each project type). While this works well in English, it makes natural translations much harder—or impossible—for languages with different grammar or word order.Additionally, using the original ICU
selectsyntax in the translation no longer seems to work. The Modrinth website and app display the English text instead of rendering the translated ICU expression.This approach worked correctly in the past. However, after the strings were split, translated ICU
selectexpressions no longer appear to be processed correctly.What improvement(s) would make it easier to translate?
Ideally, this string should remain as a single ICU MessageFormat string with a
selectexpression, or another solution should be used that allows translators to control the entire sentence instead of assembling it from separate translated fragments.This would improve localization not only for Hungarian, but also for other languages whose grammar or word order differs from English.
I used this format, but it didn't work:
forráscsomag = resource packadatcsomag = data packmodcsomag = modpackbővítmény = pluginszerver = serverLaxan3000 commentedon Oct 13, 2026
(better yet, make every string that is filled by another string an ICU select - or to just enable translators to make their own)