Giter Club home page Giter Club logo

talkdimsum's Introduction

These are the JSON files and images (minus icons and logos) for Talk Dim Sum on the App Store and the website on the Swift version

Other repos

An archived Flutter version, open source but would have to be updated to read the latest version of this data.

Swift utilities, dim sum and language support are in the SwiftSys repo.

Some Gauche Scheme libraries used to check/copy/convert these files are in the Schematic repo.

Scripts

Some scripts written in Gauche Scheme:

copy.scm copies the data to the Swift project.

hugo.scm copies the data to the website (built with Hugo and the Blowfish theme)

Issues

This repo serves as the Issues database for the app and website.

Downloads

This repo serves as the download site (in Releases) for the last Flutter builds for Android and macOS.

Items

Items are dishes in Talk Dim Sum but potentially usable for other types of...items.

Items have a photo, a word that identifies it (keyed by the Cantonese), a markdown description, a list of tags, and a list of web links to other info resources.

The markdown has special notation for wiktionary links so that a reader will replace characters surrounced by {} with a link to the wiktionary page.

Words

Every Word has English and Cantonese names, and Mandarin (traditional characters) and Simplified (simplified characters of the Mandarin name) if they are different.

Yale romanization specifies the Cantonese pronunciation, and Pinyin specifies the Mandarin. Started add Jyutping, eventually should be able to derive the Yale from that.

As this database is focused on Cantonese dim sum (at least originally), the words are keyed by the Cantonese text. Mandarin is only specified if it differs from the Cantonese, and Simplified is the simplified characters version of the Mandarin (implicit or explicit), but again only specified if they are different.

The Chinese/Mandarin/Simplified fields are either strings or text/wkty pairs. If the Cantonese/Mandarin/Simplified is just a string and not a text/wkty pair, then it is assumed there should only be wiktionary links generated for the individual characters.

Images

The images are landscape but not consistent in aspect. They are scaled down to a maximum 512 pixels width for historical reasons (old devices running with memory leaky Xamarin). They are all JPEG files suffixed .jpg (the Flutter code assumes this, the Swift code doesn't care).

Restaurants

All the restaurant links and data are found manually on the Internet, and I add them if it looks like they're still operating and serve Cantonese-style dim sum, at the very least ha gow and siu mai (if you just scrape or pull everything tagged "dim sum" you'll get random Asian restaurants and PF Chang's, which does list dim sum on their menu but it's just spring rolls and potstickers).

I started out listing restaurants just in my city, then other states, then all over the world (excluding some for reasons such as genocidal practices and outlawing homosexuality), but that's just not feasible (especially in Asia), and I got tired of low ratings and reviews complaining I didn't include their city (especially in Europe), so it's back to just the US now.

For the restaurant links, the restaurant's own website is listed first if available, but no Facebook (because, Facebook), and other links are listed aphabetically by site name. I try to avoid any food ordering sites pretending to be the main restaurant site. Yelp is here because it's ubiquitous (at least in the US, not so much in Europe, and OpenRice is better in Asia) and typically has enough photos so I can tell if it's real dim sum, Travelocity is omitted because it hangs my link checker.

URLs

Links are urlencoded, both in the resource lists and the markdown text.

Formatting

I edit and format these files in Visual Studio Code, and run JSON and link checks with some scripts written in Gauche.

This is not a hard and fast rule, but I try to make the categories (categories.json) and new dishes (everything tagged with the first entry in categories.json) multiples of three, as the apps have three-column thumbnail views and it looks better to have an even bottom.

License

Everything is MIT-licensed except for the regional map images from Wikipedia, licensed from Wikimedia under TUBS, CC BY-SA 3.0.

talkdimsum's People

Contributors

technicat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

talkdimsum's Issues

error with White District Chicken Feet.

Reported by a user:

I found another error with the White District Chicken Feet. The name is probably correct but the description mentions Thai Style Sweet Sour Chicken feet.

ordering phrases with classifiers

I can't find the original request, but it was for adding ordering phrases that include the appropriate classifiers for each dish, e.g.

"yut tiu cheung fun" (one strip of rice roll)

Google Play

An Android build is available (here on Github) so it could go on Google Play if there is demand (but I really don't like Google Play, it's a real hassle deploying, gets a lot of spam, and Google Play generally has more annoying reviews than the App Store).

make AI a Pro feature

the AI feature should be Pro, although it should reach a reasonably consistent performance first

