ubuntu-l10n 0.3.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ubuntu_l10n-0.3.7/.github/workflows/pypi-publish.yml +29 -0
- ubuntu_l10n-0.3.7/.github/workflows/release.yml +79 -0
- ubuntu_l10n-0.3.7/.github/workflows/transifex-sync.yml +55 -0
- ubuntu_l10n-0.3.7/.gitignore +23 -0
- ubuntu_l10n-0.3.7/.tx/config +8 -0
- ubuntu_l10n-0.3.7/CHANGELOG.md +13 -0
- ubuntu_l10n-0.3.7/LICENSE +674 -0
- ubuntu_l10n-0.3.7/PKG-INFO +53 -0
- ubuntu_l10n-0.3.7/README.md +37 -0
- ubuntu_l10n-0.3.7/data/icons/se.danielnylander.ubuntu-l10n.svg +21 -0
- ubuntu_l10n-0.3.7/data/icons/ubuntu-l10n.svg +10 -0
- ubuntu_l10n-0.3.7/data/screenshots/bug-loading.png +0 -0
- ubuntu_l10n-0.3.7/data/screenshots/screenshot-01.png +0 -0
- ubuntu_l10n-0.3.7/data/se.danielnylander.ubuntu-l10n.desktop +10 -0
- ubuntu_l10n-0.3.7/debian/changelog +5 -0
- ubuntu_l10n-0.3.7/debian/control +26 -0
- ubuntu_l10n-0.3.7/debian/copyright +17 -0
- ubuntu_l10n-0.3.7/debian/files +1 -0
- ubuntu_l10n-0.3.7/debian/rules +4 -0
- ubuntu_l10n-0.3.7/debian/source/format +1 -0
- ubuntu_l10n-0.3.7/desktop-merge.py +67 -0
- ubuntu_l10n-0.3.7/po/README.md +23 -0
- ubuntu_l10n-0.3.7/po/sv.po +237 -0
- ubuntu_l10n-0.3.7/po/ubuntu-l10n.pot +221 -0
- ubuntu_l10n-0.3.7/pyproject.toml +29 -0
- ubuntu_l10n-0.3.7/pyproject.toml.bak +30 -0
- ubuntu_l10n-0.3.7/screenshots/main.png +0 -0
- ubuntu_l10n-0.3.7/se.danielnylander.ubuntu-l10n.desktop.in +9 -0
- ubuntu_l10n-0.3.7/setup.cfg +4 -0
- ubuntu_l10n-0.3.7/tests/test_release_sanity.py +25 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n/__init__.py +3 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n/__init__.py.bak +1 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n/accessibility.py +66 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n/app.py +878 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n/print_helper.py +41 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n/scraper.py +298 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n.egg-info/PKG-INFO +53 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n.egg-info/SOURCES.txt +40 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n.egg-info/dependency_links.txt +1 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n.egg-info/entry_points.txt +2 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n.egg-info/requires.txt +3 -0
- ubuntu_l10n-0.3.7/ubuntu_l10n.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
id-token: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
publish:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
environment: pypi
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
- uses: actions/setup-python@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: "3.12"
|
|
20
|
+
- name: Install build tools
|
|
21
|
+
run: python -m pip install --upgrade build twine
|
|
22
|
+
- name: Run release sanity tests
|
|
23
|
+
run: python -m unittest discover -s tests -v
|
|
24
|
+
- name: Build distributions
|
|
25
|
+
run: |
|
|
26
|
+
python -m build
|
|
27
|
+
python -m twine check dist/*
|
|
28
|
+
- name: Publish distributions
|
|
29
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ['v*']
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: write
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
release:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
|
|
16
|
+
- uses: actions/setup-python@v5
|
|
17
|
+
with:
|
|
18
|
+
python-version: '3.12'
|
|
19
|
+
|
|
20
|
+
- name: Install tools
|
|
21
|
+
run: sudo apt-get install -y gettext
|
|
22
|
+
|
|
23
|
+
- name: Compile translations
|
|
24
|
+
run: |
|
|
25
|
+
for po in po/*.po; do
|
|
26
|
+
[ -f "$po" ] || continue
|
|
27
|
+
lang=$(basename "$po" .po)
|
|
28
|
+
mkdir -p locale/$lang/LC_MESSAGES
|
|
29
|
+
msgfmt -o locale/$lang/LC_MESSAGES/ubuntu-l10n.mo "$po"
|
|
30
|
+
done
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
- name: Generate translated .desktop file
|
|
34
|
+
run: |
|
|
35
|
+
python3 desktop-merge.py se.danielnylander.ubuntu-l10n.desktop.in po/ se.danielnylander.ubuntu-l10n.desktop
|
|
36
|
+
|
|
37
|
+
- name: Build .deb
|
|
38
|
+
run: |
|
|
39
|
+
VERSION=${GITHUB_REF_NAME#v}
|
|
40
|
+
PKG=$(mktemp -d)
|
|
41
|
+
mkdir -p $PKG/usr/lib/python3/dist-packages/ubuntu_l10n
|
|
42
|
+
mkdir -p $PKG/usr/bin
|
|
43
|
+
mkdir -p $PKG/usr/share/applications
|
|
44
|
+
mkdir -p $PKG/DEBIAN
|
|
45
|
+
|
|
46
|
+
cp ubuntu_l10n/*.py $PKG/usr/lib/python3/dist-packages/ubuntu_l10n/
|
|
47
|
+
|
|
48
|
+
for mo in locale/*/LC_MESSAGES/ubuntu-l10n.mo; do
|
|
49
|
+
[ -f "$mo" ] || continue
|
|
50
|
+
lang=$(echo "$mo" | cut -d/ -f2)
|
|
51
|
+
mkdir -p $PKG/usr/share/locale/$lang/LC_MESSAGES
|
|
52
|
+
cp "$mo" $PKG/usr/share/locale/$lang/LC_MESSAGES/
|
|
53
|
+
done
|
|
54
|
+
|
|
55
|
+
desktop=$(find data/ -name "*.desktop" 2>/dev/null | head -1)
|
|
56
|
+
[ -n "$desktop" ] && cp "$desktop" $PKG/usr/share/applications/
|
|
57
|
+
|
|
58
|
+
icon=$(find data/icons/ -name "*.svg" 2>/dev/null | head -1)
|
|
59
|
+
if [ -n "$icon" ]; then
|
|
60
|
+
mkdir -p $PKG/usr/share/icons/hicolor/scalable/apps
|
|
61
|
+
cp "$icon" $PKG/usr/share/icons/hicolor/scalable/apps/
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
printf '#!/usr/bin/env python3\nfrom ubuntu_l10n.app import main\nmain()\n' > $PKG/usr/bin/ubuntu-l10n
|
|
65
|
+
chmod +x $PKG/usr/bin/ubuntu-l10n
|
|
66
|
+
|
|
67
|
+
printf 'Package: ubuntu-l10n\nVersion: %s-1\nSection: devel\nPriority: optional\nArchitecture: all\nDepends: python3 (>= 3.10), python3-gi, gir1.2-gtk-4.0, gir1.2-adw-1\nMaintainer: Daniel Nylander <daniel@danielnylander.se>\nHomepage: https://github.com/yeager/ubuntu-l10n\nDescription: Ubuntu/Launchpad translation statistics viewer\n' "$VERSION" > $PKG/DEBIAN/control
|
|
68
|
+
|
|
69
|
+
dpkg-deb --root-owner-group --build $PKG ubuntu-l10n_${VERSION}-1_all.deb
|
|
70
|
+
|
|
71
|
+
- name: Create release and upload
|
|
72
|
+
env:
|
|
73
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
74
|
+
run: |
|
|
75
|
+
VERSION=${GITHUB_REF_NAME#v}
|
|
76
|
+
gh release create "$GITHUB_REF_NAME" "ubuntu-l10n_${VERSION}-1_all.deb" \
|
|
77
|
+
--title "v${VERSION}" \
|
|
78
|
+
--notes "Release v${VERSION} with checked-in translations" \
|
|
79
|
+
--repo yeager/ubuntu-l10n
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: Sync Transifex Translations
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 3 * * *' # Daily at 03:00 UTC
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
sync:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
|
|
17
|
+
- name: Install Transifex CLI
|
|
18
|
+
run: |
|
|
19
|
+
curl -o- https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash
|
|
20
|
+
sudo mv tx /usr/local/bin/
|
|
21
|
+
|
|
22
|
+
- name: Push source strings to Transifex
|
|
23
|
+
env:
|
|
24
|
+
TX_TOKEN: ${{ secrets.TX_TOKEN }}
|
|
25
|
+
run: tx push --source --force
|
|
26
|
+
|
|
27
|
+
- name: Pull translations (minimum 20%)
|
|
28
|
+
env:
|
|
29
|
+
TX_TOKEN: ${{ secrets.TX_TOKEN }}
|
|
30
|
+
run: tx pull --all --force --minimum-perc=20
|
|
31
|
+
|
|
32
|
+
- name: Install gettext
|
|
33
|
+
run: sudo apt-get install -y gettext
|
|
34
|
+
|
|
35
|
+
- name: Compile .mo files
|
|
36
|
+
run: |
|
|
37
|
+
for po in po/*.po; do
|
|
38
|
+
[ -f "$po" ] || continue
|
|
39
|
+
lang=$(basename "$po" .po)
|
|
40
|
+
msgfmt -o "po/${lang}.mo" "$po"
|
|
41
|
+
done
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
- name: Commit and push
|
|
46
|
+
run: |
|
|
47
|
+
git config user.name "github-actions[bot]"
|
|
48
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
49
|
+
git add po/
|
|
50
|
+
if git diff --cached --quiet; then
|
|
51
|
+
echo "No translation changes"
|
|
52
|
+
else
|
|
53
|
+
git commit -m "i18n: sync translations from Transifex"
|
|
54
|
+
git push
|
|
55
|
+
fi
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.2.5 — 2026-02-15
|
|
4
|
+
|
|
5
|
+
- Remove misplaced PacketLens keywords from Swedish translation backup
|
|
6
|
+
- Verify English source strings use "A-Z" (not "A-Ö") for sort labels
|
|
7
|
+
- Regenerate .pot file
|
|
8
|
+
|
|
9
|
+
## 0.2.4
|
|
10
|
+
|
|
11
|
+
- Add CSV/JSON export
|
|
12
|
+
- Add translatable man page via po4a
|
|
13
|
+
- CI: add po4a man page translation build
|