diff --git a/client/src/locales/en-GB/core.js b/client/src/locales/en-GB/core.js
new file mode 100644
index 00000000..b6aa5c2a
--- /dev/null
+++ b/client/src/locales/en-GB/core.js
@@ -0,0 +1,253 @@
+import dateFns from 'date-fns/locale/en-GB';
+
+export default {
+ dateFns,
+
+ format: {
+ date: 'P',
+ time: 'p',
+ dateTime: '$t(format:date) $t(format:time)',
+ longDate: 'd MMM',
+ longDateTime: "d MMMM 'at' p",
+ fullDate: 'd MMM y',
+ fullDateTime: "d MMMM y 'at' p",
+ },
+
+ translation: {
+ common: {
+ aboutPlanka: 'About Planka',
+ account: 'Account',
+ actions: 'Actions',
+ addAttachment_title: 'Add Attachment',
+ addComment: 'Add comment',
+ addManager_title: 'Add Manager',
+ addMember_title: 'Add Member',
+ addUser_title: 'Add User',
+ administrator: 'Administrator',
+ all: 'All',
+ allChangesWillBeAutomaticallySavedAfterConnectionRestored:
+ 'All changes will be automatically saved
after connection restored.',
+ areYouSureYouWantToDeleteThisAttachment: 'Are you sure you want to delete this attachment?',
+ areYouSureYouWantToDeleteThisBoard: 'Are you sure you want to delete this board?',
+ areYouSureYouWantToDeleteThisCard: 'Are you sure you want to delete this card?',
+ areYouSureYouWantToDeleteThisComment: 'Are you sure you want to delete this comment?',
+ areYouSureYouWantToDeleteThisLabel: 'Are you sure you want to delete this label?',
+ areYouSureYouWantToDeleteThisList: 'Are you sure you want to delete this list?',
+ areYouSureYouWantToDeleteThisProject: 'Are you sure you want to delete this project?',
+ areYouSureYouWantToDeleteThisTask: 'Are you sure you want to delete this task?',
+ areYouSureYouWantToDeleteThisUser: 'Are you sure you want to delete this user?',
+ areYouSureYouWantToLeaveBoard: 'Are you sure you want to leave the board?',
+ areYouSureYouWantToLeaveProject: 'Are you sure you want to leave the project?',
+ areYouSureYouWantToRemoveThisManagerFromProject:
+ 'Are you sure you want to remove this manager from the project?',
+ areYouSureYouWantToRemoveThisMemberFromBoard:
+ 'Are you sure you want to remove this member from the board?',
+ attachment: 'Attachment',
+ attachments: 'Attachments',
+ authentication: 'Authentication',
+ background: 'Background',
+ board: 'Board',
+ boardNotFound_title: 'Board Not Found',
+ canComment: 'Can comment',
+ canEditContentOfBoard: 'Can edit the content of the board.',
+ canOnlyViewBoard: 'Can only view the board.',
+ cardActions_title: 'Card Actions',
+ cardNotFound_title: 'Card Not Found',
+ cardOrActionAreDeleted: 'Card or action are deleted.',
+ color: 'Color',
+ copy_inline: 'copy',
+ createBoard_title: 'Create Board',
+ createLabel_title: 'Create Label',
+ createNewOneOrSelectExistingOne: 'Create a new one or select
an existing one.',
+ createProject_title: 'Create Project',
+ createTextFile_title: 'Create Text File',
+ currentPassword: 'Current password',
+ dangerZone_title: 'Danger Zone',
+ date: 'Date',
+ dueDate: 'Due date',
+ dueDate_title: 'Due Date',
+ deleteAttachment_title: 'Delete Attachment',
+ deleteBoard_title: 'Delete Board',
+ deleteCard_title: 'Delete Card',
+ deleteComment_title: 'Delete Comment',
+ deleteLabel_title: 'Delete Label',
+ deleteList_title: 'Delete List',
+ deleteProject_title: 'Delete Project',
+ deleteTask_title: 'Delete Task',
+ deleteUser_title: 'Delete User',
+ description: 'Description',
+ detectAutomatically: 'Detect automatically',
+ dropFileToUpload: 'Drop file to upload',
+ editor: 'Editor',
+ editAttachment_title: 'Edit Attachment',
+ editAvatar_title: 'Edit Avatar',
+ editBoard_title: 'Edit Board',
+ editDueDate_title: 'Edit Due Date',
+ editEmail_title: 'Edit E-mail',
+ editInformation_title: 'Edit Information',
+ editLabel_title: 'Edit Label',
+ editPassword_title: 'Edit Password',
+ editPermissions_title: 'Edit Permissions',
+ editStopwatch_title: 'Edit Stopwatch',
+ editUsername_title: 'Edit Username',
+ email: 'E-mail',
+ emailAlreadyInUse: 'E-mail already in use',
+ enterCardTitle: 'Enter card title... [Ctrl+Enter] to auto-open.',
+ enterDescription: 'Enter description...',
+ enterFilename: 'Enter filename',
+ enterListTitle: 'Enter list title...',
+ enterProjectTitle: 'Enter project title',
+ enterTaskDescription: 'Enter task description...',
+ filterByLabels_title: 'Filter By Labels',
+ filterByMembers_title: 'Filter By Members',
+ fromComputer_title: 'From Computer',
+ fromTrello: 'From Trello',
+ general: 'General',
+ hours: 'Hours',
+ importBoard_title: 'Import Board',
+ invalidCurrentPassword: 'Invalid current password',
+ labels: 'Labels',
+ language: 'Language',
+ leaveBoard_title: 'Leave Board',
+ leaveProject_title: 'Leave Project',
+ linkIsCopied: 'Link is copied',
+ list: 'List',
+ listActions_title: 'List Actions',
+ managers: 'Managers',
+ managerActions_title: 'Manager Actions',
+ members: 'Members',
+ memberActions_title: 'Member Actions',
+ minutes: 'Minutes',
+ moveCard_title: 'Move Card',
+ name: 'Name',
+ newestFirst: 'Newest first',
+ newEmail: 'New e-mail',
+ newPassword: 'New password',
+ newUsername: 'New username',
+ noConnectionToServer: 'No connection to server',
+ noBoards: 'No boards',
+ noLists: 'No lists',
+ noProjects: 'No projects',
+ notifications: 'Notifications',
+ noUnreadNotifications: 'No unread notifications.',
+ oldestFirst: 'Oldest first',
+ openBoard_title: 'Open Board',
+ optional_inline: 'optional',
+ organization: 'Organization',
+ phone: 'Phone',
+ preferences: 'Preferences',
+ pressPasteShortcutToAddAttachmentFromClipboard:
+ 'Tip: press Ctrl-V (Cmd-V on Mac) to add an attachment from the clipboard.',
+ project: 'Project',
+ projectNotFound_title: 'Project Not Found',
+ removeManager_title: 'Remove Manager',
+ removeMember_title: 'Remove Member',
+ searchLabels: 'Search labels...',
+ searchMembers: 'Search members...',
+ searchUsers: 'Search users...',
+ searchCards: 'Search cards...',
+ seconds: 'Seconds',
+ selectBoard: 'Select board',
+ selectList: 'Select list',
+ selectPermissions_title: 'Select Permissions',
+ selectProject: 'Select project',
+ settings: 'Settings',
+ sortList_title: 'Sort List',
+ stopwatch: 'Stopwatch',
+ subscribeToMyOwnCardsByDefault: 'Subscribe to my own cards by default',
+ taskActions_title: 'Task Actions',
+ tasks: 'Tasks',
+ thereIsNoPreviewAvailableForThisAttachment:
+ 'There is no preview available for this attachment.',
+ time: 'Time',
+ title: 'Title',
+ userActions_title: 'User Actions',
+ userAddedThisCardToList: '<0>{{user}}0><1> added this card to {{list}}1>',
+ userLeftNewCommentToCard: '{{user}} left a new comment «{{comment}}» to <2>{{card}}2>',
+ userMovedCardFromListToList: '{{user}} moved <2>{{card}}2> from {{fromList}} to {{toList}}',
+ userMovedThisCardFromListToList:
+ '<0>{{user}}0><1> moved this card from {{fromList}} to {{toList}}1>',
+ username: 'Username',
+ usernameAlreadyInUse: 'Username already in use',
+ users: 'Users',
+ version: 'Version',
+ viewer: 'Viewer',
+ writeComment: 'Write a comment...',
+ },
+
+ action: {
+ addAnotherCard: 'Add another card',
+ addAnotherList: 'Add another list',
+ addAnotherTask: 'Add another task',
+ addCard: 'Add card',
+ addCard_title: 'Add Card',
+ addComment: 'Add comment',
+ addList: 'Add list',
+ addMember: 'Add member',
+ addMoreDetailedDescription: 'Add more detailed description',
+ addTask: 'Add task',
+ addToCard: 'Add to card',
+ addUser: 'Add user',
+ copyLink_title: 'Copy Link',
+ createBoard: 'Create board',
+ createFile: 'Create file',
+ createLabel: 'Create label',
+ createNewLabel: 'Create new label',
+ createProject: 'Create project',
+ delete: 'Delete',
+ deleteAttachment: 'Delete attachment',
+ deleteAvatar: 'Delete avatar',
+ deleteBoard: 'Delete board',
+ deleteCard: 'Delete card',
+ deleteCard_title: 'Delete Card',
+ deleteComment: 'Delete comment',
+ deleteImage: 'Delete image',
+ deleteLabel: 'Delete label',
+ deleteList: 'Delete list',
+ deleteList_title: 'Delete List',
+ deleteProject: 'Delete project',
+ deleteProject_title: 'Delete Project',
+ deleteTask: 'Delete task',
+ deleteTask_title: 'Delete Task',
+ deleteUser: 'Delete user',
+ duplicate: 'Duplicate',
+ duplicateCard_title: 'Duplicate Card',
+ edit: 'Edit',
+ editDueDate_title: 'Edit Due Date',
+ editDescription_title: 'Edit Description',
+ editEmail_title: 'Edit E-mail',
+ editInformation_title: 'Edit Information',
+ editPassword_title: 'Edit Password',
+ editPermissions: 'Edit permissions',
+ editStopwatch_title: 'Edit Stopwatch',
+ editTitle_title: 'Edit Title',
+ editUsername_title: 'Edit Username',
+ hideDetails: 'Hide details',
+ import: 'Import',
+ leaveBoard: 'Leave board',
+ leaveProject: 'Leave project',
+ logOut_title: 'Log Out',
+ makeCover_title: 'Make Cover',
+ move: 'Move',
+ moveCard_title: 'Move Card',
+ remove: 'Remove',
+ removeBackground: 'Remove background',
+ removeCover_title: 'Remove Cover',
+ removeFromBoard: 'Remove from board',
+ removeFromProject: 'Remove from project',
+ removeManager: 'Remove manager',
+ removeMember: 'Remove member',
+ save: 'Save',
+ showAllAttachments: 'Show all attachments ({{hidden}} hidden)',
+ showDetails: 'Show details',
+ showFewerAttachments: 'Show fewer attachments',
+ sortList_title: 'Sort List',
+ start: 'Start',
+ stop: 'Stop',
+ subscribe: 'Subscribe',
+ unsubscribe: 'Unsubscribe',
+ uploadNewAvatar: 'Upload new avatar',
+ uploadNewImage: 'Upload new image',
+ },
+ },
+};
diff --git a/client/src/locales/en-GB/index.js b/client/src/locales/en-GB/index.js
new file mode 100644
index 00000000..547c68b9
--- /dev/null
+++ b/client/src/locales/en-GB/index.js
@@ -0,0 +1,8 @@
+import login from './login';
+
+export default {
+ language: 'en-GB',
+ country: 'gb',
+ name: 'English',
+ embeddedLocale: login,
+};
diff --git a/client/src/locales/en-GB/login.js b/client/src/locales/en-GB/login.js
new file mode 100644
index 00000000..813522fe
--- /dev/null
+++ b/client/src/locales/en-GB/login.js
@@ -0,0 +1,23 @@
+export default {
+ translation: {
+ common: {
+ emailOrUsername: 'E-mail or username',
+ invalidEmailOrUsername: 'Invalid e-mail or username',
+ invalidCredentials: 'Invalid credentials',
+ invalidPassword: 'Invalid password',
+ logInToPlanka: 'Log in to Planka',
+ noInternetConnection: 'No internet connection',
+ pageNotFound_title: 'Page Not Found',
+ password: 'Password',
+ projectManagement: 'Project management',
+ serverConnectionFailed: 'Server connection failed',
+ unknownError: 'Unknown error, try again later',
+ useSingleSignOn: 'Use single sign-on',
+ },
+
+ action: {
+ logIn: 'Log in',
+ logInWithSSO: 'Log in with SSO',
+ },
+ },
+};
diff --git a/client/src/locales/index.js b/client/src/locales/index.js
index 3793b24a..b6c60240 100644
--- a/client/src/locales/index.js
+++ b/client/src/locales/index.js
@@ -3,6 +3,7 @@ import bgBG from './bg-BG';
import csCZ from './cs-CZ';
import daDK from './da-DK';
import deDE from './de-DE';
+import enGB from './en-GB';
import enUS from './en-US';
import esES from './es-ES';
import faIR from './fa-IR';
@@ -31,6 +32,7 @@ const locales = [
csCZ,
daDK,
deDE,
+ enGB,
enUS,
esES,
faIR,
diff --git a/server/api/models/User.js b/server/api/models/User.js
index 2c17bea7..a3336d39 100755
--- a/server/api/models/User.js
+++ b/server/api/models/User.js
@@ -11,6 +11,7 @@ const LANGUAGES = [
'cs-CZ',
'da-DK',
'de-DE',
+ 'en-GB',
'en-US',
'es-ES',
'fa-IR',