Skip to content

[DRAFT] Feature i18n added #669

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 80 commits into
base: dev
Choose a base branch
from
Open

[DRAFT] Feature i18n added #669

wants to merge 80 commits into from

Conversation

Lokowitz
Copy link
Contributor

@Lokowitz Lokowitz commented May 4, 2025

Community Contribution License Agreement

By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.

Description

After a lot of time reading the documentations i was able to implement a bit of i18n.
I choosed next-intl app router without i18n routing.
The language selector is not perfectly integrated, i just copied the stuff from the example.
For translation i used Crowdin and performed a machine translation for same languages, just for testing.
The selected language is stored in a cookie using /src/services/locale.ts maybe it would be better to store this in the user database, but i am not able to implement this.

Currently i am not done with all pages, but please have a look at it and tell me if this is the way you want to implement this.

Greetings Marvin

Progress

  • language selector (need help)
  • store and read selected langugae from db instead of cookie (need help)
  • create Crowdin account and set it up (or similar translation platform)
  • all translations done
    • components
    • org
      • access
      • api
      • general
      • resource
      • share
      • sites
    • admin
      • api
      • idp
      • license
      • user
    • auth
      • idp
      • login
      • password
      • resource
      • signup
      • verify
    • app components
    • invite
    • setup (metadata in layout missing)

@oschwartz10612
Copy link
Member

This is a big effort thank you for taking it on. Keep us updated as it goes and if you need help in any areas. We would like to get this translated!

To me your approach looks good! It aligns with ways we have done it in the past on other applications. I am not sure if you disagree @miloschwartz?

@x86txt
Copy link
Contributor

x86txt commented May 13, 2025

Just wanted to drop in and say thanks for the ongoing work. This looks like a monumental effort and I don't want it to go unrecognized. - a pangolin fan

@oschwartz10612
Copy link
Member

^^^^ absolutely yes thank you guys for working on this!

I don't think we are adding any more crazy UI stuff anytime soon so you should be good to go to work is peace for a bit lol

Lokowitz and others added 10 commits May 17, 2025 15:39
* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys if settings/resources/resourceId/authentication

* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys if settings/resources/resourceId/general

* Small naming fix

* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys if settings/access/roles

* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys in orgId/settings

* Fixes after merge

* Fixes after merge

* Fixes after merge

* Small fix

* Fix build
* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys in app/admin

* Fix build

---------

Co-authored-by: Lokowitz <[email protected]>
* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys in app/auth

* Fix build

---------

Co-authored-by: Lokowitz <[email protected]>
* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys in app/invite, app/setup and other files

* Fix build

---------

Co-authored-by: Lokowitz <[email protected]>
	modified:   src/components/tags/autocomplete.tsx
* New translations en-us.json (French)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Turkish)

* New translations en-us.json (French)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)

* New translations en-us.json (Turkish)

* New translations en-us.json (French)

* New translations en-us.json (German)

* New translations en-us.json (Italian)

* New translations en-us.json (Polish)

* New translations en-us.json (Portuguese)
@Lokowitz
Copy link
Contributor Author

Hi @miloschwartz @oschwartz10612,
i think we are in a good position now.

Could you please support on following topics:

  • storing and reading the selected language from user db
  • better integration of language selector

@Lokowitz Lokowitz marked this pull request as ready for review May 17, 2025 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants