Repository navigation
Do not translate OpenJS Foundation #8072
Description
Activity
From my understanding, no it's a trademark
cc @nodejs/marketing
if I recall correctly, I think we might have done this already too
found it #6847
- changed the title
[-]Decide if we translate OpenJS Foundation[/-][+]Do not translate `OpenJS Foundation`[/+]on Aug 12, 2025 @bmuenzenmeyer it's not supposed to be translated, yes. But it's a translation string for the convenience. Otherwise breaking strings down betwene the translated texts becomes confusing.
Reacted by Brian MuenzenmeyerI'm not aware of this. Is that convention? we put other strings in there we don't intend to translate? https://github.com/nodejs/nodejs.org/blob/main/docs/translation.md doesn't make mention of this from what I can tell. I know Crowdin can lock or ignore keys, but I think we've only done it for code that slips through the parser.
If we don't want to translate it....maybe it belongs in
next.constants.mjsI'm not aware of this. Is that convention? we put other strings in there we don't intend to translate?
main/docs/translation.md doesn't make mention of this from what I can tell. I know Crowdin can lock or ignore keys, but I think we've only done it for code that slips through the parser.If we don't want to translate it....maybe it belongs in
next.constants.mjsI think you're not getting it
<AlertBox level="warning"> {t('components.eolAlert.intro')}{' '} <Link href="/eol"> OpenJS Ecosystem Sustainability Program{' '} {t('components.eolAlert.partner')} HeroDevs </Link> </AlertBox>❓ How can translators know where to insert these strings? I’m looking for a way to give them clear context. Also, how will we handle RTL or other languages where the placement of “HeroDevs” and “OpenJS Ecosystem Sustainability Program” needs to change? If we account for that, it makes sense to keep the entire sentence in the i18n file.
In transalation we can insert value. So it's will be something like that
{t("myComponent.ttitle", constante.OpenjsF)}https://next-intl.dev/docs/usage/messages#interpolation-of-dynamic-values
I don't know much about the trademark aspect but I think in a literal context the "foundation" is probably expected to be translated. As far as I know in Chinese, when people talk about the Linux foundation for example, the vast majority of people always type "Linux 基金会" and insisting on using the English word "foundation" would look weird (or insisting in using the English word when most people expect it to be plain and universal enough to be translated into Chinese is often considered pretentious). The less universal part or a name ("Linux" or "OpenJS") is usually not translated, of course.
@joyeecheung It’s exactly the same in the Japanese context as well, so I agree.
Anyway, I have updated the Japanese translation into "OpenJS Foundation" on Crowdin.
cc @nodejs/marketing what's the legal aspect of this?
If there are legal questions about this, you can follow this process https://github.com/openjs-foundation/cross-project-council?tab=readme-ov-file#help-with-legal-questions-for-existing-projects-only
Does anyone have the bandwidth to submit this?
emailed
Bump @nodejs/marketing
for legal questions, defer to @bensternthal
just saw kylie's message now. came here to note that eslint translates it in their new language footer https://es.eslint.org/
DM'd Ben - he is on vacation so not hoping for a response until he returns
"OpenJS Foundation" should not be translated.
The key language from our policy:
A trademark must not be altered or amended in any way. A mark must not be combined with any other mark, hyphenated, abbreviated or displayed in parts.
The specified full form is the English name.
If context requires it, you could add a descriptive translation alongside it (e.g., in parentheses) as a generic descriptor, not as a replacement for the mark itself.
So maybe the best would be to refer to it as (in French) "la fondation OpenJS Foundation" – or in Spanish, "la fundación OpenJS Foundation". That way, it's clearer that "Foundation" is part of the name.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fields🏗 In progress
this should not be translated, per previous work #6847
Originally posted by @bmuenzenmeyer in #8001 (comment)
This was added in to a pretty large changeset that was a catch all of multiple things...
French
Japanese
Etc