nodebb-theme-persona 15.0.11 → 15.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/package.json +2 -2
  2. package/templates/account/blocks.tpl +8 -8
  3. package/templates/account/categories.tpl +5 -5
  4. package/templates/account/consent.tpl +21 -21
  5. package/templates/account/edit/password.tpl +7 -7
  6. package/templates/account/edit/username.tpl +5 -5
  7. package/templates/account/edit.tpl +21 -21
  8. package/templates/account/followers.tpl +2 -2
  9. package/templates/account/following.tpl +2 -2
  10. package/templates/account/groups.tpl +2 -2
  11. package/templates/account/info.tpl +35 -35
  12. package/templates/account/posts.tpl +7 -7
  13. package/templates/account/profile.tpl +19 -36
  14. package/templates/account/sessions.tpl +1 -1
  15. package/templates/account/settings.tpl +55 -55
  16. package/templates/account/theme.tpl +8 -8
  17. package/templates/account/topics.tpl +6 -6
  18. package/templates/account/uploads.tpl +4 -4
  19. package/templates/categories.tpl +1 -1
  20. package/templates/category.tpl +6 -6
  21. package/templates/modules/usercard.tpl +4 -5
  22. package/templates/notifications.tpl +2 -2
  23. package/templates/partials/account/header.tpl +4 -4
  24. package/templates/partials/account/menu.tpl +27 -27
  25. package/templates/partials/account/session-list.tpl +3 -3
  26. package/templates/partials/buttons/newTopic.tpl +1 -1
  27. package/templates/partials/categories/item.tpl +3 -3
  28. package/templates/partials/categories/lastpost.tpl +4 -4
  29. package/templates/partials/category/subcategory.tpl +2 -2
  30. package/templates/partials/chats-menu.tpl +2 -2
  31. package/templates/partials/cookie-consent.tpl +1 -1
  32. package/templates/partials/header/chats.tpl +3 -3
  33. package/templates/partials/header/notifications.tpl +5 -5
  34. package/templates/partials/header/search.tpl +4 -4
  35. package/templates/partials/header/user-menu.tpl +18 -18
  36. package/templates/partials/menu.tpl +8 -8
  37. package/templates/partials/notifications_list.tpl +3 -3
  38. package/templates/partials/paginator.tpl +9 -9
  39. package/templates/partials/post_bar.tpl +2 -2
  40. package/templates/partials/posts_list_item.tpl +2 -2
  41. package/templates/partials/quick-category-search-results.tpl +4 -4
  42. package/templates/partials/quick-search-results.tpl +2 -2
  43. package/templates/partials/search/results.tpl +2 -2
  44. package/templates/partials/topic/crosspost.tpl +1 -1
  45. package/templates/partials/topic/event.tpl +31 -5
  46. package/templates/partials/topic/navigation-post.tpl +1 -1
  47. package/templates/partials/topic/navigator.tpl +4 -4
  48. package/templates/partials/topic/post-editor.tpl +1 -1
  49. package/templates/partials/topic/post.tpl +11 -11
  50. package/templates/partials/topic/quickreply.tpl +6 -4
  51. package/templates/partials/topic/reply-button.tpl +5 -5
  52. package/templates/partials/topic/selection-tooltip.tpl +1 -1
  53. package/templates/partials/topic/sort.tpl +5 -5
  54. package/templates/partials/topic/stats.tpl +11 -11
  55. package/templates/partials/topic/tools.tpl +1 -1
  56. package/templates/partials/topic/watch.tpl +9 -9
  57. package/templates/partials/topics_list.tpl +14 -14
  58. package/templates/partials/users_list.tpl +1 -1
  59. package/templates/partials/users_list_menu.tpl +6 -6
  60. package/templates/popular.tpl +2 -2
  61. package/templates/recent.tpl +3 -3
  62. package/templates/tag.tpl +3 -3
  63. package/templates/tags.tpl +2 -2
  64. package/templates/top.tpl +2 -2
  65. package/templates/topic.tpl +4 -4
  66. package/templates/unread.tpl +3 -3
  67. package/templates/users.tpl +2 -2
  68. package/templates/world.tpl +18 -18
@@ -10,7 +10,7 @@
10
10
  {{{ if canPost }}}
11
11
  <!-- IMPORT partials/buttons/newTopic.tpl -->
12
12
  {{{ else }}}
13
- <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary btn-sm">[[category:guest-login-post]]</a>
13
+ <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary btn-sm">{{tx("category:guest-login-post")}}</a>
14
14
  {{{ end }}}
15
15
  </div>
16
16
  <div class="d-flex gap-1">
@@ -23,7 +23,7 @@
23
23
 
24
24
  <div class="category">
25
25
  {{{ if !topics.length }}}
26
- <div class="alert alert-warning" id="category-no-topics">[[recent:no-popular-topics]]</div>
26
+ <div class="alert alert-warning" id="category-no-topics">{{tx("recent:no-popular-topics")}}</div>
27
27
  {{{ end }}}
28
28
 
29
29
  <!-- IMPORT partials/topics_list.tpl -->
@@ -10,10 +10,10 @@
10
10
  {{{ if canPost }}}
11
11
  <!-- IMPORT partials/buttons/newTopic.tpl -->
12
12
  {{{ else }}}
13
- <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary btn-sm">[[category:guest-login-post]]</a>
13
+ <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary btn-sm">{{tx("category:guest-login-post")}}</a>
14
14
  {{{ end }}}
15
15
  <a href="{config.relative_path}/{selectedFilter.url}{querystring}" class="d-inline-block">
16
- <div class="alert alert-warning h-100 m-0 px-2 py-1 d-flex gap-1 align-items-center hide" id="new-topics-alert"><i class="fa fa-fw fa-rotate-right"></i>[[recent:load-new-posts]]</div>
16
+ <div class="alert alert-warning h-100 m-0 px-2 py-1 d-flex gap-1 align-items-center hide" id="new-topics-alert"><i class="fa fa-fw fa-rotate-right"></i>{{tx("recent:load-new-posts")}}</div>
17
17
  </a>
18
18
  </div>
19
19
  <div class="d-flex gap-1">
@@ -26,7 +26,7 @@
26
26
 
27
27
  <div class="category">
28
28
  <!-- IF !topics.length -->
29
- <div class="alert alert-warning" id="category-no-topics">[[recent:no-recent-topics]]</div>
29
+ <div class="alert alert-warning" id="category-no-topics">{{tx("recent:no-recent-topics")}}</div>
30
30
  <!-- ENDIF !topics.length -->
31
31
 
32
32
  <!-- IMPORT partials/topics_list.tpl -->
package/templates/tag.tpl CHANGED
@@ -10,7 +10,7 @@
10
10
  {{{ if loggedIn }}}
11
11
  <!-- IMPORT partials/buttons/newTopic.tpl -->
12
12
  {{{ else }}}
13
- <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary btn-sm">[[category:guest-login-post]]</a>
13
+ <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary btn-sm">{{tx("category:guest-login-post")}}</a>
14
14
  {{{ end }}}
15
15
  </div>
16
16
  <div class="d-flex gap-1">
@@ -22,11 +22,11 @@
22
22
 
23
23
  <div class="category">
24
24
  {{{ if !topics.length }}}
25
- <div class="alert alert-warning">[[tags:no-tag-topics]]</div>
25
+ <div class="alert alert-warning">{{tx("tags:no-tag-topics")}}</div>
26
26
  {{{ end }}}
27
27
 
28
28
  <!-- IMPORT partials/topics_list.tpl -->
29
- <button id="load-more-btn" class="btn btn-primary hide">[[unread:load-more]]</button>
29
+ <button id="load-more-btn" class="btn btn-primary hide">{{tx("unread:load-more")}}</button>
30
30
  {{{ if config.usePagination }}}
31
31
  <!-- IMPORT partials/paginator.tpl -->
32
32
  {{{ end }}}
@@ -10,7 +10,7 @@
10
10
  <div class="d-flex justify-content-end mb-3">
11
11
  <div class="search">
12
12
  <div class="input-group">
13
- <input type="text" class="form-control form-control-sm" placeholder="[[global:search]]" id="tag-search">
13
+ <input type="text" class="form-control form-control-sm" placeholder="{{tx("global:search")}}" id="tag-search">
14
14
  <button class="btn btn-sm btn-primary" type="button">
15
15
  <i class="fa fa-search"></i>
16
16
  </button>
@@ -23,7 +23,7 @@
23
23
  <hr/>
24
24
 
25
25
  {{{ if !tags.length }}}
26
- <div class="alert alert-warning">[[tags:no-tags]]</div>
26
+ <div class="alert alert-warning">{{tx("tags:no-tags")}}</div>
27
27
  {{{ end }}}
28
28
 
29
29
  <div class="category row">
package/templates/top.tpl CHANGED
@@ -10,7 +10,7 @@
10
10
  {{{ if canPost }}}
11
11
  <!-- IMPORT partials/buttons/newTopic.tpl -->
12
12
  {{{ else }}}
13
- <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary btn-sm">[[category:guest-login-post]]</a>
13
+ <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary btn-sm">{{tx("category:guest-login-post")}}</a>
14
14
  {{{ end }}}
15
15
  </div>
16
16
  <div class="d-flex gap-1">
@@ -23,7 +23,7 @@
23
23
 
24
24
  <div class="category">
25
25
  {{{ if !topics.length }}}
26
- <div class="alert alert-warning" id="category-no-topics">[[top:no-top-topics]]</div>
26
+ <div class="alert alert-warning" id="category-no-topics">{{tx("top:no-top-topics")}}</div>
27
27
  {{{ end }}}
28
28
 
29
29
  <!-- IMPORT partials/topics_list.tpl -->
@@ -19,16 +19,16 @@
19
19
  <div class="topic-info d-flex gap-2 align-items-center flex-wrap">
20
20
  <span component="topic/labels" class="d-flex gap-2 {{{ if (!scheduled && (!pinned && (!locked && (!icons.length && (!oldCid || (oldCid == "-1")))))) }}}hidden{{{ end }}}">
21
21
  <span component="topic/scheduled" class="badge badge border border-gray-300 text-body {{{ if !scheduled }}}hidden{{{ end }}}">
22
- <i class="fa fa-clock-o"></i> [[topic:scheduled]]
22
+ <i class="fa fa-clock-o"></i> {{tx("topic:scheduled")}}
23
23
  </span>
24
24
  <span component="topic/pinned" class="badge badge border border-gray-300 text-body {{{ if (scheduled || !pinned) }}}hidden{{{ end }}}">
25
- <i class="fa fa-thumb-tack"></i> {{{ if !pinExpiry }}}[[topic:pinned]]{{{ else }}}[[topic:pinned-with-expiry, {isoTimeToLocaleString(./pinExpiryISO, config.userLang)}]]{{{ end }}}
25
+ <i class="fa fa-thumb-tack"></i> {{{ if !pinExpiry }}}{{tx("topic:pinned")}}{{{ else }}}{{tx("topic:pinned-with-expiry", isoTimeToLocaleString(./pinExpiryISO, config.userLang))}}{{{ end }}}
26
26
  </span>
27
27
  <span component="topic/locked" class="badge badge border border-gray-300 text-body {{{ if !locked }}}hidden{{{ end }}}">
28
- <i class="fa fa-lock"></i> [[topic:locked]]
28
+ <i class="fa fa-lock"></i> {{tx("topic:locked")}}
29
29
  </span>
30
30
  <a component="topic/moved" href="{config.relative_path}/category/{oldCid}" class="badge badge border border-gray-300 text-body text-decoration-none {{{ if !oldCid }}}hidden{{{ end }}}">
31
- <i class="fa fa-arrow-circle-right"></i> {{{ if privileges.isAdminOrMod }}}[[topic:moved-from, {oldCategory.name}]]{{{ else }}}[[topic:moved]]{{{ end }}}
31
+ <i class="fa fa-arrow-circle-right"></i> {{{ if privileges.isAdminOrMod }}}{{tx("topic:moved-from", oldCategory.name)}}{{{ else }}}{{tx("topic:moved")}}{{{ end }}}
32
32
  </a>
33
33
  {{{ each ./icons }}}<!-- IMPORT partials/topic/icon.tpl -->{{{ end }}}
34
34
  </span>
@@ -9,7 +9,7 @@
9
9
  <div class="d-flex gap-1">
10
10
  <!-- IMPORT partials/buttons/newTopic.tpl -->
11
11
  <a href="{config.relative_path}/{selectedFilter.url}{querystring}" class="d-inline-block">
12
- <div class="alert alert-warning h-100 m-0 px-2 py-1 d-flex gap-1 align-items-center hide" id="new-topics-alert"><i class="fa fa-fw fa-rotate-right"></i>[[recent:load-new-posts]]</div>
12
+ <div class="alert alert-warning h-100 m-0 px-2 py-1 d-flex gap-1 align-items-center hide" id="new-topics-alert"><i class="fa fa-fw fa-rotate-right"></i>{{tx("recent:load-new-posts")}}</div>
13
13
  </a>
14
14
  </div>
15
15
 
@@ -26,10 +26,10 @@
26
26
  </div>
27
27
 
28
28
  <div class="category">
29
- <div id="category-no-topics" class="alert alert-warning {{{ if topics.length }}}hidden{{{ end }}}">[[unread:no-unread-topics]]</div>
29
+ <div id="category-no-topics" class="alert alert-warning {{{ if topics.length }}}hidden{{{ end }}}">{{tx("unread:no-unread-topics")}}</div>
30
30
 
31
31
  <!-- IMPORT partials/topics_list.tpl -->
32
- <button id="load-more-btn" class="btn btn-primary hide">[[unread:load-more]]</button>
32
+ <button id="load-more-btn" class="btn btn-primary hide">{{tx("unread:load-more")}}</button>
33
33
  {{{ if config.usePagination }}}
34
34
  <!-- IMPORT partials/paginator.tpl -->
35
35
  {{{ end }}}
@@ -10,13 +10,13 @@
10
10
 
11
11
  <div class="d-flex gap-2 align-items-center">
12
12
  {{{ if showInviteButton }}}
13
- <button component="user/invite" class="btn btn-sm btn-success text-nowrap"><i class="fa fa-users"></i> [[users:invite]]</button>
13
+ <button component="user/invite" class="btn btn-sm btn-success text-nowrap"><i class="fa fa-users"></i> {{tx("users:invite")}}</button>
14
14
  {{{ end }}}
15
15
 
16
16
  {{{ if displayUserSearch }}}
17
17
  <div class="search">
18
18
  <div class="input-group">
19
- <input class="form-control form-control-sm" id="search-user" type="text" placeholder="[[global:search]]"/>
19
+ <input class="form-control form-control-sm" id="search-user" type="text" placeholder="{{tx("global:search")}}"/>
20
20
  <button class="btn btn-sm btn-primary" type="button">
21
21
  <i component="user/search/icon" class="fa fa-search"></i>
22
22
  </button>
@@ -14,11 +14,11 @@
14
14
  <div class="category-header d-flex flex-column gap-2">
15
15
  <div class="d-flex gap-2 align-items-center mb-1 {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
16
16
  {{buildCategoryIcon(@value, "40px", "rounded-1 flex-shrink-0")}}
17
- <h1 class="tracking-tight fs-2 fw-semibold mb-0 text-center">[[world:name]]</h1>
17
+ <h1 class="tracking-tight fs-2 fw-semibold mb-0 text-center">{{tx("world:name")}}</h1>
18
18
  </div>
19
19
  {{{ if ./descriptionParsed }}}
20
20
  <p class="description text-secondary text-sm w-100 {{{ if config.theme.centerHeaderElements }}}text-center{{{ end }}}">
21
- {{./descriptionParsed}}
21
+ {{{ if (cid == "-1") }}}{{tx(./descriptionParsed)}}{{{ else }}}{{./descriptionParsed}}{{{ end }}}
22
22
  </p>
23
23
  {{{ end }}}
24
24
  </div>
@@ -31,7 +31,7 @@
31
31
  <form class="mb-3" role="search" method="GET" action="{config.relative_path}/search">
