Перейти к содержанию
Acecore

Как вести многоязычный блог с Sveltia CMS

by Gui
Содержание
Как вести многоязычный блог с Sveltia CMS

Acecore редактирует контент в основном на японском, но публикует блог на 9 языках. Важно различать перевод текста в интерфейсе и публикацию локализованных страниц.

Перевод браузера помогает пользователю прочитать текущую страницу. Но он не создает /ru/blog/.../, локализованные метаданные, RSS, sitemap или hreflang.

Если многоязычность нужна не только для чтения, но и для поиска, перевод должен быть частью процесса публикации.

Структура

  • Японский источник: src/content/blog/{slug}.md
  • Переводы: src/content/blog/{locale}/{slug}.md
  • URL: /blog/{slug}/, /en/blog/{slug}/, /ru/blog/{slug}/
  • Редактирование: Sveltia CMS
  • Перевод: PR от GitHub Copilot
  • Публикация: build и review

Sveltia CMS отвечает за редактирование японского source. Переводы идут через pull requests, чтобы сохранить историю, review и CI.

Когда достаточно UI-перевода

Он подходит для внутреннего чтения, разового просмотра, админских страниц и страниц без SEO-цели.

Это легко поддерживать, потому что нет переведенных файлов. Но также нет языковых страниц для индексации.

SEO-преимущества статических переводов

Поисковые системы, social previews и RSS-читалки работают с URL и HTML.

Если существует только японская страница, браузер может показать перевод пользователю, но title, description, structured data, RSS и sitemap останутся японскими.

Со статическими переводами каждый язык получает свой URL.

/blog/copilot-translation-pipeline/
/en/blog/copilot-translation-pipeline/
/ru/blog/copilot-translation-pipeline/
/de/blog/copilot-translation-pipeline/

1. Каждый язык можно crawлить напрямую

Google умеет обрабатывать JavaScript, но в документации также описывает ограничения и рекомендует static rendering или server-side rendering как более стабильные варианты. Другие crawlers и RSS-сервисы могут быть менее способны.

2. Метаданные локализуются

Frontmatter можно переводить по языкам:

title: 'Как вести многоязычный блог с Sveltia CMS'
description: 'Workflow для переводческих PR с Sveltia CMS и GitHub Copilot.'

Это влияет на search snippets, OGP, связанные карточки и RSS.

3. hreflang связывает версии

Google рекомендует hreflang, когда разные URL обслуживают разные языки или регионы. При переводе только в UI отдельного URL нет.

4. RSS и sitemap становятся многоязычными

Файлы переводов позволяют генерировать /ru/rss.xml и локализованные URL в sitemap.

Роль Sveltia CMS

Sveltia CMS не переводит. В этом процессе он упрощает редактирование японского источника:

  • японские статьи
  • авторы
  • теги
  • японские source JSON
  • изображения
  • frontmatter: date, FAQ, linkCards

Настройка CMS описана в руководстве по внедрению Sveltia CMS.

Правила для Copilot

В переводческом PR нужно явно указать, что сохранять, а что локализовать.

Keep:

- slug
- image path
- author id
- tag ids
- external URLs
- code blocks

Localize:

- title
- description
- FAQ
- body text
- internal blog URLs when locale-specific URLs exist

Уроки из PR

  • Старые статьи продолжали упоминать Pages CMS после перехода на Sveltia CMS.
  • Если date старый, переписанная статья не появится наверху блога.
  • Slug должен оставаться одинаковым между языками.
  • Внутренние ссылки должны вести в locale читателя.
  • AI ускоряет перевод, но review остается обязательным.

Ссылки

Итог

Перевод интерфейса помогает читать страницу. Локализованные статические страницы превращают каждый язык в настоящий контент сайта.

Sveltia CMS редактирует японский source, GitHub Copilot создает PR с переводами, а Astro build проверяет результат перед публикацией.

FAQ
Достаточно ли перевода интерфейса?
Для чтения он полезен. Но для SEO, RSS, sitemap и внутренних ссылок по языкам нужны настоящие локализованные страницы.
Вредит ли AI-перевод SEO?
Проблема не в AI, а в массовой публикации страниц без ценности. Термины, факты, ссылки и естественность нужно проверять.
Являются ли переводы дублями?
Google указывает, что локализованные страницы считаются дубликатами только если основной контент не переведен. Варианты следует связывать через hreflang.

Комментарии

Загрузка комментариев...

Ссылки, email-адреса и рекламный текст публиковать нельзя.

G

Gui

Генеральный директор Acecore. Руководит бизнес-системами, вебом, базами данных и инфраструктурой, качеством и внедрением ИИ от формулирования бизнес-задач до проектирования, запуска и дальнейшего улучшения. Опирается на практическую экспертизу C#/.NET и также учитывает PHP/JavaScript, SQL Server/PostgreSQL/MySQL и Linux/Windows Server, проектируя требования, технологический выбор, стандарты качества и GitHub-ориентированные процессы разработки как единую систему. Встраивает генеративный ИИ в процессы разработки, проверки и организации информации как практическую основу, помогающую небольшим командам быстрее и надежнее достигать результата.

Формулирование бизнес-задачТехнологический выборПроектирование системC#/.NETПроектирование БД/инфраструктурыGitHub-процессы разработкиГенеративный ИИПроектирование ИИ-процессовПроектирование качестваИнтеграция на местах

Хотите узнать больше о наших услугах?

Мы обеспечиваем комплексную поддержку: разработка систем, веб-дизайн, графический дизайн и IT-образование.

Похожие статьи

Поиск статей