aves/lib/widgets/about/credits.dart
Thibault Deckers d318651431 l10n: id
2022-02-19 14:48:52 +09:00

63 lines
2.1 KiB
Dart

import 'package:aves/utils/constants.dart';
import 'package:aves/widgets/common/basic/link_chip.dart';
import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:flutter/material.dart';
class AboutCredits extends StatelessWidget {
const AboutCredits({Key? key}) : super(key: key);
static const translators = {
'Bahasa Indonesia': 'MeFinity',
'Deutsch': 'JanWaldhorn',
'Español (México)': 'n-berenice',
'Português (Brasil)': 'Jonatas De Almeida Barros',
'Русский': 'D3ZOXY',
};
@override
Widget build(BuildContext context) {
final l10n = context.l10n;
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
ConstrainedBox(
constraints: const BoxConstraints(minHeight: 48),
child: Align(
alignment: AlignmentDirectional.centerStart,
child: Text(l10n.aboutCredits, style: Constants.titleTextStyle),
),
),
Text.rich(
TextSpan(
children: [
TextSpan(text: l10n.aboutCreditsWorldAtlas1),
const WidgetSpan(
child: LinkChip(
text: 'World Atlas',
url: 'https://github.com/topojson/world-atlas',
textStyle: TextStyle(fontWeight: FontWeight.bold),
),
alignment: PlaceholderAlignment.middle,
),
TextSpan(text: l10n.aboutCreditsWorldAtlas2),
],
),
),
const SizedBox(height: 16),
Text(l10n.aboutCreditsTranslators),
...translators.entries.map(
(kv) {
return Padding(
padding: const EdgeInsetsDirectional.only(start: 8, top: 8),
child: Text(l10n.aboutCreditsTranslatorLine(kv.key, kv.value)),
);
},
),
const SizedBox(height: 16),
],
),
);
}
}