Remove minetest forum integration

This commit is contained in:
Armen 2022-02-16 22:46:21 -05:00
parent 1d48f5dabe
commit d4be91caee
25 changed files with 60 additions and 141 deletions

View File

@ -126,12 +126,12 @@ def view(package):
.filter(MetaPackage.packages.any(Package.id != package.id)) \ .filter(MetaPackage.packages.any(Package.id != package.id)) \
.all() .all()
conflicting_modnames += db.session.query(ForumTopic.name) \ # conflicting_modnames += db.session.query(ForumTopic.name) \
.filter(ForumTopic.name.in_([ mp.name for mp in package.provides ])) \ # .filter(ForumTopic.name.in_([ mp.name for mp in package.provides ])) \
.filter(ForumTopic.topic_id != package.forums) \ # .filter(ForumTopic.topic_id != package.forums) \
.filter(~ db.exists().where(Package.forums==ForumTopic.topic_id)) \ # .filter(~ db.exists().where(Package.forums==ForumTopic.topic_id)) \
.order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \ # .order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \
.all() # .all()
conflicting_modnames = set([x[0] for x in conflicting_modnames]) conflicting_modnames = set([x[0] for x in conflicting_modnames])
@ -153,21 +153,21 @@ def view(package):
topic_error = None topic_error = None
topic_error_lvl = "warning" topic_error_lvl = "warning"
if package.state != PackageState.APPROVED and package.forums is not None: # if package.state != PackageState.APPROVED and package.forums is not None:
errors = [] # errors = []
if Package.query.filter(Package.forums==package.forums, Package.state!=PackageState.DELETED).count() > 1: # if Package.query.filter(Package.forums==package.forums, Package.state!=PackageState.DELETED).count() > 1:
errors.append("<b>" + gettext("Error: Another package already uses this forum topic!") + "</b>") # errors.append("<b>" + gettext("Error: Another package already uses this forum topic!") + "</b>")
topic_error_lvl = "danger" # topic_error_lvl = "danger"
topic = ForumTopic.query.get(package.forums) # topic = ForumTopic.query.get(package.forums)
if topic is not None: # if topic is not None:
if topic.author != package.author: # if topic.author != package.author:
errors.append("<b>" + gettext("Error: Forum topic author doesn't match package author.") + "</b>") # errors.append("<b>" + gettext("Error: Forum topic author doesn't match package author.") + "</b>")
topic_error_lvl = "danger" # topic_error_lvl = "danger"
elif package.type != PackageType.ASSETPACK: # elif package.type != PackageType.ASSETPACK:
errors.append(gettext("Warning: Forum topic not found. This may happen if the topic has only just been created.")) # errors.append(gettext("Warning: Forum topic not found. This may happen if the topic has only just been created."))
topic_error = "<br />".join(errors) # topic_error = "<br />".join(errors)
threads = Thread.query.filter_by(package_id=package.id, review_id=None) threads = Thread.query.filter_by(package_id=package.id, review_id=None)
@ -226,7 +226,7 @@ def makeLabel(obj):
class PackageForm(FlaskForm): class PackageForm(FlaskForm):
type = SelectField(lazy_gettext("Type"), [InputRequired()], choices=PackageType.choices(), coerce=PackageType.coerce, default=PackageType.TOOL) type = SelectField(lazy_gettext("Type"), [InputRequired()], choices=PackageType.choices(), coerce=PackageType.coerce, default=PackageType.GAME)
title = StringField(lazy_gettext("Title (Human-readable)"), [InputRequired(), Length(1, 100)]) title = StringField(lazy_gettext("Title (Human-readable)"), [InputRequired(), Length(1, 100)])
name = StringField(lazy_gettext("Name (Technical)"), [InputRequired(), Length(1, 100), Regexp("^[a-z0-9_]+$", 0, lazy_gettext("Lower case letters (a-z), digits (0-9), and underscores (_) only"))]) name = StringField(lazy_gettext("Name (Technical)"), [InputRequired(), Length(1, 100), Regexp("^[a-z0-9_]+$", 0, lazy_gettext("Lower case letters (a-z), digits (0-9), and underscores (_) only"))])
short_desc = StringField(lazy_gettext("Short Description (Plaintext)"), [InputRequired(), Length(1,200)]) short_desc = StringField(lazy_gettext("Short Description (Plaintext)"), [InputRequired(), Length(1,200)])
@ -243,7 +243,7 @@ class PackageForm(FlaskForm):
repo = StringField(lazy_gettext("VCS Repository URL"), [Optional(), URL()], filters = [lambda x: x or None]) repo = StringField(lazy_gettext("VCS Repository URL"), [Optional(), URL()], filters = [lambda x: x or None])
website = StringField(lazy_gettext("Website URL"), [Optional(), URL()], filters = [lambda x: x or None]) website = StringField(lazy_gettext("Website URL"), [Optional(), URL()], filters = [lambda x: x or None])
issueTracker = StringField(lazy_gettext("Issue Tracker URL"), [Optional(), URL()], filters = [lambda x: x or None]) issueTracker = StringField(lazy_gettext("Issue Tracker URL"), [Optional(), URL()], filters = [lambda x: x or None])
forums = IntegerField(lazy_gettext("Forum Topic ID"), [Optional(), NumberRange(0,999999)]) # forums = IntegerField(lazy_gettext("Forum Topic ID"), [Optional(), NumberRange(0,999999)])
video_url = StringField(lazy_gettext("Video URL"), [Optional(), URL()], filters = [lambda x: x or None]) video_url = StringField(lazy_gettext("Video URL"), [Optional(), URL()], filters = [lambda x: x or None])
submit = SubmitField(lazy_gettext("Save")) submit = SubmitField(lazy_gettext("Save"))
@ -286,7 +286,7 @@ def create_edit(author=None, name=None):
form.name.data = request.args.get("bname") form.name.data = request.args.get("bname")
form.title.data = request.args.get("title") form.title.data = request.args.get("title")
form.repo.data = request.args.get("repo") form.repo.data = request.args.get("repo")
form.forums.data = request.args.get("forums") # form.forums.data = request.args.get("forums")
form.license.data = None form.license.data = None
form.media_license.data = None form.media_license.data = None
else: else:
@ -327,7 +327,7 @@ def create_edit(author=None, name=None):
"repo": form.repo.data, "repo": form.repo.data,
"website": form.website.data, "website": form.website.data,
"issueTracker": form.issueTracker.data, "issueTracker": form.issueTracker.data,
"forums": form.forums.data, # "forums": form.forums.data,
"video_url": form.video_url.data, "video_url": form.video_url.data,
}) })
@ -602,12 +602,12 @@ def similar(package):
.order_by(db.desc(Package.score)) \ .order_by(db.desc(Package.score)) \
.all() .all()
similar_topics = ForumTopic.query \ # similar_topics = ForumTopic.query \
.filter_by(name=package.name) \ # .filter_by(name=package.name) \
.filter(ForumTopic.topic_id != package.forums) \ # .filter(ForumTopic.topic_id != package.forums) \
.filter(~ db.exists().where(Package.forums == ForumTopic.topic_id)) \ # .filter(~ db.exists().where(Package.forums == ForumTopic.topic_id)) \
.order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \ # .order_by(db.asc(ForumTopic.name), db.asc(ForumTopic.title)) \
.all() # .all()
return render_template("packages/similar.html", package=package, return render_template("packages/similar.html", package=package,
packages_modnames=packages_modnames, similar_topics=similar_topics) packages_modnames=packages_modnames, similar_topics=[])

