diff --git a/src/js/client.js b/src/js/client.js index 2bd86a9cc..8b31d60d0 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -970,6 +970,33 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout }); }; + Client.prototype.setLanguage = function (language, callback) { + post('/api/v1/settings/language', { language: language }, null, function (error, data, status) { + if (error) return callback(error); + if (status !== 200) return callback(new ClientError(status, data)); + + callback(null); + }); + }; + + Client.prototype.getLanguage = function (callback) { + get('/api/v1/settings/language', null, function (error, data, status) { + if (error) return callback(error); + if (status !== 200) return callback(new ClientError(status, data)); + + callback(null, data.language); + }); + }; + + Client.prototype.getAvailableLanguages = function (callback) { + get('/api/v1/settings/language', null, function (error, data, status) { + if (error) return callback(error); + if (status !== 200) return callback(new ClientError(status, data)); + + callback(null, data.language); + }); + }; + Client.prototype.getRemoteSupport = function (callback) { get('/api/v1/support/remote_support', null, function (error, data, status) { if (error) return callback(error); diff --git a/src/translation/en.json b/src/translation/en.json index 9d69fd8e4..d1f2230c8 100644 --- a/src/translation/en.json +++ b/src/translation/en.json @@ -614,6 +614,10 @@ "changes": "Changes", "skipBackupCheckbox": "Skip backup", "updateAction": "Update" + }, + "language": { + "title": "Language", + "description": "The default language of this Cloudron can be set here. This will be used also for transactional emails like user invitation and password reset. Each user can still change the preferred language for the dashboard individually in the profile." } }, "support": { diff --git a/src/views/settings.html b/src/views/settings.html index 2b01aaa32..028a3c78e 100644 --- a/src/views/settings.html +++ b/src/views/settings.html @@ -220,6 +220,29 @@ +
{{ 'settings.language.description' | tr }}
+