change placement to text in match detail view
This commit is contained in:
@@ -73,6 +73,7 @@
|
||||
"none_group": "Keine",
|
||||
"not_available": "Nicht verfügbar",
|
||||
"placement": "Platzierung",
|
||||
"place": "Platz",
|
||||
"played_matches": "Gespielte Spiele",
|
||||
"player_name": "Spieler:innenname",
|
||||
"players": "Spieler:innen",
|
||||
|
||||
@@ -224,6 +224,9 @@
|
||||
"@placement": {
|
||||
"description": "Title for placement ruleset"
|
||||
},
|
||||
"@place": {
|
||||
"description": "Label for placement text in match detail view"
|
||||
},
|
||||
"@played_matches": {
|
||||
"description": "Label for played matches statistic"
|
||||
},
|
||||
@@ -416,6 +419,7 @@
|
||||
"none_group": "None",
|
||||
"not_available": "Not available",
|
||||
"placement": "Placement",
|
||||
"place": "place",
|
||||
"played_matches": "Played Matches",
|
||||
"player_name": "Player name",
|
||||
"players": "Players",
|
||||
|
||||
@@ -536,6 +536,12 @@ abstract class AppLocalizations {
|
||||
/// **'Placement'**
|
||||
String get placement;
|
||||
|
||||
/// Label for placement text in match detail view
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'place'**
|
||||
String get place;
|
||||
|
||||
/// Label for played matches statistic
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
@@ -85,7 +85,7 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
String get delete_match => 'Spiel löschen';
|
||||
|
||||
@override
|
||||
String get drag_to_set_placement => 'Drag to set placement';
|
||||
String get drag_to_set_placement => 'Ziehen um Platzierung zu setzen';
|
||||
|
||||
@override
|
||||
String get edit_group => 'Gruppe bearbeiten';
|
||||
@@ -235,6 +235,9 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
@override
|
||||
String get placement => 'Platzierung';
|
||||
|
||||
@override
|
||||
String get place => 'Platz';
|
||||
|
||||
@override
|
||||
String get played_matches => 'Gespielte Spiele';
|
||||
|
||||
|
||||
@@ -235,6 +235,9 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
@override
|
||||
String get placement => 'Placement';
|
||||
|
||||
@override
|
||||
String get place => 'place';
|
||||
|
||||
@override
|
||||
String get played_matches => 'Played Matches';
|
||||
|
||||
|
||||
@@ -318,7 +318,7 @@ class _MatchDetailViewState extends State<MatchDetailView> {
|
||||
),
|
||||
Text(
|
||||
ruleset == Ruleset.placement
|
||||
? '#${i + 1}'
|
||||
? getPlacementText(i + 1, context, loc)
|
||||
: getPointLabel(loc, playerScores[i].$2),
|
||||
style: const TextStyle(
|
||||
fontSize: 16,
|
||||
@@ -337,4 +337,35 @@ class _MatchDetailViewState extends State<MatchDetailView> {
|
||||
return match.game.ruleset == Ruleset.singleWinner ||
|
||||
match.game.ruleset == Ruleset.singleLoser;
|
||||
}
|
||||
|
||||
String getPlacementText(
|
||||
int rank,
|
||||
BuildContext context,
|
||||
AppLocalizations loc,
|
||||
) {
|
||||
final locale = Localizations.localeOf(context).languageCode;
|
||||
|
||||
if (locale == 'de') {
|
||||
return '$rank. ${loc.place}';
|
||||
}
|
||||
|
||||
return '${_ordinalEn(rank)} ${loc.place}';
|
||||
}
|
||||
|
||||
String _ordinalEn(int number) {
|
||||
if (number % 100 >= 11 && number % 100 <= 13) {
|
||||
return '${number}th';
|
||||
}
|
||||
|
||||
switch (number % 10) {
|
||||
case 1:
|
||||
return '${number}st';
|
||||
case 2:
|
||||
return '${number}nd';
|
||||
case 3:
|
||||
return '${number}rd';
|
||||
default:
|
||||
return '${number}th';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user