aboutsummaryrefslogtreecommitdiffstats
path: root/src/locales
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-10-03 13:38:13 -0700
committerAdam Soltys <[email protected]>2026-10-03 13:38:13 -0700
commit347deec6465a42f24154457fb05227418ee83385 (patch)
tree5cb2343cc13e4400f9e831eba0a036ff098463c2 /src/locales
parent543a66ca70323921acf4da9b8e4fca8128cf0b58 (diff)
downloadcoinosv3-347deec6465a42f24154457fb05227418ee83385.tar.gz
coinosv3-347deec6465a42f24154457fb05227418ee83385.zip
Videos: know what a clip costs before fetching it; vertical clips only
- What a clip costs is learned up front: the post's imeta (size, dim, image) when it says, else one 64 KB ranged request — the total from Content-Range, whether ranges are served, whether the MP4's index (moov) comes before its data, and the picture size from the track header. Up to three at a time; remembered across sessions. It also replaces the player-based shape probe the feed ran on every clip. - Clips over 25 MB (8 MB on 2G/3G, 3 MB with data saver), above 1080p, index-last files over 8 MB from servers without ranges, or clips that couldn't be measured wait for a tap: a cover saying what they cost ("50 MB", "4K"). Settings → Nostr → Videos: Autoplay large videos. - The pager loads only the clip on screen in full; the next gets its opening if within budget; everything else holds nothing. Sizes are asked three slides ahead. - Feed clips fetch nothing until they're about to play (preload none), with the post's still as a poster. - Video grid tiles show a first frame only for small clips that start quickly; others show their cost. - Videos lists only clips known to stand taller than wide; one of unknown shape is measured and joins when it qualifies; choosing Videos with none known yet opens the pager on the first that turns up. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01ULQZS9MQa6iAsXnrJUD9Du
Diffstat (limited to 'src/locales')
-rw-r--r--src/locales/ar.json6
-rw-r--r--src/locales/bn.json6
-rw-r--r--src/locales/de.json6
-rw-r--r--src/locales/es.json6
-rw-r--r--src/locales/fr.json6
-rw-r--r--src/locales/hi.json6
-rw-r--r--src/locales/id.json6
-rw-r--r--src/locales/ja.json6
-rw-r--r--src/locales/ko.json6
-rw-r--r--src/locales/mr.json6
-rw-r--r--src/locales/pt.json6
-rw-r--r--src/locales/ru.json6
-rw-r--r--src/locales/sw.json6
-rw-r--r--src/locales/ta.json6
-rw-r--r--src/locales/te.json6
-rw-r--r--src/locales/tr.json6
-rw-r--r--src/locales/ur.json6
-rw-r--r--src/locales/vi.json6
-rw-r--r--src/locales/zh.json6
19 files changed, 95 insertions, 19 deletions
diff --git a/src/locales/ar.json b/src/locales/ar.json
index cf1de50..e1e3d67 100644
--- a/src/locales/ar.json
+++ b/src/locales/ar.json
@@ -908,5 +908,9 @@
"mediaImages": "الصور",
"mediaVideos": "الفيديوهات",
"mediaNoImages": "لا صور في هذه الخلاصة بعد.",
- "mediaNoVideos": "لا فيديوهات في هذه الخلاصة بعد."
+ "mediaNoVideos": "لا فيديوهات عمودية في هذه الخلاصة بعد.",
+ "videoTapToPlay": "انقر للتشغيل",
+ "videoLargeTitle": "الفيديوهات",
+ "videoLargeToggle": "تشغيل الفيديوهات الكبيرة تلقائيًا",
+ "videoLargeHelp": "الفيديوهات التي تزيد على {mb} ميغابايت أو تتجاوز 1080p تنتظر نقرة، حتى لا تستهلك الخلاصة بياناتك. الحد أقل على الاتصال البطيء أو عند توفير البيانات."
}
diff --git a/src/locales/bn.json b/src/locales/bn.json
index 6ec0e94..9687a7e 100644
--- a/src/locales/bn.json
+++ b/src/locales/bn.json
@@ -908,5 +908,9 @@
"mediaImages": "ছবি",
"mediaVideos": "ভিডিও",
"mediaNoImages": "এই ফিডে এখনও কোনো ছবি নেই।",
- "mediaNoVideos": "এই ফিডে এখনও কোনো ভিডিও নেই।"
+ "mediaNoVideos": "এই ফিডে এখনও কোনো খাড়া ভিডিও নেই।",
+ "videoTapToPlay": "চালাতে ট্যাপ করুন",
+ "videoLargeTitle": "ভিডিও",
+ "videoLargeToggle": "বড় ভিডিও নিজে থেকে চালান",
+ "videoLargeHelp": "{mb} MB-এর বেশি বা 1080p-এর ওপরের ভিডিও ট্যাপের অপেক্ষায় থাকে, যাতে ফিড আপনার ডেটা না খায়। ধীর বা ডেটা-সেভার সংযোগে সীমা কম।"
}
diff --git a/src/locales/de.json b/src/locales/de.json
index df72786..b1e5127 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -908,5 +908,9 @@
"mediaImages": "Bilder",
"mediaVideos": "Videos",
"mediaNoImages": "Noch keine Bilder in diesem Feed.",
- "mediaNoVideos": "Noch keine Videos in diesem Feed."
+ "mediaNoVideos": "Noch keine Hochkant-Videos in diesem Feed.",
+ "videoTapToPlay": "Zum Abspielen tippen",
+ "videoLargeTitle": "Videos",
+ "videoLargeToggle": "Große Videos automatisch abspielen",
+ "videoLargeHelp": "Videos über {mb} MB oder über 1080p warten auf einen Tipp, damit der Feed nicht dein Datenvolumen frisst. Bei langsamer Verbindung oder Datensparmodus ist die Grenze niedriger."
}
diff --git a/src/locales/es.json b/src/locales/es.json
index 1f1c170..569e9fa 100644
--- a/src/locales/es.json
+++ b/src/locales/es.json
@@ -908,5 +908,9 @@
"mediaImages": "Imágenes",
"mediaVideos": "Vídeos",
"mediaNoImages": "Aún no hay imágenes en este feed.",
- "mediaNoVideos": "Aún no hay vídeos en este feed."
+ "mediaNoVideos": "Aún no hay vídeos verticales en este feed.",
+ "videoTapToPlay": "Toca para reproducir",
+ "videoLargeTitle": "Vídeos",
+ "videoLargeToggle": "Reproducir vídeos grandes automáticamente",
+ "videoLargeHelp": "Los vídeos de más de {mb} MB o por encima de 1080p esperan a que los toques, para que el feed no se coma tus datos. El límite es menor con una conexión lenta o en ahorro de datos."
}
diff --git a/src/locales/fr.json b/src/locales/fr.json
index 1d7c5f4..c345556 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -908,5 +908,9 @@
"mediaImages": "Images",
"mediaVideos": "Vidéos",
"mediaNoImages": "Pas encore d’images dans ce fil.",
- "mediaNoVideos": "Pas encore de vidéos dans ce fil."
+ "mediaNoVideos": "Pas encore de vidéos verticales dans ce fil.",
+ "videoTapToPlay": "Touchez pour lire",
+ "videoLargeTitle": "Vidéos",
+ "videoLargeToggle": "Lire automatiquement les grosses vidéos",
+ "videoLargeHelp": "Les vidéos de plus de {mb} Mo ou au-delà de 1080p attendent un toucher, pour que le fil ne dévore pas vos données. La limite est plus basse sur une connexion lente ou en économie de données."
}
diff --git a/src/locales/hi.json b/src/locales/hi.json
index 7772bc1..cbee487 100644
--- a/src/locales/hi.json
+++ b/src/locales/hi.json
@@ -908,5 +908,9 @@
"mediaImages": "तस्वीरें",
"mediaVideos": "वीडियो",
"mediaNoImages": "इस फ़ीड में अभी कोई तस्वीर नहीं।",
- "mediaNoVideos": "इस फ़ीड में अभी कोई वीडियो नहीं।"
+ "mediaNoVideos": "इस फ़ीड में अभी कोई वर्टिकल वीडियो नहीं।",
+ "videoTapToPlay": "चलाने के लिए टैप करें",
+ "videoLargeTitle": "वीडियो",
+ "videoLargeToggle": "बड़े वीडियो अपने आप चलाएँ",
+ "videoLargeHelp": "{mb} MB से बड़े या 1080p से ऊपर के वीडियो टैप का इंतज़ार करते हैं, ताकि फ़ीड आपका डेटा न खाए। धीमे या डेटा-सेवर कनेक्शन पर सीमा कम होती है।"
}
diff --git a/src/locales/id.json b/src/locales/id.json
index a4fe07f..45be39b 100644
--- a/src/locales/id.json
+++ b/src/locales/id.json
@@ -244,5 +244,9 @@
"mediaImages": "Gambar",
"mediaVideos": "Video",
"mediaNoImages": "Belum ada gambar di feed ini.",
- "mediaNoVideos": "Belum ada video di feed ini."
+ "mediaNoVideos": "Belum ada video vertikal di feed ini.",
+ "videoTapToPlay": "Ketuk untuk memutar",
+ "videoLargeTitle": "Video",
+ "videoLargeToggle": "Putar otomatis video besar",
+ "videoLargeHelp": "Video di atas {mb} MB atau lebih dari 1080p menunggu ketukan, agar feed tidak menghabiskan kuota. Batasnya lebih rendah di koneksi lambat atau mode hemat data."
}
diff --git a/src/locales/ja.json b/src/locales/ja.json
index b376d3b..56e05f4 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -908,5 +908,9 @@
"mediaImages": "画像",
"mediaVideos": "動画",
"mediaNoImages": "このフィードにはまだ画像がありません。",
- "mediaNoVideos": "このフィードにはまだ動画がありません。"
+ "mediaNoVideos": "このフィードにはまだ縦型動画がありません。",
+ "videoTapToPlay": "タップして再生",
+ "videoLargeTitle": "動画",
+ "videoLargeToggle": "大きな動画を自動再生",
+ "videoLargeHelp": "{mb} MBを超える動画や1080pを超える動画は、データを使いすぎないようタップするまで再生しません。低速回線やデータセーバー時は上限が下がります。"
}
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 7d6bb2a..79f3cdf 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -907,5 +907,9 @@
"mediaImages": "이미지",
"mediaVideos": "동영상",
"mediaNoImages": "이 피드에는 아직 이미지가 없습니다.",
- "mediaNoVideos": "이 피드에는 아직 동영상이 없습니다."
+ "mediaNoVideos": "이 피드에는 아직 세로 동영상이 없습니다.",
+ "videoTapToPlay": "탭하여 재생",
+ "videoLargeTitle": "동영상",
+ "videoLargeToggle": "큰 동영상 자동 재생",
+ "videoLargeHelp": "{mb}MB를 넘거나 1080p보다 높은 동영상은 데이터를 아끼기 위해 탭할 때까지 기다립니다. 느린 연결이나 데이터 절약 모드에서는 한도가 더 낮습니다."
}
diff --git a/src/locales/mr.json b/src/locales/mr.json
index a5080f2..f35613b 100644
--- a/src/locales/mr.json
+++ b/src/locales/mr.json
@@ -244,5 +244,9 @@
"mediaImages": "चित्रे",
"mediaVideos": "व्हिडिओ",
"mediaNoImages": "या फीडमध्ये अजून चित्रे नाहीत.",
- "mediaNoVideos": "या फीडमध्ये अजून व्हिडिओ नाहीत."
+ "mediaNoVideos": "या फीडमध्ये अजून उभे व्हिडिओ नाहीत.",
+ "videoTapToPlay": "चालवण्यासाठी टॅप करा",
+ "videoLargeTitle": "व्हिडिओ",
+ "videoLargeToggle": "मोठे व्हिडिओ आपोआप चालवा",
+ "videoLargeHelp": "{mb} MB पेक्षा मोठे किंवा 1080p पेक्षा वरचे व्हिडिओ तुमचा डेटा वाचवण्यासाठी टॅपची वाट पाहतात. धीम्या किंवा डेटा-सेव्हर कनेक्शनवर मर्यादा कमी असते."
}
diff --git a/src/locales/pt.json b/src/locales/pt.json
index 142daf9..665cf73 100644
--- a/src/locales/pt.json
+++ b/src/locales/pt.json
@@ -908,5 +908,9 @@
"mediaImages": "Imagens",
"mediaVideos": "Vídeos",
"mediaNoImages": "Ainda não há imagens neste feed.",
- "mediaNoVideos": "Ainda não há vídeos neste feed."
+ "mediaNoVideos": "Ainda não há vídeos verticais neste feed.",
+ "videoTapToPlay": "Toque para reproduzir",
+ "videoLargeTitle": "Vídeos",
+ "videoLargeToggle": "Reproduzir vídeos grandes automaticamente",
+ "videoLargeHelp": "Vídeos acima de {mb} MB ou de 1080p esperam um toque, para o feed não consumir seus dados. O limite é menor em conexões lentas ou com economia de dados."
}
diff --git a/src/locales/ru.json b/src/locales/ru.json
index c94fb56..f7ee649 100644
--- a/src/locales/ru.json
+++ b/src/locales/ru.json
@@ -908,5 +908,9 @@
"mediaImages": "Фото",
"mediaVideos": "Видео",
"mediaNoImages": "В этой ленте пока нет фото.",
- "mediaNoVideos": "В этой ленте пока нет видео."
+ "mediaNoVideos": "В этой ленте пока нет вертикальных видео.",
+ "videoTapToPlay": "Нажмите, чтобы воспроизвести",
+ "videoLargeTitle": "Видео",
+ "videoLargeToggle": "Автовоспроизведение больших видео",
+ "videoLargeHelp": "Видео больше {mb} МБ или выше 1080p ждут нажатия, чтобы лента не съедала трафик. На медленном соединении или в режиме экономии лимит ниже."
}
diff --git a/src/locales/sw.json b/src/locales/sw.json
index 770551d..179531a 100644
--- a/src/locales/sw.json
+++ b/src/locales/sw.json
@@ -244,5 +244,9 @@
"mediaImages": "Picha",
"mediaVideos": "Video",
"mediaNoImages": "Bado hakuna picha kwenye mlisho huu.",
- "mediaNoVideos": "Bado hakuna video kwenye mlisho huu."
+ "mediaNoVideos": "Bado hakuna video wima kwenye mlisho huu.",
+ "videoTapToPlay": "Gusa ili kucheza",
+ "videoLargeTitle": "Video",
+ "videoLargeToggle": "Cheza video kubwa zenyewe",
+ "videoLargeHelp": "Video zaidi ya MB {mb} au juu ya 1080p husubiri uguse, ili mlisho usimalize data yako. Kikomo ni cha chini kwenye muunganisho wa polepole au wa kuokoa data."
}
diff --git a/src/locales/ta.json b/src/locales/ta.json
index 856841e..068bcc8 100644
--- a/src/locales/ta.json
+++ b/src/locales/ta.json
@@ -244,5 +244,9 @@
"mediaImages": "படங்கள்",
"mediaVideos": "வீடியோக்கள்",
"mediaNoImages": "இந்த ஊட்டத்தில் இன்னும் படங்கள் இல்லை.",
- "mediaNoVideos": "இந்த ஊட்டத்தில் இன்னும் வீடியோக்கள் இல்லை."
+ "mediaNoVideos": "இந்த ஊட்டத்தில் இன்னும் செங்குத்து வீடியோக்கள் இல்லை.",
+ "videoTapToPlay": "இயக்கத் தட்டவும்",
+ "videoLargeTitle": "வீடியோக்கள்",
+ "videoLargeToggle": "பெரிய வீடியோக்களைத் தானாக இயக்கு",
+ "videoLargeHelp": "{mb} MB-க்கு மேல் அல்லது 1080p-க்கு மேலான வீடியோக்கள் உங்கள் டேட்டாவைச் சேமிக்க, தட்டும் வரை காத்திருக்கும். மெதுவான அல்லது டேட்டா சேமிப்பு இணைப்பில் வரம்பு குறைவு."
}
diff --git a/src/locales/te.json b/src/locales/te.json
index 2e7deff..2c7160b 100644
--- a/src/locales/te.json
+++ b/src/locales/te.json
@@ -242,5 +242,9 @@
"mediaImages": "చిత్రాలు",
"mediaVideos": "వీడియోలు",
"mediaNoImages": "ఈ ఫీడ్‌లో ఇంకా చిత్రాలు లేవు.",
- "mediaNoVideos": "ఈ ఫీడ్‌లో ఇంకా వీడియోలు లేవు."
+ "mediaNoVideos": "ఈ ఫీడ్‌లో ఇంకా నిలువు వీడియోలు లేవు.",
+ "videoTapToPlay": "ప్లే చేయడానికి నొక్కండి",
+ "videoLargeTitle": "వీడియోలు",
+ "videoLargeToggle": "పెద్ద వీడియోలను ఆటో‌ప్లే చేయి",
+ "videoLargeHelp": "{mb} MB కంటే పెద్దవి లేదా 1080p పైబడిన వీడియోలు మీ డేటా ఆదా కోసం నొక్కే వరకు ఆగుతాయి. నెమ్మదైన లేదా డేటా సేవర్ కనెక్షన్‌లో పరిమితి తక్కువ."
}
diff --git a/src/locales/tr.json b/src/locales/tr.json
index 9b5dacf..b8ebb51 100644
--- a/src/locales/tr.json
+++ b/src/locales/tr.json
@@ -907,5 +907,9 @@
"mediaImages": "Görseller",
"mediaVideos": "Videolar",
"mediaNoImages": "Bu akışta henüz görsel yok.",
- "mediaNoVideos": "Bu akışta henüz video yok."
+ "mediaNoVideos": "Bu akışta henüz dikey video yok.",
+ "videoTapToPlay": "Oynatmak için dokun",
+ "videoLargeTitle": "Videolar",
+ "videoLargeToggle": "Büyük videoları otomatik oynat",
+ "videoLargeHelp": "{mb} MB’den büyük veya 1080p’nin üzerindeki videolar, akış verini tüketmesin diye dokunmanı bekler. Yavaş ya da veri tasarruflu bağlantıda sınır daha düşüktür."
}
diff --git a/src/locales/ur.json b/src/locales/ur.json
index 3a04f22..82437f2 100644
--- a/src/locales/ur.json
+++ b/src/locales/ur.json
@@ -244,5 +244,9 @@
"mediaImages": "تصاویر",
"mediaVideos": "ویڈیوز",
"mediaNoImages": "اس فیڈ میں ابھی کوئی تصویر نہیں۔",
- "mediaNoVideos": "اس فیڈ میں ابھی کوئی ویڈیو نہیں۔"
+ "mediaNoVideos": "اس فیڈ میں ابھی کوئی عمودی ویڈیو نہیں۔",
+ "videoTapToPlay": "چلانے کے لیے ٹیپ کریں",
+ "videoLargeTitle": "ویڈیوز",
+ "videoLargeToggle": "بڑی ویڈیوز خود چلائیں",
+ "videoLargeHelp": "{mb} MB سے بڑی یا 1080p سے اوپر کی ویڈیوز ٹیپ کا انتظار کرتی ہیں، تاکہ فیڈ آپ کا ڈیٹا نہ کھائے۔ سست یا ڈیٹا بچت والے کنکشن پر حد کم ہوتی ہے۔"
}
diff --git a/src/locales/vi.json b/src/locales/vi.json
index 7393d1d..7ad49e0 100644
--- a/src/locales/vi.json
+++ b/src/locales/vi.json
@@ -244,5 +244,9 @@
"mediaImages": "Ảnh",
"mediaVideos": "Video",
"mediaNoImages": "Bảng tin này chưa có ảnh.",
- "mediaNoVideos": "Bảng tin này chưa có video."
+ "mediaNoVideos": "Bảng tin này chưa có video dọc.",
+ "videoTapToPlay": "Chạm để phát",
+ "videoLargeTitle": "Video",
+ "videoLargeToggle": "Tự động phát video lớn",
+ "videoLargeHelp": "Video trên {mb} MB hoặc cao hơn 1080p sẽ chờ bạn chạm, để bảng tin không ngốn dữ liệu. Giới hạn thấp hơn khi kết nối chậm hoặc tiết kiệm dữ liệu."
}
diff --git a/src/locales/zh.json b/src/locales/zh.json
index f576f42..b2cd00d 100644
--- a/src/locales/zh.json
+++ b/src/locales/zh.json
@@ -908,5 +908,9 @@
"mediaImages": "图片",
"mediaVideos": "视频",
"mediaNoImages": "此动态中还没有图片。",
- "mediaNoVideos": "此动态中还没有视频。"
+ "mediaNoVideos": "此动态中还没有竖屏视频。",
+ "videoTapToPlay": "点按播放",
+ "videoLargeTitle": "视频",
+ "videoLargeToggle": "自动播放大视频",
+ "videoLargeHelp": "超过 {mb} MB 或高于 1080p 的视频会等你点按再播放,以免动态耗尽流量。在慢速或省流量连接下,上限更低。"
}