diff options
| author | Adam Soltys <[email protected]> | 2026-10-03 13:38:13 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-03 13:38:13 -0700 |
| commit | 347deec6465a42f24154457fb05227418ee83385 (patch) | |
| tree | 5cb2343cc13e4400f9e831eba0a036ff098463c2 /src/locales | |
| parent | 543a66ca70323921acf4da9b8e4fca8128cf0b58 (diff) | |
| download | coinosv3-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.json | 6 | ||||
| -rw-r--r-- | src/locales/bn.json | 6 | ||||
| -rw-r--r-- | src/locales/de.json | 6 | ||||
| -rw-r--r-- | src/locales/es.json | 6 | ||||
| -rw-r--r-- | src/locales/fr.json | 6 | ||||
| -rw-r--r-- | src/locales/hi.json | 6 | ||||
| -rw-r--r-- | src/locales/id.json | 6 | ||||
| -rw-r--r-- | src/locales/ja.json | 6 | ||||
| -rw-r--r-- | src/locales/ko.json | 6 | ||||
| -rw-r--r-- | src/locales/mr.json | 6 | ||||
| -rw-r--r-- | src/locales/pt.json | 6 | ||||
| -rw-r--r-- | src/locales/ru.json | 6 | ||||
| -rw-r--r-- | src/locales/sw.json | 6 | ||||
| -rw-r--r-- | src/locales/ta.json | 6 | ||||
| -rw-r--r-- | src/locales/te.json | 6 | ||||
| -rw-r--r-- | src/locales/tr.json | 6 | ||||
| -rw-r--r-- | src/locales/ur.json | 6 | ||||
| -rw-r--r-- | src/locales/vi.json | 6 | ||||
| -rw-r--r-- | src/locales/zh.json | 6 |
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 的视频会等你点按再播放,以免动态耗尽流量。在慢速或省流量连接下,上限更低。" } |
