Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Translate the interface (i18n foundation)

Đang mở
#29 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
javascript, next.js
Lĩnh vực
internationalization

Hướng nghiên cứu

Start by checking frontend/package.json to identify the Next.js version, then read the pages and components under frontend/pages/ and frontend/components/ for core-loop text. Choose a compatible i18n library and explain the choice in the pull request. Done means English plus one complete second language, locale-aware formatting and language selection, passing npm test, npm run lint and node scripts/check-boundary.js, with battle-page screenshots in both languages.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement help wanted

All interface text is hard-coded English across frontend/pages/ and frontend/components/. Competitive programming communities are huge in India, Brazil, China, Korea, Vietnam and Eastern Europe, and a translated interface opens CodeArena to them.

Phase 1, the foundation (this issue)

  • Add an i18n library that works with the Next.js version in frontend/package.json. Explain the choice in the pull request.
  • Move strings for the core loop into message files: home, login and register, practice, problem page, matchmaking, battle and results. Other pages can follow in later pull requests.
  • Language picker in settings and the footer, remembered per player. Default from the browser's language.
  • Format numbers, dates and times with the player's locale.
  • Problem statements stay in English for now. Translating problems is a separate design question.

Rules

  • No string concatenation for sentences. Use the library's interpolation and plural rules, since word order and plurals differ by language.
  • A lint check or test that fails when a core-loop page renders a hard-coded English string.
  • Missing translations fall back to English, never to a key name.

Definition of done

  • English extracted for the pages above, plus one complete second language from a fluent speaker.
  • Screenshots of the battle page in both languages, including a long-text language to catch layout overflow.
  • npm test, npm run lint and node scripts/check-boundary.js pass.

Translators: once phase 1 lands, comment here with the language you want to take.

Ngôn ngữ chính
JavaScript
Star
0
Fork
2
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của sennaicodes/codearena

Tất cả issue của sennaicodes/codearena

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.