Skip to content

Conversation

@jinhyeonseo01
Copy link

@jinhyeonseo01 jinhyeonseo01 commented Jan 15, 2026

Type of change

  • Bug fix (a non-breaking change that fixes an issue)
  • New feature (a non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Other (please describe): Returns to BCP 47 standard & Refactoring

Note: URLs for Chinese locales will change from zh_CN/zh_TW to zh-CN/zh-TW.

Checklist

  • I have read the CONTRIBUTING document.
  • I have checked to ensure that this Pull Request is not for personal changes.
  • I have performed a self-review of my own code.
  • My changes generate no new warnings.

Related Issue

Multiple languages support #224

Changes

This PR focuses on standardizing language codes to follow the BCP 47 standard (e.g., changing zh_CN to zh-CN) and resolving architectural issues.

While I understand that this i18n feature might not align with the project's current roadmap or design philosophy, there is significant community interest in multi-language support. I am submitting this Pull Request to share this implementation with those who need it and to provide a reference for the community..



Multilingual SEO & Search Optimization

  • Sitemap i18n Compliance : All sitemaps are now fully compatible with multi-language structures.
  • SEO Tag Implementation : Applied hreflang, canonical, and alternate tags across all localized pages to ensure correct indexing and prevent duplicate content issues.
  • Search Optimization : Completed full SEO enhancements for multi-regional visibility.
  • Localized Search (Pagefind) : Integrated language-specific Pagefind instances to provide optimized search results for each locale.

Priority and Classification Rules:

  • The lang: field in the frontmatter takes the highest priority.

  • If lang: is not specified, the language is classified based on the folder structure.

  • File and folder names must match across different language directories.

Content Display Logic:

  1. If content exists in the selected language, it is displayed first.

  2. If the selected language is unavailable, the system looks for the default (root) content.

  3. If no root file is found, content is selected based on the predefined language priority order.

Important: Language Key Migration

The language key naming convention has been updated to align with ISO 639-1 and BCP 47 standards:

  • Previous: zh_CN, zh_TW (Underscore)
  • Current: zh-CN, zh-TW (Hyphen)

Screenshots (if applicable)

스크린샷 2026-01-16 035128 스크린샷 2026-01-15 234846 스크린샷 2026-01-16 043124 스크린샷 2026-01-16 043115

Additional Notes

  • This change ensures better compatibility with browsers and search engines (SEO) by adhering to standard language codes.
  • The renaming of the content folder (zh -> zh-CN) aligns the content structure with the new locale codes.

@vercel
Copy link

vercel bot commented Jan 15, 2026

@jinhyeonseo01 is attempting to deploy a commit to the zephyirdgmailcom's projects Team on Vercel.

A member of the Team first needs to authorize it.

@jinhyeonseo01 jinhyeonseo01 changed the title Internationalization (i18n)–compatible multilingual support Feature:Internationalization (i18n)–compatible multilingual support Jan 16, 2026
@jinhyeonseo01 jinhyeonseo01 changed the title Feature:Internationalization (i18n)–compatible multilingual support Feature: Internationalization (i18n)–compatible multilingual support Jan 16, 2026
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.

1 participant