[PR #669] [MERGED] Feature i18n added #28019

Closed
opened 2026-06-10 23:37:59 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/fosrl/pangolin/pull/669
Author: @Lokowitz
Created: 5/4/2025
Status: Merged
Merged: 6/11/2025
Merged by: @oschwartz10612

Base: devHead: feature-i18n


📝 Commits (10+)

  • 7eb0847 Add first i18n stuff
  • 059081a more i18n
  • d460dd3 deleted: messages/de-DE.json
  • 9d68c56 remove language translation
  • 7f4135e New translations en-us.json (German)
  • 9e57268 deleted: messages/de-DE.json
  • 230c08e New translations en-us.json (German)
  • 576fda2 New translations en-us.json (French)
  • 8a377d7 New translations en-us.json (Italian)
  • 95fed84 New translations en-us.json (Polish)

📊 Changes

149 files changed (+14415 additions, -6357 deletions)

View changed files

crowdin.yml (+3 -0)
internationalization/de.md (+0 -287)
internationalization/es.md (+0 -291)
internationalization/pl.md (+0 -287)
internationalization/tr.md (+0 -310)
messages/de-DE.json (+1132 -0)
messages/en-US.json (+1132 -0)
messages/es-ES.json (+1132 -0)
messages/fr-FR.json (+1132 -0)
messages/it-IT.json (+1132 -0)
messages/nl-NL.json (+1132 -0)
messages/pl-PL.json (+1132 -0)
messages/pt-PT.json (+1132 -0)
messages/tr-TR.json (+1132 -0)
messages/zh-CN.json (+1132 -0)
📝 next.config.mjs (+6 -2)
📝 package-lock.json (+700 -2945)
📝 package.json (+1 -0)
📝 postcss.config.mjs (+1 -1)
📝 src/app/[orgId]/OrganizationLandingCard.tsx (+9 -6)

...and 80 more files

📄 Description

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.

Language request

Please request missing languages here https://github.com/orgs/fosrl/discussions/845
Implemented languages:

  • Chinese
  • Dutch
  • English
  • Frensh
  • German
  • Italian
  • Polish
  • Portuguese
  • Spanish
  • Turkish

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)

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/fosrl/pangolin/pull/669 **Author:** [@Lokowitz](https://github.com/Lokowitz) **Created:** 5/4/2025 **Status:** ✅ Merged **Merged:** 6/11/2025 **Merged by:** [@oschwartz10612](https://github.com/oschwartz10612) **Base:** `dev` ← **Head:** `feature-i18n` --- ### 📝 Commits (10+) - [`7eb0847`](https://github.com/fosrl/pangolin/commit/7eb08474ff2bbe29f3a44bd184b59f54d9bbe4ae) Add first i18n stuff - [`059081a`](https://github.com/fosrl/pangolin/commit/059081ad8b240e32494764f04db986f5a90f62d4) more i18n - [`d460dd3`](https://github.com/fosrl/pangolin/commit/d460dd35c79abb63e78324b8b1098aea1325aca4) deleted: messages/de-DE.json - [`9d68c56`](https://github.com/fosrl/pangolin/commit/9d68c5666f19dbd44b3249720cce679c6ee268ef) remove language translation - [`7f4135e`](https://github.com/fosrl/pangolin/commit/7f4135e0cfa6f095ee12ce1b9134975f98e958a6) New translations en-us.json (German) - [`9e57268`](https://github.com/fosrl/pangolin/commit/9e572685bada223bd46eed4204b431e72922a565) deleted: messages/de-DE.json - [`230c08e`](https://github.com/fosrl/pangolin/commit/230c08e5412e630edf676ce36aa61fd53db68bf3) New translations en-us.json (German) - [`576fda2`](https://github.com/fosrl/pangolin/commit/576fda235767ec66890813b496c655e726766c6b) New translations en-us.json (French) - [`8a377d7`](https://github.com/fosrl/pangolin/commit/8a377d73fd325545ee2e1cbd5dfe39d53f385a93) New translations en-us.json (Italian) - [`95fed84`](https://github.com/fosrl/pangolin/commit/95fed840d41b77d811ac364fb534760df9f603f2) New translations en-us.json (Polish) ### 📊 Changes **149 files changed** (+14415 additions, -6357 deletions) <details> <summary>View changed files</summary> ➕ `crowdin.yml` (+3 -0) ➖ `internationalization/de.md` (+0 -287) ➖ `internationalization/es.md` (+0 -291) ➖ `internationalization/pl.md` (+0 -287) ➖ `internationalization/tr.md` (+0 -310) ➕ `messages/de-DE.json` (+1132 -0) ➕ `messages/en-US.json` (+1132 -0) ➕ `messages/es-ES.json` (+1132 -0) ➕ `messages/fr-FR.json` (+1132 -0) ➕ `messages/it-IT.json` (+1132 -0) ➕ `messages/nl-NL.json` (+1132 -0) ➕ `messages/pl-PL.json` (+1132 -0) ➕ `messages/pt-PT.json` (+1132 -0) ➕ `messages/tr-TR.json` (+1132 -0) ➕ `messages/zh-CN.json` (+1132 -0) 📝 `next.config.mjs` (+6 -2) 📝 `package-lock.json` (+700 -2945) 📝 `package.json` (+1 -0) 📝 `postcss.config.mjs` (+1 -1) 📝 `src/app/[orgId]/OrganizationLandingCard.tsx` (+9 -6) _...and 80 more files_ </details> ### 📄 Description ## 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. ## Language request Please request missing languages here https://github.com/orgs/fosrl/discussions/845 Implemented languages: - Chinese - Dutch - English - Frensh - German - Italian - Polish - Portuguese - Spanish - Turkish ## 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](https://next-intl.dev/docs/getting-started/app-router/without-i18n-routing). The language selector is not perfectly integrated, i just copied the stuff from the [example](https://github.com/amannn/next-intl/tree/main/examples/example-app-router-without-i18n-routing). 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 - [x] 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) - [x] all translations done - [x] components - [x] org - [x] access - [x] api - [x] general - [x] resource - [x] share - [x] sites - [x] admin - [x] api - [x] idp - [x] license - [x] user - [x] auth - [x] idp - [x] login - [x] password - [x] resource - [x] signup - [x] verify - [x] app components - [x] invite - [x] setup (metadata in layout missing) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-06-10 23:37:59 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#28019