← Quick Translate

QUICK TRANSLATE · PROJECT DOCUMENTATION · 8 NOVEMBER 2026

Technical Requirement Document

1. Technical baseline

The application is implemented with native MIT App Inventor components and blocks. Reviewed inputs are QuickTranslate_Voice_Pro_FIXED.aia, QuickTranslate_Voice_Pro_FIXED.aab, QuickTranslate_Voice_Pro_FIXED.apk, and five supplied screenshots. This technical document records the inspected implementation and requirements for maintaining it. It does not certify runtime behavior on an Android device.

2. Package and release metadata

Package ID: appinventor.ai_johncarlvalino.QuickTranslate_Voice_Pro_FIXED. APK versionName: 1.0; versionCode: 1. APK length: 4,425,322 bytes (4.43 MB decimal). Declared minSdkVersion: 14 (Android 4.0); targetSdkVersion: 36. Minimum SDK is a manifest declaration and does not establish tested compatibility.

SHA-256: 32f010733954d0c1cdc2cffc2a47911330e4f7b9e7c69d4b7cd01ee05897ea99. Android SDK apksigner verification passed for v1, v2, and v3 signatures. The website distributes an unchanged copy at downloads/quick-translate.apk. The in-app v2.1 About label differs from release metadata and should be reconciled in a future app build.

3. Architecture and components

Presentation: Screen1 contains TranslatePage, LibraryPage, SettingsPage, and bottom navigation. SourcePicker and TargetPicker select languages; SwapButton exchanges them. InputText and OutputText hold the source and returned text.

Translation: Translator1.RequestTranslation submits the language-pair request; Translator1.GotTranslation handles the asynchronous result. SpeechRecognizer1.GetText and AfterGettingText support voice input. TextToSpeech1.Speak, Stop, and AfterSpeaking support speech output.

Persistence and device integration: TinyDB1.GetValue and StoreValue manage local data; Sharing1.ShareMessage opens sharing; Notifier1 provides alerts and confirmation dialogs. Screen1.ErrorOccurred handles component error events.

Data flow: user input → selected language pair → translation service → returned text → result display → optional speech, local storage, or Android sharing. Voice input first passes through the device speech recognizer. The promotional website is independent of this flow and does not run translation requests.

4. Storage and data handling

Recent translation entries and bookmarked phrases are local app data managed through TinyDB. App preferences control history saving and typed-result speech playback. Library controls let users revisit entries and clear stored lists. No remote user database, login service, or cloud synchronization is implemented in the supplied source.

Translation text is sent to the translation service identified in the app as MIT App Inventor’s translation service. Speech providers and user-selected share destinations may also process submitted content. Do not describe this as an entirely offline or device-only translation service. Retention rules of external services are outside the inspected project and must not be invented.

5. Permissions and dependencies

The inspected bundle declares INTERNET, RECORD_AUDIO, and READ_EXTERNAL_STORAGE. Voice input needs microphone permission and a compatible recognition provider. Spoken output needs suitable device voices. Internet is required for translation. Review the external-storage permission for necessity before future distribution; this documentation does not remove it or claim it is unused.

Maintain the project with MIT App Inventor. Build an APK for direct installation and an AAB for supported app-store distribution. Preserve the original signing identity securely when producing updates; do not place signing credentials in the public website or submission assets.

6. Static website implementation

Implementation: HTML5, CSS3, and vanilla JavaScript. The site uses optional Google Fonts with system-font fallback. index.html, css/, js/, assets/, docs/, and downloads/ are deployable using relative paths under public_html or a subdirectory. No Node runtime, backend, database, or translation proxy is required on the hosting server.

Interaction requirements: sticky navigation, mobile menu, active sections, screenshot carousel, theme persistence using localStorage when available, scroll reveals using IntersectionObserver, and reduced-motion support. A native dialog contains an iframe for Help documents; each document also works as a standalone page and supports browser printing.

Distribution: both APK anchors must use downloads/quick-translate.apk and the download attribute. Serve the actual binary rather than an AIA or AAB renamed to APK. Configure HTTPS through the hosting provider. Sites deployment currently preserves owner-private access.

7. Validation plan and traceability

TR-01 → PR-01/02: test source/target changes, swap, valid text, empty text, and service errors. TR-02 → PR-03/04: test microphone permission grant/denial, speech recognition, target voices, auto-playback, and unavailable voice handling.

TR-03 → PR-05/07: save and reopen entries, restart the app, toggle history, and verify both clear-list actions. TR-04 → PR-06: exercise clear and Android sharing. TR-05 → PR-08: test assets and anchors, mobile layouts, theme persistence, keyboard dismissal/focus restoration for Help, and both APK downloads.

Completed checks: APK metadata inspection, signature verification, hash matching of downloaded APK bytes, and website browser checks. Planned checks: on-device installation, service requests, voice workflows, local persistence, and device compatibility. Record actual results and device/OS details before claiming those tests passed.

8. Deployment, maintenance, and known gaps

For cPanel, upload index.html, css/, js/, assets/, docs/, and downloads/ without changing their relative structure. Enable hosting SSL and verify the site and APK URL. For a release update, replace the APK, read the new manifest, update visible release metadata and this document, and repeat download-integrity checks.

Known gaps: About label versus release version; pending Android runtime tests; no verified Play Store listing; owner-private hosted access; and external Drive folder contents/access not independently verified. A public submission needs owner-authorized website access and reviewer-readable Drive sharing.

9. References

Primary project evidence: supplied AIA component definitions and blocks, AAB manifest, APK badging and signature output, original screenshots, and the implemented website. Store artwork dimensions follow Google Play Console Help, “Add preview assets to showcase your app”: https://support.google.com/googleplay/android-developer/answer/9866151 . Installation export guidance: https://appinventor.mit.edu/explore/save-your-app .