Skip to content

Make published content multilingual#71

Merged
khanzadimahdi merged 9 commits into
mainfrom
multilingual-content
Jun 9, 2026
Merged

Make published content multilingual#71
khanzadimahdi merged 9 commits into
mainfrom
multilingual-content

Conversation

@khanzadimahdi

Copy link
Copy Markdown
Member

Summary

Adds multilingual support to published content. Introduces a language domain with full CRUD (dashboard + public APIs) and threads a language dimension through articles, home, hashtags, author articles, profile, config, and user data.

Changes

  • New language domain & repository — MongoDB + in-memory + mocks, with dashboard CRUD endpoints (create/update/delete/index/show) and a public language/index endpoint.
  • Language resolver — new application/language/resolver to resolve the active language for a request.
  • ArticlesgetArticle, getArticles, getArticlesByAuthor, getArticlesByHashtag and the dashboard create/update flows now carry a language code; responses and testdata updated accordingly.
  • Config & profile — config and profile now expose/accept a preferred language.
  • Home / hashtag / author presentation layers updated to serve language-scoped content.

Test plan

  • Unit tests added/updated across the affected usecases and HTTP handlers.
  • Run: go test ./...

🤖 Generated with Claude Code

khanzadimahdi and others added 5 commits June 8, 2026 09:52
Load the site's configured default language (from config via the
language resolver) and expose it as `default_language` alongside the
items in the public GET /api/languages response.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Run `go generate` (swaggo/swag) so the generated spec reflects the
multilingual feature: the new /languages and /dashboard/languages
endpoints, language_code / available_languages / correlation_uuid /
default_language_code fields, and the default_language entry now
exposed by GET /api/languages.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@khanzadimahdi khanzadimahdi force-pushed the multilingual-content branch from f9b4f16 to f6e57e3 Compare June 8, 2026 15:11
@blacksmith-sh

This comment has been minimized.

@blacksmith-sh

This comment has been minimized.

@khanzadimahdi khanzadimahdi force-pushed the multilingual-content branch from aff602e to 7b9d326 Compare June 9, 2026 07:00
@khanzadimahdi khanzadimahdi merged commit 8d8c9ab into main Jun 9, 2026
5 of 10 checks passed
@khanzadimahdi khanzadimahdi deleted the multilingual-content branch June 9, 2026 07:37
khanzadimahdi added a commit that referenced this pull request Jun 9, 2026
* multi-lang

* update dependencies

* Include default language in languages list response

Load the site's configured default language (from config via the
language resolver) and expose it as `default_language` alongside the
items in the public GET /api/languages response.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Regenerate OpenAPI docs for multilingual content

Run `go generate` (swaggo/swag) so the generated spec reflects the
multilingual feature: the new /languages and /dashboard/languages
endpoints, language_code / available_languages / correlation_uuid /
default_language_code fields, and the default_language entry now
exposed by GET /api/languages.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* update tools

* add lang to auth jwt

* upgrade dependencies

* fix websocket tests

* fallback to first language in the list when the default language is not defined

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
khanzadimahdi added a commit that referenced this pull request Jun 9, 2026
* multi-lang

* update dependencies

* Include default language in languages list response

Load the site's configured default language (from config via the
language resolver) and expose it as `default_language` alongside the
items in the public GET /api/languages response.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Regenerate OpenAPI docs for multilingual content

Run `go generate` (swaggo/swag) so the generated spec reflects the
multilingual feature: the new /languages and /dashboard/languages
endpoints, language_code / available_languages / correlation_uuid /
default_language_code fields, and the default_language entry now
exposed by GET /api/languages.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* update tools

* add lang to auth jwt

* upgrade dependencies

* fix websocket tests

* fallback to first language in the list when the default language is not defined

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
khanzadimahdi added a commit that referenced this pull request Jun 9, 2026
* multi-lang

* update dependencies

* Include default language in languages list response

Load the site's configured default language (from config via the
language resolver) and expose it as `default_language` alongside the
items in the public GET /api/languages response.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Regenerate OpenAPI docs for multilingual content

Run `go generate` (swaggo/swag) so the generated spec reflects the
multilingual feature: the new /languages and /dashboard/languages
endpoints, language_code / available_languages / correlation_uuid /
default_language_code fields, and the default_language entry now
exposed by GET /api/languages.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* update tools

* add lang to auth jwt

* upgrade dependencies

* fix websocket tests

* fallback to first language in the list when the default language is not defined

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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