Please add an option to skip unnecessary punctuation marks such as ~~~ and *** during text-to-speech playback, as they can be distracting and irritating while reading novels.
-
PNL Reader v2.8.0: Customize the Reader for Your Favorite Sites
• • riverHey friends! I'm excited to share v2.8.0 with you. This update is all about you taking control. Let me explain.
The ProblemYou know that feeling when PNL Reader doesn't work well on your favorite website? Maybe it grabs the wrong content, or the comments look weird. Before, you had to wait for me to fix it. That's slow. And honestly, you know your favorite sites better than I do!
The Solution: Site CustomizationNow you can customize PNL Reader for any website. I added a new Site Customization page where you can:
Craft your own configurations — tell the reader exactly which parts of the page to grab Manage all your customizations in one place — edit, delete, or see where they came from Share your work with others at Reader TroveYes, sharing! If you make a great configuration for a popular site, why keep it to yourself? One click sends it to our community forum. And if someone else already made one? You can add it to your reader directly from the Reader Trove. No copy-paste needed.
Reddit: An ExperimentI spent a lot of time on Reddit support. Like, a lot. Reddit is tricky — comments live in shadow DOM, there are profile badges everywhere, and images hide in carousels. I tried my best to make it look decent.
Now PNL Reader can:
Show the full comment tree with proper threading Display image posts and gallery carousels correctly Hide those annoying profile badges and flairs Make the "more comments" button actually look niceIs it perfect? Probably not. Reddit keeps changing things, and every subreddit has its own quirks. But here's the good news: with the new Site Customization feature, you can improve it! My Reddit config is just a starting point. If you find a better way to style comments or grab content, share it with the community. I'd love to learn from you.
Better TTS ExperienceTwo small but nice improvements for listening:
Auto scroll — When you use "read whole page," the screen now follows along. No more losing your place!
Smarter pauses — Those decorative dividers like ~~~ or *** that authors use between sections? The reader now pauses there instead of trying to pronounce them. Much better.
Fixes, Fixes, FixesI also fixed a bunch of small things:
Fonts now look correct on all sites (some sites had weird sizing) Dark theme checkboxes are visible again NovelFull navigation works properly Mobile theme selector doesn't overflow anymore Try It OutUpdate to v2.8.0 and check out the new Site Customization page. It's in the extension menu under settings.
Made a cool customization? Share it at Reader Trove! I'd love to see what sites you're reading.
Happy reading! đź“–
-
How to add site customization to PNL Reader
• • riverHow to Customize a siteSite customization lets you tell PNL Reader exactly how to extract content from any website. When the default reader mode doesn't work well on a site, you can create your own configuration.
Getting Started Open PNL Reader extension menu Click Site Customization in the settings dropdown Fill in the form and click Save Customization Configuration SchemaHere's what each field does:
Required Fields nameA friendly name for your customization. This helps you identify it later.
Example: "Reddit Posts and Comments" urlMatchA URL pattern to match. Can be a simple string or a regular expression.
Simple string (easiest):
"https://example.com/articles/"This matches any URL that contains https://example.com/articles/.
Regular expression (more powerful):
"https://www.reddit.com/r/\\w+/comments/\\w+/.*"This matches any Reddit post URL using regex patterns.
Regex tips (optional):
Use \\d+ to match numbers Use [^/]+ to match any characters except / Use .* to match anything Escape special characters like . with \\. Article Settings (Optional)These fields tell PNL Reader where to find the article content.
article.contentCSS selector(s) for the main content. This is the most important field.
Single selector: "#chapter-content" Multiple selectors: [".post-body", ".comments"]When you use multiple selectors, content from all matching elements is combined in order.
article.titleCSS selector for the article title.
Example: "h1.post-title" article.bylineCSS selector for author information.
Example: "a[href*='/user/']" article.publishedTimeCSS selector for the publish date/time.
Example: "time[datetime]" article.excludesCSS selectors for elements to remove from the content. Useful for hiding ads, share buttons, or other clutter.
Example: [".ads", ".share-buttons", ".sidebar"] Navigation Settings (Optional)Enable previous/next page navigation for multi-page articles.
navigation.previousCSS selector for the "previous page" link.
Example: "a.prev-chapter" navigation.nextCSS selector for the "next page" link.
Example: "a.next-chapter" Custom CSS (Optional) cssAdd custom styles for the extracted content. These styles are applied in reader mode.
/* Style comments */ .comment { border-left: 2px dashed var(--pico-muted-border-color); padding-left: 1em; margin: 1em 0; } /* Highlight author names */ .author { font-weight: bold; color: var(--pico-primary); }Available CSS variables:
--pico-primary - Primary accent color --pico-muted-color - Muted text color --pico-muted-border-color - Muted border color --pico-background-color - Background color --pnl-reader-line-height - Current line height setting Examples Simple Example: NovelFull { "name": "NovelFull Chapters", "urlMatch": "https://novelfull.com/[^/]+/[^/]+\\.html$", "article": { "content": "#chapter-content", "title": "a.chapter-title", "excludes": ["div"] } } Complex Example: RedditFor a more advanced example with custom CSS styling, see Site Customization - Reddit Posts and Comments.
How to Find the Right Selectors Open the website you want to customize Right-click on the content you want to extract Click Inspect to open Developer Tools Look at the HTML structure and find unique selectorsTips:
Use IDs when available (#main-content) Use class names (.article-body) Use attribute selectors ([data-type="post"]) Combine selectors for specificity (article .content p) Share Your CustomizationMade a great customization? Share it with the community!
Fill in your configuration in the Site Customization page Click Share at pnl.dev Review and submit your postYour configuration will be available at Reader Trove for others to use.
Formatting tips:
When sharing, your configuration is wrapped in a JSON code block. If you have custom CSS, it's better to put it in a separate CSS code block rather than inline in the JSON. This makes it easier to read and edit:
### Configuration ```json { "name": "My Site", "urlMatch": "https://example.com/", "article": { "content": ".article-body" } } ``` ### Custom CSS ```css .comment { border-left: 2px solid #ccc; padding-left: 1em; } ```The Share at pnl.dev button does this automatically for you.
Need Help?Creating customizations can be tricky. Don't hesitate to:
Ask questions at pnl.dev/category/3/feedback Browse existing configurations at Reader Trove Report issues if something doesn't work as expectedThe community is here to help. Every question helps improve PNL Reader for everyone.
Happy reading! đź“–
-
Captionz Update: Discover, Explore, and Learn
• • riverGreat weekend again, everybody. I've been very busy! Here's a fresh Captionz upgrade with two shiny new features: Top Lists and Platform Stats. Because scrolling YouTube aimlessly looking for good learning content? Ain't nobody got time for that.
Discover More Content with Top Lists0d9f2d5f-4654-44cf-9c0c-f43881b457a3-image.png
Finding the right videos for language learning just got way easier. I added a discovery section that shows you curated content based on your selected voice language:
🔥 Most ViewedWhat's everyone watching? These are the most popular videos in your chosen language.
Caveat: These are views tracked through Captionz, not actual YouTube view counts. So it's more like "most watched by fellow Captionz users", which honestly might be more relevant for language learners anyway.
📚 Best for LearningThese videos have the most caption languages available — basically the Swiss knives of language learning. Perfect for comparing translations and leveling up your comprehension.
Caveat: "Best for learning" is measured by number of available captions, which is... debatable. Some amazing videos might only have one or two caption tracks. And with YouTube's auto-translate feature, technically any video can have captions in any language now. But hey, videos with many human-created captions are usually solid picks.
🎬 Top ChannelsFind creators who consistently pump out great content in your target language. Less hunting, more learning.
Caveat: I added channel tracking to Captionz fairly late in the game, so a lot of older videos don't have channel info attached. That's why for some languages you might see "no channels found" even though there are plenty of videos. The list will fill in as more videos are watched going forward.
Click any video to jump straight into dual-subtitle mode, or check out top channels on YouTube.
Captionz at a GlanceI also added some stats because I'm a sucker for numbers (and donut charts, apparently). The new Platform Stats section shows:
Total Videos in the database Total Captions available Languages supportedAnd yes, there are pretty donut charts showing how captions and videos are distributed across languages. I spent way too long making them look nice.
Built by a Language Learner, for Language LearnersThese features aren't just vanity metrics. Every video you watch with Captionz helps build these lists, making it easier for other learners to find great content. It's a virtuous cycle — and you're part of it!
Give it a spin! Head over to Captionz, pick your target language, and scroll down to see what's new.
Help Me Build the Ultimate Language Learning DatabaseHere's the thing: Captionz gets better the more you use it. I'm building a database specifically curated for language learners — not just random YouTube videos, but content that people actually find useful for learning. The more videos you watch through Captionz, the richer the recommendations become for everyone.
So go watch some videos! Find that obscure Japanese cooking channel you love, binge some Spanish podcasts, explore French vlogs — whatever helps you learn. Every view adds to the collective knowledge, and you'll be helping fellow learners discover great content too.
Happy learning! 🚀
Screenshot 2026-02-24 at 21.57.39.png
-
Captionz Reintroduced: Dual Subtitles on YouTube (Now with Auto‑Translate)
• • riverHello folks. I hope you are gonna have a fantastic weekend ahead, as I am bringing you a big update for Captionz! I’m launching Captionz‑ext, an ultra-lightweight browser extension that finally makes dual subtitles on YouTube practical. Thanks to auto‑translate, you can pair almost any language, do quick A‑B repeats, and add community notes, all while you watch.
As you know, dual subtitles have always been my goal. Finally they’re realistic for most videos, which means our second subtitle can finally show up 🙂
And the best part: Captionz is completely free. I first thought I’d need AI to translate captions (which would cost money), but YouTube already provides auto‑translate. I just enhance the experience and bring both subtitles together.Promo Banner
Why This Is a MilestoneMy goal is to help you learn from real videos, like movies, interviews, lectures, and news etc. without losing your flow. I built Captionz‑ext to make dual subtitles practical on most YouTube videos by adding auto‑translate when only one track exists. It also syncs with the Captionz web app for tools like A‑B repeat, notes, and search. Simple setup, more learning.
Free — No FeesEarly on, I planned to use AI to translate captions, which would have meant a paid “pro” plan. Thankfully, YouTube already has auto‑translate. Captionz‑ext simply connects the dots so you can see two subtitles at once. Enjoy Captionz completely free.
What’s New Auto‑translate: Turn it on to cover almost any language. If a video has only one caption track, auto‑translate adds the second. Dual subtitles: My core goal, now practical on most videos. See two languages at once. One‑click access: I added a “Watch on Captionz” button on YouTube video pages. Context menu: I added a right‑click menu to open any YouTube link in Captionz. Sync with Captionz: Captions flow into Captionz, so A‑B repeat, notes, and Dictionariez work right away.Screenshot 2026-01-16 205251.png
How It WorksI built Captionz‑ext to read the captions (and auto‑translated ones) on YouTube, then sync them with the Captionz web app. Many videos only include one auto‑generated track, auto‑translate provides the second. Pick your two languages and watch them side by side. No complicated setup, no secret switches.
A Brief HistoryFive years ago, I launched the first version of Captionz. My debut post on Reddit was a hit: “I made a site that helps you watch YouTube with dual subtitles”.
Back then, I didn’t need an extension. YouTube captions were public; you could request and download tracks, and Captionz could combine languages freely.
Later, YouTube restricted external caption requests. To keep things working, I added a handy button in Dictionariez so users could still open videos on Captionz with dual subtitles — at least for videos that had multiple tracks by default.
A few months ago, YouTube encrypted caption requests, which made access harder. I switched to a simple, privacy‑friendly approach with a lightweight extension and separated Captionz from Dictionariez. That keeps Dictionariez focused and gives Captionz users a stronger, dedicated tool.
And yes: I made Captionz‑ext free and open‑source. High‑fives all around.
Who It’s For Learners: Compare native + target language subtitles in real time to build comprehension and confidence. Teachers & Tutors: Use any YouTube video for bilingual instruction with A‑B looping and notes. Polyglots: Switch language pairs and auto‑translate to explore content across the world. Casual Viewers: Understand more, faster—without pausing to look things up. Quick Start Chrome: Install from the Chrome Web Store. Edge: Install from Microsoft Edge Add‑ons. Firefox: Firefox Add‑ons.Open any YouTube video and click “Watch on Captionz.” Or right‑click a video link and choose “Open in Captionz.” Pick your two languages, turn on auto‑translate if needed, and you’re set. Your coffee can stay hot; setup is quick.
Manual Installation (Alternative) Download the source code from GitHub. Go to chrome://extensions/ in your browser. Enable Developer mode (top right). Click Load unpacked and select the extension folder. PrivacyI aim for minimal, respectful integration. Captionz‑ext only accesses captions needed to enable features and does not collect personal browsing history. Read the privacy policy for details and updates.
FAQs Do dual subtitles work on all videos? It depends on captions. Many videos have only one auto‑generated track; turn on auto‑translate to add the second language. Which languages are supported? Auto‑translate covers most languages YouTube supports. Dual subtitles work when two tracks exist or one is auto‑translated. Do I need the Captionz web app? The extension helps on YouTube and pairs with Captionz for A‑B repeat, notes, and more. Together is best. Does this work on Shorts? Not at the moment. Do you really want it to work on Shorts? Comment below to let me know. Is it free? Yes — and there are no AI translation fees. Auto‑translate is provided by YouTube; Captionz just enhances the experience. Call to ActionInstall Captionz‑ext (it’s free) and try dual subtitles on your next video:
Chrome: Captionz – YouTube Dual Subtitles Edge: Captionz – YouTube Dual Subtitles Firefox: Captionz – YouTube Dual Subtitles.Open a video you love, turn on auto‑translate to widen language coverage, and use A‑B repeat to nail tricky lines. Add a note or two to help the next learner (or future you).
TL;DRCaptionz + Captionz‑ext = dual subtitles on YouTube—made practical by auto‑translate—plus A‑B repeat and notes, across almost all languages. It’s completely free. Click “Watch on Captionz” and start learning faster. Smiles optional, progress guaranteed.
-
N.B. More Languages and Pronunciations come to Dictionariez/Ordböcker v7.3.0
• • riverHi,
🌏 New Languages: A Spotlight on the Philippines (and European languages)
Happy Spring February! I am so happy to start it with a big update! As a solo developer, I have been working hard (with lots of coffee) to make Dictionariez v7.3.0 better. It has more languages, a better design, and helps you improve your pronunciation.I have added support for Filipino, Cebuano, Malay, Romanian, Hungarian, and Swahili to the floating definitions.
This update focuses on the languages of the Philippines. Now you can use both Filipino and Cebuano. Since I am writing this blog, let me share some fun facts I learned while adding these languages:
Fun Facts: Filipino vs. Cebuano
Filipino is the national language. It is based on Tagalog. It is the common language used by people across the 7,000+ islands to understand each other. Cebuano (often called Binisaya or Bisaya) is the second most spoken language. It is used mostly in the Visayas and Mindanao regions. Are they the same? No! They are related (like family), but they are different languages. People say they are as different as Spanish is from Italian. So be careful not to mix them up! Spanish Words: Both languages borrowed many Spanish words (like silya for chair, or kutsara for spoon). It is fun to find them! 🗣️ Pronunciation Upgrades (Just the beginning!)Hearing the word correctly is very important. I improved the audio features to help you:
British vs. American: English lookups now clearly show the difference between American and British pronunciations. Cantonese Support: If you use Traditional Chinese settings, the app now has Cantonese audio. This is great if you are learning Hong Kong dialects or just like Dim Sum.This is just a start! In the future, I want to add even more accents. Imagine choosing between Mexican Spanish and Spain Spanish, or Australian English and Scottish Accent.
But I need your help! I do not know every language well. If you can help me distinguish accents in your language (for example, which voices sound like Brazilian Portuguese vs. European Portuguese), please tell me! Your knowledge will help me improve the app for everyone.
🎨 Better Interface (Because looks matter) Redesigned Floating Options: The floating definitions look cleaner and work better. Auto-Closing Translator: The sentence translator is easier to use. Just click outside the box, and it will close automatically. Aligned Shortcuts: The Options page looks neater. Your shortcut settings are now perfectly aligned. 📢 I want to hear from you!I build Dictionariez for you (and for myself, because I use it too). If you find any bugs, want a new language, or just want to say hi, please send me a message!
Trends
Dictionariez is an open-source browser extension for instant word lookup, sentence translation, realistic text-to-speech, and vocabulary building.
Translate texts, images, and audio to 100+ languages instantly. Use TextPixie’s AI translator for fast, accurate, and contextually appropriate translations.