Translation navigation
A list of links to available translations
The active property indicates the current language.
How it looks (preview) (preview all)
How to call this component
<%= render "govuk_publishing_components/components/translation_nav", {
translations: [
{
locale: "en",
base_path: "/en",
text: "English",
active: true
},
{
locale: "hi",
base_path: "/hi",
text: "हिंदी"
}
]
} %>
Accessibility acceptance criteria
The component must:
- be a landmark with a navigation role
- have an accessible name in the current language, eg “Translations”
The translation links must:
-
identify the language of the text
Watch a screen reader pronounce text differently based on lang attribute
Links in the component must:
- accept focus
- be focusable with a keyboard
- be usable with a keyboard
- indicate when they have focus
- change in appearance when touched (in the touch-down state)
- change in appearance when hovered
- be usable with touch
- be usable with voice commands
- have visible text
- have meaningful text
Other examples
Multiple translations (preview)
<%= render "govuk_publishing_components/components/translation_nav", {
translations: [
{
locale: "en",
base_path: "/en",
text: "English",
active: true
},
{
locale: "fr",
base_path: "/fr",
text: "Français"
},
{
locale: "hi",
base_path: "/hi",
text: "हिंदी"
},
{
locale: "ja",
base_path: "/ja",
text: "日本語"
},
{
locale: "ur",
base_path: "/ur",
text: "اردو"
},
{
locale: "zh",
base_path: "/zh",
text: "中文"
}
]
} %>
Right to left (preview)
<%= render "govuk_publishing_components/components/translation_nav", {
translations: [
{
locale: "en",
base_path: "/en",
text: "English"
},
{
locale: "ar",
base_path: "/ar",
text: "العربية",
active: true
}
]
} %>
With number 10 branding (preview)
Organisation colour branding can be added to the component as shown.
<%= render "govuk_publishing_components/components/translation_nav", {
brand: "prime-ministers-office-10-downing-street",
translations: [
{
locale: "en",
base_path: "/en",
text: "English",
active: true
},
{
locale: "cy",
base_path: "/cy",
text: "Cymraeg"
}
]
} %>
With no top margin (preview)
<%= render "govuk_publishing_components/components/translation_nav", {
no_margin_top: true,
translations: [
{
locale: "en",
base_path: "/en",
text: "English",
active: true
},
{
locale: "cy",
base_path: "/cy",
text: "Cymraeg"
}
]
} %>
With data attributes on links (preview)
Data attributes can be passed for each link as shown.
<%= render "govuk_publishing_components/components/translation_nav", {
translations: [
{
locale: "en",
base_path: "/en",
text: "English",
active: true,
data_attributes: {
an_attribute: "some_value1"
}
},
{
locale: "cy",
base_path: "/cy",
text: "Cymraeg",
data_attributes: {
an_attribute: "some_value2"
}
}
]
} %>