mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-22 23:02:42 +01:00
Remove product literal strings in "pht()", part 3
Summary: Ref T13658. Test Plan: This is non-exhaustive. - Ran all setup checks. Maniphest Tasks: T13658 Differential Revision: https://secure.phabricator.com/D21767
This commit is contained in:
parent
b8b392481f
commit
b1b3fe0ff0
11 changed files with 107 additions and 101 deletions
|
@ -83,7 +83,7 @@ final class AphrontApplicationConfiguration
|
||||||
* @phutil-external-symbol class PhabricatorStartup
|
* @phutil-external-symbol class PhabricatorStartup
|
||||||
*/
|
*/
|
||||||
public static function runHTTPRequest(AphrontHTTPSink $sink) {
|
public static function runHTTPRequest(AphrontHTTPSink $sink) {
|
||||||
if (isset($_SERVER['HTTP_X_PHABRICATOR_SELFCHECK'])) {
|
if (isset($_SERVER['HTTP_X_SETUP_SELFCHECK'])) {
|
||||||
$response = self::newSelfCheckResponse();
|
$response = self::newSelfCheckResponse();
|
||||||
return self::writeResponse($sink, $response);
|
return self::writeResponse($sink, $response);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,14 +26,13 @@ final class PhabricatorDaemonsSetupCheck extends PhabricatorSetupCheck {
|
||||||
$doc_href = PhabricatorEnv::getDoclink('Managing Daemons with phd');
|
$doc_href = PhabricatorEnv::getDoclink('Managing Daemons with phd');
|
||||||
|
|
||||||
$summary = pht(
|
$summary = pht(
|
||||||
'You must start the Phabricator daemons to send email, rebuild '.
|
'You must start the daemons to send email, rebuild search indexes, '.
|
||||||
'search indexes, and do other background processing.');
|
'and do other background processing.');
|
||||||
|
|
||||||
$message = pht(
|
$message = pht(
|
||||||
'The Phabricator daemons are not running, so Phabricator will not '.
|
'The daemons are not running, background processing (including '.
|
||||||
'be able to perform background processing (including sending email, '.
|
'sending email, rebuilding search indexes, importing commits, '.
|
||||||
'rebuilding search indexes, importing commits, cleaning up old data, '.
|
'cleaning up old data, and running builds) can not be performed.'.
|
||||||
'and running builds).'.
|
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'Use %s to start daemons. See %s for more information.',
|
'Use %s to start daemons. See %s for more information.',
|
||||||
phutil_tag('tt', array(), 'bin/phd start'),
|
phutil_tag('tt', array(), 'bin/phd start'),
|
||||||
|
@ -47,10 +46,10 @@ final class PhabricatorDaemonsSetupCheck extends PhabricatorSetupCheck {
|
||||||
|
|
||||||
$this->newIssue('daemons.not-running')
|
$this->newIssue('daemons.not-running')
|
||||||
->setShortName(pht('Daemons Not Running'))
|
->setShortName(pht('Daemons Not Running'))
|
||||||
->setName(pht('Phabricator Daemons Are Not Running'))
|
->setName(pht('Daemons Are Not Running'))
|
||||||
->setSummary($summary)
|
->setSummary($summary)
|
||||||
->setMessage($message)
|
->setMessage($message)
|
||||||
->addCommand('phabricator/ $ ./bin/phd start');
|
->addCommand('$ ./bin/phd start');
|
||||||
}
|
}
|
||||||
|
|
||||||
$expect_user = PhabricatorEnv::getEnvConfig('phd.user');
|
$expect_user = PhabricatorEnv::getEnvConfig('phd.user');
|
||||||
|
@ -91,7 +90,7 @@ final class PhabricatorDaemonsSetupCheck extends PhabricatorSetupCheck {
|
||||||
->setSummary($summary)
|
->setSummary($summary)
|
||||||
->setMessage($message)
|
->setMessage($message)
|
||||||
->addPhabricatorConfig('phd.user')
|
->addPhabricatorConfig('phd.user')
|
||||||
->addCommand('phabricator/ $ ./bin/phd restart');
|
->addCommand('$ ./bin/phd restart');
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,9 +38,9 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
} else {
|
} else {
|
||||||
$summary = pht('This option is not recognized. It may be misspelled.');
|
$summary = pht('This option is not recognized. It may be misspelled.');
|
||||||
$message = pht(
|
$message = pht(
|
||||||
"The configuration option '%s' is not recognized. It may be ".
|
'The configuration option "%s" is not recognized. It may be '.
|
||||||
"misspelled, or it might have existed in an older version of ".
|
'misspelled, or it might have existed in an older version of '.
|
||||||
"Phabricator. It has no effect, and should be corrected or deleted.",
|
'the software. It has no effect, and should be corrected or deleted.',
|
||||||
$key);
|
$key);
|
||||||
$short = pht('Unknown Config');
|
$short = pht('Unknown Config');
|
||||||
$name = pht('Unknown Configuration Option "%s"', $key);
|
$name = pht('Unknown Configuration Option "%s"', $key);
|
||||||
|
@ -76,7 +76,7 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
$issue->setMessage($message);
|
$issue->setMessage($message);
|
||||||
|
|
||||||
if ($found_local) {
|
if ($found_local) {
|
||||||
$command = csprintf('phabricator/ $ ./bin/config delete %s', $key);
|
$command = csprintf('$ ./bin/config delete %s', $key);
|
||||||
$issue->addCommand($command);
|
$issue->addCommand($command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
'details about this setup issue, see %s.'.
|
'details about this setup issue, see %s.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'This database value is currently respected, but a future version '.
|
'This database value is currently respected, but a future version '.
|
||||||
'of Phabricator will stop respecting database values for locked '.
|
'of the software will stop respecting database values for locked '.
|
||||||
'configuration options.',
|
'configuration options.',
|
||||||
$key,
|
$key,
|
||||||
$set_command,
|
$set_command,
|
||||||
|
@ -167,7 +167,7 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
),
|
),
|
||||||
$doc_name));
|
$doc_name));
|
||||||
$command = csprintf(
|
$command = csprintf(
|
||||||
'phabricator/ $ ./bin/config delete --database %R',
|
'$ ./bin/config delete --database %R',
|
||||||
$key);
|
$key);
|
||||||
|
|
||||||
$this->newIssue('config.locked.'.$key)
|
$this->newIssue('config.locked.'.$key)
|
||||||
|
@ -191,7 +191,7 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
pht(
|
pht(
|
||||||
'The "feed.http-hooks" option is deprecated in favor of '.
|
'The "feed.http-hooks" option is deprecated in favor of '.
|
||||||
'Webhooks. This option will be removed in a future version '.
|
'Webhooks. This option will be removed in a future version '.
|
||||||
'of Phabricator.'.
|
'of the software.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'You can configure Webhooks in Herald.'.
|
'You can configure Webhooks in Herald.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
|
@ -283,8 +283,7 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
'Reply handlers can no longer be overridden with configuration.');
|
'Reply handlers can no longer be overridden with configuration.');
|
||||||
|
|
||||||
$monospace_reason = pht(
|
$monospace_reason = pht(
|
||||||
'Phabricator no longer supports global customization of monospaced '.
|
'Global customization of monospaced fonts is no longer supported.');
|
||||||
'fonts.');
|
|
||||||
|
|
||||||
$public_mail_reason = pht(
|
$public_mail_reason = pht(
|
||||||
'Inbound mail addresses are now configured for each application '.
|
'Inbound mail addresses are now configured for each application '.
|
||||||
|
@ -346,7 +345,7 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
'auth.sshkeys.enabled' => pht(
|
'auth.sshkeys.enabled' => pht(
|
||||||
'SSH keys are now actually useful, so they are always enabled.'),
|
'SSH keys are now actually useful, so they are always enabled.'),
|
||||||
'differential.anonymous-access' => pht(
|
'differential.anonymous-access' => pht(
|
||||||
'Phabricator now has meaningful global access controls. See `%s`.',
|
'Global access controls now exist, see `%s`.',
|
||||||
'policy.allow-public'),
|
'policy.allow-public'),
|
||||||
'celerity.resource-path' => pht(
|
'celerity.resource-path' => pht(
|
||||||
'An alternate resource map is no longer supported. Instead, use '.
|
'An alternate resource map is no longer supported. Instead, use '.
|
||||||
|
@ -356,7 +355,7 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
'auth.sessions.conduit' => $session_reason,
|
'auth.sessions.conduit' => $session_reason,
|
||||||
'auth.sessions.web' => $session_reason,
|
'auth.sessions.web' => $session_reason,
|
||||||
'tokenizer.ondemand' => pht(
|
'tokenizer.ondemand' => pht(
|
||||||
'Phabricator now manages typeahead strategies automatically.'),
|
'Typeahead strategies are now managed automatically.'),
|
||||||
'differential.revision-custom-detail-renderer' => pht(
|
'differential.revision-custom-detail-renderer' => pht(
|
||||||
'Obsolete; use standard rendering events instead.'),
|
'Obsolete; use standard rendering events instead.'),
|
||||||
'differential.show-host-field' => $differential_field_reason,
|
'differential.show-host-field' => $differential_field_reason,
|
||||||
|
@ -383,16 +382,15 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
'pool size with `%s`.',
|
'pool size with `%s`.',
|
||||||
'phd.taskmasters'),
|
'phd.taskmasters'),
|
||||||
'storage.engine-selector' => pht(
|
'storage.engine-selector' => pht(
|
||||||
'Phabricator now automatically discovers available storage engines '.
|
'Storage engines are now discovered automatically at runtime.'),
|
||||||
'at runtime.'),
|
|
||||||
'storage.upload-size-limit' => pht(
|
'storage.upload-size-limit' => pht(
|
||||||
'Phabricator now supports arbitrarily large files. Consult the '.
|
'Arbitrarily large files are now supported. Consult the '.
|
||||||
'documentation for configuration details.'),
|
'documentation for configuration details.'),
|
||||||
'security.allow-outbound-http' => pht(
|
'security.allow-outbound-http' => pht(
|
||||||
'This option has been replaced with the more granular option `%s`.',
|
'This option has been replaced with the more granular option `%s`.',
|
||||||
'security.outbound-blacklist'),
|
'security.outbound-blacklist'),
|
||||||
'metamta.reply.show-hints' => pht(
|
'metamta.reply.show-hints' => pht(
|
||||||
'Phabricator no longer shows reply hints in mail.'),
|
'Reply hints are no longer shown in mail.'),
|
||||||
|
|
||||||
'metamta.differential.reply-handler-domain' => $reply_domain_reason,
|
'metamta.differential.reply-handler-domain' => $reply_domain_reason,
|
||||||
'metamta.diffusion.reply-handler-domain' => $reply_domain_reason,
|
'metamta.diffusion.reply-handler-domain' => $reply_domain_reason,
|
||||||
|
@ -406,15 +404,15 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
'metamta.package.reply-handler' => $reply_handler_reason,
|
'metamta.package.reply-handler' => $reply_handler_reason,
|
||||||
|
|
||||||
'metamta.precedence-bulk' => pht(
|
'metamta.precedence-bulk' => pht(
|
||||||
'Phabricator now always sends transaction mail with '.
|
'Transaction mail is now always sent with "Precedence: bulk" to '.
|
||||||
'"Precedence: bulk" to improve deliverability.'),
|
'improve deliverability.'),
|
||||||
|
|
||||||
'style.monospace' => $monospace_reason,
|
'style.monospace' => $monospace_reason,
|
||||||
'style.monospace.windows' => $monospace_reason,
|
'style.monospace.windows' => $monospace_reason,
|
||||||
|
|
||||||
'search.engine-selector' => pht(
|
'search.engine-selector' => pht(
|
||||||
'Phabricator now automatically discovers available search engines '.
|
'Available search engines are now automatically discovered at '.
|
||||||
'at runtime.'),
|
'runtime.'),
|
||||||
|
|
||||||
'metamta.files.public-create-email' => $public_mail_reason,
|
'metamta.files.public-create-email' => $public_mail_reason,
|
||||||
'metamta.maniphest.public-create-email' => $public_mail_reason,
|
'metamta.maniphest.public-create-email' => $public_mail_reason,
|
||||||
|
@ -469,12 +467,12 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
'maniphest.priorities.needs-triage' => $dashboard_reason,
|
'maniphest.priorities.needs-triage' => $dashboard_reason,
|
||||||
|
|
||||||
'mysql.implementation' => pht(
|
'mysql.implementation' => pht(
|
||||||
'Phabricator now automatically selects the best available '.
|
'The best available MYSQL implementation is now selected '.
|
||||||
'MySQL implementation.'),
|
'automatically.'),
|
||||||
|
|
||||||
'mysql.configuration-provider' => pht(
|
'mysql.configuration-provider' => pht(
|
||||||
'Phabricator now has application-level management of partitioning '.
|
'Partitioning and replication are now managed in primary '.
|
||||||
'and replicas.'),
|
'configuration.'),
|
||||||
|
|
||||||
'search.elastic.host' => $elastic_reason,
|
'search.elastic.host' => $elastic_reason,
|
||||||
'search.elastic.namespace' => $elastic_reason,
|
'search.elastic.namespace' => $elastic_reason,
|
||||||
|
@ -541,7 +539,7 @@ final class PhabricatorExtraConfigSetupCheck extends PhabricatorSetupCheck {
|
||||||
'Whitespace rendering is now handled automatically.'),
|
'Whitespace rendering is now handled automatically.'),
|
||||||
|
|
||||||
'phd.pid-directory' => pht(
|
'phd.pid-directory' => pht(
|
||||||
'Phabricator daemons no longer use PID files.'),
|
'Daemons no longer use PID files.'),
|
||||||
|
|
||||||
'phd.trace' => $phd_reason,
|
'phd.trace' => $phd_reason,
|
||||||
'phd.verbose' => $phd_reason,
|
'phd.verbose' => $phd_reason,
|
||||||
|
|
|
@ -42,7 +42,7 @@ final class PhabricatorManualActivitySetupCheck
|
||||||
'function correctly.');
|
'function correctly.');
|
||||||
|
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'You can rebuild the search index while Phabricator is running.');
|
'You can rebuild the search index while the server is running.');
|
||||||
|
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'To rebuild the index, run this command:');
|
'To rebuild the index, run this command:');
|
||||||
|
@ -51,7 +51,7 @@ final class PhabricatorManualActivitySetupCheck
|
||||||
'pre',
|
'pre',
|
||||||
array(),
|
array(),
|
||||||
(string)csprintf(
|
(string)csprintf(
|
||||||
'phabricator/ $ ./bin/search index --all --force --background'));
|
'$ ./bin/search index --all --force --background'));
|
||||||
|
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'You can find more information about rebuilding the search '.
|
'You can find more information about rebuilding the search '.
|
||||||
|
@ -71,7 +71,7 @@ final class PhabricatorManualActivitySetupCheck
|
||||||
$message[] = phutil_tag(
|
$message[] = phutil_tag(
|
||||||
'pre',
|
'pre',
|
||||||
array(),
|
array(),
|
||||||
'phabricator/ $ ./bin/config done reindex');
|
'$ ./bin/config done reindex');
|
||||||
|
|
||||||
$activity_message = phutil_implode_html("\n\n", $message);
|
$activity_message = phutil_implode_html("\n\n", $message);
|
||||||
|
|
||||||
|
@ -84,27 +84,34 @@ final class PhabricatorManualActivitySetupCheck
|
||||||
private function raiseRebuildIdentitiesIssue() {
|
private function raiseRebuildIdentitiesIssue() {
|
||||||
$activity_name = pht('Rebuild Repository Identities');
|
$activity_name = pht('Rebuild Repository Identities');
|
||||||
$activity_summary = pht(
|
$activity_summary = pht(
|
||||||
'The mapping from VCS users to Phabricator users has changed '.
|
'The mapping from VCS users to %s users has changed '.
|
||||||
'and must be rebuilt.');
|
'and must be rebuilt.',
|
||||||
|
PlatformSymbols::getPlatformServerName());
|
||||||
|
|
||||||
$message = array();
|
$message = array();
|
||||||
|
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'The way Phabricator attributes VCS activity to Phabricator users '.
|
'The way VCS activity is attributed %s user accounts has changed.',
|
||||||
'has changed. There is a new indirection layer between the strings '.
|
PlatformSymbols::getPlatformServerName());
|
||||||
'that appear as VCS authors and committers (such as "John Developer '.
|
|
||||||
'<johnd@bigcorp.com>") and the Phabricator user that gets associated '.
|
$message[] = pht(
|
||||||
'with VCS commits. This is to support situations where users '.
|
'There is a new indirection layer between the strings that appear as '.
|
||||||
'are incorrectly associated with commits by Phabricator making bad '.
|
'VCS authors and committers (such as "John Developer '.
|
||||||
'guesses about the identity of the corresponding Phabricator user. '.
|
'<johnd@bigcorp.com>") and the user account that gets associated '.
|
||||||
|
'with VCS commits.');
|
||||||
|
|
||||||
|
$message[] = pht(
|
||||||
|
'This change supports situations where users are incorrectly '.
|
||||||
|
'associated with commits because the software makes a bad guess '.
|
||||||
|
'about how the VCS string maps to a user account. '.
|
||||||
'This also helps with situations where existing repositories are '.
|
'This also helps with situations where existing repositories are '.
|
||||||
'imported without having created accounts for all the committers to '.
|
'imported without having created accounts for all the committers to '.
|
||||||
'that repository. Until you rebuild these repository identities, you '.
|
'that repository. Until you rebuild these repository identities, you '.
|
||||||
'are likely to encounter problems with future Phabricator features '.
|
'are likely to encounter problems with features which rely on the '.
|
||||||
'which will rely on the existence of these identities.');
|
'existence of these identities.');
|
||||||
|
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'You can rebuild repository identities while Phabricator is running.');
|
'You can rebuild repository identities while the server is running.');
|
||||||
|
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'To rebuild identities, run this command:');
|
'To rebuild identities, run this command:');
|
||||||
|
@ -113,8 +120,7 @@ final class PhabricatorManualActivitySetupCheck
|
||||||
'pre',
|
'pre',
|
||||||
array(),
|
array(),
|
||||||
(string)csprintf(
|
(string)csprintf(
|
||||||
'phabricator/ $ '.
|
'$ ./bin/repository rebuild-identities --all-repositories'));
|
||||||
'./bin/repository rebuild-identities --all-repositories'));
|
|
||||||
|
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'You can find more information about this new identity mapping '.
|
'You can find more information about this new identity mapping '.
|
||||||
|
@ -134,7 +140,7 @@ final class PhabricatorManualActivitySetupCheck
|
||||||
$message[] = phutil_tag(
|
$message[] = phutil_tag(
|
||||||
'pre',
|
'pre',
|
||||||
array(),
|
array(),
|
||||||
'phabricator/ $ ./bin/config done identities');
|
'$ ./bin/config done identities');
|
||||||
|
|
||||||
$activity_message = phutil_implode_html("\n\n", $message);
|
$activity_message = phutil_implode_html("\n\n", $message);
|
||||||
|
|
||||||
|
|
|
@ -15,11 +15,11 @@ final class PhabricatorPHPPreflightSetupCheck extends PhabricatorSetupCheck {
|
||||||
if (version_compare($version, 7, '>=') &&
|
if (version_compare($version, 7, '>=') &&
|
||||||
version_compare($version, 7.1, '<')) {
|
version_compare($version, 7.1, '<')) {
|
||||||
$message = pht(
|
$message = pht(
|
||||||
'You are running PHP version %s. Phabricator does not support PHP '.
|
'You are running PHP version %s. PHP versions between 7.0 and 7.1 '.
|
||||||
'versions between 7.0 and 7.1.'.
|
'are not supported'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'PHP removed signal handling features that Phabricator requires in '.
|
'PHP removed reqiured signal handling features in '.
|
||||||
'PHP 7.0, and did not restore them until PHP 7.1.'.
|
'PHP 7.0, and did not restore an equivalent mechanism until PHP 7.1.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'Upgrade to PHP 7.1 or newer (recommended) or downgrade to an older '.
|
'Upgrade to PHP 7.1 or newer (recommended) or downgrade to an older '.
|
||||||
'version of PHP 5 (discouraged).',
|
'version of PHP 5 (discouraged).',
|
||||||
|
@ -31,15 +31,18 @@ final class PhabricatorPHPPreflightSetupCheck extends PhabricatorSetupCheck {
|
||||||
->setMessage($message)
|
->setMessage($message)
|
||||||
->addLink(
|
->addLink(
|
||||||
'https://phurl.io/u/php7',
|
'https://phurl.io/u/php7',
|
||||||
pht('Phabricator PHP 7 Compatibility Information'));
|
pht('PHP 7 Compatibility Information'));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: This can be removed entirely because the minimum PHP version is
|
||||||
|
// now PHP 5.5, which does not have safe mode.
|
||||||
|
|
||||||
$safe_mode = ini_get('safe_mode');
|
$safe_mode = ini_get('safe_mode');
|
||||||
if ($safe_mode) {
|
if ($safe_mode) {
|
||||||
$message = pht(
|
$message = pht(
|
||||||
"You have '%s' enabled in your PHP configuration, but Phabricator ".
|
"You have '%s' enabled in your PHP configuration, but this software ".
|
||||||
"will not run in safe mode. Safe mode has been deprecated in PHP 5.3 ".
|
"will not run in safe mode. Safe mode has been deprecated in PHP 5.3 ".
|
||||||
"and removed in PHP 5.4.\n\nDisable safe mode to continue.",
|
"and removed in PHP 5.4.\n\nDisable safe mode to continue.",
|
||||||
'safe_mode');
|
'safe_mode');
|
||||||
|
@ -89,7 +92,7 @@ final class PhabricatorPHPPreflightSetupCheck extends PhabricatorSetupCheck {
|
||||||
if ($fatal) {
|
if ($fatal) {
|
||||||
$message = pht(
|
$message = pht(
|
||||||
"You have '%s' enabled in your PHP configuration.\n\n".
|
"You have '%s' enabled in your PHP configuration.\n\n".
|
||||||
"This option is not compatible with Phabricator. Remove ".
|
"This option is not compatible with this software. Remove ".
|
||||||
"'%s' from your configuration to continue.",
|
"'%s' from your configuration to continue.",
|
||||||
$disable_option,
|
$disable_option,
|
||||||
$disable_option);
|
$disable_option);
|
||||||
|
@ -108,7 +111,7 @@ final class PhabricatorPHPPreflightSetupCheck extends PhabricatorSetupCheck {
|
||||||
if ($func_overload) {
|
if ($func_overload) {
|
||||||
$message = pht(
|
$message = pht(
|
||||||
"You have '%s' enabled in your PHP configuration.\n\n".
|
"You have '%s' enabled in your PHP configuration.\n\n".
|
||||||
"This option is not compatible with Phabricator. Disable ".
|
"This option is not compatible with this software. Disable ".
|
||||||
"'%s' in your PHP configuration to continue.",
|
"'%s' in your PHP configuration to continue.",
|
||||||
$overload_option,
|
$overload_option,
|
||||||
$overload_option);
|
$overload_option);
|
||||||
|
@ -131,7 +134,7 @@ final class PhabricatorPHPPreflightSetupCheck extends PhabricatorSetupCheck {
|
||||||
// rare (particularly in supported environments).
|
// rare (particularly in supported environments).
|
||||||
|
|
||||||
$message = pht(
|
$message = pht(
|
||||||
"Your server is configured with '%s', which prevents Phabricator ".
|
"Your server is configured with '%s', which prevents this software ".
|
||||||
"from opening files it requires access to.\n\n".
|
"from opening files it requires access to.\n\n".
|
||||||
"Disable this setting to continue.",
|
"Disable this setting to continue.",
|
||||||
'open_basedir');
|
'open_basedir');
|
||||||
|
|
|
@ -16,10 +16,10 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
->setSummary(pht('Pagespeed is enabled, but should be disabled.'))
|
->setSummary(pht('Pagespeed is enabled, but should be disabled.'))
|
||||||
->setMessage(
|
->setMessage(
|
||||||
pht(
|
pht(
|
||||||
'Phabricator received an "X-Mod-Pagespeed" or "X-Page-Speed" '.
|
'This server received an "X-Mod-Pagespeed" or "X-Page-Speed" '.
|
||||||
'HTTP header on this request, which indicates that you have '.
|
'HTTP header on this request, which indicates that you have '.
|
||||||
'enabled "mod_pagespeed" on this server. This module is not '.
|
'enabled "mod_pagespeed" on this server. This module is not '.
|
||||||
'compatible with Phabricator. You should disable it.'));
|
'compatible with this software. You should disable the module.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$base_uri = PhabricatorEnv::getEnvConfig('phabricator.base-uri');
|
$base_uri = PhabricatorEnv::getEnvConfig('phabricator.base-uri');
|
||||||
|
@ -43,7 +43,7 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
->replaceQueryParam($expect_key, $expect_value);
|
->replaceQueryParam($expect_key, $expect_value);
|
||||||
|
|
||||||
$self_future = id(new HTTPSFuture($base_uri))
|
$self_future = id(new HTTPSFuture($base_uri))
|
||||||
->addHeader('X-Phabricator-SelfCheck', 1)
|
->addHeader('X-Setup-SelfCheck', 1)
|
||||||
->addHeader('Accept-Encoding', 'gzip')
|
->addHeader('Accept-Encoding', 'gzip')
|
||||||
->setDisableContentDecoding(true)
|
->setDisableContentDecoding(true)
|
||||||
->setHTTPBasicAuthCredentials(
|
->setHTTPBasicAuthCredentials(
|
||||||
|
@ -56,7 +56,7 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
$gzip_compressed = gzencode($gzip_uncompressed);
|
$gzip_compressed = gzencode($gzip_uncompressed);
|
||||||
|
|
||||||
$gzip_future = id(new HTTPSFuture($base_uri))
|
$gzip_future = id(new HTTPSFuture($base_uri))
|
||||||
->addHeader('X-Phabricator-SelfCheck', 1)
|
->addHeader('X-Setup-SelfCheck', 1)
|
||||||
->addHeader('Content-Encoding', 'gzip')
|
->addHeader('Content-Encoding', 'gzip')
|
||||||
->setTimeout(5)
|
->setTimeout(5)
|
||||||
->setData($gzip_compressed);
|
->setData($gzip_compressed);
|
||||||
|
@ -91,9 +91,9 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
$body = trim($body);
|
$body = trim($body);
|
||||||
if (preg_match('/^t2/', $body)) {
|
if (preg_match('/^t2/', $body)) {
|
||||||
$message = pht(
|
$message = pht(
|
||||||
'Phabricator appears to be installed on a very small EC2 instance '.
|
'This software appears to be installed on a very small EC2 instance '.
|
||||||
'(of class "%s") with burstable CPU. This is strongly discouraged. '.
|
'(of class "%s") with burstable CPU. This is strongly discouraged. '.
|
||||||
'Phabricator regularly needs CPU, and these instances are often '.
|
'This software regularly needs CPU, and these instances are often '.
|
||||||
'choked to death by CPU throttling. Use an instance with a normal '.
|
'choked to death by CPU throttling. Use an instance with a normal '.
|
||||||
'CPU instead.',
|
'CPU instead.',
|
||||||
$body);
|
$body);
|
||||||
|
@ -102,7 +102,7 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
->setName(pht('Installed on Burstable CPU Instance'))
|
->setName(pht('Installed on Burstable CPU Instance'))
|
||||||
->setSummary(
|
->setSummary(
|
||||||
pht(
|
pht(
|
||||||
'Do not install Phabricator on an instance class with '.
|
'Do not install this software on an instance class with '.
|
||||||
'burstable CPU.'))
|
'burstable CPU.'))
|
||||||
->setMessage($message);
|
->setMessage($message);
|
||||||
}
|
}
|
||||||
|
@ -121,7 +121,7 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
|
|
||||||
if (BaseHTTPFuture::getHeader($headers, 'Content-Encoding') != 'gzip') {
|
if (BaseHTTPFuture::getHeader($headers, 'Content-Encoding') != 'gzip') {
|
||||||
$message = pht(
|
$message = pht(
|
||||||
'Phabricator sent itself a request with "Accept-Encoding: gzip", '.
|
'This software sent itself a request with "Accept-Encoding: gzip", '.
|
||||||
'but received an uncompressed response.'.
|
'but received an uncompressed response.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'This may indicate that your webserver is not configured to '.
|
'This may indicate that your webserver is not configured to '.
|
||||||
|
@ -163,8 +163,8 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
->truncateString($body);
|
->truncateString($body);
|
||||||
|
|
||||||
$message = pht(
|
$message = pht(
|
||||||
'Phabricator sent itself a test request with the '.
|
'This software sent itself a test request with the '.
|
||||||
'"X-Phabricator-SelfCheck" header and expected to get a valid JSON '.
|
'"X-Setup-SelfCheck" header and expected to get a valid JSON '.
|
||||||
'response back. Instead, the response begins:'.
|
'response back. Instead, the response begins:'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'%s'.
|
'%s'.
|
||||||
|
@ -173,9 +173,9 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
phutil_tag('pre', array(), $short));
|
phutil_tag('pre', array(), $short));
|
||||||
} else {
|
} else {
|
||||||
$message = pht(
|
$message = pht(
|
||||||
'Phabricator sent itself a test request and expected to get a bare '.
|
'This software sent itself a test request and expected to get a '.
|
||||||
'JSON response back. It received a JSON response, but the response '.
|
'bare JSON response back. It received a JSON response, but the '.
|
||||||
'had extra whitespace at the beginning or end.'.
|
'response had extra whitespace at the beginning or end.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'This usually means you have edited a file and left whitespace '.
|
'This usually means you have edited a file and left whitespace '.
|
||||||
'characters before the opening %s tag, or after a closing %s tag. '.
|
'characters before the opening %s tag, or after a closing %s tag. '.
|
||||||
|
@ -199,11 +199,11 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
$actual_pass = idx($structure, 'pass');
|
$actual_pass = idx($structure, 'pass');
|
||||||
if (($expect_user != $actual_user) || ($actual_pass != $expect_pass)) {
|
if (($expect_user != $actual_user) || ($actual_pass != $expect_pass)) {
|
||||||
$message = pht(
|
$message = pht(
|
||||||
'Phabricator sent itself a test request with an "Authorization" HTTP '.
|
'This software sent itself a test request with an "Authorization" '.
|
||||||
'header, and expected those credentials to be transmitted. However, '.
|
'HTTP header, and expected those credentials to be transmitted. '.
|
||||||
'they were absent or incorrect when received. Phabricator sent '.
|
'However, they were absent or incorrect when received. This '.
|
||||||
'username "%s" with password "%s"; received username "%s" and '.
|
'software sent username "%s" with password "%s"; received '.
|
||||||
'password "%s".'.
|
'username "%s" and password "%s".'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'Your webserver may not be configured to forward HTTP basic '.
|
'Your webserver may not be configured to forward HTTP basic '.
|
||||||
'authentication. If you plan to use basic authentication (for '.
|
'authentication. If you plan to use basic authentication (for '.
|
||||||
|
@ -222,13 +222,13 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
$actual_path = idx($structure, 'path');
|
$actual_path = idx($structure, 'path');
|
||||||
if ($expect_path != $actual_path) {
|
if ($expect_path != $actual_path) {
|
||||||
$message = pht(
|
$message = pht(
|
||||||
'Phabricator sent itself a test request with an unusual path, to '.
|
'This software sent itself a test request with an unusual path, to '.
|
||||||
'test if your webserver is rewriting paths correctly. The path was '.
|
'test if your webserver is rewriting paths correctly. The path was '.
|
||||||
'not transmitted correctly.'.
|
'not transmitted correctly.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'Phabricator sent a request to path "%s", and expected the webserver '.
|
'This software sent a request to path "%s", and expected the '.
|
||||||
'to decode and rewrite that path so that it received a request for '.
|
'webserver to decode and rewrite that path so that it received a '.
|
||||||
'"%s". However, it received a request for "%s" instead.'.
|
'request for "%s". However, it received a request for "%s" instead.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'Verify that your rewrite rules are configured correctly, following '.
|
'Verify that your rewrite rules are configured correctly, following '.
|
||||||
'the instructions in the documentation. If path encoding is not '.
|
'the instructions in the documentation. If path encoding is not '.
|
||||||
|
@ -258,12 +258,12 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
|
|
||||||
if (($expect_key !== $actual_key) || ($expect_value !== $actual_value)) {
|
if (($expect_key !== $actual_key) || ($expect_value !== $actual_value)) {
|
||||||
$message = pht(
|
$message = pht(
|
||||||
'Phabricator sent itself a test request with an HTTP GET parameter, '.
|
'This software sent itself a test request with an HTTP GET parameter, '.
|
||||||
'but the parameter was not transmitted. Sent "%s" with value "%s", '.
|
'but the parameter was not transmitted. Sent "%s" with value "%s", '.
|
||||||
'got "%s" with value "%s".'.
|
'got "%s" with value "%s".'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'Your webserver is configured incorrectly and large parts of '.
|
'Your webserver is configured incorrectly and large parts of '.
|
||||||
'Phabricator will not work until this issue is corrected.'.
|
'this software will not work until this issue is corrected.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'(This problem can be caused by a missing "QSA" in your RewriteRule.)',
|
'(This problem can be caused by a missing "QSA" in your RewriteRule.)',
|
||||||
$expect_key,
|
$expect_key,
|
||||||
|
@ -320,7 +320,7 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
|
|
||||||
$message = array();
|
$message = array();
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'Phabricator sent itself a test request that was compressed with '.
|
'This software sent itself a test request that was compressed with '.
|
||||||
'"Content-Encoding: gzip", but received different bytes than it '.
|
'"Content-Encoding: gzip", but received different bytes than it '.
|
||||||
'sent.');
|
'sent.');
|
||||||
|
|
||||||
|
@ -342,17 +342,17 @@ final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
|
||||||
'compressed requests.');
|
'compressed requests.');
|
||||||
|
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'The request body Phabricator sent began:');
|
'The request body that was sent began:');
|
||||||
$message[] = $this->snipBytes($compressed);
|
$message[] = $this->snipBytes($compressed);
|
||||||
|
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'The request body Phabricator received began:');
|
'The request body that was received began:');
|
||||||
$message[] = $this->snipBytes($raw_body);
|
$message[] = $this->snipBytes($raw_body);
|
||||||
}
|
}
|
||||||
|
|
||||||
$message[] = pht(
|
$message[] = pht(
|
||||||
'Identify the component in your webserver configuration which is '.
|
'Identify the component in your webserver configuration which is '.
|
||||||
'decompressing or mangling requests and disable it. Phabricator '.
|
'decompressing or mangling requests and disable it. This software '.
|
||||||
'will not work properly until you do.');
|
'will not work properly until you do.');
|
||||||
|
|
||||||
$message = phutil_implode_html("\n\n", $message);
|
$message = phutil_implode_html("\n\n", $message);
|
||||||
|
|
|
@ -56,7 +56,7 @@ final class PhabricatorConfigConsoleController
|
||||||
->setBorder(true);
|
->setBorder(true);
|
||||||
|
|
||||||
$box = id(new PHUIObjectBoxView())
|
$box = id(new PHUIObjectBoxView())
|
||||||
->setHeaderText(pht('Phabricator Configuration'))
|
->setHeaderText(pht('Configuration'))
|
||||||
->setBackground(PHUIObjectBoxView::WHITE_CONFIG)
|
->setBackground(PHUIObjectBoxView::WHITE_CONFIG)
|
||||||
->setObjectList($menu);
|
->setObjectList($menu);
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ final class PhabricatorConfigConsoleController
|
||||||
->setFooter($launcher_view);
|
->setFooter($launcher_view);
|
||||||
|
|
||||||
return $this->newPage()
|
return $this->newPage()
|
||||||
->setTitle(pht('Phabricator Configuration'))
|
->setTitle(pht('Configuration'))
|
||||||
->setCrumbs($crumbs)
|
->setCrumbs($crumbs)
|
||||||
->appendChild($view);
|
->appendChild($view);
|
||||||
}
|
}
|
||||||
|
@ -131,7 +131,7 @@ final class PhabricatorConfigConsoleController
|
||||||
));
|
));
|
||||||
|
|
||||||
return id(new PHUIObjectBoxView())
|
return id(new PHUIObjectBoxView())
|
||||||
->setHeaderText(pht('Phabricator Version Information'))
|
->setHeaderText(pht('Version Information'))
|
||||||
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
|
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
|
||||||
->appendChild($table_view);
|
->appendChild($table_view);
|
||||||
}
|
}
|
||||||
|
|
|
@ -207,7 +207,7 @@ final class PhabricatorConfigClusterDatabasesController
|
||||||
|
|
||||||
$table = id(new AphrontTableView($rows))
|
$table = id(new AphrontTableView($rows))
|
||||||
->setNoDataString(
|
->setNoDataString(
|
||||||
pht('Phabricator is not configured in cluster mode.'))
|
pht('This server is not configured in cluster mode.'))
|
||||||
->setHeaders(
|
->setHeaders(
|
||||||
array(
|
array(
|
||||||
null,
|
null,
|
||||||
|
|
|
@ -108,7 +108,7 @@ final class PhabricatorCustomLogoConfigType
|
||||||
$controls[] = id(new AphrontFormTextControl())
|
$controls[] = id(new AphrontFormTextControl())
|
||||||
->setName('wordmarkText')
|
->setName('wordmarkText')
|
||||||
->setLabel(pht('Wordmark'))
|
->setLabel(pht('Wordmark'))
|
||||||
->setPlaceholder(pht('Phabricator'))
|
->setPlaceholder(PlatformSymbols::getPlatformServerName())
|
||||||
->setValue($wordmark_text);
|
->setValue($wordmark_text);
|
||||||
|
|
||||||
return $controls;
|
return $controls;
|
||||||
|
|
|
@ -8,7 +8,7 @@ final class PhabricatorConfigEditor
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getEditorObjectsDescription() {
|
public function getEditorObjectsDescription() {
|
||||||
return pht('Phabricator Configuration');
|
return pht('Configuration');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getTransactionTypes() {
|
public function getTransactionTypes() {
|
||||||
|
|
|
@ -8,7 +8,7 @@ final class PhabricatorClusterConfigOptions
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDescription() {
|
public function getDescription() {
|
||||||
return pht('Configure Phabricator to run on a cluster of hosts.');
|
return pht('Configure services to run on a cluster of hosts.');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getIcon() {
|
public function getIcon() {
|
||||||
|
@ -25,7 +25,7 @@ final class PhabricatorClusterConfigOptions
|
||||||
WARNING: This is a prototype option and the description below is currently pure
|
WARNING: This is a prototype option and the description below is currently pure
|
||||||
fantasy.
|
fantasy.
|
||||||
|
|
||||||
This option allows you to make Phabricator aware of database read replicas so
|
This option allows you to make this service aware of database read replicas so
|
||||||
it can monitor database health, spread load, and degrade gracefully to
|
it can monitor database health, spread load, and degrade gracefully to
|
||||||
read-only mode in the event of a failure on the primary host. For help with
|
read-only mode in the event of a failure on the primary host. For help with
|
||||||
configuring cluster databases, see **[[ %s | %s ]]** in the documentation.
|
configuring cluster databases, see **[[ %s | %s ]]** in the documentation.
|
||||||
|
@ -55,7 +55,7 @@ EOTEXT
|
||||||
->setSummary(pht('Address ranges of cluster hosts.'))
|
->setSummary(pht('Address ranges of cluster hosts.'))
|
||||||
->setDescription(
|
->setDescription(
|
||||||
pht(
|
pht(
|
||||||
'Define a Phabricator cluster by providing a whitelist of host '.
|
'Define a cluster by providing a whitelist of host '.
|
||||||
'addresses that are part of the cluster.'.
|
'addresses that are part of the cluster.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'Hosts on this whitelist have special powers. These hosts are '.
|
'Hosts on this whitelist have special powers. These hosts are '.
|
||||||
|
@ -67,7 +67,7 @@ EOTEXT
|
||||||
'cluster and no additional hosts. See the examples below for '.
|
'cluster and no additional hosts. See the examples below for '.
|
||||||
'details.'.
|
'details.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'When cluster addresses are defined, Phabricator hosts will also '.
|
'When cluster addresses are defined, hosts will also '.
|
||||||
'reject requests to interfaces which are not whitelisted.',
|
'reject requests to interfaces which are not whitelisted.',
|
||||||
$intro_href,
|
$intro_href,
|
||||||
$intro_name))
|
$intro_name))
|
||||||
|
@ -101,7 +101,7 @@ EOTEXT
|
||||||
'hosting providers running multi-tenant clusters.'.
|
'hosting providers running multi-tenant clusters.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'If you provide an instance identifier here (normally by '.
|
'If you provide an instance identifier here (normally by '.
|
||||||
'injecting it with a `%s`), Phabricator will pass it to '.
|
'injecting it with a `%s`), the server will pass it to '.
|
||||||
'subprocesses and commit hooks in the `%s` environmental variable.',
|
'subprocesses and commit hooks in the `%s` environmental variable.',
|
||||||
'PhabricatorConfigSiteSource',
|
'PhabricatorConfigSiteSource',
|
||||||
'PHABRICATOR_INSTANCE')),
|
'PHABRICATOR_INSTANCE')),
|
||||||
|
@ -115,7 +115,7 @@ EOTEXT
|
||||||
'WARNING: This is a prototype option and the description below '.
|
'WARNING: This is a prototype option and the description below '.
|
||||||
'is currently pure fantasy.'.
|
'is currently pure fantasy.'.
|
||||||
"\n\n".
|
"\n\n".
|
||||||
'Switch Phabricator to read-only mode. In this mode, users will '.
|
'Switch the service to read-only mode. In this mode, users will '.
|
||||||
'be unable to write new data. Normally, the cluster degrades '.
|
'be unable to write new data. Normally, the cluster degrades '.
|
||||||
'into this mode automatically when it detects that the database '.
|
'into this mode automatically when it detects that the database '.
|
||||||
'master is unreachable, but you can activate it manually in '.
|
'master is unreachable, but you can activate it manually in '.
|
||||||
|
|
Loading…
Reference in a new issue