Translations without interruptions

Overview

Translate Bubble Android Status

PLEASE NOTE THIS PROJECT IS NO LONGER BEING MAINTAINED.

Translate Bubble for Android

Translate Bubble is an application that facilitates the translation of text on your cell phone. You only has to copy any text to clipboard and immediately you will see a bubble appear on your screen with your translation. You don't even need to to leave your current application.

Scala on Android

This application is written entirely in Scala on Android. We are excited to make the application open source and share the code with you. We have used the macroid library extensively in this project. In addition we have contributed our own Macroid extenions to this application, that can be found here: macroid-extras.

Compile

You can compile this project and contribute improvements. To compile the project:

  • Download Activator and install it
  • Configure the Android SDK on your computer
  • Clone this GitHub project to your computer
  • From project root directory run:
$ ./activator
  • Connect your phone and execute:
> run

You can use your favorite IDE. At 47 Degrees we use IntelliJ with the Scala plugin. If you want to run this project from IntelliJ you only need to import the project.

Download

You can download Translate Bubble from Google Play. If you enjoy the application, please take a moment and rate it in the Google Play store :-)

Contribute

You can contribute to this application and we will do our best to upload your changes to Google Play. We are also in need of people to contribute additional translations of the application. If you have the desire to translate the application and unsure how to go about it, please email us at [email protected]

License

