used in the Kubernetes documentation to illustrate concepts, workflows,
and diagrams.
1. **Identifying translatable text**: Start by identifying the text elements
within the SVG image that need to be translated. These elements typically
include labels, captions, annotations, or any text that conveys information.
1. **Editing SVG files**: SVG files are XML-based, which means they can be
edited using a text editor. However, it's important to note that most of the
documentation images in Kubernetes already convert text to curves to avoid font
compatibility issues. In such cases, it is recommended to use specialized SVG
editing software, such as Inkscape, for editing, open the SVG file and locate
the text elements that require translation.
1. **Translating the text**: Replace the original text with the translated
version in the desired language. Ensure the translated text accurately conveys
the intended meaning and fits within the available space in the image. The Open
Sans font family should be used when working with languages that use the Latin
alphabet. You can download the Open Sans typeface from here:
[Open Sans Typeface](https://fonts.google.com/specimen/Open+Sans).
1. **Converting text to curves**: As already mentioned, to address font
compatibility issues, it is recommended to convert the translated text to
curves or paths. Converting text to curves ensures that the final image
displays the translated text correctly, even if the user's system does not
have the exact font used in the original SVG.
1. **Reviewing and testing**: After making the necessary translations and
converting text to curves, save and review the updated SVG image to ensure
the text is properly displayed and aligned. Check
[Preview your changes locally](/docs/contribute/new-content/open-a-pr/#preview-locally).
### Source files
Localizations must be based on the English files from a specific release
targeted by the localization team. Each localization team can decide which
release to target, referred to as the _target version_ below.
To find source files for your target version:
1. Navigate to the Kubernetes website repository at
https://github.com/kubernetes/website.
1. Select a branch for your target version from the following table:
Target version | Branch
-----|-----
Latest version | [`main`](https://github.com/kubernetes/website/tree/main)
Previous version | [`release-{{< skew prevMinorVersion >}}`](https://github.com/kubernetes/website/tree/release-{{< skew prevMinorVersion >}})
Next version | [`dev-{{< skew nextMinorVersion >}}`](https://github.com/kubernetes/website/tree/dev-{{< skew nextMinorVersion >}})
The `main` branch holds content for the current release `{{< latest-version >}}`.
The release team creates a `{{< release-branch >}}` branch before the next
release: v{{< skew nextMinorVersion >}}.
### Site strings in i18n
Localizations must include the contents of
[`i18n/en/en.toml`](https://github.com/kubernetes/website/blob/main/i18n/en/en.toml)
in a new language-specific file. Using German as an example:
`i18n/de/de.toml`.
Add a new localization directory and file to `i18n/`. For example, with
German (`de`):
```bash
mkdir -p i18n/de
cp i18n/en/en.toml i18n/de/de.toml
```
Revise the comments at the top of the file to suit your localization, then
translate the value of each string. For example, this is the German-language
placeholder text for the search form:
```toml
[ui_search]
other = "Suchen"
```
Localizing site strings lets you customize site-wide text and features: for
example, the legal copyright text in the footer on each page.
### Language-specific localization guide
As a localization team, you can formalize the best practices your team follows
by creating a language-specific localization guide.
For example, see the
[Korean Localization Guide](/ko/docs/contribute/localization_ko/), which
includes content on the following subjects:
- Sprint cadence and releases