Skip to content

Conversation

@MyeoungDev
Copy link

📝 Description

Added a new Korean (ko) locale to the application.

I am very interested in this project and would like to contribute more. If you could point me to any simple, upcoming contribution points, I would love to give them a try. 😄

📋 Checklist

  • My code follows the project conventions
  • This PR includes breaking changes
  • I have updated documentation if necessary

🗃️ Prisma Migrations (if applicable)

  • I have created a migration
  • I have tested the migration locally

📸 Screenshots (if applicable)

스크린샷 2025-06-29 오후 5 08 08

🔗 Related Issues

@vercel
Copy link

vercel bot commented Jun 29, 2025

Someone is attempting to deploy a commit to the Workoutcool Team Team on Vercel.

A member of the Team first needs to authorize it.

@Snouzy
Copy link
Owner

Snouzy commented Jun 29, 2025

Hey there! Thanks so much for adding Korean support that's a huge help.

Since our last update the translation system got a bit more involved than just JSON files. You'll now find keys like slugZhCn, slugEn, descriptionEn, titleEn, etc., scattered across code, database migrations and SEO stuffs.

A good first step is to grep for those and see where each locale needs a migration script. Once you spot them, you can:

  • add the Korean fields in the migration
  • make the migration
  • update the i18n loader to pull in your new ko entries
  • tweak the UI to cover your new translations

Feel free to grab whichever step sounds fun in the issues, and we'll be right here to review your PR

@MyeoungDev
Copy link
Author

Hey there! Thanks so much for adding Korean support that's a huge help.

Since our last update the translation system got a bit more involved than just JSON files. You'll now find keys like slugZhCn, slugEn, descriptionEn, titleEn, etc., scattered across code, database migrations and SEO stuffs.

A good first step is to grep for those and see where each locale needs a migration script. Once you spot them, you can:

  • add the Korean fields in the migration
  • make the migration
  • update the i18n loader to pull in your new ko entries
  • tweak the UI to cover your new translations

Feel free to grab whichever step sounds fun in the issues, and we'll be right here to review your PR

Okay, I understand that additional work is required. This will likely take some more time. I will add the changes to this PR as soon as they are ready.

@MyeoungDev
Copy link
Author

@Snouzy
Hey there! I've completed the comprehensive Korean (ko) language support
Could you please review the changes? Thanks!

Copy link
Owner

@Snouzy Snouzy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there! wow, this Korean support is really solid .! Huge congrats on getting it all done It’s already looking super smooth.
Whenever you’ve got a sec, could you peek at my tiny comments and let me know what you think? Can't wait to merge this :) thanks for all the hard work !

titlePt: data.titlePt,
titleRu: data.titleRu,
titleZhCn: data.titleZhCn,
titleKo: data.titleZhCn,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

titleKo

descriptionPt: z.string().min(1, "La description en portugais est requise"),
descriptionRu: z.string().min(1, "La description en russe est requise"),
descriptionZhCn: z.string().min(1, "La description en chinois est requise"),
descriptionKo: z.string().min(1, "La description en chinois est requise"),
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La description en cooréen est requise

titlePt: z.string().min(1, "Le titre en portugais est requis"),
titleRu: z.string().min(1, "Le titre en russe est requis"),
titleZhCn: z.string().min(1, "Le titre en chinois est requis"),
titleKo: z.string().min(1, "Le titre en chinois est requis"),
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le titre en coréen est requis

titlePt: z.string().min(1, "Le titre en portugais est requis"),
titleRu: z.string().min(1, "Le titre en russe est requis"),
titleZhCn: z.string().min(1, "Le titre en chinois est requis"),
titleKo: z.string().min(1, "Le titre en chinois est requis"),
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le titre en coréen est requis

descriptionPt: z.string().min(1, "La description en portugais est requise"),
descriptionRu: z.string().min(1, "La description en russe est requise"),
descriptionZhCn: z.string().min(1, "La description en chinois est requise"),
descriptionKo: z.string().min(1, "La description en chinois est requise"),
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La description en coréen est requise

titlePt: program.titlePt,
titleRu: program.titleRu,
titleZhCn: program.titleZhCn,
titleKo: program.titleZhCn,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

program.titleKo

descriptionPt: program.descriptionPt,
descriptionRu: program.descriptionRu,
descriptionZhCn: program.descriptionZhCn,
descriptionKo: program.descriptionZhCn,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

program.descriptionKo

titlePt: z.string().min(1, "Le titre en portugais est requis"),
titleRu: z.string().min(1, "Le titre en russe est requis"),
titleZhCn: z.string().min(1, "Le titre en chinois est requis"),
titleKo: z.string().min(1, "Le titre en chinois est requis"),
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le titre en coréen est requis

case "zh-CN":
return ex.exercise.nameZhCn || ex.exercise.nameEn;
case "ko":
return ex.exercise.nameKo || ex.exercise.nameKo;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

return ex.exercise.nameKo || ex.exercise.nameEn;

@MyeoungDev
Copy link
Author

@Snouzy Thanks for the thorough review!
I've addressed all your comments. Could you please check again?

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.

2 participants