-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Translate #28
Closed
Closed
Translate #28
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* upgrade to MVVM * Part 5: clean code * Add Unit test for GenAIWorker * Part 3 - Widget tests * Remove genai worker test * Update main UI test * Add singleton implementation * Unit test for GenAI Bloc * Fix GetIt singleton
* upgrade to MVVM * Part 5: clean code * Add Unit test for GenAIWorker * Part 3 - Widget tests * Remove genai worker test * Update main UI test * Add singleton implementation * Unit test for GenAI Bloc * Fix GetIt singleton
* Change App identifier * Setup Firebase project * Add Firebase setting into gitignore * Add firebase_core * Restructure to prepare for ATC app * fix lint * Package migration
* Change App identifier * Setup Firebase project * Add Firebase setting into gitignore * Add firebase_core * Restructure to prepare for ATC app * fix lint * Package migration
* add localisation * add missing gitignore * Add vietnamese * Add locale support to BuildContext * Update test * Test locale, and format code
* add localisation * add missing gitignore * Add vietnamese * Add locale support to BuildContext * Update test * Test locale, and format code
* Setup Firebase CLI * Draft - public chat UI and functionality * Draft - Add cloud function * Draft - Add temporary navigation to go to public chat screen after login success * read message from data, and send to Gemini to translate * Add generation config * Write translated result to firestore * Fix infinite translation, and avoid translation if message not available * fix crash issue when message first created * add translation message to UI * Build and deploy flutter web app, and fix UI * scroll to end when app launch * Save user detail into firestore * Convert to use bloc * Save user photo URL and display it * format code * Fix test * Change to use rich text
* Setup Firebase CLI * Draft - public chat UI and functionality * Draft - Add cloud function * Draft - Add temporary navigation to go to public chat screen after login success * read message from data, and send to Gemini to translate * Add generation config * Write translated result to firestore * Fix infinite translation, and avoid translation if message not available * fix crash issue when message first created * add translation message to UI * Build and deploy flutter web app, and fix UI * scroll to end when app launch * Save user detail into firestore * Convert to use bloc * Save user photo URL and display it * format code * Fix test * Change to use rich text
* Setup Firebase CLI * Draft - public chat UI and functionality * Draft - Add cloud function * Draft - Add temporary navigation to go to public chat screen after login success * read message from data, and send to Gemini to translate * Add generation config * Write translated result to firestore * Fix infinite translation, and avoid translation if message not available * fix crash issue when message first created * add translation message to UI * Build and deploy flutter web app, and fix UI * scroll to end when app launch * Save user detail into firestore * Convert to use bloc * Save user photo URL and display it * format code * Fix test * Change to use rich text
* Create GitHub Action to validate PR * Change flow name * Update job name * Remove intl_utils * Add firebase_options.dart to validate build * Add codeowner * Fix bash syntax * Read secret from env * fix multi line bash syntax * Ignore lib/firebase_options.dart in analyze * check content of lib folder * check content of lib/firebase_options.dart * update env param name * remove checking firebase option content * exclude firebase_options.dart from dart format * ignore unused_local_variable for web google sign in button * ignore invalid_use_of_protected_member * change to import flutter_bloc * use const for UserDetailState * update bash command to exclude only lib/firebase_options.dart from dart format * add google-services.json for android * add ios GoogleService-Info.plist * update dart format command * update flutter version for ios build * Add firebase option and google service for iOS build
* Create GitHub Action to validate PR * Change flow name * Update job name * Remove intl_utils * Add firebase_options.dart to validate build * Add codeowner * Fix bash syntax * Read secret from env * fix multi line bash syntax * Ignore lib/firebase_options.dart in analyze * check content of lib folder * check content of lib/firebase_options.dart * update env param name * remove checking firebase option content * exclude firebase_options.dart from dart format * ignore unused_local_variable for web google sign in button * ignore invalid_use_of_protected_member * change to import flutter_bloc * use const for UserDetailState * update bash command to exclude only lib/firebase_options.dart from dart format * add google-services.json for android * add ios GoogleService-Info.plist * update dart format command * update flutter version for ios build * Add firebase option and google service for iOS build
* Create GitHub Action to validate PR * Change flow name * Update job name * Remove intl_utils * Add firebase_options.dart to validate build * Add codeowner * Fix bash syntax * Read secret from env * fix multi line bash syntax * Ignore lib/firebase_options.dart in analyze * check content of lib folder * check content of lib/firebase_options.dart * update env param name * remove checking firebase option content * exclude firebase_options.dart from dart format * ignore unused_local_variable for web google sign in button * ignore invalid_use_of_protected_member * change to import flutter_bloc * use const for UserDetailState * update bash command to exclude only lib/firebase_options.dart from dart format * add google-services.json for android * add ios GoogleService-Info.plist * update dart format command * update flutter version for ios build * Add firebase option and google service for iOS build
* refresh photo avatar * remove unused import
* refresh photo avatar * remove unused import
* refresh photo avatar * remove unused import
* first draft of merge and deploy script * Change to use pull_request trigger * Add firebase.json * Change to use self-hosted * do not need to install Firebase CLI
* first draft of merge and deploy script * Change to use pull_request trigger * Add firebase.json * Change to use self-hosted * do not need to install Firebase CLI
* first draft of merge and deploy script * Change to use pull_request trigger * Add firebase.json * Change to use self-hosted * do not need to install Firebase CLI
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ý tưởng:
__ Get translation từ Firestore về theo đường dẫn "translations/{messageId}" (như trong ảnh), thêm collection "translations" để tách biệt với collection "public" (để khi tải tin nhắn về nó không bị tải luôn translations).
__ Kiểm tra mã ngôn ngữ đã có trên Firestore thì không cần Gemini dịch, mà lấy từ Firestore luôn.r
__ Gom những ngôn ngữ chưa có trên Firestore lại, rồi đẩy cho Gemini dịch, yêu cầu nó trả về phản hồi với key là MÃ ngôn ngữ.
__ Cuối cùng đẩy lên Firestore theo đường dẫn lúc nãy để BỔ SUNG ngôn ngữ & dịch cho translation của message đó.
Có 2 loại Settings:
1. Settings dịch:
2. Settings app (mới demo chưa thực thi):
Hạn chế:
Video Demo:
https://github.com/user-attachments/assets/02917bb1-56b1-483f-af3f-c41022c25135