add multiple English names

Even more than Chinese names, dishes appear under various English names, so would be good to list and be able to search them (currently some alternate names are mentioned in the dish description).

Chinese for orange chicken

The Chinese for orange chicken, which translates to "orange flower chicken", doesn't match the Chinese listed in Wikipedia (which translates to "orange chicken" for the American version and "citrus peel chicken" for the Chinese). I don't remember where I got the "orange flower chicken" version from.

phrases should indicate who's talking

The dialog lines in the Phrases screen are labelled with speaker identifiers so they can be displayed a in a chat session, but that distinction isn't visible in the current display, which is just a list.

character list for Mandarin and Simplified

The characters list with links to wiktionary only correspond to the Cantonese names. There should be a different list fo Mandarin, if the Mandarin is different, and a different list for Simplified (will require reorging the JSON a bit).

bad pronunciation

app store review

The reason I didn’t give it 5 stars though, and the real reason I reviewed the app was the laughably bad pronunciation. It’s not that it’s inaccurate - it just sounds like a cross between Jessica Rabbit and a 450 pound manatee. I played the sound and immediately my friend asked what sounded so 核突.

Please do not play these in the restaurant. They will definitely 落地笑.

stuck on Mandarin

app store review:

This is a great app and I’ve been able to share the names of some favorite dishes with my son. But just today when we opened the app, we were quite upset to find that all the dishes are now in mandarin instead of Cantonese. What happened? I checked the option for Cantonese instead of Mandarin and it’s all still in Mandarin. Please fix. Thank you!

freeze in the practice screen

While testing a testflight build of version 5.1.7, in the practice screen of the cold noodles dish, while switching among the different languages cantonese/mandarin/simplified via the tab and tapping the microphone to practice speech, the app got into a state where it didn't respond to taps on the tabs. Was unable to reproduce in the next build.

mute switch detection doesn't work

There is some code to check if the mute switch is on while running text-to-speech, but it doesn't seem to work, should be popping up an alert (using AlertToast)

markdown shortcut for wiktionary

The markdown content could be made more concise by using custom delimiters around the character and then replacing with the wiktionary link by the loading code.

Itch.io

The android and mac builds could go on Itch.io, and in fact they were previously, but for now they are only on this repo (releases) to minimize work and keep my itch.io page game-only.

share feature

Formerly there was a share feature that emailed or sent to social media the name of a dish from a dish page. Better would be a button on a dish page that let you take a photo a dish and shared that with the dish name.

iOS 16 STT breaks TTS

on iOS 16 (verified with iOS 16.0.2) after using the speech practice feature, the speech playback is lowered in volume. But oddly, the quited speech is unaffected by the mute switch, which normally completely mutes.

merged phrases

In phrases, some phrases seem to be connected in the UI so tapping on one will pronounce all of them, e.g. the first tw out of three phrases in Apologies.

dim sum web pages

generate web pages from the json files to incorporate in the Talk Dim Sum website

Specifically, this means a converter that generates markdown files compatible with Hugo and the Blowfish theme.

add sound effects to STT

Like typically language learning apps, there should be an ideally pleasant sound effect if a word or phrase is spoken correctly (and something not too obnoxious for failure).

ios: ability to center map

In the restaurant detail view, if you manipulate the map there's no convenient way to recenter around the selected restaurant, short of backing out of the page and reentering it.

bad tag in Chinese sausage roll

Chinese sausage roll has 卷 as a tag instead of 捲. This dish has 卷 in the name but most of the dishes with that word use 捲 and we use that as the category word for rolls.

multiple variants of word for roll

The dish json files use both and for rolls, probably should settle on the latter, which I believe is always used with simplified characters, and just make a note that the former is also but not always used with traditional characters.

f-droid

request to make the Anddroid version available on f-droid

full text search

The original request for the search feature envisioned a search through all the description text, but the current implementation just searches the dish names (English and Chinese) and tags to keep the implementation and search results manageable. Still, it could be useful to have a full search option.

Character descriptions for Mandarin and Simplified

The Character section of each dish description (under the Characters heading) describes the Cantonese word, but there should also be descriptions for Mandarin and simplified characters when they differ.

ios: external map links

The built-in map view for restaurant detai pages is pretty limited. Perhaps add an option to go to the apple maps app, google maps, etc.

boba names

app store review

if possible add some

Boba names :)and the complicated ice and sugar Ritual.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.