32
32
  <input type="hidden" name="in" value="categories" />
33
33
  <div class="input-group bottom-sheet">
34
- <input class="form-control form-control-lg" component="category-search" name="term" type="text" autocomplete="off" placeholder="[[world:category-search]]" />
34
+ <input class="form-control form-control-lg" component="category-search" name="term" type="text" autocomplete="off" placeholder="{{tx("world:category-search")}}" />
35
35
  <button class="btn btn-outline-secondary dropdown-toggle d-md-none" type="button" data-bs-toggle="dropdown">
36
36
  <i class="fa fa-fw fa-list"></i>
37
37
  </button>
@@ -76,20 +76,20 @@
76
76
  <span id="sort-label" class="visible-md-inline visible-lg-inline fw-semibold"></span>
77
77
  </button>
78
78
  <ul class="dropdown-menu" id="sort-options">
79
- <li><a class="dropdown-item" href="{config.relative_path}/world">[[world:latest]]</a></li>
80
- <li><a class="dropdown-item" href="{config.relative_path}/world?local=1">[[world:latest-local]]</a></li>
81
- <li><a class="dropdown-item" href="{config.relative_path}/world?all=1">[[world:latest-all]]</a></li>
82
- <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=day">[[world:popular-day]]</a></li>
83
- <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=week">[[world:popular-week]]</a></li>
84
- <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=month">[[world:popular-month]]</a></li>
85
- <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=year">[[world:popular-year]]</a></li>
86
- <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=alltime">[[world:popular-alltime]]</a></li>
79
+ <li><a class="dropdown-item" href="{config.relative_path}/world">{{tx("world:latest")}}</a></li>
80
+ <li><a class="dropdown-item" href="{config.relative_path}/world?local=1">{{tx("world:latest-local")}}</a></li>
81
+ <li><a class="dropdown-item" href="{config.relative_path}/world?all=1">{{tx("world:latest-all")}}</a></li>
82
+ <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=day">{{tx("world:popular-day")}}</a></li>
83
+ <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=week">{{tx("world:popular-week")}}</a></li>
84
+ <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=month">{{tx("world:popular-month")}}</a></li>
85
+ <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=year">{{tx("world:popular-year")}}</a></li>
86
+ <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=alltime">{{tx("world:popular-alltime")}}</a></li>
87
87
  </ul>
88
88
  </div>
89
89
  {{{ end }}}
90
90
  <a class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center fw-semibold" id="world-help" href="#">
91
91
  <i class="fa fa-question text-primary"></i>
92
- <span class="visible-md-inline visible-lg-inline">[[world:help]]</span>
92
+ <span class="visible-md-inline visible-lg-inline">{{tx("world:help")}}</span>
93
93
  </a>
94
94
  <!-- IMPORT partials/category/tools-dropdown-left.tpl -->
95
95
  </div>
@@ -100,13 +100,13 @@
100
100
  {{{ if !config.loggedIn }}}
101
101
  <div class="alert alert-info alert-dismissible fade show">
102
102
  <p class="fw-semibold">
103
- [[world:onboard.title]]
103
+ {{tx("world:onboard.title")}}
104
104
  </p>
105
- <p>[[world:onboard.what]]</p>
106
- <p>[[world:onboard.why]]</p>
107
- <p>[[world:onboard.how]]</p>
108
- <a href="{config.relative_path}/register" class="fw-semibold btn btn-sm btn-warning">[[global:register]]</a>
109
- <a href="{config.relative_path}/login" class="fw-semibold btn btn-sm btn-info">[[global:login]]</a>
105
+ <p>{{tx("world:onboard.what")}}</p>
106
+ <p>{{tx("world:onboard.why")}}</p>
107
+ <p>{{tx("world:onboard.how")}}</p>
108
+ <a href="{config.relative_path}/register" class="fw-semibold btn btn-sm btn-warning">{{tx("global:register")}}</a>
109
+ <a href="{config.relative_path}/login" class="fw-semibold btn btn-sm btn-info">{{tx("global:login")}}</a>
110
110
  <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
111
111
  </div>
112
112
  {{{ end }}}