Copyright (C) 2012 47 Degrees, LLC http://47deg.com [email protected]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Comments
  • Fix #7 issue. Improve text validation checking if the text to translate is a number or a URL.

    Fix #7 issue. Improve text validation checking if the text to translate is a number or a URL.

    Hi 47Deg developers!

    In this PR I've changed your text validation policy in ClipboardServicesComponentImpl to fix the issue #7.

    Take a look to the new conditions I've added. Now, if the text to translate is a number or a URL the text is not consider as valid. I've added some tests to ClipboardServiceComponentSpec.

    I've used a regular expression to check if the text to translate is a URL or not and the forall functional combinator to check if the text is a number.

    To write this tests I've used clipboardServices.isValidCall shouldEqual false but I'm not sure if this is the correct way to assert this expected value :S This is my first PR to a Scala project :)

    Maybe all the code related to the text validation should be extracted to another class. But I think for this PR is not needed.

    opened by pedrovgs 8
  • TB5 - CircleCI Integration

    TB5 - CircleCI Integration

    This PR adds the configuration file for CircleCI

    Build CircleCI: https://circleci.com/gh/47deg/translate-bubble-android/6

    Please @raulraja could you review? Thanks

    opened by fedefernandez 8
  • Adds an activity to bring support for share text to translate service

    Adds an activity to bring support for share text to translate service

    This PR allows to send text to the translate service through the share option. In that way you can activate the bubble with the share option.

    @javipacheco please could you review?

    Thanks

    opened by fedefernandez 4
  • Refactor

    Refactor

    This PR make a refactor of all UI actions.

    • Methods returns Ui[_] and the runUi is done in the Activity or Fragment
    • Created Composer trait with UI Actions and Views
    • Sealed trait for types (Bubble and Notification)

    @fedefernandez @franciscodr can you please review? Thanks!

    opened by javipacheco 3
  • Convert to Scala on Android

    Convert to Scala on Android

    Scala is the best, Java is dead

    I have moved this code to Scala and I have enjoyed a lot :-)

    • In Java I have used "Dagger" library for Dependency Injection and now I use Cake Pattern and Service[Req, Res]. The Cake Pattern components are in "modules" package
    • In Java I have used "android-priority-jobqueue" library for async tasks and now I use Futures on Scala

    I have some problems currently:

    • I'm using implementations in my traits. For example, I don't know how I should use TranslateServicesComponent instead of TranslateServicesComponentImpl
    • We should create a new module for "MacroidExtras" for we can use it in others projects. I have talked with @juanpedromoreno about that

    @raulraja can you review please? Thanks!

    @juanpedromoreno @FPerezP and @franciscodr Enjoy it!

    opened by javipacheco 3
  • Identify numbers and URLs to avoid useless translation requests

    Identify numbers and URLs to avoid useless translation requests

    To avoid useless requests and to not show the bubble when it's not needed, we should identify numbers, URLs and any other string that we should avoid to translate.

    As an idea, we could have a regex list that allow us to define patterns that should not be translated.

    enhancement 
    opened by FPerezP 2
  • Google Analytics and new sections in README

    Google Analytics and new sections in README

    This PR covers:

    • Fixed some bugs
    • Added Google Analytics
    • I've added a new sections in README for how compile the project

    @raulraja can you please review? It`s possible that I have forgotten something in compile section. Can you review if I forgot some important thing?

    opened by javipacheco 2
  • Upgraded macroid

    Upgraded macroid

    This PR upgrades the macroid and macroid-extra version and replaces the layouts in ActionsView and DisableView for macroid-ui using the new ServiceContextWrapper in the new version of macroid library

    @fedefernandez can you please review? thanks!

    opened by javipacheco 1
  • Fixed  when Bubble don't appear some cell phones

    Fixed when Bubble don't appear some cell phones

    In cell phones where the Clipboard Listener is called several times (like Nexus 6), the bubble doesn't appear sometimes

    @franciscodr can you please review? thanks!

    opened by javipacheco 1
  • paco-tb-1-wrong-text-shown-for-languages

    paco-tb-1-wrong-text-shown-for-languages

    This PR solves:

    • Wrong text shown for languages in translation window
    • Unescaped encoded characters like &39; in translated text

    @javipacheco, @raulraja Could you review this code, please? Thanks!

    opened by franciscodr 1
  • New design

    New design

    This is a Release Candidate! Yeah!!!

    Israel have added new icon and new resources. I have fixed some bugs

    @raulraja can you please review the code?

    @justinelsberry can you please review 2 new string?

    @jorgegalindocruces can you please review Spanish resources?

    Thanks!

    opened by javipacheco 1
  • [Feature request]Support more API providers

    [Feature request]Support more API providers

    Thanks for the useful app! However, the default translation API was blocked in my country.

    I hope this app can support more translation API providers, such as:

    • Yandex(it seems free)
    • Bing(It is free in 2M data)

    Thanks.

    opened by ghost 0
  • Improve UX to get translation faster

    Improve UX to get translation faster

    Dear Team,

    Thanks a lot for amazing useful app! However, the following improvements will make it much easier:

    1. For translation "window" (which contains translation results): 1.1 Close the "window" by tap on any point on it (not on X button only). Motivation: it minimizes time to close cause doesn't need to aim into X button. Moreover, there is no functionality within "window" so it safe to tap inside 1.2 Close the "window" by tap anywhere on screen Motivation: minimize time to translate and continue reading ASAP.
    2. For translation flow: 2.1 Show translation as soon as text copied to clipboard Motivation: In use case, if enable option or start the app before reading, a user will have ability to translate in less actions - just select and copy! Together with the mentioned options it makes translation almost unnoticeable during reading. Remark: It should be optional (disabled by default to avoid annoying for new users).
    opened by neooleg 2
Owner
47 Degrees Open Source
47 Degrees Open Source Initiatives
47 Degrees Open Source
Long-term support releases of Birday updated with the latest translations

Note: this document is still a work in progress. Birday LTS This repository is based on the 2.1.0 release of https://github.com/m-i-n-a-r/birday. You

Dominik Novosel 1 May 16, 2022
translations-ios2flutter

translations-ios2flutter Template ToDo list Create a new IntelliJ Platform Plugin Template project. Get familiar with the template documentation. Veri

null 0 Nov 22, 2021
📸 A library that allows you to capture images secretly, in background without alerting users.

HiddenCamera A library that allows you to capture images secretly, in background without alerting users. Gradle Dependency Add the dependency to your

Cotta & Cush Limited 116 Dec 29, 2022
A slim & clean & typeable Adapter without# VIEWHOLDER

PLEASE NOTE, THIS PROJECT IS NO LONGER BEING MAINTAINED First At A Glance :) Intro A slim & clean & typeable Adapter without# VIEWHOLDER Features No V

lin 940 Dec 30, 2022
Chandrasekar Kuppusamy 799 Nov 14, 2022
Custom font library for android | Library to change/add font of Entire Android Application at once without wasting your time - TextViews, EditText, Buttons, Views etc.,

AppFontChanger In a Single shot change font of Entire Android Application - TextViews, EditText, Buttons, Views etc., Kindly use the following links t

Prabhakar Thota 48 Aug 10, 2022
Android library (AAR). Highly configurable, easily extendable deep zoom view for displaying huge images without loss of detail. Perfect for photo galleries, maps, building plans etc.

Subsampling Scale Image View A custom image view for Android, designed for photo galleries and displaying huge images (e.g. maps and building plans) w

null 7.4k Jan 8, 2023
A simple textfield for adding quick notes without ads.

Simple Notes A simple textfield for adding quick notes. Need to take a quick note of something to buy, an address, or a startup idea? Then this is the

Simple Mobile Tools 670 Dec 31, 2022
Easy app for managing your files without ads, respecting your privacy & security

Simple File Manager Can also be used for browsing root files and SD card content. You can easily rename, copy, move, delete and share anything you wis

Simple Mobile Tools 1.2k Dec 30, 2022
[] A simple way to "badge" any given Android view at runtime without having to cater for it in layout

Android ViewBadger A simple way to "badge" any given Android view at runtime without having to cater for it in layout. Note: If your aim is to replica

Jeff Gilfelt 3k Nov 28, 2022
A simple textfield for adding quick notes without ads.

Simple Notes A simple textfield for adding quick notes. Need to take a quick note of something to buy, an address, or a startup idea? Then this is the

Simple Mobile Tools 670 Dec 31, 2022
Easy app for managing your files without ads, respecting your privacy & security

Simple File Manager Can also be used for browsing root files and SD card content. You can easily rename, copy, move, delete and share anything you wis

Simple Mobile Tools 1.2k Dec 29, 2022
A simple library for parsing and playing links from YouTube, YouTube Music, Vimeo and Rutube is WebView without the need to connect api data services. Request caching is available now

Android Oembed Video A simple library for parsing and playing links from YouTube, YouTube Music, Vimeo and Rutube and others in the WebView without th

Alexey Mostovoy 32 Oct 8, 2022
Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.

Tinker Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstalling apk. Getting started Add t

Tencent 16.6k Dec 29, 2022
Connect adb from devices to androidstudio by wifi without usb anymore

WIFI ADB There are two projects in the repository. The first one is an android project,and the second is an intellij plugin project. You can see more

Huazhou 273 Jan 6, 2023
A React Native library making file access easier for developers as first class citizens, without the tears

React Native File Gateway A React Native library making file access easier for developers as first class citizens, without the tears. ⚠️ NOTE: This li

Jimmy Wei 4 Sep 11, 2021
Create beautiful film credit sequences—without pain.

Cinecred Create beautiful film credit sequences—without pain. Visit the website at https://loadingbyte.com/cinecred/ for further information about the

Felix Mujkanovic 7 Dec 24, 2022
Quick Text is about send the message on WhatsApp without saving number. You can see the status of other and share and download those status also.

Quick Text is about send the message on WhatsApp without saving number. You can see the status of other and share and download those status also.

Dheeraj Gupta 11 May 25, 2022