Skip to content

docs: support zh#236

Merged
laggu merged 2 commits into
developfrom
CARGO-378
Jun 30, 2026
Merged

docs: support zh#236
laggu merged 2 commits into
developfrom
CARGO-378

Conversation

@laggu

@laggu laggu commented Jun 25, 2026

Copy link
Copy Markdown
Member

No description provided.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request adds Simplified Chinese (zh-Hans) translations for the express-cargo documentation, including configuration updates and localized markdown files. The review feedback highlights several errors in the documentation examples, such as the use of an unsupported @isnotempty decorator, missing @type decorators for nested object bindings, and an unresolved import of a non-existent error handler in the getting started guide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

class ProductQuery {
@Query('q')
@Transform((value: string) => value.toLowerCase().trim())
@IsNotEmpty()

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

validators.md 문서에 정의된 내장 검증기 목록에는 @IsNotEmpty가 포함되어 있지 않습니다. express-cargo에서 지원하지 않는 데코레이터일 가능성이 높으므로, 문자열이 비어있지 않음을 검증하려면 대신 @MinLength(1)을 사용하거나 해당 데코레이터를 제거하는 것이 좋습니다.

Suggested change
@IsNotEmpty()
@MinLength(1)
References
  1. Repository Style Guide - 코드 리뷰는 한국어로 작성되어야 하며, 건설적인 피드백을 제공해야 합니다. (link)

Comment on lines +18 to +19
@Body('profile')
profile!: Profile

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

type-and-polymorphism.md 문서에 따르면, 중첩된 객체를 실제 클래스 인스턴스로 변환하고 재귀적 검증 및 타입 변환을 지원하려면 @Type 데코레이터가 필요합니다. 예제 코드의 정확성을 위해 @Type(() => Profile) 데코레이터를 추가하고, 상단의 express-cargo 임포트문에 Type을 추가해 주세요.

Suggested change
@Body('profile')
profile!: Profile
@Body('profile')
@Type(() => Profile)
profile!: Profile
References
  1. Repository Style Guide - 코드 리뷰는 한국어로 작성되어야 하며, 건설적인 피드백을 제공해야 합니다. (link)

Comment on lines +55 to +56
@Body('user')
user!: UserInfoRequest

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

중첩된 user 객체가 실제 UserInfoRequest 클래스의 인스턴스로 올바르게 변환되고 내부 검증 규칙(예: @Prefix('user-'))이 적용되려면 @Type 데코레이터가 필요합니다. @Type(() => UserInfoRequest)를 추가하고, 상단의 express-cargo 임포트문에 Type을 추가해 주세요.

Suggested change
@Body('user')
user!: UserInfoRequest
@Body('user')
@Type(() => UserInfoRequest)
user!: UserInfoRequest
References
  1. Repository Style Guide - 코드 리뷰는 한국어로 작성되어야 하며, 건설적인 피드백을 제공해야 합니다. (link)


```typescript
import express from 'express'
import { bindingCargo, getCargo, Body, Query, Header, Params, Min, Max, Equal, NotEqual, Prefix, Suffix } from 'express-cargo'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

getting-started.md 가이드에서 errorHandlerRouter./errorHandler에서 가져오고 있지만, 이 파일의 구현이나 설명이 가이드에 포함되어 있지 않습니다. 이 코드를 그대로 복사하여 실행하는 사용자는 모듈을 찾을 수 없다는 오류(Cannot find module './errorHandler')를 겪게 됩니다. 가이드를 자급자족할 수 있도록 외부 파일 임포트 대신 인라인 에러 핸들러를 사용하거나, ./errorHandler 파일의 구현 예시를 추가하는 것을 권장합니다.

References
  1. Repository Style Guide - 코드 리뷰는 한국어로 작성되어야 하며, 건설적인 피드백을 제공해야 합니다. (link)

Apply PR review feedback to English and zh-Hans docs so examples remain copyable and nested DTO examples show explicit type helpers.

Constraint: Review feedback targeted zh-Hans docs, but English source docs must stay aligned with localized examples.
Rejected: Leaving English source stale | would preserve broken source examples and let translation drift return.
Confidence: high
Scope-risk: narrow
Directive: Keep localized API snippets synchronized with source docs when correcting decorator examples.
Tested: pnpm --filter docs typecheck; pnpm --filter docs exec docusaurus build --locale en; pnpm --filter docs exec docusaurus build --locale zh-Hans
Not-tested: full all-locale Docusaurus build
@yuchem2

yuchem2 commented Jun 27, 2026

Copy link
Copy Markdown
Member

gemini가 언급한 부분들 다른 언어 문서에도 동일하게 되어 있을 것 같아서 추후 수정해야겠네요!

@laggu laggu merged commit 15335f7 into develop Jun 30, 2026
3 checks passed
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