Commit da5e363e authored by Nico Alt's avatar Nico Alt

Merge branch 'translation-and-updates' into 'master'

new Translation page and updates

See merge request !67
parents d01600bb 392f15c2
Pipeline #8276045 passed with stage
in 3 minutes and 32 seconds
......@@ -23,7 +23,7 @@ There are two data formats:
There are two options for including the app store materials in an
app's source repository:
[fastlane supply](
[fastlane supply](
[Triple-T Gradle Play Publisher](
Both of these are free software tools that integrate into an Android
......@@ -42,7 +42,7 @@ those tools use.
All the app store materials can also be added to any _fdroiddata_
repository of build metadata. This follows a file layout modeled
[fastlane supply](,
[fastlane supply](,
modified to fit into the _fdroiddata_ workflow. Any files in this
layout will be copied into the repo and added to the repo's index file
by `fdroid update`.
......@@ -52,16 +52,17 @@ by `fdroid update`.
└── metadata/
└── <package-id>/
└── <locale>/
├── featureGraphic.png
├── icon.png
├── promoGraphic.png
├── tvBanner.png
├── full_description.txt
├── short_description.txt
├── title.txt
├── video.txt
├── images/
│ ├── featureGraphic.png
│ ├── icon.png
│ ├── promoGraphic.png
│ └── tvBanner.png
├── changelogs/
── <version-code>.txt
── <version-code>.txt
│ └── <version-code>.txt
├── phoneScreenshots/
│ └── *.png
......@@ -119,10 +119,17 @@ This is converted to (`<email>`) in the XML file (_index.xml_).
### 7.4 License<a name="License"></a>
The overall license for the application, or in certain cases, for the
source code only. Values should correspond to short identifiers of the
[SPDX]( license list. In some cases an
older, non-standard naming scheme is still used.
The overall license for the application in terms of the binary that
the user can install. Values should correspond to short identifiers of
the [SPDX]( license list. There can only be
one license listed here. If there are multiple licenses that apply to
the source code, then this field should contain the least restrictive
license that the whole app can be used under. When multiple licenses
are combined, that usually means the most restrictive wins.
This field cannot represent the complexity of licenses that apply to
parts of the app, or apps that have the entire thing released under
more than one license.
This is converted to (`<license>`) in the XML file (_index.xml_).
......@@ -115,3 +115,11 @@ Use the [issue tracker](
or email <>. You can also discuss them in the
[\#fdroid](irc:// IRC chatroom on Freenode
([click here to join the webchat](
If you do not already have an account, or do not want to create one,
you can use our reusable account. The issue tracker works better if
reporters use an account that will receive notifications. Issue
reports are usually a conversation, not just a single report.
That said, the account username is _fdroid-bug-reporter_ and the
password is _repository-collection_.
......@@ -75,6 +75,11 @@ resulting binaries will have differences.
Additionally, we'll have to look out for anything that includes
timestamping information, is sensitive to sort order, etc.
Google is also working towards reproducible builds of Android apps, so
using recent versions of the Android SDK helps. One specific case is
starting with Gradle Android Plugin v2.2.2, timestamps in the APK
file's ZIP header are automatically zeroed out.
### Build Server IDs
......@@ -89,10 +89,10 @@ the F-Droid tools as root (with _nginx_, the webroot is
_/usr/share/nginx/www_, it is different for other webservers):
$ sudo mkdir /usr/share/nginx/www/fdroid
$ sudo chown -R $USER /usr/share/nginx/www/fdroid
$ cd /usr/share/nginx/www/fdroid
$ fdroid init
sudo mkdir /usr/share/nginx/www/fdroid
sudo chown -R $USER /usr/share/nginx/www/fdroid
cd /usr/share/nginx/www/fdroid
fdroid init
Now put your APK files into _/usr/share/nginx/www/fdroid/repo_ and you
......@@ -101,9 +101,9 @@ cannot find your Android SDK in _/opt/android-sdk_ or `$ANDROID_HOME`,
it will prompt you for the path):
$ cd /usr/share/nginx/www/fdroid
$ cp /path/to/\*.apk /usr/share/nginx/www/fdroid/repo/
$ fdroid update --create-metadata
cd /usr/share/nginx/www/fdroid
cp /path/to/\*.apk /usr/share/nginx/www/fdroid/repo/
fdroid update --create-metadata
Voila! Now you have a working F-Droid Repo! Remember, this is __just a
......@@ -185,13 +185,13 @@ your repo on a separate server via ssh. So start a new repo from scratch
on your non-public machine:
$ mkdir ~/fdroid
$ cd ~/fdroid
$ fdroid init
$ cp /path/to/\*.apk ~/fdroid/repo/
$ fdroid update --create-metadata
$ emacs # add the serverwebroot, etc.
$ fdroid server update -v
mkdir ~/fdroid
cd ~/fdroid
fdroid init
cp /path/to/\*.apk ~/fdroid/repo/
fdroid update --create-metadata
emacs # add the serverwebroot, etc.
fdroid server update -v
Now edit _config.py_ to set `serverwebroot`, it is in the form of a
layout: page
title: Translation and Localization
- /translate
With release 0.103 of the F-Droid client app, there is now full
support for localization. That means that all of the texts can be
translated into any language. F-Droid will also use localized formats
for numbers, currency, dates, etc. which happens automatically based
on the language and country specified in the device's settings.
There are a number of separate sections that are each managed
separately, based on technical requirements:
* [F-Droid Android app strings](
* F-Droid Website pages and posts
* hand selected apps in [_fdroiddata_](
* any app submitted to _fdroiddata_
As a general rule, a translation must be at least 70% complete for it
to be included in a final release. For alpha releases, we try to
include all translations, no matter how incomplete.
If there are any issues with missing translations or broken localized
formats, please file an issue so it can be fixed:
## The "Languages" preference
There are cases where having English as the fallback language is not
helpful. For example, much of the world would prefer to fall back to
Chinese, Spanish, or Russian instead of English. On Android 6.0 and
older, F-Droid provides a "Languages" setting inside the app so that
users can switch F-Droid to a different language. Note that this
might not handle localized format properly, just the
language. Android 7.0 fixed this by allowing users to specify a list
of language+country "locales", ordered by importance to the user.
## Contributing
Is F-Droid not in your language, or the translation is incorrect or
incomplete? Get involved in the translations by signing up for
[our Weblate]( You can
also find other translators on the
[F-Droid forum](
......@@ -36,6 +36,7 @@ the main repository.
* [Known Repositories]( A list that tries to keep track of known f-droid compatible repositories.
* [Release Channels and Signing Keys](Release_Channels_and_Signing_Keys) These are the various channels that F-Droid software are released on, with info to verify them based on signing keys.
* [Security Model](Security_Model) A brief explanation of how F-Droid delivers software to users securely.
* [Translation and Localization](Translation_and_Localization) How all the parts of F-Droid are localized.
### Developers
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment