/focus-android

Firefox Focus: The privacy browser

Primary LanguageJavaMozilla Public License 2.0MPL-2.0

Firefox Focus for Android

Browse like no one’s watching. The new Firefox Focus automatically blocks a wide range of online trackers — from the moment you launch it to the second you leave it. Easily erase your history, passwords and cookies, so you won’t get followed by things like unwanted ads.

Getting Involved

We encourage you to participate in this open source project. We love Pull Requests, Bug Reports, ideas, (security) code reviews or any kind of positive contribution. Please read the Community Participation Guidelines.

Build instructions

  1. Clone the repository:
git clone https://github.com/mozilla/focus-android
  1. Import the project into Android Studio or build on the command line:
./gradlew clean app:assembleFocusWebkitDebug
  1. Make sure to select the right build variant in Android Studio: focusWebkitDebug

Updating translations

Firefox Focus for Android is getting localized on Pontoon.

For converting between Android XML files and Gettext PO files (to be consumed by Pontoon) we use a local, slightly modified version of android2po (See tools/l10n/android2po).

Setup

  1. Python, Pip and Git need to be installed.

  2. Run the stringsSetup gradle tasks to create a local checkout of the L10N repository (in folder l10n-repo) and to install the python dependencies to run the l10n scripts:

./gradlew stringsSetup

Export strings for translation

  1. Fetch the latest changes from the L10N repository and remove all local modifications with the stringsCleanUpdate gradle task:
./gradlew stringsCleanUpdate
  1. Run the stringsExport gradle task to update the template and existing translations:
./gradlew stringsExport
  1. Create separate commits for every locale using the stringsCommit gradle task:
./gradlew stringsCommit
  1. Go to the l10n-repo folder, verify the changes and push them to the L10N repository.

Import translated strings

  1. Fetch the latest changes from the L10N repository and remove all local modifications with the stringsCleanUpdate gradle task:
./gradlew stringsCleanUpdate
  1. Run the stringsImport gradle task to generate the Android XML files.
./gradlew stringsImport
  1. Verify the changes and then commit and push the updated XML files to the app repository.