canonical / canonical/authd

i18n: Add Swedish translation and improve internationalization support

Open
#1,308 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
310
Forks
41
Avg merge
2d 4h
Merged PRs (30d)
58

Description

## Summary

authd has user-facing strings that are currently hardcoded in English, including authentication mode labels and error messages. The existing `po/` directory in `authd-oidc-brokers` has an empty `fr.po`, suggesting i18n is planned but not yet implemented.

## Current state

- `authd-oidc-brokers/internal/broker/authmodes/consts.go` has display labels:
- "Local Password Authentication"
- "Device Authentication"
- "Define your local password"
- Error messages in `broker.go` ("Error connecting to provider", etc.)
- `authd-oidc-brokers/po/fr.po` exists but is 0 bytes
- No `.pot` template file

## Proposal

I'd like to contribute a Swedish (`sv`) translation once the i18n infrastructure is in place. Questions:

1. Is there a plan for extracting translatable strings (e.g. using `go-i18n` or `gotext`)?
2. Should translations go through Launchpad, or directly as `.po` files in the repo?
3. Are the PAM/GDM-facing strings also planned for translation?

Happy to help set up the gettext extraction if useful.

Daniel Nylander — Swedish translator for GNOME, Ubuntu, Debian, and 70+ open source projects.

Contributor guide

Open the contributing guide

Research direction

Start by reading authd-oidc-brokers/internal/broker/authmodes/consts.go, broker.go, and the empty authd-oidc-brokers/po/fr.po. Determine with maintainers whether gettext extraction, go-i18n, or gotext is intended, and whether translations belong in the repository or Launchpad. Done requires an agreed i18n approach and a defined path for adding the Swedish translation, including the PAM/GDM-facing strings.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
internationalization, localization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.