Nostrudel.ninja is only missing the automatic translation of the notes and then it would be perfect for me.
noStrudel NIP-72 Moderated Communities update
I've got to start packing for #nostraisa so now is as good a time as any to release another update
This time its all about NIP-72 Moderated Communities
TLDR; noStrudel now support all the community features that satellite.earth supports
Changes:
- Add voting and Approval to community posts
- Allow users to create and edit existing communities
- Show the communities a user has join in their profile
- Make community view usable on mobile
- Show community members in community view
- Add option to search for notes in search view
Fixes:
- Better support for non-english hashtags
- Center page layout
- Fix reaction counts when user react multiple times
- Only show first 10 badges on user profile ( saves data )
You can find the client here https://nostrudel.ninja/ or run it using docker "docker run --rm -p 8080:80 ghcr.io/hzrd149/nostrudel:master"



Come join the noStrudel community? nostr:naddr1qqykum6nw3e82er9dsq3zamnwvaz7tmwdaehgun4v5hxxmmdqyxhwumn8ghj7mn0wvhxcmmvqgszv6q4uryjzr06xfxxew34wwc5hmjfmfpqn229d72gfegsdn2q3fgrqsqqpphk8c2vfk
P.S. 25% of zaps on this note go to nostr:npub1lunaq893u4hmtpvqxpk8hfmtkqmm7ggutdtnc4hyuux2skr4ttcqr827lj for building satellite.earth which helped me learn how NIP-72 works. and 25% with nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac for nostrdesign.org because I also stole all his designs
Discussion
nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr if you need a LibreTranslate endpoint to test against, hit me up.
Transactions is probably one of the oldest things on my to-do list. Ive tested LibreTranslate although I couldn't figure out how to make it ignore URLs and other non word content.
Interesting. I might look at how some of the other FOSS clients do this sometime this week.
oops, I meant "Translations"
I wrote some custom filtering when we do translations with nokyctranslate.com, which I run which filters out certain patterns like urls, e-cash nuts, etc. I mostly did it so that what is translated is shorter and thus cheaper.
I’d be happy to work with you to integrate it as a paid translation option for your client. I did it on damus, which also supports another paid (non btc though, cc only) DeepL.
I’m really excited about your client btw!
Removing the URLs is only half the problem. You have to add them back in the correct position. And since the text is translated the length and position has changed
Yep, that’s what we do. A special syntax counter keeps track of where each piece of non translated text goes and inserts it back in after we get the translation. This does assume the translation service will leave the symbol of the counter untouched. Currently we use AWS machine translation as the translator and it’s nearly perfect at leaving the symbols in place. Haven’t tested LibreTranslate tho.
While our code isn’t open source, I’d be happy to share my logic there as I wrote it in python.
Are you open to offering paid translation services through the client? You could offer libre translate as a free option as well. That’s what damus has.
*untouched and in the right position.
Traveling now but can shoot you over my code logic later tonight, in case it’s helpful.
I have similar issue when using LibreTranslate to detect language. The quality and the performance can be lower whenever involves text with url and non word (symbol). Have to use regex to remove those url and symbols 😅
I have take a look at Mastodon source code, the interesting thing is it seems they don't preprocess any text before request translation