diff --git a/resources/js/components/terms/CreateTermButton.vue b/resources/js/components/terms/CreateTermButton.vue
index ee3509c33a..4a7e81fa18 100644
--- a/resources/js/components/terms/CreateTermButton.vue
+++ b/resources/js/components/terms/CreateTermButton.vue
@@ -6,7 +6,7 @@
class="btn-primary flex items-center"
@click="create"
>
-
+
@@ -25,7 +25,8 @@ export default {
props: {
url: String,
- blueprints: Array
+ blueprints: Array,
+ text: { type: String, default: () => __('Create Term') },
},
methods: {
diff --git a/resources/views/taxonomies/show.blade.php b/resources/views/taxonomies/show.blade.php
index 3aff3310d8..b9476c4884 100644
--- a/resources/views/taxonomies/show.blade.php
+++ b/resources/views/taxonomies/show.blade.php
@@ -36,6 +36,7 @@
@if($canCreate)
@endif
diff --git a/resources/views/terms/create.blade.php b/resources/views/terms/create.blade.php
index e3cf15a937..4e2d9d5796 100644
--- a/resources/views/terms/create.blade.php
+++ b/resources/views/terms/create.blade.php
@@ -1,11 +1,12 @@
@extends('statamic::layout')
-@section('title', $breadcrumbs->title('Create Term'))
+@section('title', $breadcrumbs->title($taxonomyCreateLabel))
@section('wrapper_class', 'max-w-3xl')
@section('content')
__('Create Term'),
+ 'title' => $taxonomy->createLabel(),
'actions' => [
'save' => cp_route('taxonomies.terms.store', [$taxonomy->handle(), $site->handle()]),
],
'values' => $values,
'meta' => $fields->meta(),
'taxonomy' => $taxonomy->handle(),
+ 'taxonomyCreateLabel' => $taxonomy->createLabel(),
'blueprint' => $blueprint->toPublishArray(),
'published' => $taxonomy->defaultPublishState(),
'locale' => $site->handle(),
diff --git a/src/Taxonomies/Taxonomy.php b/src/Taxonomies/Taxonomy.php
index 2e5010a9c9..b2bfd4e76e 100644
--- a/src/Taxonomies/Taxonomy.php
+++ b/src/Taxonomies/Taxonomy.php
@@ -441,6 +441,19 @@ public function layout($layout = null)
->args(func_get_args());
}
+ public function createLabel()
+ {
+ $key = "messages.{$this->handle()}_taxonomy_create_term";
+
+ $translation = __($key);
+
+ if ($translation === $key) {
+ return __('Create Term');
+ }
+
+ return $translation;
+ }
+
public function searchIndex($index = null)
{
return $this
diff --git a/tests/Data/Taxonomies/TaxonomyTest.php b/tests/Data/Taxonomies/TaxonomyTest.php
index 7c76a3c91c..6d502da262 100644
--- a/tests/Data/Taxonomies/TaxonomyTest.php
+++ b/tests/Data/Taxonomies/TaxonomyTest.php
@@ -429,6 +429,13 @@ public function it_gets_and_sets_the_term_template()
$this->assertEquals('foo', $taxonomy->termTemplate());
}
+ #[Test]
+ public function it_gets_and_sets_the_create_label()
+ {
+ $taxonomy = (new Taxonomy)->handle('tags');
+ $this->assertEquals('Create Term', $taxonomy->createLabel());
+ }
+
#[Test]
public function it_cannot_view_taxonomies_from_sites_that_the_user_is_not_authorized_to_see()
{