feat(links): surface source repo + Weblate links on site and in app
- site: set sourceURL (git.comunes.org/comunes/tane) and weblateURL (translate.comunes.org/projects/tane) — activates footer + collaborate links - app About screen: add 'Source code' and 'Help translate' link tiles - i18n: add about.sourceCode / about.translate / about.translateSubtitle (en base + es/pt/fr/de/ast; ja falls back to base), regenerate slang - docs: add TRANSLATIONS.md runbook for the Weblate app component + git token + slang-regeneration workflow
This commit is contained in:
parent
991785821f
commit
7d5f26ff4a
16 changed files with 187 additions and 16 deletions
|
|
@ -9,6 +9,12 @@ import 'theme.dart';
|
|||
/// The app's public website. Shown as a tappable row in [AboutScreen].
|
||||
const String _websiteUrl = 'https://tane.comunes.org';
|
||||
|
||||
/// The public source repository (AGPL). Shown as a tappable row in [AboutScreen].
|
||||
const String _sourceUrl = 'https://git.comunes.org/comunes/tane';
|
||||
|
||||
/// The translation platform where anyone can help translate Tane.
|
||||
const String _translateUrl = 'https://translate.comunes.org/projects/tane/';
|
||||
|
||||
/// The year Tane's copyright starts. Ğ1nkgo uses its own first year (2023);
|
||||
/// Tane's is 2026.
|
||||
const int _copyrightStartYear = 2026;
|
||||
|
|
@ -69,6 +75,24 @@ class AboutScreen extends StatelessWidget {
|
|||
mode: LaunchMode.externalApplication,
|
||||
),
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.code, color: seedGreen),
|
||||
title: Text(t.about.sourceCode),
|
||||
subtitle: const Text(_sourceUrl),
|
||||
onTap: () => launchUrl(
|
||||
Uri.parse(_sourceUrl),
|
||||
mode: LaunchMode.externalApplication,
|
||||
),
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.translate, color: seedGreen),
|
||||
title: Text(t.about.translate),
|
||||
subtitle: Text(t.about.translateSubtitle),
|
||||
onTap: () => launchUrl(
|
||||
Uri.parse(_translateUrl),
|
||||
mode: LaunchMode.externalApplication,
|
||||
),
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.privacy_tip_outlined, color: seedGreen),
|
||||
title: Text(t.legal.title),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue