From bbeee2a2b2d142929c1c4bc8446a647398737853 Mon Sep 17 00:00:00 2001 From: Guillaume Date: Fri, 7 Jun 2024 14:15:38 -0400 Subject: [PATCH 1/6] chore: clean up readme --- readme.md | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/readme.md b/readme.md index 3d1524a..2c619c9 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,3 @@ -

- -

# Watson.ai 🔎 | Meeting Recorder & Summarizer Easily record and extract the most important information from your meetings! @@ -19,13 +16,13 @@ Enter your API token in the app settings to use the transcription feature. 2. OpenAI API: [link](https://openai.com/) 3. _Optional_ Affinity API: [link](https://www.affinity.co/) +## Disclaimer: +Please be aware that recording meetings without consent may not be legal in all regions. By using Watson.ai for meeting recording and summarization, you acknowledge and agree that it is your responsibility to comply with all relevant laws and regulations regarding recording conversations. The developer of Watson.ai provides no legal guarantees or assurances regarding the legality of recording meetings in your jurisdiction. The use of Watson.ai is at your own risk, and the developer accepts no liability for any misuse or legal consequences arising from the use of the application. + ## App Demo ![Recording](./docs/recording.png "Recording view") ![Meeting](./docs/meeting.png "Meeting view") -## Disclaimer: -Please be aware that recording meetings without consent may not be legal in all regions. By using Watson.ai for meeting recording and summarization, you acknowledge and agree that it is your responsibility to comply with all relevant laws and regulations regarding recording conversations. The developer of Watson.ai provides no legal guarantees or assurances regarding the legality of recording meetings in your jurisdiction. The use of Watson.ai is at your own risk, and the developer accepts no liability for any misuse or legal consequences arising from the use of the application. - --- # Development @@ -52,11 +49,6 @@ cargo tauri dev cargo tauri build ``` -## Usefull docs - -### Architecture overview -![Watson Architecture](./docs/Watson_Arch.png "High level overview") - ### Quick link - Auto-update [docs](https://tauri.app/v1/guides/distribution/updater/) - Async process in Rust + communication with webview [link](https://rfdonnelly.github.io/posts/tauri-async-rust-process/) From 65d6a6f756462604fac4a4ef35f6144e1a34daf2 Mon Sep 17 00:00:00 2001 From: LatentDream Date: Sun, 18 Aug 2024 16:22:51 -0400 Subject: [PATCH 2/6] Update readme.md --- readme.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 2c619c9..e047b29 100644 --- a/readme.md +++ b/readme.md @@ -27,9 +27,8 @@ Please be aware that recording meetings without consent may not be legal in all # Development -- [ ] Website +- [x] Website - [ ] Sign the app -- [ ] Refactor Frontend code + convert to shadcui - [ ] Integrate screen capture kit to cpal to have a commun interface instead of conditional compilation - [ ] Store API key in keychain From 5e03b05d3345e81266c64acf0501c16a397c0b8b Mon Sep 17 00:00:00 2001 From: LatentDream Date: Sun, 18 Aug 2024 16:23:26 -0400 Subject: [PATCH 3/6] Update readme.md --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index e047b29..96e409e 100644 --- a/readme.md +++ b/readme.md @@ -2,6 +2,8 @@ Easily record and extract the most important information from your meetings! +[Website](https://guillaume.sh/watson) + [Download the app here](https://github.com/LatentDream/watson.ai/releases/latest) Supported platform: MacOS, Windows From ce5dd577971adafd777c4b283e2ef32698bf2087 Mon Sep 17 00:00:00 2001 From: Gui Date: Sat, 31 Aug 2024 20:42:10 -0700 Subject: [PATCH 4/6] chore(docs): moving todos to issues --- readme.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/readme.md b/readme.md index 96e409e..eee798c 100644 --- a/readme.md +++ b/readme.md @@ -27,13 +27,6 @@ Please be aware that recording meetings without consent may not be legal in all --- -# Development - -- [x] Website -- [ ] Sign the app -- [ ] Integrate screen capture kit to cpal to have a commun interface instead of conditional compilation -- [ ] Store API key in keychain - ### FFMPEG Binary needed as it is bundle with the app Add you platform here: ``` From 00e3aba802a4c19e9a0993e9d634b96670e6b219 Mon Sep 17 00:00:00 2001 From: latentdream Date: Thu, 3 Oct 2024 21:39:24 -0400 Subject: [PATCH 5/6] feat(lang): Chinese support --- package-lock.json | 165 +++++++++++++++++++++++++- readme.md | 9 +- src-tauri/Cargo.lock | 54 ++++----- src-tauri/Cargo.toml | 2 +- src-tauri/src/audio/processor.rs | 3 +- src-tauri/src/audio/processor_sync.rs | 1 + src-tauri/tauri.conf.json | 2 +- src/controller/index.ts | 2 +- src/view/meeting.tsx | 4 +- src/view/recording.tsx | 2 +- 10 files changed, 203 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2b5587a..52c9d57 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,16 +21,19 @@ "@tiptap/pm": "^2.1.12", "@tiptap/react": "^2.1.12", "@tiptap/starter-kit": "^2.1.12", - "react": "^18.2.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-router-dom": "^6.18.0", "tauri-plugin-log-api": "github:tauri-apps/tauri-plugin-log", "tauri-plugin-store-api": "github:tauri-apps/tauri-plugin-store#v1" }, "devDependencies": { + "@tauri-apps/api": "^1.5.6", "@tauri-apps/cli": "^1.5.6", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.0.3", + "ls": "^0.2.1", "postcss": "^8.4.31", "postcss-preset-mantine": "^1.11.0", "postcss-simple-vars": "^7.0.1", @@ -990,9 +993,11 @@ } }, "node_modules/@tauri-apps/api": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.5.3.tgz", - "integrity": "sha512-zxnDjHHKjOsrIzZm6nO5Xapb/BxqUq1tc7cGkFXsFkGTsSWgCPH1D8mm0XS9weJY2OaR73I3k3S+b7eSzJDfqA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.6.0.tgz", + "integrity": "sha512-rqI++FWClU5I2UBp4HXFvl+sBWkdigBkxnpJDQUWttNyG7IZP4FwQGhTNL5EOw0vI8i6eSAJ5frLqO7n7jbJdg==", + "dev": true, + "license": "Apache-2.0 OR MIT", "engines": { "node": ">= 14.6.0", "npm": ">= 6.6.0", @@ -1713,6 +1718,24 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", @@ -1823,6 +1846,13 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -1991,6 +2021,13 @@ "node": ">=8" } }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -2022,6 +2059,25 @@ "node": ">=6" } }, + "node_modules/glob": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "integrity": "sha512-56P1ofdOmXz0iTJ0AmrTK6CoR3Gf49Vo3SPaX85trAEhSIVsVc9oEQIkPWhcLZ/G4DZNg4wlXxG9JCz0LbaLjA==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -2052,6 +2108,25 @@ "node": ">=4" } }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -2152,6 +2227,16 @@ "yallist": "^3.0.2" } }, + "node_modules/ls": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ls/-/ls-0.2.1.tgz", + "integrity": "sha512-UUnUysxEmzVNvn17J8t1EDUdTfP/o6+ASrI9D7PFTqNBZPJwP7sZ95Qzx9KTo4TkaGuGVanXemtF0F6Jv6+Ffw==", + "dev": true, + "license": "Public Domain", + "dependencies": { + "glob": "7.0.5" + } + }, "node_modules/markdown-it": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", @@ -2195,6 +2280,19 @@ "node": ">=8.6" } }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -2233,11 +2331,31 @@ "node": ">=0.10.0" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/orderedmap": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==" }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", @@ -2626,7 +2744,6 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -2852,7 +2969,6 @@ "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "peer": true, "dependencies": { "loose-envify": "^1.1.0" } @@ -2916,6 +3032,21 @@ "@tauri-apps/api": "1.5.3" } }, + "node_modules/tauri-plugin-log-api/node_modules/@tauri-apps/api": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.5.3.tgz", + "integrity": "sha512-zxnDjHHKjOsrIzZm6nO5Xapb/BxqUq1tc7cGkFXsFkGTsSWgCPH1D8mm0XS9weJY2OaR73I3k3S+b7eSzJDfqA==", + "license": "Apache-2.0 OR MIT", + "engines": { + "node": ">= 14.6.0", + "npm": ">= 6.6.0", + "yarn": ">= 1.19.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + } + }, "node_modules/tauri-plugin-store-api": { "version": "0.0.0", "resolved": "git+ssh://git@github.com/tauri-apps/tauri-plugin-store.git#b1ce9b38662a2990dddb30de1af88509a45e4625", @@ -2924,6 +3055,21 @@ "@tauri-apps/api": "1.5.3" } }, + "node_modules/tauri-plugin-store-api/node_modules/@tauri-apps/api": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.5.3.tgz", + "integrity": "sha512-zxnDjHHKjOsrIzZm6nO5Xapb/BxqUq1tc7cGkFXsFkGTsSWgCPH1D8mm0XS9weJY2OaR73I3k3S+b7eSzJDfqA==", + "license": "Apache-2.0 OR MIT", + "engines": { + "node": ">= 14.6.0", + "npm": ">= 6.6.0", + "yarn": ">= 1.19.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + } + }, "node_modules/tippy.js": { "version": "6.3.7", "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", @@ -3161,6 +3307,13 @@ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", diff --git a/readme.md b/readme.md index eee798c..9c43983 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,6 @@ # Watson.ai 🔎 | Meeting Recorder & Summarizer -Easily record and extract the most important information from your meetings! +Easily record and extract the most important information from your meetings in English, French, and Chinese! [Website](https://guillaume.sh/watson) @@ -37,8 +37,15 @@ src-tauri/bin/ffmpeg-x86_64-pc-windows-msvc.exe _Tips_: `which ffmpeg` to find the path of your ffmpeg binary and `cp /path/to/ffmpeg /path/to/watson/src-tauri/bin/ffmpeg-{{platform}}` ### Start App + +#### Install dependencies ``` +cargo install tauri-cli --version "^1.0.0" --locked npm install +``` + +#### Run the app +``` cargo tauri dev cargo tauri build ``` diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index f02e5da..6d64e5d 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -8,6 +8,33 @@ version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +[[package]] +name = "Watson" +version = "1.7.0" +dependencies = [ + "anyhow", + "chrono", + "cpal", + "dirs", + "hound", + "log 0.4.20", + "objc_id", + "openai_api_rust", + "reqwest", + "screencapturekit", + "screencapturekit-sys", + "serde", + "serde_json", + "serde_with_macros", + "tauri", + "tauri-build", + "tauri-plugin-log", + "tokio", + "ts-rs", + "uuid", + "zip", +] + [[package]] name = "addr2line" version = "0.21.0" @@ -5164,33 +5191,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "watson" -version = "1.4.0" -dependencies = [ - "anyhow", - "chrono", - "cpal", - "dirs", - "hound", - "log 0.4.20", - "objc_id", - "openai_api_rust", - "reqwest", - "screencapturekit", - "screencapturekit-sys", - "serde", - "serde_json", - "serde_with_macros", - "tauri", - "tauri-build", - "tauri-plugin-log", - "tokio", - "ts-rs", - "uuid", - "zip", -] - [[package]] name = "web-sys" version = "0.3.64" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index c9d5660..48b59f5 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "Watson" -version = "1.6.0" +version = "1.7.0" description = "Watson - Meeting recording and insight" authors = ["you"] license = "" diff --git a/src-tauri/src/audio/processor.rs b/src-tauri/src/audio/processor.rs index 3feafae..d604070 100644 --- a/src-tauri/src/audio/processor.rs +++ b/src-tauri/src/audio/processor.rs @@ -77,6 +77,7 @@ async fn transcribe_with_assemblyai(audio_path: &String, language: Option "en_us".to_string(), "fr" | "french" | "francais" | "français" => "fr".to_string(), + "zh" | "chinese" | "中文" => "zh".to_string(), _ => "en_us".to_string() } } @@ -139,4 +140,4 @@ async fn transcribe_with_assemblyai(audio_path: &String, language: Option) -> match language.to_lowercase().as_str() { "en_us" | "en" | "english" | "anglais" => "en_us".to_string(), "fr" | "french" | "francais" | "français" => "fr".to_string(), + "zh" | "chinese" | "中文" | "français" => "fr".to_string(), _ => "en_us".to_string() } } diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 6710ea5..b7d6061 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -8,7 +8,7 @@ }, "package": { "productName": "Watson", - "version": "1.6.0" + "version": "1.7.0" }, "tauri": { "updater": { diff --git a/src/controller/index.ts b/src/controller/index.ts index 4f70bcd..3e3c547 100644 --- a/src/controller/index.ts +++ b/src/controller/index.ts @@ -102,7 +102,7 @@ class RecordingModelController { } async transcribe(meeting: Meeting, language: String): Promise { - /* supported language: "En", "Fr" */ + /* supported language: "En", "Fr", "Zh" */ return ipc_invoke(`transcribe_recording`, { path: meeting.audio_path, language: language}).then( res => { console.log("Transcript: " + res); diff --git a/src/view/meeting.tsx b/src/view/meeting.tsx index 7c645a9..57bf89c 100644 --- a/src/view/meeting.tsx +++ b/src/view/meeting.tsx @@ -247,7 +247,7 @@ export default function MeetingView() { async function retranscript() { if (!meeting) {return;} let clonedMeeting = { ...meeting }; - let lang = language == "English" ? "En" : "Fr"; + let lang = language === "English" ? "En" : language === "Français" ? "Fr" : "Zh"; notifications.show({ title: 'Transcription started!', message: 'Watson will ping you when the transcription is done.', @@ -311,7 +311,7 @@ export default function MeetingView() { setLanguage(value) } } - data={['English', 'French']} + data={['English', 'Français', '中文']} /> diff --git a/src/view/recording.tsx b/src/view/recording.tsx index 64a663e..4a9e316 100644 --- a/src/view/recording.tsx +++ b/src/view/recording.tsx @@ -237,7 +237,7 @@ export default function Recording() { setLanguage(value) } } - data={['English', 'French']} + data={['English', 'Français', '中文']} /> From c26dc33a0623c71fa4a0be32880758a27d2c829e Mon Sep 17 00:00:00 2001 From: latentdream Date: Thu, 3 Oct 2024 21:40:52 -0400 Subject: [PATCH 6/6] chore(lang): chinese support | outdated file --- src-tauri/src/audio/processor_sync.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-tauri/src/audio/processor_sync.rs b/src-tauri/src/audio/processor_sync.rs index 6142de8..ad4d954 100644 --- a/src-tauri/src/audio/processor_sync.rs +++ b/src-tauri/src/audio/processor_sync.rs @@ -85,7 +85,7 @@ fn transcribe_with_assemblyai(audio_path: &String, language: Option) -> match language.to_lowercase().as_str() { "en_us" | "en" | "english" | "anglais" => "en_us".to_string(), "fr" | "french" | "francais" | "français" => "fr".to_string(), - "zh" | "chinese" | "中文" | "français" => "fr".to_string(), + "zh" | "chinese" | "中文" => "zh".to_string(), _ => "en_us".to_string() } }