From: stanislavh Date: Thu, 23 Mar 2023 10:36:04 +0000 (+0100) Subject: SONAR-18768 align the format of all page titles X-Git-Tag: 10.0.0.68432~78 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6d5e0d3fc033fca3d7f53ef5a7d3477f47cbfb30;p=sonarqube.git SONAR-18768 align the format of all page titles --- diff --git a/server/sonar-web/src/main/js/app/components/ComponentContainer.tsx b/server/sonar-web/src/main/js/app/components/ComponentContainer.tsx index acaab01d1d5..bddd03d7ae9 100644 --- a/server/sonar-web/src/main/js/app/components/ComponentContainer.tsx +++ b/server/sonar-web/src/main/js/app/components/ComponentContainer.tsx @@ -19,6 +19,7 @@ */ import { differenceBy } from 'lodash'; import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import { Outlet } from 'react-router-dom'; import { getProjectAlmBinding, validateProjectAlmBinding } from '../../api/alm-settings'; import { getBranches, getPullRequests } from '../../api/branches'; @@ -32,6 +33,7 @@ import { isMainBranch, isPullRequest, } from '../../helpers/branch-like'; +import { translateWithParameters } from '../../helpers/l10n'; import { HttpStatus } from '../../helpers/request'; import { getPortfolioUrl } from '../../helpers/urls'; import { @@ -435,6 +437,13 @@ export class ComponentContainer extends React.PureComponent { return (
+ {component && !([ComponentQualifier.File, ComponentQualifier.TestFile] as string[]).includes( component.qualifier diff --git a/server/sonar-web/src/main/js/app/components/FormattingHelp.tsx b/server/sonar-web/src/main/js/app/components/FormattingHelp.tsx index a9fce3615a6..c0b76ebc373 100644 --- a/server/sonar-web/src/main/js/app/components/FormattingHelp.tsx +++ b/server/sonar-web/src/main/js/app/components/FormattingHelp.tsx @@ -18,10 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; +import { translate } from '../../helpers/l10n'; export default function FormattingHelp() { return (
+

Formatting Syntax

diff --git a/server/sonar-web/src/main/js/app/components/PluginRiskConsent.tsx b/server/sonar-web/src/main/js/app/components/PluginRiskConsent.tsx index 8a3f34b42f6..3b6bb89fc8e 100644 --- a/server/sonar-web/src/main/js/app/components/PluginRiskConsent.tsx +++ b/server/sonar-web/src/main/js/app/components/PluginRiskConsent.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import { setSimpleSettingValue } from '../../api/settings'; import { Button } from '../../components/controls/buttons'; import { whenLoggedIn } from '../../components/hoc/whenLoggedIn'; @@ -67,6 +68,7 @@ export function PluginRiskConsent(props: PluginRiskConsentProps) { return (
+

{translate('plugin_risk_consent.title')}

diff --git a/server/sonar-web/src/main/js/app/components/ResetPassword.tsx b/server/sonar-web/src/main/js/app/components/ResetPassword.tsx index 0544ca4b443..675763704b2 100644 --- a/server/sonar-web/src/main/js/app/components/ResetPassword.tsx +++ b/server/sonar-web/src/main/js/app/components/ResetPassword.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import ResetPasswordForm from '../../components/common/ResetPasswordForm'; import { whenLoggedIn } from '../../components/hoc/whenLoggedIn'; import { translate } from '../../helpers/l10n'; @@ -31,6 +32,7 @@ export interface ResetPasswordProps { export function ResetPassword({ currentUser }: ResetPasswordProps) { return (
+

{translate('my_account.reset_password')}

diff --git a/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/FormattingHelp-test.tsx.snap b/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/FormattingHelp-test.tsx.snap index 031748e845e..723d6dc652c 100644 --- a/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/FormattingHelp-test.tsx.snap +++ b/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/FormattingHelp-test.tsx.snap @@ -4,6 +4,12 @@ exports[`should render correctly 1`] = `

+

diff --git a/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/PluginRiskConsent-test.tsx.snap b/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/PluginRiskConsent-test.tsx.snap index ec59ee3ae60..ca59e6da243 100644 --- a/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/PluginRiskConsent-test.tsx.snap +++ b/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/PluginRiskConsent-test.tsx.snap @@ -4,6 +4,12 @@ exports[`should render correctly: default 1`] = `
+
diff --git a/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/ResetPassword-test.tsx.snap b/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/ResetPassword-test.tsx.snap index 8a9ce7d4f1b..6c22619eecc 100644 --- a/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/ResetPassword-test.tsx.snap +++ b/server/sonar-web/src/main/js/app/components/__tests__/__snapshots__/ResetPassword-test.tsx.snap @@ -4,6 +4,12 @@ exports[`should render correctly 1`] = `
+
diff --git a/server/sonar-web/src/main/js/app/components/nav/component/Header.tsx b/server/sonar-web/src/main/js/app/components/nav/component/Header.tsx index 0e2a745da37..145ae9377dd 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/Header.tsx +++ b/server/sonar-web/src/main/js/app/components/nav/component/Header.tsx @@ -18,7 +18,6 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; -import { Helmet } from 'react-helmet-async'; import Favorite from '../../../../components/controls/Favorite'; import { ProjectAlmBindingResponse } from '../../../../types/alm-settings'; import { BranchLike } from '../../../../types/branch-like'; @@ -41,31 +40,28 @@ export function Header(props: HeaderProps) { const { branchLikes, component, currentBranchLike, currentUser, projectBinding } = props; return ( - <> - -
- - {isLoggedIn(currentUser) && ( - + + {isLoggedIn(currentUser) && ( + + )} + {currentBranchLike && ( + <> + - )} - {currentBranchLike && ( - <> - - - - )} -
- + + + )} +
); } diff --git a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/Header-test.tsx.snap b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/Header-test.tsx.snap index 635a9b815ff..bac9e18453c 100644 --- a/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/Header-test.tsx.snap +++ b/server/sonar-web/src/main/js/app/components/nav/component/__tests__/__snapshots__/Header-test.tsx.snap @@ -1,161 +1,153 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`should render correctly 1`] = ` - - -
- + + + - - - -
-
+ } + /> + +
`; diff --git a/server/sonar-web/src/main/js/apps/account/Account.tsx b/server/sonar-web/src/main/js/apps/account/Account.tsx index 89c44b98f9a..279a5b6035b 100644 --- a/server/sonar-web/src/main/js/apps/account/Account.tsx +++ b/server/sonar-web/src/main/js/apps/account/Account.tsx @@ -24,7 +24,7 @@ import withCurrentUserContext from '../../app/components/current-user/withCurren import A11ySkipTarget from '../../components/a11y/A11ySkipTarget'; import Suggestions from '../../components/embed-docs-modal/Suggestions'; import handleRequiredAuthentication from '../../helpers/handleRequiredAuthentication'; -import { translate } from '../../helpers/l10n'; +import { translate, translateWithParameters } from '../../helpers/l10n'; import { CurrentUser, LoggedInUser } from '../../types/users'; import './account.css'; import Nav from './components/Nav'; @@ -52,7 +52,14 @@ export class Account extends React.PureComponent { return (
- +
diff --git a/server/sonar-web/src/main/js/apps/account/profile/Profile.tsx b/server/sonar-web/src/main/js/apps/account/profile/Profile.tsx index 7f5484d0307..81ee0edee8b 100644 --- a/server/sonar-web/src/main/js/apps/account/profile/Profile.tsx +++ b/server/sonar-web/src/main/js/apps/account/profile/Profile.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import HelpTooltip from '../../../components/controls/HelpTooltip'; import { whenLoggedIn } from '../../../components/hoc/whenLoggedIn'; import { translate } from '../../../helpers/l10n'; @@ -34,6 +35,7 @@ export function Profile({ currentUser }: ProfileProps) { return (
+
{renderLogin()} {renderEmail()} diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.tsx b/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.tsx index 430a327776f..0b37e713584 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.tsx +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/BackgroundTasksApp.tsx @@ -216,6 +216,7 @@ export class BackgroundTasksApp extends React.PureComponent { if (!types) { return (
+
); diff --git a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/__snapshots__/BackgroundTasksApp-test.tsx.snap b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/__snapshots__/BackgroundTasksApp-test.tsx.snap index d6a88662327..f3363add97f 100644 --- a/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/__snapshots__/BackgroundTasksApp-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/background-tasks/components/__tests__/__snapshots__/BackgroundTasksApp-test.tsx.snap @@ -4,6 +4,12 @@ exports[`should render correctly: initial 1`] = `
+ diff --git a/server/sonar-web/src/main/js/apps/change-admin-password/ChangeAdminPasswordAppRenderer.tsx b/server/sonar-web/src/main/js/apps/change-admin-password/ChangeAdminPasswordAppRenderer.tsx index 42f0341936f..530ea4ed8ae 100644 --- a/server/sonar-web/src/main/js/apps/change-admin-password/ChangeAdminPasswordAppRenderer.tsx +++ b/server/sonar-web/src/main/js/apps/change-admin-password/ChangeAdminPasswordAppRenderer.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import { SubmitButton } from '../../components/controls/buttons'; import { Location } from '../../components/hoc/withRouter'; import { Alert } from '../../components/ui/Alert'; @@ -58,6 +59,7 @@ export default function ChangeAdminPasswordAppRenderer(props: ChangeAdminPasswor return (
+
{success ? ( diff --git a/server/sonar-web/src/main/js/apps/overview/components/App.tsx b/server/sonar-web/src/main/js/apps/overview/components/App.tsx index ad04df2512f..73be0c7cc86 100644 --- a/server/sonar-web/src/main/js/apps/overview/components/App.tsx +++ b/server/sonar-web/src/main/js/apps/overview/components/App.tsx @@ -18,12 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import withAvailableFeatures, { WithAvailableFeaturesProps, } from '../../../app/components/available-features/withAvailableFeatures'; import withComponentContext from '../../../app/components/componentContext/withComponentContext'; import Suggestions from '../../../components/embed-docs-modal/Suggestions'; import { isPullRequest } from '../../../helpers/branch-like'; +import { translate } from '../../../helpers/l10n'; import { ProjectAlmBindingResponse } from '../../../types/alm-settings'; import { BranchLike } from '../../../types/branch-like'; import { isPortfolioLike } from '../../../types/component'; @@ -50,34 +52,39 @@ export function App(props: AppProps) { return null; } - return isPullRequest(branchLike) ? ( -
- - -
- ) : ( -
- + return ( + <> + + {isPullRequest(branchLike) ? ( +
+ + +
+ ) : ( +
+ - {!component.analysisDate && ( - - )} + {!component.analysisDate && ( + + )} - {component.analysisDate && ( - + {component.analysisDate && ( + + )} +
)} -
+ ); } diff --git a/server/sonar-web/src/main/js/apps/projectBaseline/components/ProjectBaselineApp.tsx b/server/sonar-web/src/main/js/apps/projectBaseline/components/ProjectBaselineApp.tsx index 025cc21974e..fa88657aa0e 100644 --- a/server/sonar-web/src/main/js/apps/projectBaseline/components/ProjectBaselineApp.tsx +++ b/server/sonar-web/src/main/js/apps/projectBaseline/components/ProjectBaselineApp.tsx @@ -20,6 +20,7 @@ import classNames from 'classnames'; import { debounce } from 'lodash'; import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import { getNewCodePeriod, resetNewCodePeriod, setNewCodePeriod } from '../../../api/newCodePeriod'; import withAppStateContext from '../../../app/components/app-state/withAppStateContext'; import withAvailableFeatures, { @@ -265,6 +266,7 @@ export class ProjectBaselineApp extends React.PureComponent { return ( <> +
{loading ? ( diff --git a/server/sonar-web/src/main/js/apps/projectBaseline/components/__tests__/__snapshots__/ProjectBaselineApp-test.tsx.snap b/server/sonar-web/src/main/js/apps/projectBaseline/components/__tests__/__snapshots__/ProjectBaselineApp-test.tsx.snap index 847b62f98de..0bdcbfd57a6 100644 --- a/server/sonar-web/src/main/js/apps/projectBaseline/components/__tests__/__snapshots__/ProjectBaselineApp-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/projectBaseline/components/__tests__/__snapshots__/ProjectBaselineApp-test.tsx.snap @@ -5,6 +5,12 @@ exports[`should render correctly 1`] = ` +
@@ -128,6 +134,12 @@ exports[`should render correctly: without branch support 1`] = ` +
diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/ProjectBranchesApp.tsx b/server/sonar-web/src/main/js/apps/projectBranches/components/ProjectBranchesApp.tsx index 28b4fa07404..5af1f9e3ad3 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/ProjectBranchesApp.tsx +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/ProjectBranchesApp.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import withComponentContext from '../../../app/components/componentContext/withComponentContext'; import { translate } from '../../../helpers/l10n'; import { BranchLike } from '../../../types/branch-like'; @@ -37,6 +38,7 @@ export function ProjectBranchesApp(props: ProjectBranchesAppProps) { return (
+

{translate('project_branch_pull_request.page')}

diff --git a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/__snapshots__/ProjectBranchesApp-test.tsx.snap b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/__snapshots__/ProjectBranchesApp-test.tsx.snap index 979a1948c74..3d61a39aba6 100644 --- a/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/__snapshots__/ProjectBranchesApp-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/projectBranches/components/__tests__/__snapshots__/ProjectBranchesApp-test.tsx.snap @@ -8,6 +8,12 @@ exports[`should render correctly 1`] = `
+

project_branch_pull_request.page

diff --git a/server/sonar-web/src/main/js/apps/projectDump/ProjectDumpApp.tsx b/server/sonar-web/src/main/js/apps/projectDump/ProjectDumpApp.tsx index c168c6944ac..9e67eeeca00 100644 --- a/server/sonar-web/src/main/js/apps/projectDump/ProjectDumpApp.tsx +++ b/server/sonar-web/src/main/js/apps/projectDump/ProjectDumpApp.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import { getActivity } from '../../api/ce'; import { getStatus } from '../../api/project-dump'; import withAvailableFeatures, { @@ -158,6 +159,7 @@ export class ProjectDumpApp extends React.Component { return (
+

{translate('project_dump.page')}

diff --git a/server/sonar-web/src/main/js/apps/projectDump/__tests__/__snapshots__/ProjectDumpApp-test.tsx.snap b/server/sonar-web/src/main/js/apps/projectDump/__tests__/__snapshots__/ProjectDumpApp-test.tsx.snap index e176282cfa9..caba04a83e9 100644 --- a/server/sonar-web/src/main/js/apps/projectDump/__tests__/__snapshots__/ProjectDumpApp-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/projectDump/__tests__/__snapshots__/ProjectDumpApp-test.tsx.snap @@ -5,6 +5,12 @@ exports[`should render correctly: loaded 1`] = ` className="page page-limited" id="project-dump" > +
@@ -74,6 +80,12 @@ exports[`should render correctly: loaded without import 1`] = ` className="page page-limited" id="project-dump" > +
@@ -119,6 +131,12 @@ exports[`should render correctly: loading 1`] = ` className="page page-limited" id="project-dump" > +
diff --git a/server/sonar-web/src/main/js/apps/sessions/components/Login.tsx b/server/sonar-web/src/main/js/apps/sessions/components/Login.tsx index 9cdcc6b19ae..abc039a5585 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/Login.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/Login.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import { Location } from '../../../components/hoc/withRouter'; import { Alert } from '../../../components/ui/Alert'; import DeferredSpinner from '../../../components/ui/DeferredSpinner'; @@ -47,7 +48,7 @@ export default function Login(props: LoginProps) {

{translate('login.login_to_sonarqube')}

- + {loading ? ( ) : ( diff --git a/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.tsx b/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.tsx index d45e308b7fe..add0793a723 100644 --- a/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.tsx +++ b/server/sonar-web/src/main/js/apps/sessions/components/Unauthorized.tsx @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { Helmet } from 'react-helmet-async'; import Link from '../../../components/common/Link'; import { getCookie } from '../../../helpers/cookies'; import { translate } from '../../../helpers/l10n'; @@ -26,6 +27,7 @@ export default function Unauthorized() { const message = decodeURIComponent(getCookie('AUTHENTICATION-ERROR') || ''); return (
+

{translate('unauthorized.message')}

diff --git a/server/sonar-web/src/main/js/helpers/testReactTestingUtils.tsx b/server/sonar-web/src/main/js/helpers/testReactTestingUtils.tsx index 1e132aaf840..1f4fc07da70 100644 --- a/server/sonar-web/src/main/js/helpers/testReactTestingUtils.tsx +++ b/server/sonar-web/src/main/js/helpers/testReactTestingUtils.tsx @@ -94,11 +94,13 @@ export function renderComponent(component: React.ReactElement, pathname = '/') { function Wrapper({ children }: { children: React.ReactElement }) { return ( - - - - - + + + + + + + ); } diff --git a/sonar-core/src/main/resources/org/sonar/l10n/core.properties b/sonar-core/src/main/resources/org/sonar/l10n/core.properties index a72eb17133d..4ae54885084 100644 --- a/sonar-core/src/main/resources/org/sonar/l10n/core.properties +++ b/sonar-core/src/main/resources/org/sonar/l10n/core.properties @@ -681,6 +681,7 @@ regulatory_page.select_branch=Select Branch page_title.template.default=%s - SonarQube page_title.template.with_category=%s - {0} - SonarQube +page_title.template.with_instance={0} - %s - SonarQube overview.page=Overview code.page=Code permissions.page=Permissions @@ -1690,8 +1691,8 @@ project.info.see_more_info_on_x_locs=See more information on your {0} lines of c # #------------------------------------------------------------------------------ -quality_profiles.page_title_changelog_x={0} - Quality profile changelog -quality_profiles.page_title_compare_x={0} - Quality profile comparison +quality_profiles.page_title_changelog_x={0} Changelog +quality_profiles.page_title_compare_x={0} Comparison quality_profiles.new_profile=New Quality Profile quality_profiles.compare_with=Compare with quality_profiles.filter_by=Filter profiles by @@ -2160,6 +2161,7 @@ user.new_password_same_as_old=New password must be different from old password user.login_or_email_used_as_scm_account=Login and email are automatically considered as SCM accounts user.x_deleted={0} (deleted) +login.page=Log in login.login_to_sonarqube=Log in to SonarQube login.login_with_x=Log in with {0} login.more_options=More options @@ -2168,6 +2170,7 @@ login.with_x=With {0} login.authentication_failed=Authentication failed login.logout_failed=Logout failed +unauthorized.page=Unauthorized unauthorized.message=You're not authorized to access this page. Please contact the administrator. unauthorized.reason=Reason: @@ -2220,6 +2223,7 @@ my_account.add_project.bitbucket=Bitbucket Server my_account.add_project.bitbucketcloud=Bitbucket Cloud my_account.add_project.github=GitHub my_account.add_project.gitlab=GitLab +my_account.reset_password.page=Update password my_account.reset_password=Update your password my_account.reset_password.explain=This account should not use the default password. @@ -2911,6 +2915,7 @@ sonarlint-connection.unspecified-ide=an unspecified IDE # HELP # #------------------------------------------------------------------------------ +formatting.page=Formatting formatting.helplink=Formatting Help formatting.example.link=For a hyperlink, write: [link label](https://www.domain.com) @@ -3115,6 +3120,7 @@ marketplace.risk_consent.description=Plugins are not provided by SonarSource and marketplace.risk_consent.installation=You can install plugins directly from the list below after you acknowledge the risk. marketplace.risk_consent.action=I understand the risk +plugin_risk_consent.page=Plugin risk consent plugin_risk_consent.title=Installation of plugins plugin_risk_consent.description=A plugin has been detected. plugin_risk_consent.description2=Plugins are not provided by SonarSource and are therefore installed at your own risk. SonarSource disclaims all liability for installing and using such plugins. @@ -4390,6 +4396,7 @@ users.tokens.expiration.0=No expiration users.tokens.new_token_created=New token "{0}" has been created. Make sure you copy it now, you won't be able to see it again! users.generate_new_token=Generate New Token users.new_token=New token value +users.change_admin_password.page=Change password users.change_admin_password.instance_is_at_risk=Secure your SonarQube instance users.change_admin_password.header=Default Administrator credentials are still used users.change_admin_password.description=Your SonarQube instance is still using default administrator credentials. You must change the password for the 'admin' account to secure your SonarQube instance.