add traditional chinese (opencc)

This commit is contained in:
Your Name 2024-06-02 15:11:36 -04:00 committed by Henri Dickson
parent 55b1f1b365
commit 4fceb85eb0
6 changed files with 3859 additions and 57 deletions

View file

@ -399,6 +399,7 @@ LOCALE_PATHS = [os.path.join(BASE_DIR, "locale")]
LANGUAGES = (
("en", _("English")),
("zh-hans", _("Simplified Chinese")),
("zh-hant", _("Traditional Chinese")),
)
if SITE_DOMAIN == "neodb.social":
LANGUAGES = (("zh-hans", _("Simplified Chinese")),)

View file

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-31 15:54-0400\n"
"POT-Creation-Date: 2024-06-02 15:07-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -19,17 +19,21 @@ msgstr ""
msgid "English"
msgstr "英语"
#: boofilsic/settings.py:401 boofilsic/settings.py:404
#: boofilsic/settings.py:401 boofilsic/settings.py:405
msgid "Simplified Chinese"
msgstr "简体中文"
#: boofilsic/settings.py:402
msgid "Traditional Chinese"
msgstr "繁体中文"
#: catalog/book/models.py:96
msgid "subtitle"
msgstr "副标题"
#: catalog/book/models.py:99 catalog/movie/models.py:65
#: catalog/performance/models.py:260 catalog/tv/models.py:133
#: catalog/tv/models.py:297
#: catalog/performance/models.py:260 catalog/tv/models.py:134
#: catalog/tv/models.py:298
msgid "original title"
msgstr "原名"
@ -43,9 +47,8 @@ msgstr "译者"
#: catalog/book/models.py:116 catalog/movie/models.py:145
#: catalog/performance/models.py:128 catalog/performance/models.py:270
#: catalog/templates/edition.html:47 catalog/tv/models.py:213
#: catalog/tv/models.py:377 users/models/user.py:102
#: users/templates/users/preferences.html:131
#: catalog/templates/edition.html:47 catalog/tv/models.py:214
#: catalog/tv/models.py:378 users/models/user.py:102
msgid "language"
msgstr "语言"
@ -88,7 +91,7 @@ msgstr "出品方"
#: catalog/book/models.py:260 catalog/game/models.py:58
#: catalog/movie/models.py:68 catalog/music/models.py:85
#: catalog/performance/models.py:114 catalog/performance/models.py:263
#: catalog/tv/models.py:137 catalog/tv/models.py:300
#: catalog/tv/models.py:138 catalog/tv/models.py:301
msgid "other title"
msgstr "其它标题"
@ -447,13 +450,13 @@ msgid "date of publication"
msgstr "发行日期"
#: catalog/game/models.py:106 catalog/music/models.py:59
#: catalog/tv/models.py:184
#: catalog/tv/models.py:185
msgid "YYYY-MM-DD"
msgstr ""
#: catalog/game/models.py:110 catalog/movie/models.py:96
#: catalog/performance/models.py:121 catalog/podcast/models.py:40
#: catalog/tv/models.py:164 catalog/tv/models.py:328
#: catalog/tv/models.py:165 catalog/tv/models.py:329
msgid "genre"
msgstr "类型"
@ -467,26 +470,26 @@ msgstr "平台"
#: catalog/templates/movie.html:58 catalog/templates/performance.html:33
#: catalog/templates/performanceproduction.html:33
#: catalog/templates/podcast.html:20 catalog/templates/tvseason.html:75
#: catalog/templates/tvshow.html:70 catalog/tv/models.py:199
#: catalog/tv/models.py:363
#: catalog/templates/tvshow.html:70 catalog/tv/models.py:200
#: catalog/tv/models.py:364
msgid "website"
msgstr "网站"
#: catalog/movie/models.py:75 catalog/performance/models.py:135
#: catalog/performance/models.py:277 catalog/tv/models.py:143
#: catalog/tv/models.py:307
#: catalog/performance/models.py:277 catalog/tv/models.py:144
#: catalog/tv/models.py:308
msgid "director"
msgstr "导演"
#: catalog/movie/models.py:82 catalog/performance/models.py:142
#: catalog/performance/models.py:284 catalog/tv/models.py:150
#: catalog/tv/models.py:314
#: catalog/performance/models.py:284 catalog/tv/models.py:151
#: catalog/tv/models.py:315
msgid "playwright"
msgstr "编剧"
#: catalog/movie/models.py:89 catalog/performance/models.py:170
#: catalog/performance/models.py:312 catalog/tv/models.py:157
#: catalog/tv/models.py:321
#: catalog/performance/models.py:312 catalog/tv/models.py:158
#: catalog/tv/models.py:322
msgid "actor"
msgstr "演员"
@ -498,32 +501,32 @@ msgstr "演员"
msgid "release date"
msgstr "发布日期"
#: catalog/movie/models.py:115 catalog/tv/models.py:347
#: catalog/movie/models.py:115 catalog/tv/models.py:348
#: journal/templates/_sidebar_user_mark_list.html:62
msgid "date"
msgstr "日期"
#: catalog/movie/models.py:116 catalog/performance/models.py:81
#: catalog/tv/models.py:348
#: catalog/tv/models.py:349
msgid "required"
msgstr "必填"
#: catalog/movie/models.py:120 catalog/tv/models.py:352
#: catalog/movie/models.py:120 catalog/tv/models.py:353
msgid "region or event"
msgstr "地区或类型"
#: catalog/movie/models.py:122 catalog/tv/models.py:190
#: catalog/tv/models.py:354
#: catalog/movie/models.py:122 catalog/tv/models.py:191
#: catalog/tv/models.py:355
msgid "Germany or Toronto International Film Festival"
msgstr "德国或多伦多国际电影节"
#: catalog/movie/models.py:134 catalog/tv/models.py:202
#: catalog/tv/models.py:366
#: catalog/movie/models.py:134 catalog/tv/models.py:203
#: catalog/tv/models.py:367
msgid "region"
msgstr "地区"
#: catalog/movie/models.py:155 catalog/tv/models.py:223
#: catalog/tv/models.py:387
#: catalog/movie/models.py:155 catalog/tv/models.py:224
#: catalog/tv/models.py:388
msgid "year"
msgstr "年份"
@ -1299,17 +1302,17 @@ msgstr "登录用户可看到来自其它网站的搜索结果。"
msgid "all seasons"
msgstr "本剧所有季"
#: catalog/templates/tvseason.html:32 catalog/tv/models.py:271
#: catalog/templates/tvseason.html:32 catalog/tv/models.py:272
msgid "season number"
msgstr "本季序号"
#: catalog/templates/tvseason.html:37 catalog/templates/tvshow.html:32
#: catalog/tv/models.py:107
#: catalog/tv/models.py:108
msgid "number of seasons"
msgstr "季数"
#: catalog/templates/tvseason.html:42 catalog/templates/tvshow.html:37
#: catalog/tv/models.py:110 catalog/tv/models.py:274
#: catalog/tv/models.py:111 catalog/tv/models.py:275
msgid "number of episodes"
msgstr "集数"
@ -1317,28 +1320,28 @@ msgstr "集数"
msgid "Editions"
msgstr "版本"
#: catalog/tv/models.py:171 catalog/tv/models.py:335
#: catalog/tv/models.py:172 catalog/tv/models.py:336
msgid "show time"
msgstr "上映时间"
#: catalog/tv/models.py:183
#: catalog/tv/models.py:184
msgid "Date"
msgstr "日期"
#: catalog/tv/models.py:188
#: catalog/tv/models.py:189
msgid "Region or Event"
msgstr "地区或场合"
#: catalog/tv/models.py:225 catalog/tv/models.py:389
#: catalog/tv/models.py:226 catalog/tv/models.py:390
msgid "episode length"
msgstr "单集长度"
#: catalog/tv/models.py:412
#: catalog/tv/models.py:413
#, python-brace-format
msgid "{show_title} S{season_number}"
msgstr "{show_title} 第{season_number}季"
#: catalog/tv/models.py:464
#: catalog/tv/models.py:465
#, python-brace-format
msgid "{season_title} E{episode_number}"
msgstr "{season_title} 第{episode_number}集"
@ -2467,7 +2470,7 @@ msgstr "日历"
msgid "annual summary"
msgstr "年度小结"
#: journal/templates/profile.html:131 mastodon/api.py:678
#: journal/templates/profile.html:131 mastodon/api.py:680
msgid "collection"
msgstr "收藏单"
@ -2540,56 +2543,56 @@ msgstr "分享年度小结"
msgid "#%(year)s_report"
msgstr "#我的#%(year)s书影音"
#: journal/templatetags/collection.py:35
#: journal/templatetags/collection.py:36
#, python-format
msgid "%(count)d book"
msgid_plural "%(count)d books"
msgstr[0] "%(count)d 本书"
msgstr[1] "%(count)d 本书"
#: journal/templatetags/collection.py:39
#: journal/templatetags/collection.py:44
#, python-format
msgid "%(count)d movie"
msgid_plural "%(count)d movies"
msgstr[0] "%(count)d 部电影"
msgstr[1] "%(count)d 部电影"
#: journal/templatetags/collection.py:43
#: journal/templatetags/collection.py:52
#, python-format
msgid "%(count)d tv show"
msgid_plural "%(count)d tv shows"
msgstr[0] "%(count)d 部电视剧"
msgstr[1] "%(count)d 部电视剧"
#: journal/templatetags/collection.py:47
#: journal/templatetags/collection.py:60
#, python-format
msgid "%(count)d album"
msgid_plural "%(count)d albums"
msgstr[0] "%(count)d 张专辑"
msgstr[1] "%(count)d 张专辑"
#: journal/templatetags/collection.py:51
#: journal/templatetags/collection.py:68
#, python-format
msgid "%(count)d game"
msgid_plural "%(count)d games"
msgstr[0] "%(count)d 个游戏"
msgstr[1] "%(count)d 个游戏"
#: journal/templatetags/collection.py:55
#: journal/templatetags/collection.py:76
#, python-format
msgid "%(count)d podcast"
msgid_plural "%(count)d podcasts"
msgstr[0] "%(count)d 个播客"
msgstr[1] "%(count)d 个播客"
#: journal/templatetags/collection.py:60
#: journal/templatetags/collection.py:84
#, python-format
msgid "%(count)d performance"
msgid_plural "%(count)d performances"
msgstr[0] "%(count)d 场演出"
msgstr[1] "%(count)d 场演出"
#: journal/templatetags/collection.py:67
#: journal/templatetags/collection.py:92
#, python-format
msgid "%(count)d item"
msgid_plural "%(count)d items"
@ -2668,16 +2671,16 @@ msgstr "标签已更新"
msgid "Summary posted to timeline."
msgstr "总结已发布到时间轴"
#: mastodon/api.py:521 takahe/utils.py:514
#: mastodon/api.py:523 takahe/utils.py:514
#, python-brace-format
msgid "regarding {item_title}, may contain spoiler or triggering content"
msgstr "关于 {item_title},可能包含剧透或敏感内容"
#: mastodon/api.py:683
#: mastodon/api.py:685
msgid "shared my collection"
msgstr "分享我的收藏单"
#: mastodon/api.py:686
#: mastodon/api.py:688
#, python-brace-format
msgid "shared {username}'s collection"
msgstr "分享 {username} 的收藏单"
@ -3584,8 +3587,12 @@ msgstr "发布标记到时间轴时追加标签"
msgid "e.g. #bookstodon"
msgstr "例如 #书影音"
#: users/templates/users/preferences.html:131
msgid "Language"
msgstr "语言"
#: users/templates/users/preferences.html:140
msgid "hide these categories in search results"
msgid "Hide these categories in search results"
msgstr "搜索时不显示以下类型"
#: users/templates/users/preferences.html:156
@ -3597,7 +3604,7 @@ msgid "this option limits web visits only; to limit fediverse visibility, choose
msgstr "此选项仅针对网页访客,如果不希望被联邦网络用户看到请在发表时选择仅关注者或本人"
#: users/templates/users/preferences.html:165
msgid "show your name on item page if you recently edited it"
msgid "Show your name on item page if you recently edited it"
msgstr "显示你是某条目的最近编辑者"
#: users/templates/users/preferences.html:174
@ -3621,7 +3628,7 @@ msgid "dark"
msgstr "暗色"
#: users/templates/users/preferences.html:185
msgid "focus mode"
msgid "Focus mode"
msgstr "专注模式"
#: users/templates/users/preferences.html:188
@ -3629,7 +3636,7 @@ msgid "hide reviews and ratings from other users"
msgstr "启用专注模式后搜索和条目页面将不再显示来自他人的评价和打分"
#: users/templates/users/preferences.html:190
msgid "custom styles"
msgid "Custom styles"
msgstr "自定义样式代码"
#: users/templates/users/preferences.html:209

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,10 @@
[project]
name = "neodb"
version = "0.9"
description = "🧩 self-hosted server tracking what you read/watch/listen/play, powering a global distributed community federating via ActivityPub."
readme = "README.md"
requires-python = ">= 3.12"
[tool.pyright]
exclude = [ "media", ".venv", ".git", "playground", "catalog/*/tests.py", "journal/tests.py", "neodb", "**/migrations", "**/sites/douban_*", "neodb-takahe" ]
reportIncompatibleVariableOverride = false

View file

@ -0,0 +1,27 @@
# Generated by Django 4.2.13 on 2024-06-02 19:10
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("users", "0020_user_language"),
]
operations = [
migrations.AlterField(
model_name="user",
name="language",
field=models.CharField(
choices=[
("en", "English"),
("zh-hans", "Simplified Chinese"),
("zh-hant", "Traditional Chinese"),
],
default="en",
max_length=10,
verbose_name="language",
),
),
]

View file

@ -128,7 +128,7 @@
</fieldset>
<fieldset>
{% all_languages as languages %}
<label>{% trans 'language' %}</label>
<label>{% trans 'Language' %}</label>
<select name="language">
{% for lang in languages %}
<option value="{{ lang.0 }}"
@ -137,7 +137,7 @@
</select>
</fieldset>
<fieldset>
<label>{% trans 'hide these categories in search results' %}</label>
<label>{% trans 'Hide these categories in search results' %}</label>
<select name="hidden_categories" size="3" multiple>
{% all_categories as categories %}
{% for c in categories %}
@ -162,7 +162,7 @@
<input type="checkbox"
name="show_last_edit"
{% if request.user.preference.show_last_edit %}checked{% endif %}>
{% trans 'show your name on item page if you recently edited it' %}
{% trans 'Show your name on item page if you recently edited it' %}
</label>
</fieldset>
<input type="submit" value="{% trans 'Save' %}">
@ -182,12 +182,12 @@
<input type="radio" name="theme_color" id="theme_dark" value="dark">
<label for="theme_dark">{% trans "dark" %}</label>
</p>
<h6>{% trans "focus mode" %}</h6>
<h6>{% trans "Focus mode" %}</h6>
<p>
<input type="checkbox" id="solo_mode">
<label for="solo_mode">{% trans "hide reviews and ratings from other users" %}</label>
</p>
<h6>{% trans "custom styles" %}</h6>
<h6>{% trans "Custom styles" %}</h6>
<textarea id="user_style"></textarea>
<br>
<input type="button" onclick="save_local();" value="{% trans "Save" %}">