@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator

Use the term "Project Tags" more consistently

Summary:
Add some more consistency between the terms "project", "tag", hashtag, "slug".
And also between "assign to" vs "add related" vs "associated with" vs "tagged with".

This might not be the perfect color for the bikeshed but feels a bit better.

Closes T15546
Closes T15701

Test Plan: Grep the code, go through about 500 results, check in which context the relevant ones are used (to not rename repository tags, for example).

Reviewers: O1 Blessed Committers, mainframe98, valerio.bozzolan

Reviewed By: O1 Blessed Committers, mainframe98, valerio.bozzolan

Subscribers: mainframe98, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15546, T15701

Differential Revision: https://we.phorge.it/D26773

+31 -31
+1 -1
src/applications/audit/editor/PhabricatorAuditEditor.php
··· 712 712 PhabricatorAuditTransaction::MAILTAG_ADD_CCS => 713 713 pht("A commit's subscribers change."), 714 714 PhabricatorAuditTransaction::MAILTAG_PROJECTS => 715 - pht("A commit's projects change."), 715 + pht("A commit's associated projects change."), 716 716 PhabricatorAuditTransaction::MAILTAG_COMMENT => 717 717 pht('Someone comments on a commit.'), 718 718 PhabricatorAuditTransaction::MAILTAG_OTHER =>
+2 -1
src/applications/differential/field/DifferentialTagsCommitMessageField.php
··· 6 6 const FIELDKEY = 'phabricator:projects'; 7 7 8 8 public function getFieldName() { 9 - return pht('Tags'); 9 + return pht('Project Tags'); 10 10 } 11 11 12 12 public function getFieldOrder() { ··· 16 16 public function getFieldAliases() { 17 17 return array( 18 18 'Tag', 19 + 'Tags', 19 20 'Project', 20 21 'Projects', 21 22 );
+1 -1
src/applications/diviner/controller/DivinerBookEditController.php
··· 75 75 id(new AphrontFormTokenizerControl()) 76 76 ->setDatasource(new PhabricatorProjectDatasource()) 77 77 ->setName('projectPHIDs') 78 - ->setLabel(pht('Tags')) 78 + ->setLabel(pht('Project Tags')) 79 79 ->setValue($book->getProjectPHIDs())) 80 80 ->appendControl( 81 81 id(new AphrontFormTokenizerControl())
+1 -1
src/applications/feed/query/PhabricatorFeedSearchEngine.php
··· 114 114 ); 115 115 116 116 if ($this->requireViewer()->isLoggedIn()) { 117 - $names['projects'] = pht('Tags'); 117 + $names['projects'] = pht('Project Tags'); 118 118 } 119 119 120 120 return $names;
+1 -1
src/applications/people/controller/PhabricatorPeopleProfileViewController.php
··· 158 158 } else { 159 159 $list = id(new PHUIInfoView()) 160 160 ->setSeverity(PHUIInfoView::SEVERITY_NODATA) 161 - ->appendChild(pht('User does not belong to any projects.')); 161 + ->appendChild(pht('User is not a member of any projects.')); 162 162 } 163 163 164 164 $box = id(new PHUIObjectBoxView())
+1 -1
src/applications/pholio/controller/PholioMockEditController.php
··· 316 316 ->setViewer($viewer)) 317 317 ->appendControl( 318 318 id(new AphrontFormTokenizerControl()) 319 - ->setLabel(pht('Tags')) 319 + ->setLabel(pht('Project Tags')) 320 320 ->setName('projects') 321 321 ->setValue($v_projects) 322 322 ->setDatasource(new PhabricatorProjectDatasource()))
+1 -1
src/applications/phriction/controller/PhrictionEditController.php
··· 276 276 ->setUser($viewer)) 277 277 ->appendControl( 278 278 id(new AphrontFormTokenizerControl()) 279 - ->setLabel(pht('Tags')) 279 + ->setLabel(pht('Project Tags')) 280 280 ->setName('projects') 281 281 ->setValue($v_projects) 282 282 ->setDatasource(new PhabricatorProjectDatasource()))
+5 -5
src/applications/project/command/ProjectAddProjectsEmailCommand.php
··· 12 12 } 13 13 14 14 public function getCommandSummary() { 15 - return pht('Add related projects.'); 15 + return pht('Add project tags.'); 16 16 } 17 17 18 18 public function getCommandDescription() { 19 19 return pht( 20 - 'Add one or more projects to the object by listing their hashtags. '. 21 - 'Separate projects with spaces. For example, use `!projects #ios '. 22 - '#feature` to add both related projects.'. 20 + 'Associate one or more projects to the object by listing their '. 21 + 'hashtags. Separate project tags with spaces. For example, use '. 22 + '`!projects #ios #feature` to add both related projects.'. 23 23 "\n\n". 24 24 'Projects which are invalid or unrecognized will be ignored. This '. 25 - 'command has no effect if you do not specify any projects.'); 25 + 'command has no effect if you do not specify any project tags.'); 26 26 } 27 27 28 28 public function getCommandAliases() {
+3 -3
src/applications/project/engine/PhabricatorProjectEditEngine.php
··· 317 317 ->setLabel(pht('Additional Hashtags')) 318 318 ->setTransactionType( 319 319 PhabricatorProjectSlugsTransaction::TRANSACTIONTYPE) 320 - ->setDescription(pht('Additional project slugs.')) 321 - ->setConduitDescription(pht('Change project slugs.')) 322 - ->setConduitTypeDescription(pht('New list of slugs.')) 320 + ->setDescription(pht('Additional project tags.')) 321 + ->setConduitDescription(pht('Change project tags.')) 322 + ->setConduitTypeDescription(pht('New list of hashtags.')) 323 323 ->setValue($slugs), 324 324 ); 325 325
+1 -1
src/applications/project/engineextension/PhabricatorProjectsCurtainExtension.php
··· 83 83 } 84 84 85 85 return $this->newPanel() 86 - ->setHeaderText(pht('Tags')) 86 + ->setHeaderText(pht('Project Tags')) 87 87 ->setOrder(10000) 88 88 ->appendChild($list); 89 89 }
+1 -1
src/applications/project/engineextension/PhabricatorProjectsEditEngineExtension.php
··· 50 50 51 51 $projects_field = id(new PhabricatorProjectsEditField()) 52 52 ->setKey('projectPHIDs') 53 - ->setLabel(pht('Tags')) 53 + ->setLabel(pht('Project Tags')) 54 54 ->setEditTypeKey('projects') 55 55 ->setAliases(array('project', 'projects', 'tag', 'tags')) 56 56 ->setIsCopyable(true)
+1 -1
src/applications/project/engineextension/PhabricatorProjectsSearchEngineExtension.php
··· 42 42 ->setKey('projectPHIDs') 43 43 ->setConduitKey('projects') 44 44 ->setAliases(array('project', 'projects', 'tag', 'tags')) 45 - ->setLabel(pht('Tags')) 45 + ->setLabel(pht('Project Tags')) 46 46 ->setDescription( 47 47 pht('Search for objects tagged with given projects.')); 48 48
+2 -2
src/applications/project/herald/PhabricatorProjectHeraldAction.php
··· 97 97 self::DO_ADD_PROJECTS => array( 98 98 'icon' => 'fa-briefcase', 99 99 'color' => 'green', 100 - 'name' => pht('Added Projects'), 100 + 'name' => pht('Added Project Tags'), 101 101 ), 102 102 self::DO_REMOVE_PROJECTS => array( 103 103 'icon' => 'fa-minus-circle', 104 104 'color' => 'green', 105 - 'name' => pht('Removed Projects'), 105 + 'name' => pht('Removed Project Tags'), 106 106 ), 107 107 ); 108 108 }
+4 -5
src/applications/project/query/PhabricatorProjectSearchEngine.php
··· 33 33 'is deprecated in favor of the more powerful "query" '. 34 34 'constraint.')), 35 35 id(new PhabricatorSearchStringListField()) 36 - ->setLabel(pht('Slugs')) 36 + ->setLabel(pht('Project Tags')) 37 37 ->setIsHidden(true) 38 38 ->setKey('slugs') 39 39 ->setDescription( 40 40 pht( 41 - 'Search for projects with particular slugs. (Slugs are the same '. 42 - 'as project hashtags.)')), 41 + 'Search for projects with particular hashtags.)')), 43 42 id(new PhabricatorUsersSearchField()) 44 43 ->setLabel(pht('Members')) 45 44 ->setKey('memberPHIDs') ··· 367 366 ->setIcon($icon) 368 367 ->setTitle(pht('Welcome to %s', $app_name)) 369 368 ->setDescription( 370 - pht('Projects are flexible storage containers used as '. 371 - 'tags, teams, projects, or anything you need to group.')) 369 + pht('Projects are labels are tags. You can use them for a codebase, '. 370 + 'a team, a sprint, or anything you need to group or categorize.')) 372 371 ->addAction($create_button); 373 372 374 373 return $view;
+1 -1
src/applications/project/storage/PhabricatorProject.php
··· 864 864 id(new PhabricatorConduitSearchFieldSpecification()) 865 865 ->setKey('slug') 866 866 ->setType('string') 867 - ->setDescription(pht('Primary slug/hashtag.')), 867 + ->setDescription(pht('Primary hashtag.')), 868 868 id(new PhabricatorConduitSearchFieldSpecification()) 869 869 ->setKey('subtype') 870 870 ->setType('string')
+2 -2
src/applications/project/typeahead/PhabricatorProjectLogicalOrNotDatasource.php
··· 55 55 'arguments' => pht('project'), 56 56 'summary' => pht('Find results not in specific projects.'), 57 57 'description' => pht( 58 - 'This function allows you to find results which are not in '. 59 - 'one or more projects. For example, use this query to find '. 58 + 'This function allows you to find results which are not tagged '. 59 + 'with one or more projects. For example, use this query to find '. 60 60 'results which are not associated with a specific project:'. 61 61 "\n\n". 62 62 '> not(vanilla)'.
+1 -1
src/applications/search/query/PhabricatorSearchApplicationSearchEngine.php
··· 169 169 ->appendControl( 170 170 id(new AphrontFormTokenizerControl()) 171 171 ->setName('projectPHIDs') 172 - ->setLabel(pht('Tags')) 172 + ->setLabel(pht('Project Tags')) 173 173 ->setDatasource(new PhabricatorProjectDatasource()) 174 174 ->setValue($project_phids)); 175 175 }
+1 -1
src/applications/slowvote/controller/PhabricatorSlowvoteEditController.php
··· 168 168 ->setValue($v_description)) 169 169 ->appendControl( 170 170 id(new AphrontFormTokenizerControl()) 171 - ->setLabel(pht('Tags')) 171 + ->setLabel(pht('Project Tags')) 172 172 ->setName('projects') 173 173 ->setValue($v_projects) 174 174 ->setDatasource(new PhabricatorProjectDatasource()));
+1 -1
src/infrastructure/export/engine/PhabricatorProjectsExportEngineExtension.php
··· 16 16 ->setLabel(pht('Tag PHIDs')), 17 17 id(new PhabricatorStringListExportField()) 18 18 ->setKey('tags') 19 - ->setLabel(pht('Tags')), 19 + ->setLabel(pht('Project Tags')), 20 20 ); 21 21 } 22 22