minor: i18n component writing - #1050
This commit is contained in:
parent
60b9e54294
commit
4860b20e20
119
README.md
119
README.md
@ -120,14 +120,7 @@ On `config.json`:
|
|||||||
"css": "/path/to/custom.css",
|
"css": "/path/to/custom.css",
|
||||||
"i18n": {
|
"i18n": {
|
||||||
"lang": "fr",
|
"lang": "fr",
|
||||||
"force": "false",
|
"force": "false"
|
||||||
"files": [
|
|
||||||
{
|
|
||||||
"name": "yourCustomLangName",
|
|
||||||
"file": "/path/to/file.json"
|
|
||||||
},
|
|
||||||
...
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -139,8 +132,6 @@ Where:
|
|||||||
* `client.css` is an URL to a distant CSS that'll be the last one loaded by the Hubl
|
* `client.css` is an URL to a distant CSS that'll be the last one loaded by the Hubl
|
||||||
* `client.i18n.lang` is the fallback langage in case the visitor's browser one does not contain the string
|
* `client.i18n.lang` is the fallback langage in case the visitor's browser one does not contain the string
|
||||||
* `client.i18n.force` allows to ignore the visitor's browser langage and force the `client.i18n.lang` one
|
* `client.i18n.force` allows to ignore the visitor's browser langage and force the `client.i18n.lang` one
|
||||||
* `client.i18n.files[].name` allows to use custom client lang file.
|
|
||||||
* `client.i18n.files[].file` is the path the the json lang file
|
|
||||||
|
|
||||||
### Allow to login to your application
|
### Allow to login to your application
|
||||||
|
|
||||||
@ -159,56 +150,6 @@ Where:
|
|||||||
|
|
||||||
* `authority` is the OpenID Provider. Usually, if you use `djangoldp_account` it's the same as your djangoldp server.
|
* `authority` is the OpenID Provider. Usually, if you use `djangoldp_account` it's the same as your djangoldp server.
|
||||||
|
|
||||||
### Custom lang files
|
|
||||||
|
|
||||||
Each client can overwrite langs files with their own or even create custom langs.
|
|
||||||
|
|
||||||
#### Overwrite langs
|
|
||||||
|
|
||||||
On `config.json`:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"client": {
|
|
||||||
"i18n": {
|
|
||||||
"files": [
|
|
||||||
{
|
|
||||||
"name": "fr",
|
|
||||||
"file": "/path/to/custom-fr.json"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Custom langs
|
|
||||||
|
|
||||||
Needs `client.i18n.force` to `true` and `client.i18n.lang` to the custom lang name.
|
|
||||||
|
|
||||||
Your custom JSON file **must** contain every keys, from the template and from every bloxes, prefixed by the blox namespace. See example on `src/locales/fr.json`.
|
|
||||||
|
|
||||||
On `config.json`:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"client": {
|
|
||||||
"i18n": {
|
|
||||||
"lang": "pirate",
|
|
||||||
"force": "true",
|
|
||||||
"files": [
|
|
||||||
{
|
|
||||||
"name": "pirate",
|
|
||||||
"file": "/path/to/yarr.json"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Setting custom langs will not allow user to choose their own lang.
|
|
||||||
|
|
||||||
## Optional modules
|
## Optional modules
|
||||||
|
|
||||||
### Adding modules
|
### Adding modules
|
||||||
@ -405,6 +346,64 @@ You can get only future events by using:
|
|||||||
"get": "http://server.url/events/future/",
|
"get": "http://server.url/events/future/",
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Internationalization
|
||||||
|
|
||||||
|
Each client can overwrite langs files with their own or even create custom langs.
|
||||||
|
|
||||||
|
#### Overwrite langs
|
||||||
|
|
||||||
|
On `config.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"type": "lang",
|
||||||
|
"parameters": {
|
||||||
|
"name": "fr",
|
||||||
|
"file": "/path/to/fr.json"
|
||||||
|
},
|
||||||
|
"route": false
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Where:
|
||||||
|
|
||||||
|
* `parameters.name` allows to use custom client lang file.
|
||||||
|
* `parameters.file` is the path the the json lang file
|
||||||
|
|
||||||
|
#### Custom langs
|
||||||
|
|
||||||
|
Needs `client.i18n.force` to `true` and `client.i18n.lang` to the custom lang name.
|
||||||
|
|
||||||
|
Your custom JSON file **must** contain every keys, from the template and from every bloxes, prefixed by the blox namespace. See example on `src/locales/fr.json`.
|
||||||
|
|
||||||
|
On `config.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
"client": {
|
||||||
|
"i18n": {
|
||||||
|
"lang": "pirate",
|
||||||
|
"force": "true"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"type": "i18n",
|
||||||
|
"parameters": {
|
||||||
|
"name": "pirate",
|
||||||
|
"file": "/path/to/yarr.json"
|
||||||
|
},
|
||||||
|
"route": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Where:
|
||||||
|
|
||||||
|
* `parameters.name` allows to use custom client lang file.
|
||||||
|
* `parameters.file` is the path the the json lang file
|
||||||
|
|
||||||
|
Setting custom langs will not allow user to choose their own lang.
|
||||||
|
|
||||||
### Job Offers
|
### Job Offers
|
||||||
|
|
||||||
Job Offers includes a job board with conversation. To activate them
|
Job Offers includes a job board with conversation. To activate them
|
||||||
|
@ -175,6 +175,13 @@ html(lang="en")
|
|||||||
if component.type == "notification"
|
if component.type == "notification"
|
||||||
include views/partials/notifications.pug
|
include views/partials/notifications.pug
|
||||||
|
|
||||||
|
if component.type == "lang"
|
||||||
|
hubl-lang(
|
||||||
|
hidden
|
||||||
|
lang=component.parameters.name
|
||||||
|
file=component.parameters.file
|
||||||
|
)
|
||||||
|
|
||||||
if componentSet.has('profileDirectory')
|
if componentSet.has('profileDirectory')
|
||||||
.scrollbar-content(
|
.scrollbar-content(
|
||||||
id=`${getRoute("profileDirectory", true)}-profile`
|
id=`${getRoute("profileDirectory", true)}-profile`
|
||||||
@ -220,13 +227,6 @@ html(lang="en")
|
|||||||
hidden
|
hidden
|
||||||
lang=client.i18n.lang?client.i18n.lang:"fr"
|
lang=client.i18n.lang?client.i18n.lang:"fr"
|
||||||
)&attributes({"force": client.i18n.force})
|
)&attributes({"force": client.i18n.force})
|
||||||
if client.i18n.files
|
|
||||||
for clientI18n in client.i18n.files
|
|
||||||
hubl-lang(
|
|
||||||
hidden
|
|
||||||
lang=clientI18n.name
|
|
||||||
file=clientI18n.file
|
|
||||||
)
|
|
||||||
|
|
||||||
div(
|
div(
|
||||||
id="swal-content-text"
|
id="swal-content-text"
|
||||||
|
Loading…
Reference in New Issue
Block a user