nodebb-theme-persona 15.0.11 → 15.1.1
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.
- package/package.json +2 -2
- package/templates/account/blocks.tpl +8 -8
- package/templates/account/categories.tpl +5 -5
- package/templates/account/consent.tpl +21 -21
- package/templates/account/edit/password.tpl +7 -7
- package/templates/account/edit/username.tpl +5 -5
- package/templates/account/edit.tpl +21 -21
- package/templates/account/followers.tpl +2 -2
- package/templates/account/following.tpl +2 -2
- package/templates/account/groups.tpl +2 -2
- package/templates/account/info.tpl +35 -35
- package/templates/account/posts.tpl +7 -7
- package/templates/account/profile.tpl +20 -37
- package/templates/account/sessions.tpl +1 -1
- package/templates/account/settings.tpl +55 -55
- package/templates/account/theme.tpl +8 -8
- package/templates/account/topics.tpl +6 -6
- package/templates/account/uploads.tpl +4 -4
- package/templates/categories.tpl +1 -1
- package/templates/category.tpl +6 -6
- package/templates/modules/usercard.tpl +4 -5
- package/templates/notifications.tpl +2 -2
- package/templates/partials/account/header.tpl +4 -4
- package/templates/partials/account/menu.tpl +27 -27
- package/templates/partials/account/session-list.tpl +3 -3
- package/templates/partials/buttons/newTopic.tpl +1 -1
- package/templates/partials/categories/item.tpl +4 -4
- package/templates/partials/categories/lastpost.tpl +4 -4
- package/templates/partials/category/subcategory.tpl +2 -2
- package/templates/partials/chats-menu.tpl +2 -2
- package/templates/partials/cookie-consent.tpl +1 -1
- package/templates/partials/header/chats.tpl +3 -3
- package/templates/partials/header/notifications.tpl +5 -5
- package/templates/partials/header/search.tpl +4 -4
- package/templates/partials/header/user-menu.tpl +18 -18
- package/templates/partials/menu.tpl +8 -8
- package/templates/partials/notifications_list.tpl +3 -3
- package/templates/partials/paginator.tpl +9 -9
- package/templates/partials/post_bar.tpl +2 -2
- package/templates/partials/posts_list_item.tpl +2 -2
- package/templates/partials/quick-category-search-results.tpl +4 -4
- package/templates/partials/quick-search-results.tpl +2 -2
- package/templates/partials/search/results.tpl +2 -2
- package/templates/partials/topic/crosspost.tpl +1 -1
- package/templates/partials/topic/event.tpl +31 -5
- package/templates/partials/topic/navigation-post.tpl +1 -1
- package/templates/partials/topic/navigator.tpl +4 -4
- package/templates/partials/topic/post-editor.tpl +1 -1
- package/templates/partials/topic/post.tpl +11 -11
- package/templates/partials/topic/quickreply.tpl +6 -4
- package/templates/partials/topic/reply-button.tpl +5 -5
- package/templates/partials/topic/selection-tooltip.tpl +1 -1
- package/templates/partials/topic/sort.tpl +5 -5
- package/templates/partials/topic/stats.tpl +11 -11
- package/templates/partials/topic/tools.tpl +1 -1
- package/templates/partials/topic/watch.tpl +9 -9
- package/templates/partials/topics_list.tpl +14 -14
- package/templates/partials/users_list.tpl +1 -1
- package/templates/partials/users_list_menu.tpl +6 -6
- package/templates/popular.tpl +2 -2
- package/templates/recent.tpl +3 -3
- package/templates/tag.tpl +3 -3
- package/templates/tags.tpl +2 -2
- package/templates/top.tpl +2 -2
- package/templates/topic.tpl +4 -4
- package/templates/unread.tpl +3 -3
- package/templates/users.tpl +2 -2
- package/templates/world.tpl +18 -18
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div class="row">
|
|
5
5
|
<div class="col-12 col-md-6">
|
|
6
6
|
<!-- IF !disableCustomUserSkins -->
|
|
7
|
-
<h4>
|
|
7
|
+
<h4>{{tx("user:select-skin")}}</h4>
|
|
8
8
|
<div class="card card-body mb-3">
|
|
9
9
|
<select class="form-select" id="bootswatchSkin" data-property="bootswatchSkin">
|
|
10
10
|
{{{each bootswatchSkinOptions}}}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<!-- ENDIF !disableCustomUserSkins -->
|
|
16
16
|
|
|
17
17
|
<!-- IF allowUserHomePage -->
|
|
18
|
-
<h4>
|
|
18
|
+
<h4>{{tx("user:select-homepage")}}</h4>
|
|
19
19
|
<div class="card card-body mb-3">
|
|
20
20
|
<div class="mb-2">
|
|
21
21
|
<select class="form-select" id="homePageRoute" data-property="homePageRoute">
|
|
@@ -24,39 +24,39 @@
|
|
|
24
24
|
<option value="{homePageRoutes.route}" <!-- IF homePageRoutes.selected -->selected="1"<!-- ENDIF homePageRoutes.selected -->>{homePageRoutes.name}</option>
|
|
25
25
|
{{{end}}}
|
|
26
26
|
</select>
|
|
27
|
-
<p class="form-text mb-0">
|
|
27
|
+
<p class="form-text mb-0">{{tx("user:homepage-description")}}</p>
|
|
28
28
|
</div>
|
|
29
29
|
<div id="homePageCustomContainer" class="mb-2" style="display: none;">
|
|
30
|
-
<label for="homePageCustom" class="form-label">
|
|
30
|
+
<label for="homePageCustom" class="form-label">{{tx("user:custom-route")}}</label>
|
|
31
31
|
<input type="text" class="form-control" data-property="homePageCustom" id="homePageCustom" value="{settings.homePageRoute}"/>
|
|
32
|
-
<p class="form-text">
|
|
32
|
+
<p class="form-text">{{tx("user:custom-route-help")}}</p>
|
|
33
33
|
</div>
|
|
34
34
|
</div>
|
|
35
35
|
<!-- ENDIF allowUserHomePage -->
|
|
36
36
|
|
|
37
|
-
<h4>
|
|
37
|
+
<h4>{{tx("global:privacy")}}</h4>
|
|
38
38
|
<div class="card card-body mb-3">
|
|
39
39
|
<!-- IF !hideEmail -->
|
|
40
40
|
<div class="form-check mb-2">
|
|
41
41
|
<input id="showemail" class="form-check-input" type="checkbox" data-property="showemail" <!-- IF settings.showemail -->checked <!-- ENDIF settings.showemail -->/>
|
|
42
|
-
<label for="showemail" class="form-check-label">
|
|
42
|
+
<label for="showemail" class="form-check-label">{{tx("user:show-email")}}</label>
|
|
43
43
|
</div>
|
|
44
44
|
<!-- ENDIF !hideEmail -->
|
|
45
45
|
|
|
46
46
|
<!-- IF !hideFullname -->
|
|
47
47
|
<div class="form-check mb-2">
|
|
48
48
|
<input id="showfullname" class="form-check-input" type="checkbox" data-property="showfullname" <!-- IF settings.showfullname -->checked<!-- ENDIF settings.showfullname -->/>
|
|
49
|
-
<label for="showfullname" class="form-check-label">
|
|
49
|
+
<label for="showfullname" class="form-check-label">{{tx("user:show-fullname")}}</label>
|
|
50
50
|
</div>
|
|
51
51
|
<!-- ENDIF !hideFullname -->
|
|
52
52
|
<!-- IF !config.disableChat -->
|
|
53
53
|
<div class="form-check mb-2">
|
|
54
54
|
<input id="disableIncomingMessages" class="form-check-input" type="checkbox" data-property="disableIncomingMessages" <!-- IF settings.disableIncomingMessages -->checked<!-- ENDIF settings.disableIncomingMessages -->/>
|
|
55
|
-
<label for="disableIncomingMessages" class="form-check-label">
|
|
55
|
+
<label for="disableIncomingMessages" class="form-check-label">{{tx("user:disable-incoming-chats")}}</label>
|
|
56
56
|
</div>
|
|
57
57
|
|
|
58
58
|
<div class="d-flex flex-column mb-3">
|
|
59
|
-
<label class="form-label text-sm" for="chatAllowListAdd">
|
|
59
|
+
<label class="form-label text-sm" for="chatAllowListAdd">{{tx("user:chat-allow-list")}}</label>
|
|
60
60
|
|
|
61
61
|
<div component="chat/allow/list" class="d-flex flex-wrap gap-2 mb-2">
|
|
62
62
|
{{{ each settings.chatAllowListUsers }}}
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
</div>
|
|
72
72
|
|
|
73
73
|
<div class="d-flex flex-column mb-3">
|
|
74
|
-
<label class="form-label text-sm" for="chatAllowListAdd">
|
|
74
|
+
<label class="form-label text-sm" for="chatAllowListAdd">{{tx("user:chat-deny-list")}}</label>
|
|
75
75
|
|
|
76
76
|
<div component="chat/deny/list" class="d-flex flex-wrap gap-2 mb-2">
|
|
77
77
|
{{{ each settings.chatDenyListUsers }}}
|
|
@@ -82,99 +82,99 @@
|
|
|
82
82
|
{{{ end }}}
|
|
83
83
|
</div>
|
|
84
84
|
|
|
85
|
-
<input type="text" class="form-control form-control-sm" id="chatDenyListAdd" placeholder="
|
|
85
|
+
<input type="text" class="form-control form-control-sm" id="chatDenyListAdd" placeholder="{{tx("user:chat-list-add-user")}}"/>
|
|
86
86
|
</div>
|
|
87
87
|
|
|
88
88
|
<!-- ENDIF !config.disableChat -->
|
|
89
89
|
</div>
|
|
90
90
|
|
|
91
|
-
<h4>
|
|
91
|
+
<h4>{{tx("user:browsing")}}</h4>
|
|
92
92
|
<div class="card card-body mb-3">
|
|
93
93
|
<div class="mb-2">
|
|
94
94
|
<div class="d-flex gap-4 align-items-center justify-content-between mb-3">
|
|
95
|
-
<label class="form-label text-sm mb-0" for="unreadCutoff">
|
|
95
|
+
<label class="form-label text-sm mb-0" for="unreadCutoff">{{tx("user:unread.cutoff", maxUnreadCutoff)}}</label>
|
|
96
96
|
<input id="unreadCutoff" value="{settings.unreadCutoff}" type="number" class="form-control form-control-sm text-end" data-property="unreadCutoff" min="1" max="{maxUnreadCutoff}" style="max-width: 64px;">
|
|
97
97
|
</div>
|
|
98
|
-
<p class="form-text text-xs">
|
|
98
|
+
<p class="form-text text-xs">{{tx("user:unread.cutoff-help")}}</p>
|
|
99
99
|
</div>
|
|
100
100
|
|
|
101
101
|
<div class="form-check mb-2">
|
|
102
102
|
<input id="openOutgoingLinksInNewTab" class="form-check-input" type="checkbox" data-property="openOutgoingLinksInNewTab" <!-- IF settings.openOutgoingLinksInNewTab -->checked<!-- ENDIF settings.openOutgoingLinksInNewTab -->/>
|
|
103
|
-
<label for="openOutgoingLinksInNewTab" class="form-check-label">
|
|
103
|
+
<label for="openOutgoingLinksInNewTab" class="form-check-label">{{tx("user:open-links-in-new-tab")}}</label>
|
|
104
104
|
</div>
|
|
105
105
|
|
|
106
106
|
<div class="form-check mb-2">
|
|
107
107
|
<input id="updateUrlWithPostIndex" class="form-check-input" type="checkbox" data-property="updateUrlWithPostIndex" {{{ if settings.updateUrlWithPostIndex }}}checked{{{ end }}}/>
|
|
108
|
-
<label for="updateUrlWithPostIndex" class="form-check-label">
|
|
108
|
+
<label for="updateUrlWithPostIndex" class="form-check-label">{{tx("user:update-url-with-post-index")}}</label>
|
|
109
109
|
</div>
|
|
110
110
|
<div class="form-check mb-2">
|
|
111
111
|
<input id="scrollToMyPost" class="form-check-input" type="checkbox" data-property="scrollToMyPost" <!-- IF settings.scrollToMyPost -->checked<!-- ENDIF settings.scrollToMyPost -->/>
|
|
112
|
-
<label for="scrollToMyPost" class="form-check-label">
|
|
112
|
+
<label for="scrollToMyPost" class="form-check-label">{{tx("user:scroll-to-my-post")}}</label>
|
|
113
113
|
</div>
|
|
114
114
|
{{{ if inTopicSearchAvailable }}}
|
|
115
115
|
<div class="form-check">
|
|
116
116
|
<input id="topicSearchEnabled" class="form-check-input" type="checkbox" data-property="topicSearchEnabled" <!-- IF settings.topicSearchEnabled -->checked<!-- ENDIF settings.topicSearchEnabled -->/>
|
|
117
|
-
<label for="topicSearchEnabled" class="form-check-label">
|
|
117
|
+
<label for="topicSearchEnabled" class="form-check-label">{{tx("user:enable-topic-searching")}}</label>
|
|
118
118
|
</div>
|
|
119
|
-
<p class="form-text">
|
|
119
|
+
<p class="form-text">{{tx("user:topic-search-help")}}</p>
|
|
120
120
|
{{{ end }}}
|
|
121
121
|
</div>
|
|
122
122
|
|
|
123
|
-
<h4>
|
|
123
|
+
<h4>{{tx("global:pagination")}}</h4>
|
|
124
124
|
<div class="card card-body mb-3">
|
|
125
125
|
<div class="form-check mb-2">
|
|
126
126
|
<input id="usePagination" type="checkbox" class="form-check-input" data-property="usePagination" <!-- IF settings.usePagination -->checked<!-- ENDIF settings.usePagination -->>
|
|
127
|
-
<label for="usePagination" class="form-check-label">
|
|
127
|
+
<label for="usePagination" class="form-check-label">{{tx("user:paginate-description")}}</label>
|
|
128
128
|
</div>
|
|
129
129
|
<div class="d-flex gap-4 align-items-center justify-content-between mb-2">
|
|
130
|
-
<label class="form-label text-sm text-nowrap mb-0" for="topicsPerPage">
|
|
130
|
+
<label class="form-label text-sm text-nowrap mb-0" for="topicsPerPage">{{tx("user:topics-per-page")}} ({{tx("user:max-items-per-page", maxTopicsPerPage)}})</label>
|
|
131
131
|
<input type="number" class="form-control form-control-sm text-end" id="topicsPerPage" data-property="topicsPerPage" value="{settings.topicsPerPage}" min="1" max="{maxTopicsPerPage}" style="max-width: 64px;">
|
|
132
132
|
</div>
|
|
133
133
|
<div class="d-flex gap-4 align-items-center justify-content-between">
|
|
134
|
-
<label class="form-label text-sm text-nowrap mb-0" for="postsPerPage">
|
|
134
|
+
<label class="form-label text-sm text-nowrap mb-0" for="postsPerPage">{{tx("user:posts-per-page")}} ({{tx("user:max-items-per-page", maxPostsPerPage)}})</label>
|
|
135
135
|
<input type="number" class="form-control form-control-sm text-end" id="postsPerPage" data-property="postsPerPage" value="{settings.postsPerPage}" min="1" max="{maxPostsPerPage}" style="max-width: 64px;">
|
|
136
136
|
</div>
|
|
137
137
|
</div>
|
|
138
138
|
|
|
139
|
-
<h4>
|
|
139
|
+
<h4>{{tx("global:sort")}}</h4>
|
|
140
140
|
<div class="card card-body mb-3">
|
|
141
141
|
<div class="mb-2">
|
|
142
|
-
<label for="categoryTopicSort" class="form-label">
|
|
142
|
+
<label for="categoryTopicSort" class="form-label">{{tx("user:category-topic-sort")}}</label>
|
|
143
143
|
<select id="categoryTopicSort" class="form-select" data-property="categoryTopicSort">
|
|
144
|
-
<option value="recently_replied" {{{ if (settings.categoryTopicSort == "recently_replied") }}}selected{{{ end }}}>
|
|
145
|
-
<option value="recently_created" {{{ if (settings.categoryTopicSort == "recently_created") }}}selected{{{ end }}}>
|
|
146
|
-
<option value="most_posts" {{{ if (settings.categoryTopicSort == "most_posts") }}}selected{{{ end }}}>
|
|
147
|
-
<option value="most_votes" {{{ if (settings.categoryTopicSort == "most_votes") }}}selected{{{ end }}}>
|
|
148
|
-
<option value="most_views" {{{ if (settings.categoryTopicSort == "most_views") }}}selected{{{ end }}}>
|
|
144
|
+
<option value="recently_replied" {{{ if (settings.categoryTopicSort == "recently_replied") }}}selected{{{ end }}}>{{tx("topic:recently-replied")}}</option>
|
|
145
|
+
<option value="recently_created" {{{ if (settings.categoryTopicSort == "recently_created") }}}selected{{{ end }}}>{{tx("topic:recently-created")}}</option>
|
|
146
|
+
<option value="most_posts" {{{ if (settings.categoryTopicSort == "most_posts") }}}selected{{{ end }}}>{{tx("topic:most-posts")}}</option>
|
|
147
|
+
<option value="most_votes" {{{ if (settings.categoryTopicSort == "most_votes") }}}selected{{{ end }}}>{{tx("topic:most-votes")}}</option>
|
|
148
|
+
<option value="most_views" {{{ if (settings.categoryTopicSort == "most_views") }}}selected{{{ end }}}>{{tx("topic:most-views")}}</option>
|
|
149
149
|
</select>
|
|
150
150
|
</div>
|
|
151
151
|
<div>
|
|
152
|
-
<label for="topicPostSort" class="form-label">
|
|
152
|
+
<label for="topicPostSort" class="form-label">{{tx("user:topic-post-sort")}}</label>
|
|
153
153
|
<select id="topicPostSort" class="form-select" data-property="topicPostSort">
|
|
154
|
-
<option value="oldest_to_newest" {{{ if (settings.topicPostSort == "oldest_to_newest") }}}selected{{{ end }}}>
|
|
155
|
-
<option value="newest_to_oldest" {{{ if (settings.topicPostSort == "newest_to_oldest") }}}selected{{{ end }}}>
|
|
156
|
-
<option value="most_votes" {{{ if (settings.topicPostSort == "most_votes") }}}selected{{{ end }}}>
|
|
154
|
+
<option value="oldest_to_newest" {{{ if (settings.topicPostSort == "oldest_to_newest") }}}selected{{{ end }}}>{{tx("topic:oldest-to-newest")}}</option>
|
|
155
|
+
<option value="newest_to_oldest" {{{ if (settings.topicPostSort == "newest_to_oldest") }}}selected{{{ end }}}>{{tx("topic:newest-to-oldest")}}</option>
|
|
156
|
+
<option value="most_votes" {{{ if (settings.topicPostSort == "most_votes") }}}selected{{{ end }}}>{{tx("topic:most-votes")}}</option>
|
|
157
157
|
</select>
|
|
158
158
|
</div>
|
|
159
159
|
</div>
|
|
160
160
|
|
|
161
161
|
<!-- IF !disableEmailSubscriptions -->
|
|
162
|
-
<h4>
|
|
162
|
+
<h4>{{tx("global:email")}}</h4>
|
|
163
163
|
<div class="card card-body mb-3">
|
|
164
164
|
<div class="mb-2">
|
|
165
|
-
<label class="form-label" for="dailyDigestFreq">
|
|
165
|
+
<label class="form-label" for="dailyDigestFreq">{{tx("user:digest-label")}}</label>
|
|
166
166
|
<select class="form-select" id="dailyDigestFreq" data-property="dailyDigestFreq" autocomplete="off">
|
|
167
167
|
{{{each dailyDigestFreqOptions}}}
|
|
168
168
|
<option value="{./value}" {{{ if ./selected }}}selected="1"{{{ end }}}>{{tx(./name)}}</option>
|
|
169
169
|
{{{end}}}
|
|
170
170
|
</select>
|
|
171
|
-
<p class="form-text">
|
|
171
|
+
<p class="form-text">{{tx("user:digest-description")}}</p>
|
|
172
172
|
</div>
|
|
173
173
|
</div>
|
|
174
174
|
<!-- ENDIF !disableEmailSubscriptions -->
|
|
175
175
|
|
|
176
176
|
{{{each customSettings}}}
|
|
177
|
-
<h4>{customSettings.title}</h4>
|
|
177
|
+
<h4>{{tx(customSettings.title)}}</h4>
|
|
178
178
|
<div class="card card-body mb-3">
|
|
179
179
|
{{customSettings.content}}
|
|
180
180
|
</div>
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
</div>
|
|
184
184
|
|
|
185
185
|
<div class="col-12 col-md-6">
|
|
186
|
-
<h4>
|
|
186
|
+
<h4>{{tx("global:language")}}</h4>
|
|
187
187
|
<div class="card card-body mb-3">
|
|
188
188
|
<select data-property="userLang" class="form-select">
|
|
189
189
|
{{{each languages}}}
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
</div>
|
|
194
194
|
<!-- IF isAdmin -->
|
|
195
195
|
<!-- IF isSelf -->
|
|
196
|
-
<h4>
|
|
196
|
+
<h4>{{tx("user:acp-language")}}</h4>
|
|
197
197
|
<div class="card card-body mb-3">
|
|
198
198
|
<select id="acpLang" data-property="acpLang" class="form-select">
|
|
199
199
|
{{{each acpLanguages}}}
|
|
@@ -204,38 +204,38 @@
|
|
|
204
204
|
<!-- ENDIF isSelf -->
|
|
205
205
|
<!-- ENDIF isAdmin -->
|
|
206
206
|
|
|
207
|
-
<h4>
|
|
207
|
+
<h4>{{tx("topic:watch")}}</h4>
|
|
208
208
|
<div class="card card-body mb-3">
|
|
209
209
|
<div class="form-check mb-2">
|
|
210
210
|
<input id="followTopicsOnCreate" class="form-check-input" type="checkbox" data-property="followTopicsOnCreate" <!-- IF settings.followTopicsOnCreate -->checked <!-- ENDIF settings.followTopicsOnCreate -->/>
|
|
211
|
-
<label for="followTopicsOnCreate" class="form-check-label">
|
|
211
|
+
<label for="followTopicsOnCreate" class="form-check-label">{{tx("user:follow-topics-you-create")}}</label>
|
|
212
212
|
</div>
|
|
213
213
|
<div class="form-check mb-2">
|
|
214
214
|
<input id="followTopicsOnReply" class="form-check-input" type="checkbox" data-property="followTopicsOnReply" <!-- IF settings.followTopicsOnReply -->checked<!-- ENDIF settings.followTopicsOnReply -->/>
|
|
215
|
-
<label for="followTopicsOnReply" class="form-check-label">
|
|
215
|
+
<label for="followTopicsOnReply" class="form-check-label">{{tx("user:follow-topics-you-reply-to")}}</label>
|
|
216
216
|
</div>
|
|
217
217
|
<div class="">
|
|
218
|
-
<label for="categoryWatchState" class="form-label">
|
|
218
|
+
<label for="categoryWatchState" class="form-label">{{tx("user:default-category-watch-state")}}</label>
|
|
219
219
|
<select id="categoryWatchState" class="form-select" data-property="categoryWatchState">
|
|
220
|
-
<option value="tracking" <!-- IF categoryWatchState.tracking -->selected<!-- ENDIF categoryWatchState.tracking -->>
|
|
221
|
-
<option value="notwatching" <!-- IF categoryWatchState.notwatching -->selected<!-- ENDIF categoryWatchState.notwatching -->>
|
|
222
|
-
<option value="ignoring" <!-- IF categoryWatchState.ignoring -->selected<!-- ENDIF categoryWatchState.ignoring -->>
|
|
220
|
+
<option value="tracking" <!-- IF categoryWatchState.tracking -->selected<!-- ENDIF categoryWatchState.tracking -->>{{tx("category:tracking")}}</option>
|
|
221
|
+
<option value="notwatching" <!-- IF categoryWatchState.notwatching -->selected<!-- ENDIF categoryWatchState.notwatching -->>{{tx("category:not-watching")}}</option>
|
|
222
|
+
<option value="ignoring" <!-- IF categoryWatchState.ignoring -->selected<!-- ENDIF categoryWatchState.ignoring -->>{{tx("category:ignoring")}}</option>
|
|
223
223
|
</select>
|
|
224
224
|
</div>
|
|
225
225
|
</div>
|
|
226
226
|
|
|
227
227
|
|
|
228
|
-
<h4>
|
|
228
|
+
<h4>{{tx("user:notifications")}}</h4>
|
|
229
229
|
<div class="card card-body mb-3">
|
|
230
230
|
<div class="row align-items-center mb-2">
|
|
231
231
|
<div class="col-7">
|
|
232
|
-
<label class="text-sm" for="upvote-notif-freq">
|
|
232
|
+
<label class="text-sm" for="upvote-notif-freq">{{tx("user:upvote-notif-freq")}}</label>
|
|
233
233
|
</div>
|
|
234
234
|
<div class="col-5">
|
|
235
235
|
<select class="form-select form-select-sm" id="upvote-notif-freq" name="upvote-notif-freq" data-property="upvoteNotifFreq">
|
|
236
236
|
{{{ each upvoteNotifFreq }}}
|
|
237
237
|
<option value="{./name}" {{{ if ./selected }}}selected{{{ end }}}>
|
|
238
|
-
|
|
238
|
+
{{tx(./label)}}
|
|
239
239
|
</option>
|
|
240
240
|
{{{end}}}
|
|
241
241
|
</select>
|
|
@@ -243,15 +243,15 @@
|
|
|
243
243
|
</div>
|
|
244
244
|
<div class="form-check mb-3">
|
|
245
245
|
<input class="form-check-input" type="checkbox" role="switch" id="hideReadNotifications" data-property="hideReadNotifications" {{{ if settings.hideReadNotifications }}}checked{{{ end }}} />
|
|
246
|
-
<label class="form-check-label text-sm" for="hideReadNotifications">
|
|
246
|
+
<label class="form-check-label text-sm" for="hideReadNotifications">{{tx("user:hide-read-notifications")}}</label>
|
|
247
247
|
</div>
|
|
248
248
|
<hr />
|
|
249
249
|
<table component="notification/table" class="table">
|
|
250
250
|
<thead>
|
|
251
251
|
<tr>
|
|
252
252
|
<th></th>
|
|
253
|
-
<th class="text-center fw-semibold px-2">
|
|
254
|
-
<th class="text-center fw-semibold px-2">
|
|
253
|
+
<th class="text-center fw-semibold px-2">{{tx("user:notification-type-web")}}</th>
|
|
254
|
+
<th class="text-center fw-semibold px-2">{{tx("user:notification-type-email")}}</th>
|
|
255
255
|
</tr>
|
|
256
256
|
</thead>
|
|
257
257
|
<tbody>
|
|
@@ -283,7 +283,7 @@
|
|
|
283
283
|
</div>
|
|
284
284
|
</div>
|
|
285
285
|
<div class="form-actions">
|
|
286
|
-
<a id="submitBtn" href="#" class="btn btn-primary">
|
|
286
|
+
<a id="submitBtn" href="#" class="btn btn-primary">{{tx("global:save-changes")}}</a>
|
|
287
287
|
</div>
|
|
288
288
|
</div>
|
|
289
289
|
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
<!-- IMPORT partials/account/header.tpl -->
|
|
2
2
|
|
|
3
|
-
<p>
|
|
3
|
+
<p>{{tx("themes/persona:settings.intro")}}</p>
|
|
4
4
|
|
|
5
5
|
<hr />
|
|
6
6
|
|
|
7
7
|
<form id="theme-settings" role="form">
|
|
8
8
|
<div class="form-check mb-3">
|
|
9
9
|
<input class="form-check-input" type="checkbox" id="persona:menus:legacy-layout" name="persona:menus:legacy-layout">
|
|
10
|
-
<label class="form-check-label" for="persona:menus:legacy-layout">
|
|
10
|
+
<label class="form-check-label" for="persona:menus:legacy-layout">{{tx("themes/persona:settings.mobile-menu-side")}}</label>
|
|
11
11
|
</div>
|
|
12
12
|
|
|
13
13
|
<div class="mb-3">
|
|
14
|
-
<label for="persona:navbar:autohide">
|
|
14
|
+
<label for="persona:navbar:autohide">{{tx("themes/persona:settings.autoHidingNavbar")}}</label>
|
|
15
15
|
<select multiple class="form-control" name="persona:navbar:autohide" id="persona:navbar:autohide">
|
|
16
|
-
<option value="xs">
|
|
17
|
-
<option value="sm">
|
|
18
|
-
<option value="md">
|
|
19
|
-
<option value="lg">
|
|
16
|
+
<option value="xs">{{tx("themes/persona:settings.autoHidingNavbar-xs")}}</option>
|
|
17
|
+
<option value="sm">{{tx("themes/persona:settings.autoHidingNavbar-sm")}}</option>
|
|
18
|
+
<option value="md">{{tx("themes/persona:settings.autoHidingNavbar-md")}}</option>
|
|
19
|
+
<option value="lg">{{tx("themes/persona:settings.autoHidingNavbar-lg")}}</option>
|
|
20
20
|
</select>
|
|
21
21
|
</div>
|
|
22
22
|
|
|
23
|
-
<button id="save" type="button" class="btn btn-primary">
|
|
23
|
+
<button id="save" type="button" class="btn btn-primary">{{tx("global:save-changes")}}</button>
|
|
24
24
|
</form>
|
|
25
25
|
|
|
26
26
|
<!-- IMPORT partials/account/footer.tpl -->
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
|
4
4
|
<div class="d-flex gap-1">
|
|
5
|
-
<h3 class="fw-semibold fs-4 mb-0 align-self-center">
|
|
5
|
+
<h3 class="fw-semibold fs-4 mb-0 align-self-center">{{tx("global:topics")}}</h3>
|
|
6
6
|
{{{ if showSort }}}
|
|
7
7
|
<div class="dropdown bottom-sheet" component="thread/sort">
|
|
8
|
-
<button title="
|
|
8
|
+
<button title="{{tx("global:sort")}}" class="btn btn-ghost btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" type="button"><i class="fa-solid fa-arrow-up-wide-short"></i></button>
|
|
9
9
|
<ul class="dropdown-menu p-1 text-sm" role="menu">
|
|
10
10
|
{{{each sortOptions }}}
|
|
11
11
|
<li>
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
|
|
23
23
|
<div class="d-flex gap-1">
|
|
24
24
|
{{{ if canEdit }}}
|
|
25
|
-
<a href="{config.relative_path}/user/{userslug}/topics" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/topics }}}active{{{ end }}}">
|
|
26
|
-
<a href="{config.relative_path}/user/{userslug}/watched"class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/watched }}}active{{{ end }}}">
|
|
27
|
-
<a href="{config.relative_path}/user/{userslug}/ignored" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/ignored }}}active{{{ end }}}">
|
|
28
|
-
<a href="{config.relative_path}/user/{userslug}/read" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/read }}}active{{{ end }}}">
|
|
25
|
+
<a href="{config.relative_path}/user/{userslug}/topics" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/topics }}}active{{{ end }}}">{{tx("global:header.recent")}}</a>
|
|
26
|
+
<a href="{config.relative_path}/user/{userslug}/watched"class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/watched }}}active{{{ end }}}">{{tx("user:watched")}}</a>
|
|
27
|
+
<a href="{config.relative_path}/user/{userslug}/ignored" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/ignored }}}active{{{ end }}}">{{tx("user:ignored")}}</a>
|
|
28
|
+
<a href="{config.relative_path}/user/{userslug}/read" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/read }}}active{{{ end }}}">{{tx("user:read")}}</a>
|
|
29
29
|
{{{ end }}}
|
|
30
30
|
</div>
|
|
31
31
|
</div>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<!-- IMPORT partials/account/header.tpl -->
|
|
2
2
|
<h1 class="fs-4">{{tx(title)}}</h1>
|
|
3
3
|
<!-- IF privateUploads -->
|
|
4
|
-
<div class="alert alert-info text-center">
|
|
4
|
+
<div class="alert alert-info text-center">{{tx("uploads:private-uploads-info")}}</div>
|
|
5
5
|
<!-- ELSE -->
|
|
6
|
-
<div class="alert alert-info text-center">
|
|
6
|
+
<div class="alert alert-info text-center">{{tx("uploads:public-uploads-info")}}</div>
|
|
7
7
|
<!-- ENDIF privateUploads -->
|
|
8
8
|
|
|
9
9
|
<!-- IF !uploads.length -->
|
|
10
|
-
<div class="alert alert-warning text-center">
|
|
10
|
+
<div class="alert alert-warning text-center">{{tx("uploads:no-uploads-found")}}</div>
|
|
11
11
|
<!-- ENDIF !uploads.length -->
|
|
12
12
|
|
|
13
13
|
<div class="table-responsive">
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<a class="text-break text-reset text-sm" href="{config.relative_path}{./url}">{./url}</a>
|
|
26
26
|
</td>
|
|
27
27
|
<td style="width: 1%; white-space: nowrap;">
|
|
28
|
-
<button class="btn btn-danger btn-sm" data-action="delete" aria-label="
|
|
28
|
+
<button class="btn btn-danger btn-sm" data-action="delete" aria-label="{{tx("aria:delete-upload-button")}}"><i class="fa fa-trash"></i></button>
|
|
29
29
|
</td>
|
|
30
30
|
</tr>
|
|
31
31
|
{{{ end }}}
|
package/templates/categories.tpl
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
{{{ if pagination.pages.length }}}
|
|
10
10
|
<div><!-- IMPORT partials/category/selector-dropdown-left.tpl --></div>
|
|
11
11
|
{{{ else }}}
|
|
12
|
-
<h1 class="categories-title text-uppercase text-sm mb-2 fw-normal">
|
|
12
|
+
<h1 class="categories-title text-uppercase text-sm mb-2 fw-normal">{{tx("pages:categories")}}</h1>
|
|
13
13
|
{{{ end }}}
|
|
14
14
|
<ul class="categories list-unstyled" itemscope itemtype="http://www.schema.org/ItemList">
|
|
15
15
|
{{{ each categories }}}
|
package/templates/category.tpl
CHANGED
|
@@ -12,22 +12,22 @@
|
|
|
12
12
|
<div class="topic-list-header sticky-top btn-toolbar justify-content-between align-items-center px-1 py-2 mb-2 flex-nowrap">
|
|
13
13
|
<div class="d-flex gap-1">
|
|
14
14
|
{{{ if privileges.topics:create }}}
|
|
15
|
-
<a href="{config.relative_path}/compose?cid={cid}" component="category/post" id="new_topic" class="btn btn-primary btn-sm text-nowrap" data-ajaxify="false" role="button">
|
|
15
|
+
<a href="{config.relative_path}/compose?cid={cid}" component="category/post" id="new_topic" class="btn btn-primary btn-sm text-nowrap" data-ajaxify="false" role="button">{{tx("category:new-topic-button")}}</a>
|
|
16
16
|
{{{ else }}}
|
|
17
17
|
{{{ if !loggedIn }}}
|
|
18
|
-
<a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary btn-sm">
|
|
18
|
+
<a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary btn-sm">{{tx("category:guest-login-post")}}</a>
|
|
19
19
|
{{{ end }}}
|
|
20
20
|
{{{ end }}}
|
|
21
21
|
|
|
22
22
|
<a href="{url}" class="d-inline-block">
|
|
23
|
-
<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>
|
|
23
|
+
<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>
|
|
24
24
|
</a>
|
|
25
25
|
</div>
|
|
26
26
|
<div component="category/controls" class="d-flex gap-1">
|
|
27
27
|
{{{ if !isNumber(cid) }}}
|
|
28
28
|
<a href="{./url}" class="btn btn-sm d-flex gap-2 align-items-center" data-ajaxify="false">
|
|
29
29
|
<i class="fa fa-external-link text-primary"></i>
|
|
30
|
-
<span class="fw-semibold">
|
|
30
|
+
<span class="fw-semibold">{{tx("category:view-original")}}</span>
|
|
31
31
|
</a>
|
|
32
32
|
{{{ end }}}
|
|
33
33
|
<!-- IMPORT partials/category/watch.tpl -->
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
{{{ if (./inbox && (./hasFollowers == false)) }}}
|
|
41
41
|
<div class="alert alert-warning mb-4" id="category-no-followers" data-bs-toggle="dropdown" data-bs-target='[component="topic/watch"] button' aria-hidden="true">
|
|
42
42
|
<i class="fa fa-triangle-exclamation pe-2"></i>
|
|
43
|
-
|
|
43
|
+
{{tx("category:no-followers")}}
|
|
44
44
|
<a href="#" class="stretched-link"></a>
|
|
45
45
|
</div>
|
|
46
46
|
{{{ end }}}
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
{{{ if (!topics.length && privileges.topics:create)}}}
|
|
49
49
|
<hr class="visible-xs" />
|
|
50
50
|
<div class="alert alert-warning" id="category-no-topics">
|
|
51
|
-
|
|
51
|
+
{{tx("category:no-topics")}}
|
|
52
52
|
</div>
|
|
53
53
|
{{{ end }}}
|
|
54
54
|
|
|
@@ -10,20 +10,20 @@
|
|
|
10
10
|
|
|
11
11
|
<div class="d-flex gap-2 align-items-center">
|
|
12
12
|
<a href="{config.relative_path}/user/{userslug}" class="text-reset text-truncate d-block">
|
|
13
|
-
<span class="usercard-username text-uppercase text-sm text-truncate">{{{ if !banned }}}@{username}{{{ else }}}
|
|
13
|
+
<span class="usercard-username text-uppercase text-sm text-truncate">{{{ if !banned }}}@{username}{{{ else }}}{{tx("user:banned")}}{{{ end }}}</span>
|
|
14
14
|
</a>
|
|
15
15
|
{{{ if !banned }}}
|
|
16
|
-
<span component="user/status" class="border border-white border-2 m-0 rounded-circle status {status}" title="
|
|
16
|
+
<span component="user/status" class="border border-white border-2 m-0 rounded-circle status {status}" title="{{tx(concat("global:", status))}}" style="transform: none;"><span class="visually-hidden">{{tx(concat("global:", status))}}</span></span>
|
|
17
17
|
{{{ end }}}
|
|
18
18
|
</div>
|
|
19
19
|
|
|
20
20
|
<div class="d-flex justify-content-between usercard-info">
|
|
21
21
|
<div class="d-flex flex-column text-center">
|
|
22
|
-
<small>
|
|
22
|
+
<small>{{tx("global:posts")}}</small>
|
|
23
23
|
<span class="fs-5">{humanReadableNumber(postcount)}</span>
|
|
24
24
|
</div>
|
|
25
25
|
<div class="d-flex flex-column text-center">
|
|
26
|
-
<small>
|
|
26
|
+
<small>{{tx("global:reputation")}}</small>
|
|
27
27
|
<span class="fs-5">{humanReadableNumber(reputation)}</span>
|
|
28
28
|
</div>
|
|
29
29
|
<button class="btn-morph persona-fab fs-3 {{{ if banned }}} invisible{{{ end }}}">
|
|
@@ -35,5 +35,4 @@
|
|
|
35
35
|
</button>
|
|
36
36
|
</div>
|
|
37
37
|
</div>
|
|
38
|
-
|
|
39
38
|
</div>
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
|
|
26
26
|
<button component="notifications/mark_all" class="btn btn-ghost btn-sm" type="button">
|
|
27
27
|
<i class="fa fa-eye"></i>
|
|
28
|
-
|
|
28
|
+
{{tx("notifications:mark-all-read")}}
|
|
29
29
|
</button>
|
|
30
30
|
</div>
|
|
31
31
|
|
|
32
32
|
<hr />
|
|
33
33
|
|
|
34
34
|
<div class="alert alert-info {{{ if notifications.length }}}hidden{{{ end }}}">
|
|
35
|
-
|
|
35
|
+
{{tx("notifications:no-notifs")}}
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
<ul component="notifications/list" class="notifications-list list-unstyled" data-nextstart="{nextStart}">
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
</a>
|
|
17
17
|
{{{ end }}}
|
|
18
18
|
|
|
19
|
-
<span component="user/status" class="fs-3 position-absolute border border-white border-2 rounded-circle status {status}" style="top: 17px; right: 3px; padding: 10px;"><span class="visually-hidden">
|
|
19
|
+
<span component="user/status" class="fs-3 position-absolute border border-white border-2 rounded-circle status {status}" style="top: 17px; right: 3px; padding: 10px;"><span class="visually-hidden">{{tx(concat("global:", status))}}</span></span>
|
|
20
20
|
|
|
21
21
|
{{{ if !isSelf }}}
|
|
22
|
-
<button style="top: 93px; right:4px;" class="btn-morph persona-fab position-absolute {{{ if isFollowing }}}heart{{{ else }}}plus{{{ end }}}" title="{{{ if isFollowing }}}
|
|
22
|
+
<button style="top: 93px; right:4px;" class="btn-morph persona-fab position-absolute {{{ if isFollowing }}}heart{{{ else }}}plus{{{ end }}}" title="{{{ if isFollowing }}}{{tx("global:unfollow")}}{{{ else }}}{{tx("global:follow")}}{{{ end }}}">
|
|
23
23
|
<span>
|
|
24
24
|
<span class="s1"></span>
|
|
25
25
|
<span class="s2"></span>
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
<span class="resize p-2 m-2 rounded-1 text-bg-light opacity-75"><i class="fa fa-fw fa-arrows"></i></span>
|
|
37
37
|
<span class="remove p-2 m-2 rounded-1 text-bg-light opacity-75"><i class="fa fa-fw fa-times"></i></span>
|
|
38
38
|
</div>
|
|
39
|
-
<a href="#" class="save btn btn-primary">
|
|
40
|
-
<div class="indicator text-bg-primary">
|
|
39
|
+
<a href="#" class="save btn btn-primary">{{tx("groups:cover-save")}} <i class="fa fa-fw fa-floppy-o"></i></a>
|
|
40
|
+
<div class="indicator text-bg-primary">{{tx("groups:cover-saving")}} <i class="fa fa-fw fa-refresh fa-spin"></i></div>
|
|
41
41
|
{{{ end }}}
|
|
42
42
|
|
|
43
43
|
<!-- IMPORT partials/account/menu.tpl -->
|