1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-22 14:52:41 +01:00

Add translations config group.

Summary:
Adds the translations group as per T2255. Currently `translation.override` is
`wild` -- it should be changed to dict<string, string> when that exists.

Also fixes a small bug from D4326 which caused "class" types to not ever
validate.

Test Plan:
- Looked at the settings.
- Successfully saved a setting relating to classes.

Reviewers: epriestley, btrahan

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2255

Differential Revision: https://secure.phabricator.com/D4350
This commit is contained in:
Ricky Elrod 2013-01-04 16:22:52 -08:00 committed by epriestley
parent 3894461227
commit ae0773b789
3 changed files with 46 additions and 1 deletions

View file

@ -1217,6 +1217,7 @@ phutil_register_library_map(array(
'PhabricatorTransactions' => 'applications/transactions/constants/PhabricatorTransactions.php',
'PhabricatorTransformedFile' => 'applications/files/storage/PhabricatorTransformedFile.php',
'PhabricatorTranslation' => 'infrastructure/internationalization/PhabricatorTranslation.php',
'PhabricatorTranslationsConfigOptions' => 'applications/config/option/PhabricatorTranslationsConfigOptions.php',
'PhabricatorTrivialTestCase' => 'infrastructure/testing/__tests__/PhabricatorTrivialTestCase.php',
'PhabricatorTypeaheadCommonDatasourceController' => 'applications/typeahead/controller/PhabricatorTypeaheadCommonDatasourceController.php',
'PhabricatorTypeaheadDatasourceController' => 'applications/typeahead/controller/PhabricatorTypeaheadDatasourceController.php',
@ -2518,6 +2519,7 @@ phutil_register_library_map(array(
'PhabricatorTimer' => 'PhabricatorCountdownDAO',
'PhabricatorTransactionView' => 'AphrontView',
'PhabricatorTransformedFile' => 'PhabricatorFileDAO',
'PhabricatorTranslationsConfigOptions' => 'PhabricatorApplicationConfigOptions',
'PhabricatorTrivialTestCase' => 'PhabricatorTestCase',
'PhabricatorTypeaheadCommonDatasourceController' => 'PhabricatorTypeaheadDatasourceController',
'PhabricatorTypeaheadDatasourceController' => 'PhabricatorController',

View file

@ -361,7 +361,7 @@ final class PhabricatorConfigEditController
->setConcreteOnly(true)
->selectSymbolsWithoutLoading();
$names = ipull($symbols, 'name', 'name');
sort($names);
asort($names);
$names = array(
'' => pht('(Use Default)'),
) + $names;

View file

@ -0,0 +1,43 @@
<?php
final class PhabricatorTranslationsConfigOptions
extends PhabricatorApplicationConfigOptions {
public function getName() {
return pht("Translations");
}
public function getDescription() {
return pht("Options relating to translations.");
}
public function getOptions() {
return array(
$this->newOption(
'translation.provider',
'class',
'PhabricatorEnglishTranslation')
->setBaseClass('PhabricatorTranslation')
->setSummary(pht("Translation class that should be used for strings."))
->setDescription(
pht(
"This allows customizing texts used in Phabricator. The class ".
"must extend PhabricatorTranslation."))
->addExample('PhabricatorEnglishTranslation', pht('Valid Setting')),
// TODO: This should be dict<string,string> I think, but that doesn't
// exist yet.
$this->newOption('translation.override', 'wild', array())
->setSummary(pht("Override translations."))
->setDescription(
pht(
"You can use 'translation.override' if you don't want to create ".
"a full translation to give users an option for switching to it ".
"and you just want to override some strings in the default ".
"translation."))
->addExample(
'{"some string": "my alternative"}',
pht('Valid Setting')),
);
}
}