View File

@ -49,9 +49,9 @@ class License(db.Model):
class PackageType(enum.Enum): class PackageType(enum.Enum):
TOOL = "Tool" GAME = "Game"
GAME = "Game" TOOL = "Tool"
ASSETPACK = "Asset Pack" ASSETPACK = "Asset Pack"
def toName(self): def toName(self):
return self.name.lower() return self.name.lower()
@ -226,7 +226,7 @@ class PackagePropertyKey(enum.Enum):
repo = "Repository" repo = "Repository"
website = "Website" website = "Website"
issueTracker = "Issue Tracker" issueTracker = "Issue Tracker"
forums = "Forum Topic ID" # forums = "Forum Topic ID"
def convert(self, value): def convert(self, value):
if self == PackagePropertyKey.tags: if self == PackagePropertyKey.tags:

View File

@ -66,10 +66,10 @@ def make_celery(app):
celery = make_celery(app) celery = make_celery(app)
CELERYBEAT_SCHEDULE = { CELERYBEAT_SCHEDULE = {
'topic_list_import': { # 'topic_list_import': {
'task': 'app.tasks.forumtasks.importTopicList', # 'task': 'app.tasks.forumtasks.importTopicList',
'schedule': crontab(minute=1, hour=1), # 0101 # 'schedule': crontab(minute=1, hour=1), # 0101
}, # },
'package_score_update': { 'package_score_update': {
'task': 'app.tasks.pkgtasks.updatePackageScores', 'task': 'app.tasks.pkgtasks.updatePackageScores',
'schedule': crontab(minute=10, hour=1), # 0110 'schedule': crontab(minute=10, hour=1), # 0110

View File

@ -24,10 +24,10 @@
<div class="collapse navbar-collapse" id="navbarColor01"> <div class="collapse navbar-collapse" id="navbarColor01">
<ul class="navbar-nav mr-auto"> <ul class="navbar-nav mr-auto">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{{ url_for('packages.list_all', type='tool') }}">{{ _("Tools") }}</a> <a class="nav-link" href="{{ url_for('packages.list_all', type='game') }}">{{ _("Games") }}</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{{ url_for('packages.list_all', type='game') }}">{{ _("Games") }}</a> <a class="nav-link" href="{{ url_for('packages.list_all', type='tool') }}">{{ _("Tools") }}</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{{ url_for('packages.list_all', type='asset_pack') }}">{{ _("Asset Packs") }}</a> <a class="nav-link" href="{{ url_for('packages.list_all', type='asset_pack') }}">{{ _("Asset Packs") }}</a>
@ -39,7 +39,7 @@
<a class="nav-link" href="{{ url_for('flatpage', path='help') }}">{{ _("Help") }}</a> <a class="nav-link" href="{{ url_for('flatpage', path='help') }}">{{ _("Help") }}</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{{ url_for('threads.list_all') }}">{{ _("Threads") }}</a> <a class="nav-link" href="{{ url_for('threads.list_all') }}">{{ _("Discussion") }}</a>
</li> </li>
</ul> </ul>
<form class="form-inline my-2 my-lg-0" method="GET" action="/packages/"> <form class="form-inline my-2 my-lg-0" method="GET" action="/packages/">

View File

@ -17,21 +17,6 @@
<h3>{{ _("Tools") }}</h3> <h3>{{ _("Tools") }}</h3>
{{ render_pkggrid(mpackage.packages.filter_by(type="TOOL", state="APPROVED").all()) }} {{ render_pkggrid(mpackage.packages.filter_by(type="TOOL", state="APPROVED").all()) }}
{% if similar_topics %}
<h3>{{ _("Forum Topics") }}</h3>
<ul>
{% for t in similar_topics %}
<li>
[{{ t.type.text }}]
<a href="https://forum.minetest.net/viewtopic.php?t={{ t.topic_id }}">
{{ _("%(title)s by %(display_name)s", title=t.title, display_name=t.author.display_name) }}
</a>
{% if t.wip %}[{{ _("WIP") }}]{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
<h2>{{ _("Required By") }}</h2> <h2>{{ _("Required By") }}</h2>
{{ render_pkggrid(dependers) }} {{ render_pkggrid(dependers) }}

View File

@ -113,10 +113,6 @@
{{ render_field(form.website, class_="pkg_meta") }} {{ render_field(form.website, class_="pkg_meta") }}
{{ render_field(form.issueTracker, class_="pkg_meta") }} {{ render_field(form.issueTracker, class_="pkg_meta") }}
{{ render_field_prefix_button(form.forums, class_="pkg_meta",
pattern="[0-9]+",
prefix="forum.minetest.net/viewtopic.php?t=",
placeholder=_("Tip: paste in a forum topic URL")) }}
{{ render_field(form.video_url, class_="pkg_meta", hint=_("YouTube videos will be shown in an embed.")) }} {{ render_field(form.video_url, class_="pkg_meta", hint=_("YouTube videos will be shown in an embed.")) }}
</fieldset> </fieldset>

View File

@ -28,18 +28,4 @@
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% if similar_topics %}
<h3>{{ _("Similar Forum Topics") }}</h3>
<ul>
{% for t in similar_topics %}
<li>
[{{ t.type.value }}]
<a href="https://forum.minetest.net/viewtopic.php?t={{ t.topic_id }}">
{{ _("%(title)s by %(display_name)s", title=t.title, display_name=t.author.display_name) }}
</a>
{% if t.wip %}[{{ _("WIP") }}]{% endif %}
</li>
{% endfor %}
</ul>
{% endif %}
{% endblock %} {% endblock %}

View File

@ -37,37 +37,8 @@
{{ _("Download") }} {{ _("Download") }}
</div> </div>
{% if release and (release.min_rel or release.max_rel) %}
<small class="count display-block">
{% if release.min_rel and release.max_rel %}
{{ _("Minetest %(min)s - %(max)s", min=release.min_rel.name, max=release.max_rel.name) }}
{% elif release.min_rel %}
{{ _("For Minetest %(min)s and above", min=release.min_rel.name) }}
{% elif release.max_rel %}
{{ _("Minetest %(max)s and below", max=release.max_rel.name) }}
{% endif %}
</small>
{% endif %}
</a> </a>
<p></p>
{% if package.type == package.type.TOOL %}
{% set installing_url = "https://wiki.minetest.net/Installing_Mods" %}
{% elif package.type == package.type.GAME %}
{% set installing_url = "https://wiki.minetest.net/Games#Installing_games" %}
{% elif package.type == package.type.ASSETPACK %}
{% set installing_url = "https://wiki.minetest.net/Installing_Texture_Packs" %}
{% else %}
{{ 0 / 0 }}
{% endif %}
<p class="text-center mt-1 mb-4">
<a href="{{ installing_url }}">
<small>
<i class="fas fa-question-circle mr-1"></i>
{{ _("How do I install this?") }}
</small>
</a>
</p>
{% else %} {% else %}
<i> <i>
{{ _("No downloads available") }} {{ _("No downloads available") }}
@ -170,7 +141,7 @@
<span class="count">{{ package.downloads }}</span> <span class="count">{{ package.downloads }}</span>
</a> </a>
{% endif %} {% endif %}
<a class="btn" href="{{ url_for('threads.list_all', pid=package.id) }}" title="{{ _("Threads") }}"> <a class="btn" href="{{ url_for('threads.list_all', pid=package.id) }}" title="{{ _("Discussion") }}">
<i class="fas fa-comment-alt"></i> <i class="fas fa-comment-alt"></i>
<span class="count">{{ threads | length }}</span> <span class="count">{{ threads | length }}</span>
</a> </a>
@ -194,12 +165,6 @@
<span class="count">{{ _("Source") }}</span> <span class="count">{{ _("Source") }}</span>
</a> </a>
{% endif %} {% endif %}
{% if package.forums %}
<a class="btn" href="https://forum.minetest.net/viewtopic.php?t={{ package.forums }}">
<i class="fas fa-comments"></i>
<span class="count">{{ _("Forums") }}</span>
</a>
{% endif %}
{% if package.issueTracker %} {% if package.issueTracker %}
<a class="btn" href="{{ package.issueTracker }}"> <a class="btn" href="{{ package.issueTracker }}">
<i class="fas fa-bug"></i> <i class="fas fa-bug"></i>
@ -526,7 +491,7 @@
<a class="btn btn-primary btn-sm mx-1" href="{{ url_for('threads.new', pid=package.id) }}"><i class="fas fa-plus"></i></a> <a class="btn btn-primary btn-sm mx-1" href="{{ url_for('threads.new', pid=package.id) }}"><i class="fas fa-plus"></i></a>
</div> </div>
{% endif %} {% endif %}
{{ _("Threads") }} {{ _("Discussion") }}
</h3> </h3>
<div class="list-group"> <div class="list-group">
{% from "macros/threads.html" import render_compact_threadlist %} {% from "macros/threads.html" import render_compact_threadlist %}

View File

@ -1,7 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %} {% block title %}
{{ _("Threads") }} {{ _("Discussion") }}
{% endblock %} {% endblock %}
{% block content %} {% block content %}

View File

@ -29,12 +29,6 @@
{{ _("Package Tags") }} {{ _("Package Tags") }}
</a> </a>
</li> </li>
<li class="nav-item">
<a class="nav-link {% if current_tab == "topics" %}active{% endif %}"
href="{{ url_for('todo.topics') }}">
{{ _("Forum Topics") }}
</a>
</li>
</ul> </ul>
</div> </div>
</nav> </nav>

View File

@ -161,13 +161,6 @@
<p> <p>
{{ medal.description }} {{ medal.description }}
</p> </p>
<!-- <div class="progress">
<div class="progress-bar" role="progressbar"
style="width: {{ [100 * medal.progress[0] / medal.progress[1], 100] | min }}%;"
aria-valuenow="{{ medal.progress[0] }}" aria-valuemin="0" aria-valuemax="{{ medal.progress[1] }}">
{{ _("%(value)d / %(target)d", value=medal.progress[0], target=medal.progress[1]) }}
</div>
</div> -->
</div> </div>
</div> </div>
{% endfor %} {% endfor %}

View File

@ -1049,7 +1049,7 @@ msgstr "Hilfe"
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "Themen" msgstr "Themen"
#: app/templates/base.html:48 #: app/templates/base.html:48
@ -2741,7 +2741,7 @@ msgid ""
"read private threads." "read private threads."
msgstr "" msgstr ""
"Nur Sie, der Paketautor, und Benutzer mit dem Rang eines Genehmigers oder" "Nur Sie, der Paketautor, und Benutzer mit dem Rang eines Genehmigers oder"
" höher können private Threads lesen." " höher können private Discussion lesen."
#: app/templates/threads/user_comments.html:9 #: app/templates/threads/user_comments.html:9
#: app/templates/threads/user_comments.html:13 #: app/templates/threads/user_comments.html:13

View File

@ -1039,7 +1039,7 @@ msgstr "Ayuda"
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "Hilos de discusión" msgstr "Hilos de discusión"
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1044,7 +1044,7 @@ msgstr "Aide"
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "Fils" msgstr "Fils"
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1048,7 +1048,7 @@ msgstr "Segítség"
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "" msgstr ""
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1038,7 +1038,7 @@ msgstr "Bantuan"
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "Utas" msgstr "Utas"
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1003,7 +1003,7 @@ msgstr ""
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "" msgstr ""
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1003,7 +1003,7 @@ msgstr ""
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "" msgstr ""
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1044,7 +1044,7 @@ msgstr "Bantuan"
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "Bebenang" msgstr "Bebenang"
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1006,7 +1006,7 @@ msgstr "Hjelp"
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "" msgstr ""
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1040,7 +1040,7 @@ msgstr "Помощь"
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "Треды" msgstr "Треды"
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1005,7 +1005,7 @@ msgstr ""
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "" msgstr ""
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1009,7 +1009,7 @@ msgstr ""
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "" msgstr ""
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1015,7 +1015,7 @@ msgstr "帮助"
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "" msgstr ""
#: app/templates/base.html:48 #: app/templates/base.html:48

View File

@ -1009,7 +1009,7 @@ msgstr ""
#: app/templates/base.html:42 app/templates/packages/view.html:173 #: app/templates/base.html:42 app/templates/packages/view.html:173
#: app/templates/packages/view.html:499 app/templates/threads/list.html:4 #: app/templates/packages/view.html:499 app/templates/threads/list.html:4
msgid "Threads" msgid "Discussion"
msgstr "" msgstr ""
#: app/templates/base.html:48 #: app/templates/base.html:48