NodeJS http server to store your internationalized phrases
Supports ISO 3166-1 codes
For install run command npm i -g i18n-node-server
Run i18n-node-server --help
for details
Run i18n-node-server
for start http-server
GET /ping
returns pong
GET /api/named
returns all supports country codes with country name
{
"AF": "Afghanistan",
"AL": "Albania, People's Socialist Republic of",
"DZ": "Algeria, People's Democratic Republic of",
"AS": "American Samoa",
"AD": "Andorra, Principality of",
"AO": "Angola, Republic of",
...
}
239 country codes
GET /api/cc
returns array with all supports country codes
["AF", "AL", "DZ", "AS", "AD", "AO", ...]
239 country codes
PUT /api/put-new
put a new phrase with translates
body
{
ident: "my.first-ident",
records: {
"AL": "translate for Albania",
"AF": "translate for Afganistan",
...
}
}
returns http status
200
- new phrase saved
400
- ident already exists or body has incorrect structure
GET /api/record/:ident
returns all translates by a phrase ident
query options
- countryCode
/api/record/you.phrase.ident?countryCode=GB
return string which contains translate for country GB
- filter
/api/record/you.phrase.ident?filter=GB,AL,AF
returns translates only for GB, AL and AF country codes
{
"GB": "translate for GB",
"AL": "translate for AL",
"AF": "translate for AF",
}
returns http status
400
- ident not valid
GET /api/all
returns all translates of every phrases
{
"ident1": {...},
"ident2": {
"GB": "translate for GB",
"AL": "translate for AL",
"AF": "translate for AF",
...
}
}
query options
- filter
/api/all?filter=GB,AL,AF
returns translates only for GB, AL and AF country codes fo every phrase
{
"ident-1": {
"GB": "translate for GB",
"AL": "translate for AL",
"AF": "translate for AF"
},
"ident_2": {
"GB": "translate for GB",
"AL": "translate for AL",
"AF": "translate for AF"
}
}
POST /api/update-records
update many translations for phrase
body
{
"ident": "your.phrase-ident",
"records": {
"GB": "new translate for GB",
"AL": "new translate for AL",
"AF": "new translate for AF",
...
}
}
returns http codes
200
- translations for a phrase updated
400
- phrase not exists or body has incorrect structure
POST /api/update-record
update one translation for phrase
body
{
"ident": "your.phrase-ident",
"countryCode": "GB",
"value": "new translation for GB"
}
returns http codes
200
- translation for a phrase updated
400
- phrase not exists or body has incorrect structure or value is null
Regex for testing phrase ident: /[a-zA-Z0-9\.\_\-\,]+/
For every phrase creates new .json
file and contains translates for every 239 countries.