mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-21 21:35:28 +02:00
Merge commit '00c4484c7092181729f6f470805bc7d72e8ad17b'
This commit is contained in:
@@ -1,29 +1,62 @@
|
||||
---
|
||||
title: relLangURL
|
||||
description: Adds the relative URL with correct language prefix according to site configuration for multilingual.
|
||||
date: 2017-02-01
|
||||
publishdate: 2017-02-01
|
||||
lastmod: 2017-02-01
|
||||
keywords: [multilingual,i18n,urls]
|
||||
description: Returns a relative URL with a language prefix, if any.
|
||||
categories: [functions]
|
||||
menu:
|
||||
docs:
|
||||
parent: "functions"
|
||||
parent: functions
|
||||
keywords: [urls, multilingual,i18n]
|
||||
signature: ["relLangURL INPUT"]
|
||||
workson: []
|
||||
hugoversion:
|
||||
relatedfuncs: []
|
||||
deprecated: false
|
||||
aliases: []
|
||||
---
|
||||
|
||||
`absLangURL` and `relLangURL` functions are similar to their [`absURL`](/functions/absurl/) and [`relURL`](/functions/relurl/) relatives but will add the correct language prefix when the site is configured with more than one language. (See [Configure Languages][multiliconfig].)
|
||||
Use this function with both monolingual and multilingual configurations. The URL returned by this function depends on:
|
||||
|
||||
So for a site `baseURL` set to `https://example.com/hugo/` and the current language is `en`:
|
||||
- Whether the input begins with a slash
|
||||
- The `baseURL` in site configuration
|
||||
- The language prefix, if any
|
||||
|
||||
```
|
||||
{{ "blog/" | absLangURL }} → "https://example.com/hugo/en/blog/"
|
||||
{{ "blog/" | relLangURL }} → "/hugo/en/blog/"
|
||||
In examples that follow, the project is multilingual with content in both Español (`es`) and English (`en`). The default language is Español. The returned values are from the English site.
|
||||
|
||||
### Input does not begin with a slash
|
||||
|
||||
If the input does not begin with a slash, the resulting URL will be correct regardless of the `baseURL`.
|
||||
|
||||
With `baseURL = https://example.org/`
|
||||
|
||||
```go-html-template
|
||||
{{ relLangURL "" }} → /en/
|
||||
{{ relLangURL "articles" }} → /en/articles
|
||||
{{ relLangURL "style.css" }} → /en/style.css
|
||||
```
|
||||
|
||||
With `baseURL = https://example.org/docs/`
|
||||
|
||||
```go-html-template
|
||||
{{ relLangURL "" }} → /docs/en/
|
||||
{{ relLangURL "articles" }} → /docs/en/articles
|
||||
{{ relLangURL "style.css" }} → /docs/en/style.css
|
||||
```
|
||||
|
||||
[multiliconfig]: /content-management/multilingual/#configure-languages
|
||||
### Input begins with a slash
|
||||
|
||||
If the input begins with a slash, the resulting URL will be incorrect when the `baseURL` includes a subdirectory. With a leading slash, the function returns a URL relative to the protocol+host section of the `baseURL`.
|
||||
|
||||
With `baseURL = https://example.org/`
|
||||
|
||||
```go-html-template
|
||||
{{ relLangURL "/" }} → /en/
|
||||
{{ relLangURL "/articles" }} → /en/articles
|
||||
{{ relLangURL "/style.css" }} → /en/style.css
|
||||
```
|
||||
|
||||
With `baseURL = https://example.org/docs/`
|
||||
|
||||
```go-html-template
|
||||
{{ relLangURL "/" }} → /en/
|
||||
{{ relLangURL "/articles" }} → /en/articles
|
||||
{{ relLangURL "/style.css" }} → /en/style.css
|
||||
```
|
||||
|
||||
{{% note %}}
|
||||
The last three examples are not desirable in most situations. As a best practice, never include a leading slash when using this function.
|
||||
{{% /note %}}
|
||||
|
Reference in New Issue
Block a user