Android app of LINDAT translation service

Overview

Charles Translator

Android app of LINDAT translation service
For now just translate Czech <-> Ukrainian, but if future will be more languages

Architecture and technologies

  • Base architecture is MVVM with Android viewmodel components
  • UI is based on Android Jetpack Compose
  • For DB is used Android Room
  • For api communication is used Ktor library
  • For DI is used Hilt

Localization

App contains hardcoded texts in English, Czech, Slovak and Ukrainian languages.
Progress of tranlations:
Crowdin
If you want add your language to app, please contant [email protected]. We use https://crowdin.com/ for localization management.

Maintainers

This project is mantained by:

Comments
  • Text remains in input window when direction is swapped

    Text remains in input window when direction is swapped

    version 0.9..4: When the translation direction is reversed, the text in the input window stay (e.g. the Czech text stays in the upper window which is now Ukrainian), and it is translated to cs (usually remains the same, but it is confusing). Suggestion: move the translated text from the output window to the input window at each reversal.

    opened by hajic 7
  • Use anonymous identifier instead of IP address for logging

    Use anonymous identifier instead of IP address for logging

    If the user says OK to giving us their data, generate and use an anonymous identifier unigue per device instead of IP address.

    • better privacy
    • better logging, beucase we get all the data grouped by that one user, not their various IP addresses as the phone moves around.
    enhancement 
    opened by stranak 6
  • The content of input field when microphone is activated

    The content of input field when microphone is activated

    When the microphone icon is pressed, the input field should be erased.

    The input field in the second screenshot should be empty: image The current situation can be confusing - users can expect that the recorded text is appended (inserted) into the current text in the input field.

    opened by matyaskopp 5
  • Joining sentences in output window omits space.

    Joining sentences in output window omits space.

    When the input text consists of several sentences (tested with idnes text with fullstops at the end of sentences), they end up joined without space after the fullstop in the output window. The browser UI does not do it, so it has to do something with the app.

    opened by hajic 5
  • App Icon

    App Icon

    New icon, "Charles Translator".

    • [ ] pick one (Slack)
    • [ ] get feedback for that one (Slack)
    • [ ] have the author improve it based on the feedback
    • [ ] check with the author that the icon conforms to the guidelines
    high priority 
    opened by stranak 4
  • ASR input: previous text content appeares when removed current translation and asr mode still activated

    ASR input: previous text content appeares when removed current translation and asr mode still activated

    1. press the mic button
    2. say a word: "jedna"
    3. then press cross to remove word "1" (now the input area is empty)
    4. then say another word: "dva"
    5. finally, "1 2" appear in the input area
    opened by matyaskopp 3
  • Crashes on Chromebook

    Crashes on Chromebook

    The app crashes when clicking on some history items. Other items work OK, but I could not find any rule which items cause the crashes and which not. I have Chrome OS 100.0.4896.82, Acer N15Q8. I have tried just a few Android apps and all worked correctly, but I admit that using an old chromebook is an edge case. So maybe we can close this issue as "wont fix" (and similarly #11) if no one else encounters the same bug.

    opened by martinpopel 3
  • Text input does weird stuff with MessagEase keyboard

    Text input does weird stuff with MessagEase keyboard

    I am using a rather unusual keyboard called MessagEase. With this keyboard, diacritics are added to already written characters, i.e. I write "s", then do "add háček" and the result is "š". This does not work here, it writes a standalone "ˇ" character. Often, the following character also got malformed. I use the keyboard for several years and I have never encountered an issue like this.

    version 0.9.7, Samsung M22, Android 11, Kernel 4.14.186-22735277

    opened by jlibovicky 3
  • Strange history item click event action

    Strange history item click event action

    I translated the word "Ahoj":

    Screenshot_20220421-211356

    Then I pressed history icon:

    Screenshot_20220421-212025

    and then a card with the history item containing the translation of "Ahoj":

    Screenshot_20220421-212043

    I expected that the first screenshot would appear.

    opened by matyaskopp 2
  • Googleboard voice input gets cut off early

    Googleboard voice input gets cut off early

    version 0.9.4: when using the ASR called from the Google keyboard, it often gets truncated (sometimes even after the first word). This does not happen when speaking through the Gogole keyboard to the web version of the translation. So it must be some sync issue within the app.

    opened by hajic 2
  • ASR uses only system language

    ASR uses only system language

    Version 0.9.4 The app's "speak" buton invokes ASR, but cannot be switched from the system language (e.g. US English) to anything else. Should follow the input language of the translation.

    opened by hajic 2
  • Black screen after startup

    Black screen after startup

    A user reported via email (in Ukrainian) that "When the application is opened, a black window appears immediately. After some time, it starts working again." I guess it will be difficult to debug without knowing the exact Android version and whether the black screen appears always and for how long, but let's create this issue anyway, maybe there are other users experiencing the same behavior.

    opened by martinpopel 1
  • Conversation Mode

    Conversation Mode

    A dedicated mode for fluent conversation. See Google, Microsoft or Apple apps.

    • interface to display running conversation
      • side by side, or mirrored halves of screen?
      • a switch for automatic synthesis after each translation
      • manual "turns" by pressing microfones (like chess clock)?
    • features for conversation
      • identify replicas (speech start + language detection)

    may involve other issues, like #18 .

    enhancement 
    opened by stranak 2
  • Idea of faster translation: STT->TTS

    Idea of faster translation: STT->TTS

    This is just an idea for improvement. It would be nice to have one button for both actions:

    • text to speech button
    • play translated text

    Like a small simulation of a human translator, who listens to a sentence, then translates it in mind and then says it.

    enhancement 
    opened by matyaskopp 5
  • Use the Google services to identify source language

    Use the Google services to identify source language

    For text: https://developers.google.com/ml-kit/language/identification/android

    For audio I don't know whether it is public, but Google has it working very nicely in the conversation mode in their translation app. So please look whether there is a method for it that you could use. It would enable a future option for a fully automatic conversation mode, just like Google and Apple translation apps have.

    enhancement 
    opened by stranak 0
  • Input field does not follow standard copy-pasting behavior

    Input field does not follow standard copy-pasting behavior

    The input field does not support standard Android copy-pasting features (copy / cut / paste / select all) on double-tap or using a keyboard.

    I noticed that there is a paste button when the field is empty (and there is also a copy button when there is some text). But I don't think this is the best way to do it, because I often need to paste something after some existing text or copy/cut a text segment.

    bug 
    opened by kasnerz 3
Owner
ÚFAL
Institute of Formal and Applied Linguistics (ÚFAL), Faculty of Mathematics and Physics, Charles University
ÚFAL
NewsAppKt is an Android app designed for searching news using TheGuardianOpenPlatform public web service.

NewsAppKt is an updated version of NewsApp. It is written entirely in Kotlin and uses MVVM with Clean Architecture practices. The UI implementation uses Jetpack Compose.

Daniel Bedoya 2 Sep 22, 2022
Android app using Kotlin to manage to-do notes with firebase as backend service

TO-DO Manager TO-DO Manager is a simple note management app. Unlike other apps, TO-DO Manager is free and open source. You can access your nots from a

Ahmed Badr 3 Dec 10, 2022
Location Service Manager for Kotlin Multiplatform Mobile iOS and android

Location Service Manager for Kotlin Multiplatform Mobile iOS and android Features Provides simple permission settings Dramatically reduce the amount o

LINE 55 Dec 10, 2022
Simple Service Locator Library

ScrapServiceLocator A small, asynchronous IoC library for Android that might be half compile-time safe (?) Before I start, I'm very poor at English, s

HyungWoo Kim 3 Aug 28, 2021
Example of migrating from Dagger to Hilt with a real service/repository example

DaggerToHilt Overview This repo provides a real example of using Hilt for dependency injection. It hits endpoints provided by the Movie Database, and

null 0 Nov 29, 2021
Survey-service - Application for creating online surveys and polls

Survey Service Application for creating online surveys and polls Functionality A

Anatoly Babushkin 2 Apr 6, 2022
Link-converter - A web service that converts links between web url and deeplink for mobile and web applications

Deep Link Converter Linkleri, mobil ve web uygulamaları için web url ile deeplin

Muhammed Eren DURSUN 2 Apr 9, 2022
Account-Touch is a simple account-sharing service.

account-touch A-Touch is a simple account-sharing service. feature user & permission Create an user with a nickname and emoji account You can see the

Euphony 2 Aug 4, 2022
This is a demo android app representing implementation of SE principles in android app development

Articles Demo This repository contains a sample Android App that shows most popular articles data from NY Times API. This is a sample app that shows h

Waesem Abbas 2 Jan 20, 2022
Name of your app is an android app that allows building a todo list

Project 1 - SimpleToDo Name of your app is an android app that allows building a todo list and basic todo items management functionality including add

Javier Nazario 0 Nov 23, 2021
Matches-simulator-app - App Android Nativo de Simulação de Partidas

Matches Simulator App App Android Nativo de Simulação de Partidas. Este repositório foi organizado em algumas branches que representam as implementaçõ

DIO 127 Dec 28, 2022
Matches-simulator-app - App Android Nativo de Simulação de Partidas de Futebol

Matches Simulator App App Android Nativo de Simulação de Partidas de Futebol - E

Glaucio Coutinho da Silva 1 Jan 18, 2022
A beautiful Fashion Store like Android App Mock built on Jetpack Compose with compose navigation, hilt, dark theme support and google's app architecture found on uplabs Here

A beautiful Fashion Store like Android App Mock built on Jetpack Compose with compose navigation, hilt, dark theme support and google's app architecture found on uplabs Here

Puncz 87 Nov 30, 2022
Crunch-Mobile - A Food Delivery Mobile App which uses Modern App Architecture Pattern, Firebase And a Simple Restful Api

Crunch-Mobile This is a Food Delivery Mobile App which uses Modern App Architect

Bright Ugwu 1 Jan 1, 2022
MVIExample - A sample app showing how to build an app using the MVI architecture pattern

MVIExample A sample app showing how to build an app using the MVI architecture p

Yasser AKBBACH 0 Jan 8, 2022
Notes-App-Kotlin - Notes App Built Using Kotlin

Notes-App-Kotlin Splash Screen Home Page Adding New Notes Filter Feature Search

Priyanka 4 Oct 2, 2022
Klimatic is an android app built using Kotlin. It try to showcase all the latest technologies used in android.

Klimatic Klimatic is an android app built using Kotlin. It try to showcase all the latest technologies used in android. Built using Android Architectu

Shivam Satija 34 Oct 11, 2022
Android library that creates app shortcuts from annotations

Shortbread Android library that generates app shortcuts for activities and methods annotated with @Shortcut. No need to touch the manifest, create XML

Matthias Robbers 1.8k Dec 30, 2022