Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/build-kdoc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
submodules: recursive # translations live in the l10n submodule
- uses: actions/setup-java@v5.6.0
with:
distribution: temurin
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v7
with:
submodules: recursive # translations live in the l10n submodule

- name: Analyze code with CodeQL
uses: github/codeql-action/analyze@v4.37.3
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/mirror-english-strings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Mirror English strings
on:
push:
branches:
- main
paths:
- lib/src/main/res/values/strings.xml
workflow_dispatch:

concurrency:
group: mirror-english-strings
cancel-in-progress: false

jobs:
mirror-english-strings:
name: Mirror English strings to davx5-translations
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
submodules: recursive # translations live in the l10n submodule

- name: Create davx5-translations token
id: app-token
uses: actions/create-github-app-token@v3
with:
app-id: ${{ secrets.TRANSLATIONS_APP_ID }}
private-key: ${{ secrets.TRANSLATIONS_APP_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: davx5-translations

- name: Check out davx5-translations
uses: actions/checkout@v7
with:
repository: ${{ github.repository_owner }}/davx5-translations
ref: main
path: davx5-translations
token: ${{ steps.app-token.outputs.token }}

- name: Copy English strings
run: cp lib/src/main/res/values/strings.xml davx5-translations/sources/cert4android/strings.xml

- name: Commit sources/cert4android/strings.xml
uses: stefanzweifel/git-auto-commit-action@v7
with:
repository: davx5-translations
branch: main
file_pattern: sources/cert4android/strings.xml
commit_message: "Mirror English strings (ose) from davx5-ose@${{ github.sha }}"
commit_user_name: mirror-original-english-strings[bot]
commit_user_email: 316112360+mirror-original-english-strings[bot]@users.noreply.github.com
commit_author: mirror-original-english-strings[bot] <316112360+mirror-original-english-strings[bot]@users.noreply.github.com>
4 changes: 4 additions & 0 deletions .github/workflows/test-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
submodules: recursive # translations live in the l10n submodule
- uses: actions/setup-java@v5.6.0
with:
distribution: temurin
Expand All @@ -25,6 +27,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
submodules: recursive # translations live in the l10n submodule
- uses: actions/setup-java@v5.6.0
with:
distribution: temurin
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "l10n"]
path = l10n
url = https://github.com/bitfireAT/davx5-translations.git
1 change: 1 addition & 0 deletions l10n
Submodule l10n added at b61ffc
26 changes: 26 additions & 0 deletions lib/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ plugins {
`maven-publish`
}

// Translations are maintained in davx5-translations and pulled in as the l10n submodule.
// The English original strings stay in core/src/main/res/values/strings.xml.
val translationsDir = file("$rootDir/l10n/translations/cert4android")

android {
namespace = "at.bitfire.cert4android"

Expand Down Expand Up @@ -80,6 +84,12 @@ android {
}
}

sourceSets {
getByName("main") {
res.directories += translationsDir.path
}
}

publishing {
// Configure publish variant
singleVariant("release") {
Expand Down Expand Up @@ -128,3 +138,19 @@ dependencies {

testImplementation(libs.junit)
}

// AGP silently ignores a resource directory that doesn't exist, so a clone without submodules
// would build a perfectly fine English-only app. Fail such builds instead.
val verifyTranslations by tasks.registering {
val dir = translationsDir // local copy: the check below must not capture the build script

doLast {
require(!dir.list().isNullOrEmpty()) {
"l10n/translations/cert4android is missing or empty.\nRun: git submodule update --init --recursive"
}
}
}

tasks.named("preBuild") {
dependsOn(verifyTranslations)
}
18 changes: 0 additions & 18 deletions lib/src/main/res/values-ar/strings.xml

This file was deleted.

18 changes: 0 additions & 18 deletions lib/src/main/res/values-bg/strings.xml

This file was deleted.

18 changes: 0 additions & 18 deletions lib/src/main/res/values-ca/strings.xml

This file was deleted.

18 changes: 0 additions & 18 deletions lib/src/main/res/values-cs/strings.xml

This file was deleted.

18 changes: 0 additions & 18 deletions lib/src/main/res/values-da/strings.xml

This file was deleted.

18 changes: 0 additions & 18 deletions lib/src/main/res/values-de/strings.xml

This file was deleted.

21 changes: 0 additions & 21 deletions lib/src/main/res/values-el/strings.xml

This file was deleted.

18 changes: 0 additions & 18 deletions lib/src/main/res/values-en-rGB/strings.xml

This file was deleted.

18 changes: 0 additions & 18 deletions lib/src/main/res/values-es/strings.xml

This file was deleted.

Loading