diff --git a/ram/bookshelf/migrations/0024_alter_basebook_language.py b/ram/bookshelf/migrations/0024_alter_basebook_language.py
new file mode 100644
index 0000000..b7f5c5c
--- /dev/null
+++ b/ram/bookshelf/migrations/0024_alter_basebook_language.py
@@ -0,0 +1,123 @@
+# Generated by Django 6.0 on 2025-12-03 22:07
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("bookshelf", "0023_delete_basebookdocument"),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name="basebook",
+ name="language",
+ field=models.CharField(
+ choices=[
+ ("af", "Afrikaans"),
+ ("ar", "Arabic"),
+ ("ar-dz", "Algerian Arabic"),
+ ("ast", "Asturian"),
+ ("az", "Azerbaijani"),
+ ("bg", "Bulgarian"),
+ ("be", "Belarusian"),
+ ("bn", "Bengali"),
+ ("br", "Breton"),
+ ("bs", "Bosnian"),
+ ("ca", "Catalan"),
+ ("ckb", "Central Kurdish (Sorani)"),
+ ("cs", "Czech"),
+ ("cy", "Welsh"),
+ ("da", "Danish"),
+ ("de", "German"),
+ ("dsb", "Lower Sorbian"),
+ ("el", "Greek"),
+ ("en", "English"),
+ ("en-au", "Australian English"),
+ ("en-gb", "British English"),
+ ("eo", "Esperanto"),
+ ("es", "Spanish"),
+ ("es-ar", "Argentinian Spanish"),
+ ("es-co", "Colombian Spanish"),
+ ("es-mx", "Mexican Spanish"),
+ ("es-ni", "Nicaraguan Spanish"),
+ ("es-ve", "Venezuelan Spanish"),
+ ("et", "Estonian"),
+ ("eu", "Basque"),
+ ("fa", "Persian"),
+ ("fi", "Finnish"),
+ ("fr", "French"),
+ ("fy", "Frisian"),
+ ("ga", "Irish"),
+ ("gd", "Scottish Gaelic"),
+ ("gl", "Galician"),
+ ("he", "Hebrew"),
+ ("hi", "Hindi"),
+ ("hr", "Croatian"),
+ ("hsb", "Upper Sorbian"),
+ ("ht", "Haitian Creole"),
+ ("hu", "Hungarian"),
+ ("hy", "Armenian"),
+ ("ia", "Interlingua"),
+ ("id", "Indonesian"),
+ ("ig", "Igbo"),
+ ("io", "Ido"),
+ ("is", "Icelandic"),
+ ("it", "Italian"),
+ ("ja", "Japanese"),
+ ("ka", "Georgian"),
+ ("kab", "Kabyle"),
+ ("kk", "Kazakh"),
+ ("km", "Khmer"),
+ ("kn", "Kannada"),
+ ("ko", "Korean"),
+ ("ky", "Kyrgyz"),
+ ("lb", "Luxembourgish"),
+ ("lt", "Lithuanian"),
+ ("lv", "Latvian"),
+ ("mk", "Macedonian"),
+ ("ml", "Malayalam"),
+ ("mn", "Mongolian"),
+ ("mr", "Marathi"),
+ ("ms", "Malay"),
+ ("my", "Burmese"),
+ ("nb", "Norwegian Bokmål"),
+ ("ne", "Nepali"),
+ ("nl", "Dutch"),
+ ("nn", "Norwegian Nynorsk"),
+ ("os", "Ossetic"),
+ ("pa", "Punjabi"),
+ ("pl", "Polish"),
+ ("pt", "Portuguese"),
+ ("pt-br", "Brazilian Portuguese"),
+ ("ro", "Romanian"),
+ ("ru", "Russian"),
+ ("sk", "Slovak"),
+ ("sl", "Slovenian"),
+ ("sq", "Albanian"),
+ ("sr", "Serbian"),
+ ("sr-latn", "Serbian Latin"),
+ ("sv", "Swedish"),
+ ("sw", "Swahili"),
+ ("ta", "Tamil"),
+ ("te", "Telugu"),
+ ("tg", "Tajik"),
+ ("th", "Thai"),
+ ("tk", "Turkmen"),
+ ("tr", "Turkish"),
+ ("tt", "Tatar"),
+ ("udm", "Udmurt"),
+ ("ug", "Uyghur"),
+ ("uk", "Ukrainian"),
+ ("ur", "Urdu"),
+ ("uz", "Uzbek"),
+ ("vi", "Vietnamese"),
+ ("zh-hans", "Simplified Chinese"),
+ ("zh-hant", "Traditional Chinese"),
+ ],
+ default="en",
+ max_length=7,
+ ),
+ ),
+ ]
diff --git a/ram/portal/templatetags/dcc.py b/ram/portal/templatetags/dcc.py
index c1ff7e9..ab3c1c0 100644
--- a/ram/portal/templatetags/dcc.py
+++ b/ram/portal/templatetags/dcc.py
@@ -1,36 +1,38 @@
from django import template
from django.utils.html import format_html
+from django.utils.safestring import mark_safe
register = template.Library()
@register.simple_tag
def dcc(object):
- socket = (
+ socket = mark_safe(
''
)
decoder = ''
if object.decoder_interface is not None:
- socket = (
+ socket = mark_safe(
f''
f''
)
if object.decoder:
if object.decoder.sound:
- decoder = (
+ decoder = mark_safe(
f''
''
)
else:
- decoder = (
+ decoder = mark_safe(
f''
''
)
-
if decoder:
return format_html(
- f'{socket} {decoder}'
+ '{} {}',
+ socket,
+ decoder,
)
- return format_html(socket)
+ return socket
diff --git a/ram/ram/__init__.py b/ram/ram/__init__.py
index ff3fbc5..14731ee 100644
--- a/ram/ram/__init__.py
+++ b/ram/ram/__init__.py
@@ -1,4 +1,4 @@
from ram.utils import git_suffix
-__version__ = "0.17.14"
+__version__ = "0.17.15"
__version__ += git_suffix(__file__)