diff --git a/awx/ui/client/src/controllers/Projects.js b/awx/ui/client/src/controllers/Projects.js index 429338cd5f..17076a2a73 100644 --- a/awx/ui/client/src/controllers/Projects.js +++ b/awx/ui/client/src/controllers/Projects.js @@ -281,7 +281,7 @@ export function ProjectsAdd($scope, $rootScope, $compile, $location, $log, .success(function(data) { if (!data.actions.POST) { $state.go("^"); - Alert('Permission Error', 'You do not have permission to add a project.', 'alert-info'); + Alert(i18n._('Permission Error'), i18n._('You do not have permission to add a project.'), 'alert-info'); } }); @@ -465,7 +465,7 @@ export function ProjectsEdit($scope, $rootScope, $compile, $location, $log, }); $scope.project_local_paths = opts; $scope.local_path = $scope.project_local_paths[0]; - $scope.base_dir = 'You do not have access to view this property'; + $scope.base_dir = i18n._('You do not have access to view this property'); $scope.$emit('pathsReady'); } @@ -555,7 +555,7 @@ export function ProjectsEdit($scope, $rootScope, $compile, $location, $log, }) .error(function (data, status) { ProcessErrors($scope, data, status, form, { hdr: i18n._('Error!'), - msg: i18n._('Failed to retrieve project: ') + id + i18n._('. GET status: ') + status + msg: i18n.sprintf(i18n._('Failed to retrieve project: %s. GET status: '), id) + status }); }); }); @@ -620,7 +620,7 @@ export function ProjectsEdit($scope, $rootScope, $compile, $location, $log, $state.go($state.current, {}, { reload: true }); }) .error(function(data, status) { - ProcessErrors($scope, data, status, form, { hdr: 'Error!', msg: 'Failed to update project: ' + id + '. PUT status: ' + status }); + ProcessErrors($scope, data, status, form, { hdr: i18n._('Error!'), msg: i18n.sprintf(i18n._('Failed to update project: %s. PUT status: '), id) + status }); }); }; @@ -638,7 +638,7 @@ export function ProjectsEdit($scope, $rootScope, $compile, $location, $log, }) .error(function(data, status) { $('#prompt-modal').modal('hide'); - ProcessErrors($scope, data, status, null, { hdr: 'Error!', msg: 'Call to ' + url + ' failed. POST returned status: ' + status }); + ProcessErrors($scope, data, status, null, { hdr: i18n._('Error!'), msg: i18n.sprintf(i18n._('Call to %s failed. POST returned status: '), url) + status }); }); }; @@ -646,7 +646,7 @@ export function ProjectsEdit($scope, $rootScope, $compile, $location, $log, hdr: i18n._('Delete'), body: '
' + i18n.sprintf(i18n._('Are you sure you want to remove the %s below from %s?'), title, $scope.name) + '
' + '
' + name + '
', action: action, - actionText: 'DELETE' + actionText: i18n._('DELETE') }); }; @@ -654,7 +654,7 @@ export function ProjectsEdit($scope, $rootScope, $compile, $location, $log, if ($scope.scm_type) { $scope.pathRequired = ($scope.scm_type.value === 'manual') ? true : false; $scope.scmRequired = ($scope.scm_type.value !== 'manual') ? true : false; - $scope.scmBranchLabel = ($scope.scm_type.value === 'svn') ? 'Revision #' : 'SCM Branch'; + $scope.scmBranchLabel = ($scope.scm_type.value === 'svn') ? i18n._('Revision #') : i18n._('SCM Branch'); } // Dynamically update popover values @@ -690,7 +690,7 @@ export function ProjectsEdit($scope, $rootScope, $compile, $location, $log, if ($scope.project_obj.scm_type === "Manual" || Empty($scope.project_obj.scm_type)) { // ignore } else if ($scope.project_obj.status === 'updating' || $scope.project_obj.status === 'running' || $scope.project_obj.status === 'pending') { - Alert('Update in Progress', i18n._('The SCM update process is running.'), 'alert-info'); + Alert(i18n._('Update in Progress'), i18n._('The SCM update process is running.'), 'alert-info'); } else { ProjectUpdate({ scope: $scope, project_id: $scope.project_obj.id }); } diff --git a/awx/ui/client/src/controllers/Users.js b/awx/ui/client/src/controllers/Users.js index 61ffb69d2e..9aade4fbf8 100644 --- a/awx/ui/client/src/controllers/Users.js +++ b/awx/ui/client/src/controllers/Users.js @@ -91,17 +91,17 @@ export function UsersList($scope, $rootScope, $stateParams, }) .error(function(data, status) { ProcessErrors($scope, data, status, null, { - hdr: 'Error!', - msg: 'Call to ' + url + ' failed. DELETE returned status: ' + status + hdr: i18n._('Error!'), + msg: i18n.sprintf(i18n._('Call to %s failed. DELETE returned status: '), url) + status }); }); }; Prompt({ - hdr: 'Delete', - body: '
Are you sure you want to delete the user below?
' + $filter('sanitize')(name) + '
', + hdr: i18n._('Delete'), + body: '
' + i18n._('Are you sure you want to delete the user below?') + '
' + $filter('sanitize')(name) + '
', action: action, - actionText: 'DELETE' + actionText: i18n._('DELETE') }); }; } @@ -114,7 +114,7 @@ UsersList.$inject = ['$scope', '$rootScope', '$stateParams', export function UsersAdd($scope, $rootScope, $stateParams, UserForm, GenerateForm, Rest, Alert, ProcessErrors, ReturnToCaller, ClearScope, - GetBasePath, ResetForm, Wait, CreateSelect2, $state, $location) { + GetBasePath, ResetForm, Wait, CreateSelect2, $state, $location, i18n) { ClearScope(); @@ -138,7 +138,7 @@ export function UsersAdd($scope, $rootScope, $stateParams, UserForm, .success(function(data) { if (!data.actions.POST) { $state.go("^"); - Alert('Permission Error', 'You do not have permission to add a user.', 'alert-info'); + Alert(i18n._('Permission Error'), i18n._('You do not have permission to add a user.'), 'alert-info'); } }); @@ -171,7 +171,7 @@ export function UsersAdd($scope, $rootScope, $stateParams, UserForm, .success(function(data) { var base = $location.path().replace(/^\//, '').split('/')[0]; if (base === 'users') { - $rootScope.flashMessage = 'New user successfully created!'; + $rootScope.flashMessage = i18n._('New user successfully created!'); $rootScope.$broadcast("EditIndicatorChange", "users", data.id); $state.go('users.edit', { user_id: data.id }, { reload: true }); } else { @@ -179,10 +179,10 @@ export function UsersAdd($scope, $rootScope, $stateParams, UserForm, } }) .error(function(data, status) { - ProcessErrors($scope, data, status, form, { hdr: 'Error!', msg: 'Failed to add new user. POST returned status: ' + status }); + ProcessErrors($scope, data, status, form, { hdr: i18n._('Error!'), msg: i18n._('Failed to add new user. POST returned status: ') + status }); }); } else { - $scope.organization_name_api_error = 'A value is required'; + $scope.organization_name_api_error = i18n._('A value is required'); } } }; @@ -201,7 +201,7 @@ export function UsersAdd($scope, $rootScope, $stateParams, UserForm, UsersAdd.$inject = ['$scope', '$rootScope', '$stateParams', 'UserForm', 'GenerateForm', 'Rest', 'Alert', 'ProcessErrors', 'ReturnToCaller', 'ClearScope', 'GetBasePath', - 'ResetForm', 'Wait', 'CreateSelect2', '$state', '$location' + 'ResetForm', 'Wait', 'CreateSelect2', '$state', '$location', 'i18n' ]; export function UsersEdit($scope, $rootScope, $location, @@ -264,9 +264,8 @@ export function UsersEdit($scope, $rootScope, $location, }) .error(function(data, status) { ProcessErrors($scope, data, status, null, { - hdr: 'Error!', - msg: 'Failed to retrieve user: ' + - $stateParams.id + '. GET status: ' + status + hdr: i18n._('Error!'), + msg: i18n.sprintf(i18n._('Failed to retrieve user: %s. GET status: '), $stateParams.id) + status }); }); } @@ -319,9 +318,8 @@ export function UsersEdit($scope, $rootScope, $location, }) .error(function(data, status) { ProcessErrors($scope, data, status, null, { - hdr: 'Error!', - msg: 'Failed to retrieve user: ' + - $stateParams.id + '. GET status: ' + status + hdr: i18n._('Error!'), + msg: i18n.sprintf(i18n._('Failed to retrieve user: %s. GET status: '), $stateParams.id) + status }); }); } diff --git a/awx/ui/client/src/dashboard/hosts/dashboard-hosts.list.js b/awx/ui/client/src/dashboard/hosts/dashboard-hosts.list.js index 0c3c0adb9d..f439c0c859 100644 --- a/awx/ui/client/src/dashboard/hosts/dashboard-hosts.list.js +++ b/awx/ui/client/src/dashboard/hosts/dashboard-hosts.list.js @@ -38,7 +38,7 @@ export default [ 'i18n', function(i18n){ ngClick: 'editHost(host.id)' }, inventory_name: { - label: 'Inventory', + label: i18n._('Inventory'), sourceModel: 'inventory', sourceField: 'name', columnClass: 'col-lg-5 col-md-4 col-sm-4 hidden-xs elllipsis', @@ -46,13 +46,13 @@ export default [ 'i18n', function(i18n){ searchable: false }, enabled: { - label: 'Status', + label: i18n._('Status'), columnClass: 'List-staticColumn--toggle', type: 'toggle', ngClick: 'toggleHostEnabled(host)', nosort: true, - awToolTip: "

Indicates if a host is available and should be included in running jobs.

For hosts that are part of an external inventory, this flag cannot be changed. It will be set by the inventory sync process.

", - dataTitle: 'Host Enabled', + awToolTip: "

" + i18n._("Indicates if a host is available and should be included in running jobs.") + "

" + i18n._("For hosts that are part of an external inventory, this flag cannot be changed. It will be set by the inventory sync process.") + "

", + dataTitle: i18n._('Host Enabled'), } }, @@ -60,10 +60,10 @@ export default [ 'i18n', function(i18n){ columnClass: 'col-lg-2 col-md-3 col-sm-3 col-xs-4', edit: { - label: 'Edit', + label: i18n._('Edit'), ngClick: 'editHost(host.id)', icon: 'icon-edit', - awToolTip: 'Edit host', + awToolTip: i18n._('Edit host'), dataPlacement: 'top' } }, diff --git a/awx/ui/client/src/forms/JobTemplates.js b/awx/ui/client/src/forms/JobTemplates.js index 9fe64f0469..23be861723 100644 --- a/awx/ui/client/src/forms/JobTemplates.js +++ b/awx/ui/client/src/forms/JobTemplates.js @@ -20,7 +20,7 @@ export default addTitle: i18n._('New Job Template'), editTitle: '{{ name }}', name: 'job_template', - breadcrumbName: 'JOB TEMPLATE', + breadcrumbName: i18n._('JOB TEMPLATE'), basePath: 'job_templates', // the top-most node of generated state tree stateTree: 'templates', @@ -80,7 +80,7 @@ export default reqExpression: '!ask_inventory_on_launch', alwaysShowAsterisk: true }, - requiredErrorMsg: "Please select an Inventory or check the Prompt on launch option.", + requiredErrorMsg: i18n._("Please select an Inventory or check the Prompt on launch option."), column: 1, awPopOver: "

" + i18n._("Select the inventory containing the hosts you want this job to manage.") + "

", dataTitle: i18n._('Inventory'), @@ -96,7 +96,7 @@ export default project: { label: i18n._('Project'), labelAction: { - label: 'RESET', + label: i18n._('RESET'), ngClick: 'resetProjectToDefault()', 'class': "{{!(job_type.value === 'scan' && project_name !== 'Default') ? 'hidden' : ''}}", }, @@ -147,7 +147,7 @@ export default reqExpression: '!ask_credential_on_launch', alwaysShowAsterisk: true }, - requiredErrorMsg: "Please select a Machine Credential or check the Prompt on launch option.", + requiredErrorMsg: i18n._("Please select a Machine Credential or check the Prompt on launch option."), column: 1, awPopOver: "

" + i18n._("Select the credential you want the job to use when accessing the remote hosts. Choose the credential containing " + " the username and SSH key or password that Ansible will need to log into the remote hosts.") + "

", @@ -409,9 +409,9 @@ export default add: { ngClick: "$state.go('.add')", label: 'Add', - awToolTip: 'Add a permission', + awToolTip: i18n._('Add a permission'), actionClass: 'btn List-buttonSubmit', - buttonContent: '+ ADD', + buttonContent: '+ ' + i18n._('ADD'), ngShow: '(job_template_obj.summary_fields.user_capabilities.edit || canAddJobTemplate)' } }, diff --git a/awx/ui/client/src/forms/Projects.js b/awx/ui/client/src/forms/Projects.js index ece9701855..62ee007ace 100644 --- a/awx/ui/client/src/forms/Projects.js +++ b/awx/ui/client/src/forms/Projects.js @@ -241,18 +241,18 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition']) fields: { username: { - label: 'User', + label: i18n._('User'), uiSref: 'users({user_id: field.id})', class: 'col-lg-3 col-md-3 col-sm-3 col-xs-4' }, role: { - label: 'Role', + label: i18n._('Role'), type: 'role', noSort: true, class: 'col-lg-4 col-md-4 col-sm-4 col-xs-4', }, team_roles: { - label: 'Team Roles', + label: i18n._('Team Roles'), type: 'team_roles', noSort: true, class: 'col-lg-5 col-md-5 col-sm-5 col-xs-4', diff --git a/awx/ui/client/src/forms/Teams.js b/awx/ui/client/src/forms/Teams.js index a7f03a490b..c2550f5543 100644 --- a/awx/ui/client/src/forms/Teams.js +++ b/awx/ui/client/src/forms/Teams.js @@ -80,7 +80,7 @@ export default add: { // @issue https://github.com/ansible/ansible-tower/issues/3487 //ngClick: "addPermissionWithoutTeamTab", - label: 'Add', + label: i18n._('Add'), awToolTip: i18n._('Add user to team'), actionClass: 'btn List-buttonSubmit', buttonContent: '+ ' + i18n._('ADD'), diff --git a/awx/ui/client/src/forms/Users.js b/awx/ui/client/src/forms/Users.js index 5e95b6166f..20f8126a83 100644 --- a/awx/ui/client/src/forms/Users.js +++ b/awx/ui/client/src/forms/Users.js @@ -136,10 +136,10 @@ export default fields: { name: { key: true, - label: 'Name' + label: i18n._('Name') }, description: { - label: 'Description' + label: i18n._('Description') } }, //hideOnSuperuser: true // RBAC defunct @@ -157,14 +157,14 @@ export default open: false, index: false, actions: {}, - emptyListText: 'This user is not a member of any teams', + emptyListText: i18n._('This user is not a member of any teams'), fields: { name: { key: true, - label: 'Name' + label: i18n._('Name') }, description: { - label: 'Description' + label: i18n._('Description') } }, //hideOnSuperuser: true // RBAC defunct diff --git a/awx/ui/client/src/forms/Workflows.js b/awx/ui/client/src/forms/Workflows.js index d281ae0e0b..136d0692a9 100644 --- a/awx/ui/client/src/forms/Workflows.js +++ b/awx/ui/client/src/forms/Workflows.js @@ -120,10 +120,10 @@ export default actions: { add: { ngClick: "$state.go('.add')", - label: 'Add', + label: i18n._('Add'), awToolTip: 'Add a permission', actionClass: 'btn List-buttonSubmit', - buttonContent: '+ ADD', + buttonContent: '+ '+ i18n._('ADD'), ngShow: '(workflow_job_template_obj.summary_fields.user_capabilities.edit || canAddWorkflowJobTemplate)' } }, diff --git a/awx/ui/client/src/helpers/Credentials.js b/awx/ui/client/src/helpers/Credentials.js index 375a556be0..a58c37bce8 100644 --- a/awx/ui/client/src/helpers/Credentials.js +++ b/awx/ui/client/src/helpers/Credentials.js @@ -223,8 +223,8 @@ angular.module('CredentialsHelper', ['Utilities']) } ]) -.factory('FormSave', ['$rootScope', '$location', 'Alert', 'Rest', 'ProcessErrors', 'Empty', 'GetBasePath', 'CredentialForm', 'ReturnToCaller', 'Wait', '$state', - function ($rootScope, $location, Alert, Rest, ProcessErrors, Empty, GetBasePath, CredentialForm, ReturnToCaller, Wait, $state) { +.factory('FormSave', ['$rootScope', '$location', 'Alert', 'Rest', 'ProcessErrors', 'Empty', 'GetBasePath', 'CredentialForm', 'ReturnToCaller', 'Wait', '$state', 'i18n', + function ($rootScope, $location, Alert, Rest, ProcessErrors, Empty, GetBasePath, CredentialForm, ReturnToCaller, Wait, $state, i18n) { return function (params) { var scope = params.scope, mode = params.mode, @@ -305,12 +305,12 @@ angular.module('CredentialsHelper', ['Utilities']) // the error there. The ssh_key_unlock field is not shown when the kind of credential is gce/azure and as a result the // error is never shown. In the future, the API will hopefully either behave or respond differently. if(status && status === 400 && data && data.ssh_key_unlock && (scope.kind.value === 'gce' || scope.kind.value === 'azure')) { - scope.ssh_key_data_api_error = "Encrypted credentials are not supported."; + scope.ssh_key_data_api_error = i18n._("Encrypted credentials are not supported."); } else { ProcessErrors(scope, data, status, form, { - hdr: 'Error!', - msg: 'Failed to create new Credential. POST status: ' + status + hdr: i18n._('Error!'), + msg: i18n._('Failed to create new Credential. POST status: ') + status }); } }); @@ -325,8 +325,8 @@ angular.module('CredentialsHelper', ['Utilities']) .error(function (data, status) { Wait('stop'); ProcessErrors(scope, data, status, form, { - hdr: 'Error!', - msg: 'Failed to update Credential. PUT status: ' + status + hdr: i18n._('Error!'), + msg: i18n._('Failed to update Credential. PUT status: ') + status }); }); } diff --git a/awx/ui/client/src/license/license.controller.js b/awx/ui/client/src/license/license.controller.js index 682f1cfb01..195178dd28 100644 --- a/awx/ui/client/src/license/license.controller.js +++ b/awx/ui/client/src/license/license.controller.js @@ -66,14 +66,14 @@ export default $scope.newLicense.file = JSON.parse(raw.result); } catch(err) { - ProcessErrors($rootScope, null, null, null, {msg: 'Invalid file format. Please upload valid JSON.'}); + ProcessErrors($rootScope, null, null, null, {msg: i18n._('Invalid file format. Please upload valid JSON.')}); } }; try { raw.readAsText(event.target.files[0]); } catch(err) { - ProcessErrors($rootScope, null, null, null, {msg: 'Invalid file format. Please upload valid JSON.'}); + ProcessErrors($rootScope, null, null, null, {msg: i18n._('Invalid file format. Please upload valid JSON.')}); } }; // HTML5 spec doesn't provide a way to customize file input css diff --git a/awx/ui/client/src/lists/CompletedJobs.js b/awx/ui/client/src/lists/CompletedJobs.js index dc219d629b..1c0436240c 100644 --- a/awx/ui/client/src/lists/CompletedJobs.js +++ b/awx/ui/client/src/lists/CompletedJobs.js @@ -72,14 +72,14 @@ export default icon: 'icon-rocket', mode: 'all', ngClick: 'relaunchJob($event, completed_job.id)', - awToolTip: 'Relaunch using the same parameters', + awToolTip: i18n._('Relaunch using the same parameters'), dataPlacement: 'top', ngShow: "!completed_job.type == 'system_job' || completed_job.summary_fields.user_capabilities.start" }, "delete": { mode: 'all', ngClick: 'deleteJob(completed_job.id)', - awToolTip: 'Delete the job', + awToolTip: i18n._('Delete the job'), dataPlacement: 'top', ngShow: 'completed_job.summary_fields.user_capabilities.delete' } diff --git a/awx/ui/client/src/lists/Inventories.js b/awx/ui/client/src/lists/Inventories.js index d3d68223cf..4ae755cfb6 100644 --- a/awx/ui/client/src/lists/Inventories.js +++ b/awx/ui/client/src/lists/Inventories.js @@ -15,8 +15,7 @@ export default selectTitle: i18n._('Add Inventories'), editTitle: i18n._('Inventories'), listTitle: i18n._('Inventories'), - selectInstructions: "Click on a row to select it, and click Finished when done. Click the " + - "button to create a new inventory.", + selectInstructions: i18n.sprintf(i18n._("Click on a row to select it, and click Finished when done. Click the %s button to create a new inventory."), " "), index: false, hover: true, basePath: 'inventory', diff --git a/awx/ui/client/src/lists/Teams.js b/awx/ui/client/src/lists/Teams.js index b9bb151a1a..0048be52d0 100644 --- a/awx/ui/client/src/lists/Teams.js +++ b/awx/ui/client/src/lists/Teams.js @@ -15,8 +15,7 @@ export default selectTitle: i18n._('Add Team'), editTitle: i18n._('Teams'), listTitle: i18n._('Teams'), - selectInstructions: "Click on a row to select it, and click Finished when done. Click the " + - "button to create a new team.", + selectInstructions: i18n.sprintf(i18n._("Click on a row to select it, and click Finished when done. Click the %s button to create a new team."), " "), index: false, hover: true, diff --git a/awx/ui/client/src/lists/Templates.js b/awx/ui/client/src/lists/Templates.js index 10a195f795..7db934ffd3 100644 --- a/awx/ui/client/src/lists/Templates.js +++ b/awx/ui/client/src/lists/Templates.js @@ -16,8 +16,7 @@ export default selectTitle: i18n._('Template'), editTitle: i18n._('Templates'), listTitle: i18n._('Templates'), - selectInstructions: "Click on a row to select it, and click Finished when done. Use the " + - "button to create a new job template.", + selectInstructions: i18n.sprintf(i18n._("Click on a row to select it, and click Finished when done. Use the %s button to create a new job template."), " "), index: false, hover: true, @@ -62,12 +61,12 @@ export default buttonContent: i18n._('ADD'), options: [ { - optionContent: 'Job Template', + optionContent: i18n._('Job Template'), optionSref: 'templates.addJobTemplate', ngShow: 'canAddJobTemplate' }, { - optionContent: 'Workflow Job Template', + optionContent: i18n._('Workflow Job Template'), optionSref: 'templates.addWorkflowJobTemplate', ngShow: 'canAddWorkflowJobTemplate' } diff --git a/awx/ui/client/src/lists/Users.js b/awx/ui/client/src/lists/Users.js index 3efb0f7ce3..bfff119616 100644 --- a/awx/ui/client/src/lists/Users.js +++ b/awx/ui/client/src/lists/Users.js @@ -49,7 +49,7 @@ export default actions: { add: { - label: 'Create New', + label: i18n._('Create New'), mode: 'all', // One of: edit, select, all ngClick: 'addUser()', basePaths: ['organizations', 'users'], // base path must be in list, or action not available diff --git a/awx/ui/client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js b/awx/ui/client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js index 7ab1980495..ab35628d12 100644 --- a/awx/ui/client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js +++ b/awx/ui/client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js @@ -116,8 +116,8 @@ return {"options": options, "error": error}; }) .catch(function (data) { - ProcessErrors(scope, data.data, data.status, null, { hdr: 'Error!', - msg: 'Failed to get third-party login types. Returned status: ' + data.status }); + ProcessErrors(scope, data.data, data.status, null, { hdr: i18n._('Error!'), + msg: i18n._('Failed to get third-party login types. Returned status: ') + data.status }); }); }; }]; diff --git a/awx/ui/client/src/notifications/notifications.list.js b/awx/ui/client/src/notifications/notifications.list.js index 5509dfebfe..7a7a345c96 100644 --- a/awx/ui/client/src/notifications/notifications.list.js +++ b/awx/ui/client/src/notifications/notifications.list.js @@ -18,7 +18,7 @@ export default ['i18n', function(i18n){ iterator: 'notification', index: false, hover: false, - emptyListText: "This list is populated by notification templates added from the Notifications section", + emptyListText: i18n.sprintf(i18n._("This list is populated by notification templates added from the %sNotifications%s section"), " ", " "), basePath: 'notification_templates', fields: { name: { @@ -60,7 +60,7 @@ export default ['i18n', function(i18n){ }, actions: { add: { - label: 'Add Notification', + label: i18n._('Add Notification'), mode: 'all', // One of: edit, select, all ngClick: 'addNotificationTemplate()', awToolTip: i18n._('Create a new notification template'), diff --git a/awx/ui/client/src/shared/form-generator.js b/awx/ui/client/src/shared/form-generator.js index defdc6f5dc..fc06c2832f 100644 --- a/awx/ui/client/src/shared/form-generator.js +++ b/awx/ui/client/src/shared/form-generator.js @@ -542,9 +542,9 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat html += (field.flag) ? field.flag : "enabled"; html += "\}' aw-tool-tip='" + field.awToolTip + "' data-placement='" + field.dataPlacement + "' data-tip-watch='" + field.dataTipWatch + "'>
ON
" + i18n._("ON") + "
OFF
"; + html += "' class='ScheduleToggle-switch' ng-click='" + field.ngClick + "'>" + i18n._("OFF") + ""; } return html; }, @@ -1041,7 +1041,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat // Add error messages if (field.required) { html += "
" + (field.requiredErrorMsg ? field.requiredErrorMsg : "Please enter a value.") + "
\n"; + this.form.name + '_form.' + fld + ".$error.required\">" + (field.requiredErrorMsg ? field.requiredErrorMsg : i18n._("Please enter a value.")) + "\n"; } html += "
\n"; html += "\n"; @@ -1108,7 +1108,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat // Add error messages if (field.required || field.awRequiredWhen) { html += "
" + (field.requiredErrorMsg ? field.requiredErrorMsg : "Please select a value."); + this.form.name + '_form.' + fld + ".$error.required\">" + (field.requiredErrorMsg ? field.requiredErrorMsg : i18n._("Please select a value.")); if (field.includePlaybookNotFoundError) { html += " Playbook {{ job_template_obj.playbook }} not found for project.\n"; } @@ -1177,15 +1177,19 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat // Add error messages if (field.required) { html += "
" + (field.requiredErrorMsg ? field.requiredErrorMsg : "Please select a value.") + "
\n"; + this.form.name + '_form.' + fld + ".$error.required\">" + (field.requiredErrorMsg ? field.requiredErrorMsg : i18n._("Please select a value.")) + "
\n"; } if (field.integer) { - html += "
Please enter a number.
\n"; + html += "
" + i18n._("Please enter a number.") + "
\n"; } if (field.min !== undefined || field.max !== undefined) { html += "
Please enter a number greater than " + field.min; - html += (field.max !== undefined) ? " and less than " + field.max + "." : "."; + this.form.name + '_form.' + fld + ".$error.max\">"; + if (field.max !== undefined) { + html += i18n.sprintf(i18n._("Please enter a number greater than %d and less than %d."), field.min, field.max); + } else { + html += i18n.sprintf(i18n._("Please enter a number greater than %d."), field.min); + } html += "
\n"; } html += "
\n"; @@ -1210,14 +1214,14 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat // Add error messages if (field.required) { html += "
" + (field.requiredErrorMsg ? field.requiredErrorMsg : "Please select at least one value.") + "
\n"; + this.form.name + '_form.' + fld + ".$error.required\">" + (field.requiredErrorMsg ? field.requiredErrorMsg : i18n._("Please select at least one value.")) + "\n"; } if (field.integer) { - html += "
Please select a number.
\n"; + html += "
" + i18n._("Please select a number.") + "
\n"; } if (field.min || field.max) { html += "
Please select a number between " + field.min + " and " + + this.form.name + '_form.' + fld + ".$error.max\">" + i18n._("Please select a number between ") + field.min + i18n._(" and ") + field.max + "
\n"; } html += "
\n"; @@ -1291,7 +1295,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat if (field.required || field.awRequiredWhen) { html += "
Please select a value.
\n"; + this.form.name + '_form.' + fld + ".$error.required\">" + i18n._("Please select a value.") + "\n"; } html += "
\n"; @@ -1396,13 +1400,13 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat this.form.name + '_form.' + field.sourceModel + '_' + field.sourceField + ".$dirty && " + this.form.name + '_form.' + field.sourceModel + '_' + field.sourceField + - ".$error.required\">" + (field.requiredErrorMsg ? field.requiredErrorMsg : "Please select a value.") + "\n"; + ".$error.required\">" + (field.requiredErrorMsg ? field.requiredErrorMsg : i18n._("Please select a value.")) + "\n"; } html += "
That value was not found. Please enter or select a valid value.
\n"; + ".$error.awlookup\">" + i18n._("That value was not found. Please enter or select a valid value.") + "\n"; html += "
\n"; html += "\n"; @@ -1869,7 +1873,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat `; // Show the "no items" box when loading is done and the user isn't actively searching and there are no results - var emptyListText = (collection.emptyListText) ? collection.emptyListText : "PLEASE ADD ITEMS TO THIS LIST"; + var emptyListText = (collection.emptyListText) ? collection.emptyListText : i18n._("PLEASE ADD ITEMS TO THIS LIST"); html += `
`; html += `
${emptyListText}
`; html += '
'; diff --git a/awx/ui/po/ansible-tower-ui.pot b/awx/ui/po/ansible-tower-ui.pot index 5a0b8f2bd6..e3226dc3f4 100644 --- a/awx/ui/po/ansible-tower-ui.pot +++ b/awx/ui/po/ansible-tower-ui.pot @@ -9,12 +9,12 @@ msgid "%s or %s" msgstr "" #: client/src/controllers/Projects.js:397 -#: client/src/controllers/Projects.js:678 +#: client/src/controllers/Projects.js:679 msgid "%sNote:%s Mercurial does not support password authentication for SSH. Do not put the username and key in the URL. If using Bitbucket and SSH, do not supply your Bitbucket username." msgstr "" #: client/src/controllers/Projects.js:384 -#: client/src/controllers/Projects.js:665 +#: client/src/controllers/Projects.js:666 msgid "%sNote:%s When using SSH protocol for GitHub or Bitbucket, enter an SSH key only, do not enter a username (other than git). Additionally, GitHub and Bitbucket do not support password authentication when using SSH. GIT read only protocol (git://) does not use username or password information." msgstr "" @@ -26,21 +26,23 @@ msgstr "" msgid "+ ADD" msgstr "" -#: client/src/controllers/Projects.js:557 -msgid ". GET status:" +#: client/src/controllers/Users.js:185 +msgid "A value is required" msgstr "" #: client/src/forms/Credentials.js:442 #: client/src/forms/Inventories.js:153 +#: client/src/forms/JobTemplates.js:414 #: client/src/forms/Organizations.js:75 #: client/src/forms/Projects.js:238 #: client/src/forms/Teams.js:86 +#: client/src/forms/Workflows.js:126 #: client/src/inventory-scripts/inventory-scripts.list.js:45 #: client/src/lists/Credentials.js:59 -#: client/src/lists/Inventories.js:69 -#: client/src/lists/Projects.js:61 -#: client/src/lists/Teams.js:51 -#: client/src/lists/Templates.js:63 +#: client/src/lists/Inventories.js:68 +#: client/src/lists/Projects.js:67 +#: client/src/lists/Teams.js:50 +#: client/src/lists/Templates.js:61 #: client/src/lists/Users.js:58 #: client/src/notifications/notificationTemplates.list.js:52 msgid "ADD" @@ -84,13 +86,15 @@ msgid "Actions" msgstr "" #: client/src/dashboard/lists/job-templates/job-templates-list.partial.html:17 -#: client/src/lists/Templates.js:42 +#: client/src/lists/Templates.js:40 msgid "Activity" msgstr "" #: client/src/forms/Inventories.js:104 #: client/src/forms/Inventories.js:150 #: client/src/forms/Organizations.js:72 +#: client/src/forms/Teams.js:83 +#: client/src/forms/Workflows.js:123 msgid "Add" msgstr "" @@ -106,12 +110,17 @@ msgstr "" msgid "Add Inventories" msgstr "" +#: client/src/notifications/notifications.list.js:63 +msgid "Add Notification" +msgstr "" + #: client/src/lists/Projects.js:15 msgid "Add Project" msgstr "" -#: client/src/forms/Workflows.js:161 -#: client/src/shared/form-generator.js:1715 +#: client/src/forms/JobTemplates.js:459 +#: client/src/forms/Workflows.js:171 +#: client/src/shared/form-generator.js:1703 msgid "Add Survey" msgstr "" @@ -125,6 +134,7 @@ msgstr "" #: client/src/forms/Credentials.js:440 #: client/src/forms/Inventories.js:151 +#: client/src/forms/JobTemplates.js:412 #: client/src/forms/Organizations.js:73 #: client/src/forms/Projects.js:236 msgid "Add a permission" @@ -138,7 +148,7 @@ msgstr "" msgid "Add user to team" msgstr "" -#: client/src/shared/form-generator.js:1462 +#: client/src/shared/form-generator.js:1450 msgid "Admin" msgstr "" @@ -153,8 +163,8 @@ msgstr "" msgid "All Jobs" msgstr "" -#: client/src/forms/JobTemplates.js:298 -#: client/src/forms/JobTemplates.js:305 +#: client/src/forms/JobTemplates.js:299 +#: client/src/forms/JobTemplates.js:306 msgid "Allow Provisioning Callbacks" msgstr "" @@ -174,7 +184,11 @@ msgstr "" msgid "Are you sure you want to delete the project below?" msgstr "" -#: client/src/controllers/Projects.js:646 +#: client/src/controllers/Users.js:102 +msgid "Are you sure you want to delete the user below?" +msgstr "" + +#: client/src/controllers/Projects.js:647 msgid "Are you sure you want to remove the %s below from %s?" msgstr "" @@ -185,7 +199,7 @@ msgstr "" msgid "Ask at runtime?" msgstr "" -#: client/src/shared/form-generator.js:1464 +#: client/src/shared/form-generator.js:1452 msgid "Auditor" msgstr "" @@ -209,7 +223,7 @@ msgstr "" msgid "Base path used for locating playbooks. Directories found inside this path will be listed in the playbook directory drop-down. Together the base path and selected playbook directory provide the full path used to locate playbooks." msgstr "" -#: client/src/forms/JobTemplates.js:292 +#: client/src/forms/JobTemplates.js:293 msgid "Become Privilege Escalation" msgstr "" @@ -217,7 +231,7 @@ msgstr "" msgid "Browse" msgstr "" -#: client/src/app.js:315 +#: client/src/app.js:317 msgid "CREDENTIALS" msgstr "" @@ -230,6 +244,7 @@ msgid "Cache Timeout%s (seconds)%s" msgstr "" #: client/src/controllers/Projects.js:156 +#: client/src/controllers/Users.js:95 msgid "Call to %s failed. DELETE returned status:" msgstr "" @@ -238,6 +253,10 @@ msgstr "" msgid "Call to %s failed. GET status:" msgstr "" +#: client/src/controllers/Projects.js:641 +msgid "Call to %s failed. POST returned status:" +msgstr "" + #: client/src/controllers/Projects.js:180 msgid "Call to %s failed. POST status:" msgstr "" @@ -246,7 +265,7 @@ msgstr "" msgid "Call to get project failed. GET status:" msgstr "" -#: client/src/shared/form-generator.js:1703 +#: client/src/shared/form-generator.js:1691 msgid "Cancel" msgstr "" @@ -254,7 +273,7 @@ msgstr "" msgid "Cancel Not Allowed" msgstr "" -#: client/src/lists/Projects.js:115 +#: client/src/lists/Projects.js:121 msgid "Cancel the SCM update" msgstr "" @@ -262,7 +281,7 @@ msgstr "" msgid "Canceled. Click for details" msgstr "" -#: client/src/shared/form-generator.js:1100 +#: client/src/shared/form-generator.js:1084 msgid "Choose a %s" msgstr "" @@ -274,6 +293,18 @@ msgstr "" msgid "Clean" msgstr "" +#: client/src/lists/Inventories.js:18 +msgid "Click on a row to select it, and click Finished when done. Click the %s button to create a new inventory." +msgstr "" + +#: client/src/lists/Teams.js:18 +msgid "Click on a row to select it, and click Finished when done. Click the %s button to create a new team." +msgstr "" + +#: client/src/lists/Templates.js:19 +msgid "Click on a row to select it, and click Finished when done. Use the %s button to create a new job template." +msgstr "" + #: client/src/forms/Credentials.js:319 msgid "Client ID" msgstr "" @@ -286,12 +317,12 @@ msgstr "" msgid "Client Secret" msgstr "" -#: client/src/shared/form-generator.js:1707 +#: client/src/shared/form-generator.js:1695 msgid "Close" msgstr "" -#: client/src/forms/JobTemplates.js:163 -#: client/src/forms/JobTemplates.js:175 +#: client/src/forms/JobTemplates.js:164 +#: client/src/forms/JobTemplates.js:176 msgid "Cloud Credential" msgstr "" @@ -315,22 +346,22 @@ msgstr "" msgid "Confirm Password" msgstr "" -#: client/src/forms/JobTemplates.js:254 -#: client/src/forms/JobTemplates.js:272 +#: client/src/forms/JobTemplates.js:255 +#: client/src/forms/JobTemplates.js:273 #: client/src/forms/WorkflowMaker.js:141 #: client/src/forms/WorkflowMaker.js:156 msgid "Consult the Ansible documentation for further details on the usage of tags." msgstr "" -#: client/src/forms/JobTemplates.js:240 +#: client/src/forms/JobTemplates.js:241 msgid "Control the level of output ansible will produce as the playbook executes." msgstr "" -#: client/src/lists/Templates.js:101 +#: client/src/lists/Templates.js:99 msgid "Copy" msgstr "" -#: client/src/lists/Templates.js:104 +#: client/src/lists/Templates.js:102 msgid "Copy template" msgstr "" @@ -338,6 +369,10 @@ msgstr "" msgid "Create Credential" msgstr "" +#: client/src/lists/Users.js:52 +msgid "Create New" +msgstr "" + #: client/src/lists/Credentials.js:57 msgid "Create a new credential" msgstr "" @@ -347,7 +382,7 @@ msgstr "" msgid "Create a new custom inventory" msgstr "" -#: client/src/lists/Inventories.js:67 +#: client/src/lists/Inventories.js:66 msgid "Create a new inventory" msgstr "" @@ -359,15 +394,15 @@ msgstr "" msgid "Create a new organization" msgstr "" -#: client/src/lists/Projects.js:59 +#: client/src/lists/Projects.js:65 msgid "Create a new project" msgstr "" -#: client/src/lists/Teams.js:49 +#: client/src/lists/Teams.js:48 msgid "Create a new team" msgstr "" -#: client/src/lists/Templates.js:61 +#: client/src/lists/Templates.js:59 msgid "Create a new template" msgstr "" @@ -383,7 +418,7 @@ msgstr "" msgid "Create templates for sending notifications with Email, HipChat, Slack, and SMS." msgstr "" -#: client/src/forms/JobTemplates.js:153 +#: client/src/forms/JobTemplates.js:154 #: client/src/forms/WorkflowMaker.js:60 #: client/src/forms/WorkflowMaker.js:69 msgid "Credential" @@ -400,17 +435,23 @@ msgstr "" msgid "Custom Script" msgstr "" -#: client/src/app.js:403 +#: client/src/app.js:405 msgid "DASHBOARD" msgstr "" +#: client/src/controllers/Projects.js:649 +#: client/src/controllers/Users.js:104 +msgid "DELETE" +msgstr "" + #: client/src/controllers/Projects.js:161 -#: client/src/controllers/Projects.js:645 +#: client/src/controllers/Projects.js:646 +#: client/src/controllers/Users.js:101 #: client/src/inventory-scripts/inventory-scripts.list.js:74 #: client/src/lists/Credentials.js:90 -#: client/src/lists/Inventories.js:93 -#: client/src/lists/Teams.js:78 -#: client/src/lists/Templates.js:125 +#: client/src/lists/Inventories.js:92 +#: client/src/lists/Teams.js:77 +#: client/src/lists/Templates.js:123 #: client/src/lists/Users.js:87 #: client/src/notifications/notificationTemplates.list.js:89 msgid "Delete" @@ -420,7 +461,7 @@ msgstr "" msgid "Delete credential" msgstr "" -#: client/src/lists/Inventories.js:95 +#: client/src/lists/Inventories.js:94 msgid "Delete inventory" msgstr "" @@ -436,19 +477,23 @@ msgstr "" msgid "Delete on Update" msgstr "" -#: client/src/lists/Teams.js:82 +#: client/src/lists/Teams.js:81 msgid "Delete team" msgstr "" -#: client/src/lists/Templates.js:128 +#: client/src/lists/Templates.js:126 msgid "Delete template" msgstr "" +#: client/src/lists/CompletedJobs.js:82 +msgid "Delete the job" +msgstr "" + #: client/src/forms/Projects.js:164 msgid "Delete the local repository in its entirety prior to performing an update." msgstr "" -#: client/src/lists/Projects.js:109 +#: client/src/lists/Projects.js:115 msgid "Delete the project" msgstr "" @@ -466,17 +511,19 @@ msgstr "" #: client/src/forms/Credentials.js:41 #: client/src/forms/Inventories.js:37 -#: client/src/forms/JobTemplates.js:41 +#: client/src/forms/JobTemplates.js:42 #: client/src/forms/Organizations.js:33 #: client/src/forms/Projects.js:38 #: client/src/forms/Teams.js:34 -#: client/src/forms/Workflows.js:38 +#: client/src/forms/Users.js:142 +#: client/src/forms/Users.js:167 +#: client/src/forms/Workflows.js:40 #: client/src/inventory-scripts/inventory-scripts.form.js:32 #: client/src/inventory-scripts/inventory-scripts.list.js:25 #: client/src/lists/Credentials.js:34 #: client/src/lists/PortalJobTemplates.js:29 -#: client/src/lists/Teams.js:31 -#: client/src/lists/Templates.js:38 +#: client/src/lists/Teams.js:30 +#: client/src/lists/Templates.js:36 #: client/src/notifications/notificationTemplates.form.js:36 msgid "Description" msgstr "" @@ -499,7 +546,7 @@ msgid "Destination SMS Number" msgstr "" #: client/src/license/license.partial.html:5 -#: client/src/shared/form-generator.js:1493 +#: client/src/shared/form-generator.js:1481 msgid "Details" msgstr "" @@ -524,19 +571,21 @@ msgstr "" msgid "Each time a job runs using this project, perform an update to the local repository prior to starting the job." msgstr "" +#: client/src/dashboard/hosts/dashboard-hosts.list.js:63 #: client/src/inventory-scripts/inventory-scripts.list.js:57 #: client/src/lists/Credentials.js:71 -#: client/src/lists/Inventories.js:79 -#: client/src/lists/Teams.js:61 -#: client/src/lists/Templates.js:109 +#: client/src/lists/Inventories.js:78 +#: client/src/lists/Teams.js:60 +#: client/src/lists/Templates.js:107 #: client/src/lists/Users.js:68 #: client/src/notifications/notificationTemplates.list.js:63 #: client/src/notifications/notificationTemplates.list.js:72 msgid "Edit" msgstr "" -#: client/src/forms/Workflows.js:168 -#: client/src/shared/form-generator.js:1719 +#: client/src/forms/JobTemplates.js:466 +#: client/src/forms/Workflows.js:178 +#: client/src/shared/form-generator.js:1707 msgid "Edit Survey" msgstr "" @@ -544,7 +593,11 @@ msgstr "" msgid "Edit credential" msgstr "" -#: client/src/lists/Inventories.js:81 +#: client/src/dashboard/hosts/dashboard-hosts.list.js:66 +msgid "Edit host" +msgstr "" + +#: client/src/lists/Inventories.js:80 msgid "Edit inventory" msgstr "" @@ -556,15 +609,15 @@ msgstr "" msgid "Edit notification" msgstr "" -#: client/src/lists/Teams.js:65 +#: client/src/lists/Teams.js:64 msgid "Edit team" msgstr "" -#: client/src/lists/Templates.js:111 +#: client/src/lists/Templates.js:109 msgid "Edit template" msgstr "" -#: client/src/lists/Projects.js:96 +#: client/src/lists/Projects.js:102 msgid "Edit the project" msgstr "" @@ -585,14 +638,18 @@ msgstr "" msgid "Email" msgstr "" -#: client/src/forms/JobTemplates.js:287 +#: client/src/forms/JobTemplates.js:288 msgid "Enable Privilege Escalation" msgstr "" -#: client/src/forms/JobTemplates.js:302 +#: client/src/forms/JobTemplates.js:303 msgid "Enables creation of a provisioning callback URL. Using the URL a host can contact Tower and request a configuration update using this job template." msgstr "" +#: client/src/helpers/Credentials.js:308 +msgid "Encrypted credentials are not supported." +msgstr "" + #: client/src/license/license.partial.html:108 msgid "End User License Agreement" msgstr "" @@ -620,22 +677,31 @@ msgstr "" #: client/src/controllers/Projects.js:216 #: client/src/controllers/Projects.js:225 #: client/src/controllers/Projects.js:363 -#: client/src/controllers/Projects.js:556 +#: client/src/controllers/Projects.js:557 +#: client/src/controllers/Projects.js:623 +#: client/src/controllers/Projects.js:641 +#: client/src/controllers/Users.js:182 +#: client/src/controllers/Users.js:267 +#: client/src/controllers/Users.js:321 +#: client/src/controllers/Users.js:94 +#: client/src/helpers/Credentials.js:312 +#: client/src/helpers/Credentials.js:328 +#: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:119 msgid "Error!" msgstr "" #: client/src/controllers/Projects.js:381 -#: client/src/controllers/Projects.js:663 +#: client/src/controllers/Projects.js:664 msgid "Example URLs for GIT SCM include:" msgstr "" #: client/src/controllers/Projects.js:394 -#: client/src/controllers/Projects.js:675 +#: client/src/controllers/Projects.js:676 msgid "Example URLs for Mercurial SCM include:" msgstr "" #: client/src/controllers/Projects.js:389 -#: client/src/controllers/Projects.js:670 +#: client/src/controllers/Projects.js:671 msgid "Example URLs for Subversion SCM include:" msgstr "" @@ -643,10 +709,10 @@ msgstr "" msgid "Expires On" msgstr "" -#: client/src/forms/JobTemplates.js:351 -#: client/src/forms/JobTemplates.js:363 -#: client/src/forms/Workflows.js:69 -#: client/src/forms/Workflows.js:81 +#: client/src/forms/JobTemplates.js:352 +#: client/src/forms/JobTemplates.js:364 +#: client/src/forms/Workflows.js:71 +#: client/src/forms/Workflows.js:83 msgid "Extra Variables" msgstr "" @@ -662,12 +728,37 @@ msgstr "" msgid "Failed Hosts" msgstr "" +#: client/src/controllers/Users.js:182 +msgid "Failed to add new user. POST returned status:" +msgstr "" + +#: client/src/helpers/Credentials.js:313 +msgid "Failed to create new Credential. POST status:" +msgstr "" + #: client/src/controllers/Projects.js:364 msgid "Failed to create new project. POST returned status:" msgstr "" -#: client/src/controllers/Projects.js:557 -msgid "Failed to retrieve project:" +#: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:120 +msgid "Failed to get third-party login types. Returned status:" +msgstr "" + +#: client/src/controllers/Projects.js:558 +msgid "Failed to retrieve project: %s. GET status:" +msgstr "" + +#: client/src/controllers/Users.js:268 +#: client/src/controllers/Users.js:322 +msgid "Failed to retrieve user: %s. GET status:" +msgstr "" + +#: client/src/helpers/Credentials.js:329 +msgid "Failed to update Credential. PUT status:" +msgstr "" + +#: client/src/controllers/Projects.js:623 +msgid "Failed to update project: %s. PUT status:" msgstr "" #: client/src/notifications/notifications.list.js:49 @@ -697,13 +788,17 @@ msgstr "" msgid "For example:" msgstr "" -#: client/src/forms/JobTemplates.js:222 +#: client/src/dashboard/hosts/dashboard-hosts.list.js:54 +msgid "For hosts that are part of an external inventory, this flag cannot be changed. It will be set by the inventory sync process." +msgstr "" + +#: client/src/forms/JobTemplates.js:223 #: client/src/forms/WorkflowMaker.js:125 msgid "For more information and examples see %sthe Patterns topic at docs.ansible.com%s." msgstr "" -#: client/src/forms/JobTemplates.js:198 -#: client/src/forms/JobTemplates.js:211 +#: client/src/forms/JobTemplates.js:199 +#: client/src/forms/JobTemplates.js:212 msgid "Forks" msgstr "" @@ -732,11 +827,15 @@ msgstr "" msgid "Host (Authentication URL)" msgstr "" -#: client/src/forms/JobTemplates.js:325 -#: client/src/forms/JobTemplates.js:334 +#: client/src/forms/JobTemplates.js:326 +#: client/src/forms/JobTemplates.js:335 msgid "Host Config Key" msgstr "" +#: client/src/dashboard/hosts/dashboard-hosts.list.js:55 +msgid "Host Enabled" +msgstr "" + #: client/src/dashboard/counts/dashboard-counts.directive.js:39 msgid "Hosts" msgstr "" @@ -778,7 +877,7 @@ msgstr "" msgid "IRC Server Port" msgstr "" -#: client/src/forms/JobTemplates.js:290 +#: client/src/forms/JobTemplates.js:291 msgid "If enabled, run this playbook as an administrator. This is the equivalent of passing the %s option to the %s command." msgstr "" @@ -790,7 +889,11 @@ msgstr "" msgid "If you are ready to upgrade, please contact us by clicking the button below" msgstr "" -#: client/src/forms/JobTemplates.js:57 +#: client/src/dashboard/hosts/dashboard-hosts.list.js:54 +msgid "Indicates if a host is available and should be included in running jobs." +msgstr "" + +#: client/src/forms/JobTemplates.js:58 msgid "Instead, %s will check playbook syntax, test environment setup and report problems." msgstr "" @@ -798,7 +901,12 @@ msgstr "" msgid "Invalid License" msgstr "" -#: client/src/login/loginModal/loginModal.partial.html:30 +#: client/src/license/license.controller.js:69 +#: client/src/license/license.controller.js:76 +msgid "Invalid file format. Please upload valid JSON." +msgstr "" + +#: client/src/login/loginModal/loginModal.partial.html:34 msgid "Invalid username and/or password. Please try again." msgstr "" @@ -808,8 +916,9 @@ msgstr "" msgid "Inventories" msgstr "" -#: client/src/forms/JobTemplates.js:72 -#: client/src/forms/JobTemplates.js:85 +#: client/src/dashboard/hosts/dashboard-hosts.list.js:41 +#: client/src/forms/JobTemplates.js:73 +#: client/src/forms/JobTemplates.js:86 #: client/src/forms/WorkflowMaker.js:79 #: client/src/forms/WorkflowMaker.js:89 msgid "Inventory" @@ -836,28 +945,36 @@ msgstr "" msgid "JOB STATUS" msgstr "" -#: client/src/app.js:423 +#: client/src/forms/JobTemplates.js:23 +msgid "JOB TEMPLATE" +msgstr "" + +#: client/src/app.js:425 #: client/src/dashboard/graphs/job-status/job-status-graph.directive.js:113 #: client/src/main-menu/main-menu.partial.html:122 #: client/src/main-menu/main-menu.partial.html:43 msgid "JOBS" msgstr "" -#: client/src/forms/JobTemplates.js:247 -#: client/src/forms/JobTemplates.js:255 +#: client/src/forms/JobTemplates.js:248 +#: client/src/forms/JobTemplates.js:256 #: client/src/forms/WorkflowMaker.js:134 #: client/src/forms/WorkflowMaker.js:142 msgid "Job Tags" msgstr "" +#: client/src/lists/Templates.js:64 +msgid "Job Template" +msgstr "" + #: client/src/lists/PortalJobTemplates.js:15 #: client/src/lists/PortalJobTemplates.js:16 msgid "Job Templates" msgstr "" #: client/src/dashboard/graphs/dashboard-graphs.partial.html:32 -#: client/src/forms/JobTemplates.js:47 -#: client/src/forms/JobTemplates.js:61 +#: client/src/forms/JobTemplates.js:48 +#: client/src/forms/JobTemplates.js:62 #: client/src/forms/WorkflowMaker.js:110 #: client/src/forms/WorkflowMaker.js:99 msgid "Job Type" @@ -877,11 +994,11 @@ msgstr "" msgid "Label to be shown with notification" msgstr "" -#: client/src/forms/JobTemplates.js:339 -#: client/src/forms/JobTemplates.js:344 -#: client/src/forms/Workflows.js:57 -#: client/src/forms/Workflows.js:62 -#: client/src/lists/Templates.js:49 +#: client/src/forms/JobTemplates.js:340 +#: client/src/forms/JobTemplates.js:345 +#: client/src/forms/Workflows.js:59 +#: client/src/forms/Workflows.js:64 +#: client/src/lists/Templates.js:47 msgid "Labels" msgstr "" @@ -890,13 +1007,13 @@ msgstr "" msgid "Last Name" msgstr "" -#: client/src/lists/Projects.js:47 +#: client/src/lists/Projects.js:53 msgid "Last Updated" msgstr "" #: client/src/lists/PortalJobTemplates.js:39 -#: client/src/lists/Templates.js:85 -#: client/src/shared/form-generator.js:1711 +#: client/src/lists/Templates.js:83 +#: client/src/shared/form-generator.js:1699 msgid "Launch" msgstr "" @@ -925,26 +1042,26 @@ msgstr "" msgid "License Type" msgstr "" -#: client/src/forms/JobTemplates.js:217 -#: client/src/forms/JobTemplates.js:224 +#: client/src/forms/JobTemplates.js:218 +#: client/src/forms/JobTemplates.js:225 #: client/src/forms/WorkflowMaker.js:120 #: client/src/forms/WorkflowMaker.js:127 msgid "Limit" msgstr "" -#: client/src/shared/socket/socket.service.js:170 +#: client/src/shared/socket/socket.service.js:176 msgid "Live events: attempting to connect to the Tower server." msgstr "" -#: client/src/shared/socket/socket.service.js:174 +#: client/src/shared/socket/socket.service.js:180 msgid "Live events: connected. Pages containing job status information will automatically update in real-time." msgstr "" -#: client/src/shared/socket/socket.service.js:178 +#: client/src/shared/socket/socket.service.js:184 msgid "Live events: error connecting to the Tower server." msgstr "" -#: client/src/shared/form-generator.js:1969 +#: client/src/shared/form-generator.js:1962 msgid "Loading..." msgstr "" @@ -960,7 +1077,7 @@ msgstr "" msgid "Machine" msgstr "" -#: client/src/forms/JobTemplates.js:136 +#: client/src/forms/JobTemplates.js:137 msgid "Machine Credential" msgstr "" @@ -986,7 +1103,7 @@ msgstr "" msgid "Manual projects do not require an SCM update" msgstr "" -#: client/src/login/loginModal/loginModal.partial.html:24 +#: client/src/login/loginModal/loginModal.partial.html:28 msgid "Maximum per-user sessions reached. Please sign in." msgstr "" @@ -1006,24 +1123,26 @@ msgstr "" #: client/src/dashboard/lists/jobs/jobs-list.partial.html:13 #: client/src/forms/Credentials.js:34 #: client/src/forms/Inventories.js:29 -#: client/src/forms/JobTemplates.js:34 +#: client/src/forms/JobTemplates.js:35 #: client/src/forms/Organizations.js:26 #: client/src/forms/Projects.js:31 #: client/src/forms/Teams.js:126 #: client/src/forms/Teams.js:27 +#: client/src/forms/Users.js:139 +#: client/src/forms/Users.js:164 #: client/src/forms/Users.js:190 -#: client/src/forms/Workflows.js:31 +#: client/src/forms/Workflows.js:33 #: client/src/inventory-scripts/inventory-scripts.form.js:25 #: client/src/inventory-scripts/inventory-scripts.list.js:20 #: client/src/lists/CompletedJobs.js:43 #: client/src/lists/Credentials.js:29 -#: client/src/lists/Inventories.js:47 +#: client/src/lists/Inventories.js:46 #: client/src/lists/PortalJobTemplates.js:24 #: client/src/lists/PortalJobs.js:32 #: client/src/lists/Projects.js:37 #: client/src/lists/ScheduledJobs.js:32 -#: client/src/lists/Teams.js:26 -#: client/src/lists/Templates.js:27 +#: client/src/lists/Teams.js:25 +#: client/src/lists/Templates.js:26 #: client/src/notifications/notificationTemplates.form.js:29 #: client/src/notifications/notificationTemplates.list.js:33 #: client/src/notifications/notifications.list.js:26 @@ -1034,12 +1153,12 @@ msgstr "" msgid "Network" msgstr "" -#: client/src/forms/JobTemplates.js:181 -#: client/src/forms/JobTemplates.js:192 +#: client/src/forms/JobTemplates.js:182 +#: client/src/forms/JobTemplates.js:193 msgid "Network Credential" msgstr "" -#: client/src/forms/JobTemplates.js:191 +#: client/src/forms/JobTemplates.js:192 msgid "Network credentials are used by Ansible networking modules to connect to and manage networking devices." msgstr "" @@ -1079,6 +1198,10 @@ msgstr "" msgid "New Workflow" msgstr "" +#: client/src/controllers/Users.js:174 +msgid "New user successfully created!" +msgstr "" + #: client/src/lists/ScheduledJobs.js:50 msgid "Next Run" msgstr "" @@ -1145,6 +1268,14 @@ msgstr "" msgid "Number associated with the \"Messaging Service\" in Twilio." msgstr "" +#: client/src/shared/form-generator.js:547 +msgid "OFF" +msgstr "" + +#: client/src/shared/form-generator.js:545 +msgid "ON" +msgstr "" + #: client/src/organizations/list/organizations-list.partial.html:6 msgid "ORGANIZATIONS" msgstr "" @@ -1161,12 +1292,12 @@ msgstr "" msgid "OpenStack domains define administrative boundaries. It is only needed for Keystone v3 authentication URLs. Common scenarios include:" msgstr "" -#: client/src/forms/JobTemplates.js:346 -#: client/src/forms/Workflows.js:64 +#: client/src/forms/JobTemplates.js:347 +#: client/src/forms/Workflows.js:66 msgid "Optional labels that describe this job template, such as 'dev' or 'test'. Labels can be used to group and filter job templates and completed jobs in the Tower display." msgstr "" -#: client/src/forms/JobTemplates.js:283 +#: client/src/forms/JobTemplates.js:284 #: client/src/notifications/notificationTemplates.form.js:391 msgid "Options" msgstr "" @@ -1178,12 +1309,12 @@ msgstr "" #: client/src/forms/Projects.js:49 #: client/src/forms/Teams.js:39 #: client/src/forms/Users.js:59 -#: client/src/forms/Workflows.js:44 -#: client/src/forms/Workflows.js:50 +#: client/src/forms/Workflows.js:46 +#: client/src/forms/Workflows.js:52 #: client/src/inventory-scripts/inventory-scripts.form.js:37 #: client/src/inventory-scripts/inventory-scripts.list.js:30 -#: client/src/lists/Inventories.js:53 -#: client/src/lists/Teams.js:36 +#: client/src/lists/Inventories.js:52 +#: client/src/lists/Teams.js:35 #: client/src/notifications/notificationTemplates.form.js:41 msgid "Organization" msgstr "" @@ -1201,11 +1332,12 @@ msgstr "" msgid "Owners" msgstr "" -#: client/src/login/loginModal/loginModal.partial.html:64 +#: client/src/login/loginModal/loginModal.partial.html:68 msgid "PASSWORD" msgstr "" #: client/src/organizations/list/organizations-list.partial.html:44 +#: client/src/shared/form-generator.js:1865 #: client/src/shared/list-generator/list-generator.factory.js:245 msgid "PLEASE ADD ITEMS TO THIS LIST" msgstr "" @@ -1223,8 +1355,8 @@ msgstr "" msgid "Pagerduty subdomain" msgstr "" -#: client/src/forms/JobTemplates.js:357 -#: client/src/forms/Workflows.js:75 +#: client/src/forms/JobTemplates.js:358 +#: client/src/forms/Workflows.js:77 msgid "Pass extra command line variables to the playbook. This is the %s or %s command line parameter for %s. Provide key/value pairs using either YAML or JSON." msgstr "" @@ -1278,17 +1410,22 @@ msgstr "" msgid "Period" msgstr "" +#: client/src/controllers/Projects.js:284 +#: client/src/controllers/Users.js:141 +msgid "Permission Error" +msgstr "" + #: client/src/forms/Credentials.js:432 #: client/src/forms/Inventories.js:142 -#: client/src/forms/JobTemplates.js:419 +#: client/src/forms/JobTemplates.js:403 #: client/src/forms/Organizations.js:64 #: client/src/forms/Projects.js:228 -#: client/src/forms/Workflows.js:113 +#: client/src/forms/Workflows.js:115 msgid "Permissions" msgstr "" -#: client/src/forms/JobTemplates.js:119 -#: client/src/forms/JobTemplates.js:130 +#: client/src/forms/JobTemplates.js:120 +#: client/src/forms/JobTemplates.js:131 msgid "Playbook" msgstr "" @@ -1304,26 +1441,39 @@ msgstr "" msgid "Please click the button below to visit Ansible's website to get a Tower license key." msgstr "" -#: client/src/shared/form-generator.js:844 -#: client/src/shared/form-generator.js:969 +#: client/src/shared/form-generator.js:828 +#: client/src/shared/form-generator.js:953 msgid "Please enter a URL that begins with ssh, http or https. The URL may not contain the '@' character." msgstr "" -#: client/src/login/loginModal/loginModal.partial.html:74 +#: client/src/shared/form-generator.js:1189 +msgid "Please enter a number greater than %d and less than %d." +msgstr "" + +#: client/src/shared/form-generator.js:1191 +msgid "Please enter a number greater than %d." +msgstr "" + +#: client/src/shared/form-generator.js:1183 +msgid "Please enter a number." +msgstr "" + +#: client/src/login/loginModal/loginModal.partial.html:78 msgid "Please enter a password." msgstr "" -#: client/src/login/loginModal/loginModal.partial.html:54 +#: client/src/login/loginModal/loginModal.partial.html:58 msgid "Please enter a username." msgstr "" -#: client/src/shared/form-generator.js:834 -#: client/src/shared/form-generator.js:959 +#: client/src/shared/form-generator.js:818 +#: client/src/shared/form-generator.js:943 msgid "Please enter a valid email address." msgstr "" -#: client/src/shared/form-generator.js:829 -#: client/src/shared/form-generator.js:954 +#: client/src/shared/form-generator.js:1044 +#: client/src/shared/form-generator.js:813 +#: client/src/shared/form-generator.js:938 msgid "Please enter a value." msgstr "" @@ -1331,10 +1481,6 @@ msgstr "" msgid "Please save and run a job to view" msgstr "" -#: client/src/forms/Workflows.js:159 -msgid "Please save before adding a survey" -msgstr "" - #: client/src/notifications/notifications.list.js:15 msgid "Please save before adding notifications" msgstr "" @@ -1345,11 +1491,11 @@ msgstr "" #: client/src/forms/Inventories.js:138 #: client/src/forms/Inventories.js:91 -#: client/src/forms/JobTemplates.js:412 +#: client/src/forms/JobTemplates.js:396 #: client/src/forms/Organizations.js:57 #: client/src/forms/Projects.js:220 #: client/src/forms/Teams.js:110 -#: client/src/forms/Workflows.js:106 +#: client/src/forms/Workflows.js:108 msgid "Please save before assigning permissions" msgstr "" @@ -1362,7 +1508,7 @@ msgstr "" msgid "Please save before assigning to teams" msgstr "" -#: client/src/forms/Workflows.js:173 +#: client/src/forms/Workflows.js:184 msgid "Please save before defining the workflow graph" msgstr "" @@ -1370,10 +1516,37 @@ msgstr "" msgid "Please select a Credential." msgstr "" +#: client/src/forms/JobTemplates.js:150 +msgid "Please select a Machine Credential or check the Prompt on launch option." +msgstr "" + +#: client/src/shared/form-generator.js:1224 +msgid "Please select a number between" +msgstr "" + +#: client/src/shared/form-generator.js:1220 +msgid "Please select a number." +msgstr "" + +#: client/src/shared/form-generator.js:1111 +#: client/src/shared/form-generator.js:1180 +#: client/src/shared/form-generator.js:1298 +#: client/src/shared/form-generator.js:1403 +msgid "Please select a value." +msgstr "" + +#: client/src/forms/JobTemplates.js:83 +msgid "Please select an Inventory or check the Prompt on launch option." +msgstr "" + #: client/src/forms/WorkflowMaker.js:86 msgid "Please select an Inventory." msgstr "" +#: client/src/shared/form-generator.js:1217 +msgid "Please select at least one value." +msgstr "" + #: client/src/notifications/shared/type-change.service.js:27 msgid "Port" msgstr "" @@ -1401,8 +1574,8 @@ msgstr "" msgid "Privilege Escalation Username" msgstr "" -#: client/src/forms/JobTemplates.js:113 -#: client/src/forms/JobTemplates.js:96 +#: client/src/forms/JobTemplates.js:114 +#: client/src/forms/JobTemplates.js:97 #: client/src/helpers/Credentials.js:103 msgid "Project" msgstr "" @@ -1438,30 +1611,30 @@ msgstr "" msgid "Projects" msgstr "" -#: client/src/forms/JobTemplates.js:158 -#: client/src/forms/JobTemplates.js:229 -#: client/src/forms/JobTemplates.js:260 -#: client/src/forms/JobTemplates.js:278 -#: client/src/forms/JobTemplates.js:368 -#: client/src/forms/JobTemplates.js:67 -#: client/src/forms/JobTemplates.js:91 +#: client/src/forms/JobTemplates.js:159 +#: client/src/forms/JobTemplates.js:230 +#: client/src/forms/JobTemplates.js:261 +#: client/src/forms/JobTemplates.js:279 +#: client/src/forms/JobTemplates.js:369 +#: client/src/forms/JobTemplates.js:68 +#: client/src/forms/JobTemplates.js:92 msgid "Prompt on launch" msgstr "" -#: client/src/forms/JobTemplates.js:252 -#: client/src/forms/JobTemplates.js:270 +#: client/src/forms/JobTemplates.js:253 +#: client/src/forms/JobTemplates.js:271 #: client/src/forms/WorkflowMaker.js:139 #: client/src/forms/WorkflowMaker.js:154 msgid "Provide a comma separated list of tags." msgstr "" -#: client/src/forms/JobTemplates.js:220 +#: client/src/forms/JobTemplates.js:221 #: client/src/forms/WorkflowMaker.js:123 msgid "Provide a host pattern to further constrain the list of hosts that will be managed or affected by the playbook. Multiple patterns can be separated by %s %s or %s" msgstr "" -#: client/src/forms/JobTemplates.js:312 -#: client/src/forms/JobTemplates.js:320 +#: client/src/forms/JobTemplates.js:313 +#: client/src/forms/JobTemplates.js:321 msgid "Provisioning Callback URL" msgstr "" @@ -1478,12 +1651,16 @@ msgstr "" msgid "RECENTLY USED JOB TEMPLATES" msgstr "" -#: client/src/lists/Projects.js:70 +#: client/src/lists/Projects.js:76 #: client/src/partials/jobs.html:15 #: client/src/portal-mode/portal-mode-jobs.partial.html:12 msgid "REFRESH" msgstr "" +#: client/src/forms/JobTemplates.js:99 +msgid "RESET" +msgstr "" + #: client/src/helpers/Credentials.js:98 msgid "RSA Private Key" msgstr "" @@ -1494,10 +1671,14 @@ msgid "Recipient List" msgstr "" #: client/src/bread-crumb/bread-crumb.partial.html:6 -#: client/src/lists/Projects.js:66 +#: client/src/lists/Projects.js:72 msgid "Refresh the page" msgstr "" +#: client/src/lists/CompletedJobs.js:75 +msgid "Relaunch using the same parameters" +msgstr "" + #: client/src/forms/Teams.js:144 #: client/src/forms/Users.js:214 msgid "Remove" @@ -1511,16 +1692,29 @@ msgstr "" msgid "Request License" msgstr "" +#: client/src/lists/Projects.js:42 +msgid "Revision" +msgstr "" + +#: client/src/controllers/Projects.js:657 +msgid "Revision #" +msgstr "" + #: client/src/forms/Credentials.js:454 #: client/src/forms/Inventories.js:120 #: client/src/forms/Inventories.js:166 #: client/src/forms/Organizations.js:88 +#: client/src/forms/Projects.js:250 #: client/src/forms/Teams.js:137 #: client/src/forms/Teams.js:99 #: client/src/forms/Users.js:201 msgid "Role" msgstr "" +#: client/src/controllers/Projects.js:657 +msgid "SCM Branch" +msgstr "" + #: client/src/forms/Projects.js:155 msgid "SCM Clean" msgstr "" @@ -1563,7 +1757,7 @@ msgstr "" msgid "SETTINGS" msgstr "" -#: client/src/login/loginModal/loginModal.partial.html:93 +#: client/src/login/loginModal/loginModal.partial.html:97 msgid "SIGN IN" msgstr "" @@ -1571,7 +1765,7 @@ msgstr "" msgid "SIGN IN WITH" msgstr "" -#: client/src/app.js:503 +#: client/src/app.js:509 msgid "SOCKETS" msgstr "" @@ -1600,7 +1794,7 @@ msgstr "" msgid "Satellite 6 Host" msgstr "" -#: client/src/shared/form-generator.js:1699 +#: client/src/shared/form-generator.js:1687 msgid "Save" msgstr "" @@ -1608,7 +1802,7 @@ msgstr "" msgid "Save successful!" msgstr "" -#: client/src/lists/Templates.js:93 +#: client/src/lists/Templates.js:91 msgid "Schedule" msgstr "" @@ -1620,7 +1814,7 @@ msgstr "" msgid "Schedule future SCM updates" msgstr "" -#: client/src/lists/Templates.js:96 +#: client/src/lists/Templates.js:94 msgid "Schedule future job template runs" msgstr "" @@ -1648,25 +1842,25 @@ msgstr "" msgid "Select from the list of directories found in the base path.Together the base path and the playbook directory provide the full path used to locate playbooks." msgstr "" -#: client/src/forms/JobTemplates.js:151 +#: client/src/forms/JobTemplates.js:152 #: client/src/forms/WorkflowMaker.js:67 msgid "Select the credential you want the job to use when accessing the remote hosts. Choose the credential containing the username and SSH key or password that Ansible will need to log into the remote hosts." msgstr "" -#: client/src/forms/JobTemplates.js:84 +#: client/src/forms/JobTemplates.js:85 #: client/src/forms/WorkflowMaker.js:88 msgid "Select the inventory containing the hosts you want this job to manage." msgstr "" -#: client/src/forms/JobTemplates.js:129 +#: client/src/forms/JobTemplates.js:130 msgid "Select the playbook to be executed by this job." msgstr "" -#: client/src/forms/JobTemplates.js:112 +#: client/src/forms/JobTemplates.js:113 msgid "Select the project containing the playbook you want this job to execute." msgstr "" -#: client/src/forms/JobTemplates.js:173 +#: client/src/forms/JobTemplates.js:174 msgid "Selecting an optional cloud credential in the job template will pass along the access credentials to the running playbook, allowing provisioning into the cloud without manually passing parameters to the included modules." msgstr "" @@ -1678,12 +1872,12 @@ msgstr "" msgid "Service Account Email Address" msgstr "" -#: client/src/forms/JobTemplates.js:59 +#: client/src/forms/JobTemplates.js:60 #: client/src/forms/WorkflowMaker.js:108 msgid "Setting the type to %s will execute the playbook and store any scanned facts for use with Tower's System Tracking feature." msgstr "" -#: client/src/forms/JobTemplates.js:56 +#: client/src/forms/JobTemplates.js:57 msgid "Setting the type to %s will not execute the playbook." msgstr "" @@ -1695,32 +1889,33 @@ msgstr "" msgid "Settings" msgstr "" -#: client/src/shared/form-generator.js:859 +#: client/src/shared/form-generator.js:843 msgid "Show" msgstr "" #: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:34 #: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:45 -#: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:66 +#: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:56 +#: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:77 msgid "Sign in with %s" msgstr "" -#: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:53 +#: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:64 msgid "Sign in with %s Organizations" msgstr "" -#: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:51 +#: client/src/login/loginModal/thirdPartySignOn/thirdPartySignOn.service.js:62 msgid "Sign in with %s Teams" msgstr "" -#: client/src/forms/JobTemplates.js:265 -#: client/src/forms/JobTemplates.js:273 +#: client/src/forms/JobTemplates.js:266 +#: client/src/forms/JobTemplates.js:274 #: client/src/forms/WorkflowMaker.js:149 #: client/src/forms/WorkflowMaker.js:157 msgid "Skip Tags" msgstr "" -#: client/src/forms/JobTemplates.js:271 +#: client/src/forms/JobTemplates.js:272 #: client/src/forms/WorkflowMaker.js:155 msgid "Skip tags are useful when you have a large playbook, and you want to skip specific parts of a play or task." msgstr "" @@ -1750,7 +1945,7 @@ msgid "Split up your organization to associate content and control permissions f msgstr "" #: client/src/lists/PortalJobTemplates.js:42 -#: client/src/lists/Templates.js:88 +#: client/src/lists/Templates.js:86 msgid "Start a job using this template" msgstr "" @@ -1759,6 +1954,10 @@ msgstr "" msgid "Start an SCM update" msgstr "" +#: client/src/dashboard/hosts/dashboard-hosts.list.js:49 +msgid "Status" +msgstr "" + #: client/src/license/license.partial.html:121 msgid "Submit" msgstr "" @@ -1792,7 +1991,7 @@ msgstr "" msgid "System Auditor" msgstr "" -#: client/src/app.js:339 +#: client/src/app.js:341 msgid "TEAMS" msgstr "" @@ -1805,7 +2004,7 @@ msgstr "" msgid "TIME" msgstr "" -#: client/src/forms/JobTemplates.js:253 +#: client/src/forms/JobTemplates.js:254 #: client/src/forms/WorkflowMaker.js:140 msgid "Tags are useful when you have a large playbook, and you want to run a specific part of a play or task." msgstr "" @@ -1818,6 +2017,7 @@ msgstr "" #: client/src/forms/Inventories.js:126 #: client/src/forms/Inventories.js:173 #: client/src/forms/Organizations.js:95 +#: client/src/forms/Projects.js:256 msgid "Team Roles" msgstr "" @@ -1845,11 +2045,15 @@ msgstr "" msgid "Test notification" msgstr "" +#: client/src/shared/form-generator.js:1409 +msgid "That value was not found. Please enter or select a valid value." +msgstr "" + #: client/src/helpers/Credentials.js:105 msgid "The Project ID is the GCE assigned identification. It is constructed as two words followed by a three digit number. Such as:" msgstr "" -#: client/src/controllers/Projects.js:692 +#: client/src/controllers/Projects.js:693 msgid "The SCM update process is running." msgstr "" @@ -1865,7 +2069,7 @@ msgstr "" msgid "The host value" msgstr "" -#: client/src/forms/JobTemplates.js:207 +#: client/src/forms/JobTemplates.js:208 msgid "The number of parallel or simultaneous processes to use while executing the playbook. 0 signifies the default value from the %sansible configuration file%s." msgstr "" @@ -1893,12 +2097,20 @@ msgstr "" msgid "This is the tenant name. This value is usually the same as the username." msgstr "" +#: client/src/notifications/notifications.list.js:21 +msgid "This list is populated by notification templates added from the %sNotifications%s section" +msgstr "" + #: client/src/notifications/notificationTemplates.form.js:199 msgid "This must be of the form %s." msgstr "" -#: client/src/shared/form-generator.js:839 -#: client/src/shared/form-generator.js:964 +#: client/src/forms/Users.js:160 +msgid "This user is not a member of any teams" +msgstr "" + +#: client/src/shared/form-generator.js:823 +#: client/src/shared/form-generator.js:948 msgid "This value does not match the password you entered previously. Please confirm that password." msgstr "" @@ -1918,7 +2130,7 @@ msgstr "" msgid "To learn more about the IAM STS Token, refer to the %sAmazon documentation%s." msgstr "" -#: client/src/shared/form-generator.js:864 +#: client/src/shared/form-generator.js:848 msgid "Toggle the display of plaintext." msgstr "" @@ -1934,9 +2146,9 @@ msgstr "" #: client/src/forms/WorkflowMaker.js:34 #: client/src/lists/CompletedJobs.js:50 #: client/src/lists/Credentials.js:39 -#: client/src/lists/Projects.js:42 +#: client/src/lists/Projects.js:48 #: client/src/lists/ScheduledJobs.js:42 -#: client/src/lists/Templates.js:32 +#: client/src/lists/Templates.js:31 #: client/src/notifications/notificationTemplates.form.js:54 #: client/src/notifications/notificationTemplates.list.js:38 #: client/src/notifications/notifications.list.js:31 @@ -1960,15 +2172,15 @@ msgid "Type an option on each line. The pound symbol (#) is not required." msgstr "" #: client/src/controllers/Projects.js:402 -#: client/src/controllers/Projects.js:683 +#: client/src/controllers/Projects.js:684 msgid "URL popover text" msgstr "" -#: client/src/login/loginModal/loginModal.partial.html:45 +#: client/src/login/loginModal/loginModal.partial.html:49 msgid "USERNAME" msgstr "" -#: client/src/app.js:363 +#: client/src/app.js:365 msgid "USERS" msgstr "" @@ -1976,6 +2188,10 @@ msgstr "" msgid "Update Not Found" msgstr "" +#: client/src/controllers/Projects.js:693 +msgid "Update in Progress" +msgstr "" + #: client/src/forms/Projects.js:173 msgid "Update on Launch" msgstr "" @@ -2005,6 +2221,7 @@ msgstr "" #: client/src/forms/Inventories.js:115 #: client/src/forms/Inventories.js:161 #: client/src/forms/Organizations.js:83 +#: client/src/forms/Projects.js:245 #: client/src/forms/Teams.js:94 msgid "User" msgstr "" @@ -2059,8 +2276,8 @@ msgstr "" msgid "Vault Password" msgstr "" -#: client/src/forms/JobTemplates.js:234 -#: client/src/forms/JobTemplates.js:241 +#: client/src/forms/JobTemplates.js:235 +#: client/src/forms/JobTemplates.js:242 msgid "Verbosity" msgstr "" @@ -2072,9 +2289,9 @@ msgstr "" #: client/src/dashboard/graphs/dashboard-graphs.partial.html:58 #: client/src/inventory-scripts/inventory-scripts.list.js:65 #: client/src/lists/Credentials.js:80 -#: client/src/lists/Inventories.js:86 -#: client/src/lists/Teams.js:70 -#: client/src/lists/Templates.js:117 +#: client/src/lists/Inventories.js:85 +#: client/src/lists/Teams.js:69 +#: client/src/lists/Templates.js:115 #: client/src/lists/Users.js:78 #: client/src/notifications/notificationTemplates.list.js:80 msgid "View" @@ -2088,7 +2305,9 @@ msgstr "" msgid "View JSON examples at %s" msgstr "" -#: client/src/shared/form-generator.js:1723 +#: client/src/forms/JobTemplates.js:450 +#: client/src/forms/Workflows.js:162 +#: client/src/shared/form-generator.js:1711 msgid "View Survey" msgstr "" @@ -2112,7 +2331,7 @@ msgstr "" msgid "View information about this version of Ansible Tower." msgstr "" -#: client/src/lists/Inventories.js:88 +#: client/src/lists/Inventories.js:87 msgid "View inventory" msgstr "" @@ -2124,15 +2343,15 @@ msgstr "" msgid "View notification" msgstr "" -#: client/src/lists/Teams.js:73 +#: client/src/lists/Teams.js:72 msgid "View team" msgstr "" -#: client/src/lists/Templates.js:119 +#: client/src/lists/Templates.js:117 msgid "View template" msgstr "" -#: client/src/lists/Projects.js:102 +#: client/src/lists/Projects.js:108 msgid "View the project" msgstr "" @@ -2144,7 +2363,7 @@ msgstr "" msgid "View user" msgstr "" -#: client/src/login/loginModal/loginModal.partial.html:13 +#: client/src/login/loginModal/loginModal.partial.html:17 msgid "Welcome to Ansible Tower!  Please sign in." msgstr "" @@ -2152,33 +2371,49 @@ msgstr "" msgid "Welcome to Ansible Tower! Please complete the steps below to acquire a license." msgstr "" -#: client/src/forms/JobTemplates.js:54 +#: client/src/forms/JobTemplates.js:55 #: client/src/forms/WorkflowMaker.js:104 msgid "When this template is submitted as a job, setting the type to %s will execute the playbook, running tasks on the selected hosts." msgstr "" -#: client/src/forms/Workflows.js:175 -#: client/src/shared/form-generator.js:1727 +#: client/src/forms/Workflows.js:186 +#: client/src/shared/form-generator.js:1715 msgid "Workflow Editor" msgstr "" -#: client/src/shared/form-generator.js:976 +#: client/src/lists/Templates.js:69 +msgid "Workflow Job Template" +msgstr "" + +#: client/src/controllers/Projects.js:468 +msgid "You do not have access to view this property" +msgstr "" + +#: client/src/controllers/Projects.js:284 +msgid "You do not have permission to add a project." +msgstr "" + +#: client/src/controllers/Users.js:141 +msgid "You do not have permission to add a user." +msgstr "" + +#: client/src/shared/form-generator.js:960 msgid "Your password must be %d characters long." msgstr "" -#: client/src/shared/form-generator.js:981 +#: client/src/shared/form-generator.js:965 msgid "Your password must contain a lowercase letter." msgstr "" -#: client/src/shared/form-generator.js:991 +#: client/src/shared/form-generator.js:975 msgid "Your password must contain a number." msgstr "" -#: client/src/shared/form-generator.js:986 +#: client/src/shared/form-generator.js:970 msgid "Your password must contain an uppercase letter." msgstr "" -#: client/src/shared/form-generator.js:996 +#: client/src/shared/form-generator.js:980 msgid "Your password must contain one of the following characters: %s" msgstr "" @@ -2186,10 +2421,14 @@ msgstr "" msgid "Your request to cancel the update was submitted to the task manager." msgstr "" -#: client/src/login/loginModal/loginModal.partial.html:18 +#: client/src/login/loginModal/loginModal.partial.html:22 msgid "Your session timed out due to inactivity. Please sign in." msgstr "" +#: client/src/shared/form-generator.js:1224 +msgid "and" +msgstr "" + #: client/src/forms/Credentials.js:139 #: client/src/forms/Credentials.js:362 msgid "set in helpers/credentials"