# Portal translations

**URL:** <https://forum.ghost.org/t/portal-translations/18134>\
**Category:** Memberships & subscriptions\
**Created:** [November 9, 2020, 12:50pm UTC](https://forum.ghost.org/t/portal-translations/18134 "2020-11-09T12:50:03Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![n1n10](https://avatars.discourse-cdn.com/v4/letter/n/b3f665/32.png) [@n1n10](https://forum.ghost.org/u/n1n10)\
**Post date:** [November 9, 2020, 12:50pm UTC](https://forum.ghost.org/t/portal-translations/18134/1 "2020-11-09T12:50:03Z")

</div>

Hi good Ghost people,

The new Portal feature looks excellent — very clean and hopefully a great addition to get more members on board and to simplify the sign up process.

However, I do miss the possibility of translating all the English words in the form to my users native language. Which files do I need to edit to accomplish this?

Also, every time I update Ghost, I have to translate signin.js, signup.js and subscribe.js etc. to get the email sign up and log in flow to work in my native tongue. I hope you have this is mind for a future update, which would make Ghost a super solution for many more people around the world, that need to localize their website.

Keep up the good work!

Thanks,  
Nic

---

<div class="post-metadata">

**Author:** ![giacomosilli](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/giacomosilli/32/3403_2.png) [@giacomosilli](https://forum.ghost.org/u/giacomosilli)\
**Post date:** [November 9, 2020, 1:26pm UTC](https://forum.ghost.org/t/portal-translations/18134/2 "2020-11-09T13:26:22Z")

</div>

Congratulations indeed for this new feature, I’m also interested in translation

---

<div class="post-metadata">

**Author:** ![jonock](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/jonock/32/4279_2.png) [@jonock](https://forum.ghost.org/u/jonock)\
**Post date:** [November 22, 2020, 10:57am UTC](https://forum.ghost.org/t/portal-translations/18134/3 "2020-11-22T10:57:07Z")

</div>

The feature turned out really nice. Translations would be even cooler, can we help contribute?

---

<div class="post-metadata">

**Author:** ![virote007](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/virote007/32/10687_2.png) [@virote007](https://forum.ghost.org/u/virote007)\
**Post date:** [December 9, 2020, 11:49am UTC](https://forum.ghost.org/t/portal-translations/18134/4 "2020-12-09T11:49:43Z")

</div>

Hi,  
Indeed, portal translation capability has been the only one missing feature which has me make consider other platforms por membership.

I would be glad to help too.

Regards

---

<div class="post-metadata">

**Author:** ![Ray\_Garcia](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/ray_garcia/32/10693_2.png) [@Ray\_Garcia](https://forum.ghost.org/u/Ray_Garcia)\
**Post date:** [December 9, 2020, 5:19pm UTC](https://forum.ghost.org/t/portal-translations/18134/5 "2020-12-09T17:19:15Z")

</div>

Interested on this topic. Any news about how to proceed with portal translations?

---

<div class="post-metadata">

**Author:** ![virote007](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/virote007/32/10687_2.png) [@virote007](https://forum.ghost.org/u/virote007)\
**Post date:** [December 19, 2020, 6:58am UTC](https://forum.ghost.org/t/portal-translations/18134/6 "2020-12-19T06:58:14Z")

</div>

Any news on portal translations??  
If the best technical path is set by the authors on how to technically implement it (library to be used, how to integrate portal with an specific language like adding a ?es param or whatever) I would be ready to gif a help on dirty work.  
Regards

---

<div class="post-metadata">

**Author:** ![virote007](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/virote007/32/10687_2.png) [@virote007](https://forum.ghost.org/u/virote007)\
**Post date:** [December 29, 2020, 3:50pm UTC](https://forum.ghost.org/t/portal-translations/18134/7 "2020-12-29T15:50:43Z")

</div>

> [@Portal and email component translations](https://forum.ghost.org/t/portal-and-email-component-translations/19144):
>
> Apart from the theme translation functionality, a stopping missing feature is the translation of portal and email component. All those messages are hardcoded in js files not translatable by themes. Any non English spoken ghost webmaster is not able to offer a proper ghost project in his language easily. I would be glad to help. Regards

Please vote to give some visibility.

Regads

---

<div class="post-metadata">

**Author:** ![adoc](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/adoc/32/11164_2.png) [@adoc](https://forum.ghost.org/u/adoc)\
**Post date:** [January 12, 2021, 9:04am UTC](https://forum.ghost.org/t/portal-translations/18134/8 "2021-01-12T09:04:38Z")

</div>

Please make it possible to translate the Portal.

---

<div class="post-metadata">

**Author:** ![matheus-rossi](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/matheus-rossi/32/11228_2.png) [@matheus-rossi](https://forum.ghost.org/u/matheus-rossi)\
**Post date:** [January 15, 2021, 3:55pm UTC](https://forum.ghost.org/t/portal-translations/18134/9 "2021-01-15T15:55:41Z")

</div>

that’s something I really miss

my base of readers, do not speak english, so the email and login pages are a problem to them

can we help ?

---

<div class="post-metadata">

**Author:** ![virote007](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/virote007/32/10687_2.png) [@virote007](https://forum.ghost.org/u/virote007)\
**Post date:** [January 15, 2021, 4:29pm UTC](https://forum.ghost.org/t/portal-translations/18134/10 "2021-01-15T16:29:09Z")

</div>

Vote here to give more visibility to the idea  
[https://forum.ghost.org/t/portal-and-email-component-translations/19144](https://forum.ghost.org/t/portal-and-email-component-translations/19144)

---

<div class="post-metadata">

**Author:** ![LucaG](https://avatars.discourse-cdn.com/v4/letter/l/a88e4f/32.png) [@LucaG](https://forum.ghost.org/u/LucaG)\
**Post date:** [April 3, 2021, 4:46pm UTC](https://forum.ghost.org/t/portal-translations/18134/11 "2021-04-03T16:46:42Z")

</div>

Is there a way to hard code the translation on the server? Similar to how you can do with emails [Ghost Email customization - #3 by Izak\_Jackson](https://forum.ghost.org/t/ghost-email-customization/13808/3)

---

<div class="post-metadata">

**Author:** ![sigul](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/sigul/32/12326_2.png) [@sigul](https://forum.ghost.org/u/sigul)\
**Post date:** [April 5, 2021, 8:19am UTC](https://forum.ghost.org/t/portal-translations/18134/12 "2021-04-05T08:19:08Z")

</div>

Not sure if this, but you should be able to use the translation helper in the portal files, aren’t you? If it’s limited to hbs maybe a partial?

---

<div class="post-metadata">

**Author:** ![virote007](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/virote007/32/10687_2.png) [@virote007](https://forum.ghost.org/u/virote007)\
**Post date:** [April 5, 2021, 6:17pm UTC](https://forum.ghost.org/t/portal-translations/18134/13 "2021-04-05T18:17:57Z")

</div>

Hi,  
I made this pull request with almost all translations resolved.

> <https://github.com/TryGhost/Portal/pull/119>
>
> This is a work in progress for the portal translation.
> 
> I have managed to make… almost all the work on translating the portal.
> Almost all because I am not an expert and:
> \- I was not able to treat a pair of cases to propagate the i18n object. But anyway I made the translation and left it commented.
> \- I do not know how to test all steps but the initial pages (signup, signin) are working in the commit
> \- I have not taken any time on the build phase
> 
> That is as far as I can walk.
> 
> References
> https://www.i18next.com 
> https://react.i18next.com
> https://www.codeandweb.com/babeledit/tutorials/how-to-translate-your-react-app-with-react-i18next
> 
> 
> Here is the list of the touched files and some comments on them:
> Portal/src/
> data-attributes.js -- PENDING propagate i18n object properly (translations are commented)
> actions.js -- PENDING propagate i18n object properly (translations are commented)
> App.js -- PENDING propagate i18n object properly (translations are commented)
> 
> Portal/src/components
> Notification.js -- reference use case -- useTranslation() in const
> PopupModal.js -- reference use case -- PopupContent
> PopupContentTranslated
> 
> Portal/src/components/common
> BackButton.js -- reference use case -- with useTranslation in an exported function
> CloseButton.js -- reference use case -- with withTranslation in an exported class
> PlansSection.js -- PlanOptions() is not ready for translation, it makes decisition based on labels and not based on keys
> PopupNotification.js -- is there a better way to translate notificationText() instead of those ugly .1 .2 .3?
> 
> Portal/src/components/pages
> AccountHomePage.js AccountPlanPage.js -- PENDING propagating i18n in getConfirmationPageTitle() (translations are commented)
> AccountProfilePage.js LoadingPage.js MagicLinkPage.js SigninPage.js
> SignupPage.js -- reference use case -- withTranslation() -- PENDING of 'Free' string treatment   
> 
> Portal/src/utils 
> api.js ?? must be translated???
> form.js -- PENDING propagate i18n object properly (translations are commented)
> helpers.js -- PENDING propagate i18n object properly (translations
> are commented)

It lacks translation of a pair of files (but translations are there commented) where I was not able to instantiate the i18n object (I am not good enough at js) hopping the repository owners would take advantage of it. But sadly, it seems they are not very interesting on portal translation right now.  
Hope the pull request could help you.  
Regards

---

<div class="post-metadata">

**Author:** ![jecogeo](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/jecogeo/32/12730_2.png) [@jecogeo](https://forum.ghost.org/u/jecogeo)\
**Post date:** [April 16, 2021, 5:17am UTC](https://forum.ghost.org/t/portal-translations/18134/14 "2021-04-16T05:17:49Z")

</div>

Awesome, man… If I had the skills I’ll certainly work on it. Hope it gets merged soon. Congrats for the nice job

---

<div class="post-metadata">

**Author:** ![thebear.dev](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/thebear.dev/32/13956_2.png) [@thebear.dev](https://forum.ghost.org/u/thebear.dev)\
**Post date:** [April 16, 2021, 6:11am UTC](https://forum.ghost.org/t/portal-translations/18134/15 "2021-04-16T06:11:21Z")

</div>

No idea how many Swedish users here are, but I am more than happy to help with the Swedish part.

---

<div class="post-metadata">

**Author:** ![JavowiecPL](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/javowiecpl/32/25482_2.png) [@JavowiecPL](https://forum.ghost.org/u/JavowiecPL)\
**Post date:** [April 20, 2021, 5:16pm UTC](https://forum.ghost.org/t/portal-translations/18134/16 "2021-04-20T17:16:28Z")

</div>

I’ve described another solution for **self-hosted Ghost instance** on how to override Portal here:

> [@Remove "Publish with Ghost" button on portal](https://forum.ghost.org/t/remove-publish-with-ghost-button-on-portal/20817/8):
>
> Hello all, I managed to override Portal (portal.min.js). I needed it for translation and to remove “Publish with Ghost” button on Portal. This solution is for self-hosted Ghost instance. I don’t see any possibility to do it in Ghost Pro (I’ve switched to Digital Ocean droplet, so now I can override Portal). How to override and customize Portal Check url of your Portal in /var/www/ghost/versions/{version}/core/shared/config/defaults.json (can vary on different Ghost versions). In my exampl…
