Skip to content

Commit

Permalink
Some simplifications to the artifacts translation file
Browse files Browse the repository at this point in the history
  • Loading branch information
Wolfteam committed Jan 3, 2021
1 parent effcb06 commit 288386c
Show file tree
Hide file tree
Showing 19 changed files with 706 additions and 168 deletions.
368 changes: 336 additions & 32 deletions assets/db/artifacts.json

Large diffs are not rendered by default.

309 changes: 246 additions & 63 deletions assets/i18n/en.json

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion lib/bloc/artifact_details/artifact_details_bloc.dart
Expand Up @@ -5,6 +5,7 @@ import 'package:freezed_annotation/freezed_annotation.dart';

import '../../common/app_constants.dart';
import '../../common/assets.dart';
import '../../models/models.dart';
import '../../services/genshing_service.dart';
import '../../telemetry.dart';

Expand Down Expand Up @@ -36,7 +37,10 @@ class ArtifactDetailsBloc extends Bloc<ArtifactDetailsEvent, ArtifactDetailsStat
image: artifact.fullImagePath,
rarityMin: artifact.rarityMin,
rarityMax: artifact.rarityMax,
bonus: translation.bonus,
bonus: translation.bonus.map((t) {
final pieces = artifact.bonus.firstWhere((b) => b.key == t.key).pieces;
return ArtifactCardBonusModel(pieces: pieces, bonus: t.bonus);
}).toList(),
images: translation.bonus.length == 1
? [artifact.fullImagePath]
: artifactOrder.map((e) => Assets.getArtifactPath('$image$e.png')).toList(),
Expand Down
2 changes: 1 addition & 1 deletion lib/bloc/artifact_details/artifact_details_state.dart
Expand Up @@ -9,7 +9,7 @@ abstract class ArtifactDetailsState with _$ArtifactDetailsState {
@required String image,
@required int rarityMin,
@required int rarityMax,
@required List<String> bonus,
@required List<ArtifactCardBonusModel> bonus,
@required List<String> images,
}) = _LoadedState;
}
2 changes: 1 addition & 1 deletion lib/bloc/main/main_bloc.dart
Expand Up @@ -60,7 +60,7 @@ class MainBloc extends Bloc<MainEvent, MainState> {
} catch (e, s) {
_logger.error(runtimeType, '_init: Unknown error while trying to delete old logs', e, s);
}
await _genshinService.init(AppLanguageType.english);
await _genshinService.init(_settingsService.language);
final packageInfo = await PackageInfo.fromPlatform();
final settings = _settingsService.appSettings;
await Future.delayed(const Duration(milliseconds: 600));
Expand Down
2 changes: 1 addition & 1 deletion lib/common/assets.dart
Expand Up @@ -86,7 +86,7 @@ class Assets {
case AppLanguageType.english:
return '$translationsBasePath/en.json';
case AppLanguageType.spanish:
return '$translationsBasePath/en.json';
return '$translationsBasePath/es.json';
default:
throw Exception('Invalid language = $languageType');
}
Expand Down
3 changes: 3 additions & 0 deletions lib/generated/intl/messages_en.dart
Expand Up @@ -51,6 +51,8 @@ class MessageLookup extends MessageLookupByLibrary {

static m15(value) => "Unlocked at ascention level ${value}";

static m16(value) => "${value} Pieces";

final messages = _notInlinedMessages(_notInlinedMessages);
static _notInlinedMessages(_) => <String, Function> {
"about" : MessageLookupByLibrary.simpleMessage("About"),
Expand Down Expand Up @@ -209,6 +211,7 @@ class MessageLookup extends MessageLookupByLibrary {
"weapons" : MessageLookupByLibrary.simpleMessage("Weapons"),
"wednesday" : MessageLookupByLibrary.simpleMessage("Wednesday"),
"wishSimulator" : MessageLookupByLibrary.simpleMessage("Wish simulator"),
"xPieces" : m16,
"youCanAlsoSendMeAnEmail" : MessageLookupByLibrary.simpleMessage("You can also send me an email")
};
}
11 changes: 7 additions & 4 deletions lib/generated/intl/messages_es_ES.dart
Expand Up @@ -51,6 +51,8 @@ class MessageLookup extends MessageLookupByLibrary {

static m15(value) => "Desbloqueada en nivel de ascención ${value}";

static m16(value) => "${value} Piezas";

final messages = _notInlinedMessages(_notInlinedMessages);
static _notInlinedMessages(_) => <String, Function> {
"about" : MessageLookupByLibrary.simpleMessage("Acerca de"),
Expand Down Expand Up @@ -79,7 +81,7 @@ class MessageLookup extends MessageLookupByLibrary {
"chooseAccentColor" : MessageLookupByLibrary.simpleMessage("Escoge un color de acento"),
"chooseBaseAppTheme" : MessageLookupByLibrary.simpleMessage("Escoge un tema base"),
"chooseLanguage" : MessageLookupByLibrary.simpleMessage("Escoge un lenguaje"),
"claymore" : MessageLookupByLibrary.simpleMessage("Claymore"),
"claymore" : MessageLookupByLibrary.simpleMessage("Mandoble"),
"clock" : MessageLookupByLibrary.simpleMessage("Reloj"),
"comingSoon" : MessageLookupByLibrary.simpleMessage("Próximamente"),
"constellationX" : m3,
Expand All @@ -98,8 +100,8 @@ class MessageLookup extends MessageLookupByLibrary {
"disclaimerMsg" : MessageLookupByLibrary.simpleMessage("Esta app no está afiliada ni asociada a miHoYo. GenshinDb es solo una aplicación de tipo base de datos para el juego Genshin Impact"),
"dps" : MessageLookupByLibrary.simpleMessage("DPS"),
"element" : MessageLookupByLibrary.simpleMessage("Elemento"),
"elementalAbsorption" : MessageLookupByLibrary.simpleMessage("Absorción Elemental"),
"elementalBurst" : MessageLookupByLibrary.simpleMessage("Ráfaga Elemental"),
"elementalAbsorption" : MessageLookupByLibrary.simpleMessage("Cambio Elemental"),
"elementalBurst" : MessageLookupByLibrary.simpleMessage("Impulso Elemental"),
"elementalDebuffs" : MessageLookupByLibrary.simpleMessage("Debuffs Elementales"),
"elementalDebuffsExplainded" : MessageLookupByLibrary.simpleMessage("Cada uno de estos tienen diferentes efectos negativos cuando son aplicados a tus enemigos o a ti"),
"elementalDmgPercentage" : MessageLookupByLibrary.simpleMessage("Elemental DMG%"),
Expand Down Expand Up @@ -156,7 +158,7 @@ class MessageLookup extends MessageLookupByLibrary {
"physDmgPercentage" : m13,
"pieces" : MessageLookupByLibrary.simpleMessage("Piezas"),
"plume" : MessageLookupByLibrary.simpleMessage("Pluma"),
"plungingAttack" : MessageLookupByLibrary.simpleMessage("Ataque en Picada"),
"plungingAttack" : MessageLookupByLibrary.simpleMessage("Ataque Descendiente"),
"polearm" : MessageLookupByLibrary.simpleMessage("Lanza"),
"press" : MessageLookupByLibrary.simpleMessage("Presionar"),
"quest" : MessageLookupByLibrary.simpleMessage("Misión"),
Expand Down Expand Up @@ -208,6 +210,7 @@ class MessageLookup extends MessageLookupByLibrary {
"weaponType" : MessageLookupByLibrary.simpleMessage("Tipo de arma"),
"weapons" : MessageLookupByLibrary.simpleMessage("Armas"),
"wednesday" : MessageLookupByLibrary.simpleMessage("Miércoles"),
"xPieces" : m16,
"youCanAlsoSendMeAnEmail" : MessageLookupByLibrary.simpleMessage("También puedes enviarme un correo")
};
}
10 changes: 10 additions & 0 deletions lib/generated/l10n.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion lib/l10n/intl_en.arb
Expand Up @@ -155,5 +155,6 @@
"hold": "Hold",
"press": "Press",
"short": "Short",
"elementalAbsorption": "Elemental Absorption"
"elementalAbsorption": "Elemental Absorption",
"xPieces": "{value} Pieces"
}
5 changes: 3 additions & 2 deletions lib/l10n/intl_es_ES.arb
Expand Up @@ -5,7 +5,7 @@
"english": "Inglés",
"spanish": "Español",
"bow": "Arco",
"claymore": "Claymore",
"claymore": "Mandoble",
"sword": "Espada",
"polearm": "Lanza",
"catalyst": "Catalizador",
Expand Down Expand Up @@ -154,5 +154,6 @@
"hold": "Mantener",
"press": "Presionar",
"short": "Corto",
"elementalAbsorption": "Cambio Elemental"
"elementalAbsorption": "Cambio Elemental",
"xPieces": "{value} Piezas"
}
14 changes: 12 additions & 2 deletions lib/models/artifacts/artifact_card_model.dart
Expand Up @@ -5,13 +5,23 @@ class ArtifactCardModel {
final String name;
final String image;
final int rarity;
final List<String> bonus;
final List<ArtifactCardBonusModel> bonus;

ArtifactCardModel({
const ArtifactCardModel({
@required this.key,
@required this.name,
@required this.image,
@required this.rarity,
@required this.bonus,
});
}

class ArtifactCardBonusModel {
final int pieces;
final String bonus;

const ArtifactCardBonusModel({
@required this.pieces,
@required this.bonus,
});
}
13 changes: 13 additions & 0 deletions lib/models/db/artifacts/artifact_file_model.dart
Expand Up @@ -15,9 +15,22 @@ abstract class ArtifactFileModel implements _$ArtifactFileModel {
@required String image,
@required int rarityMin,
@required int rarityMax,
@required List<ArtifactFileBonusModel> bonus,
}) = _ArtifactFileModel;

ArtifactFileModel._();

factory ArtifactFileModel.fromJson(Map<String, dynamic> json) => _$ArtifactFileModelFromJson(json);
}

@freezed
abstract class ArtifactFileBonusModel implements _$ArtifactFileBonusModel {
factory ArtifactFileBonusModel({
@required String key,
@required int pieces,
}) = _ArtifactFileBonusModel;

ArtifactFileBonusModel._();

factory ArtifactFileBonusModel.fromJson(Map<String, dynamic> json) => _$ArtifactFileBonusModelFromJson(json);
}
15 changes: 14 additions & 1 deletion lib/models/db/translations/translation_artifact_file.dart
Expand Up @@ -8,10 +8,23 @@ abstract class TranslationArtifactFile implements _$TranslationArtifactFile {
factory TranslationArtifactFile({
@required String key,
@required String name,
@required List<String> bonus,
@required List<TranslationArtifactBonusFile> bonus,
}) = _TranslationArtifactFile;

const TranslationArtifactFile._();

factory TranslationArtifactFile.fromJson(Map<String, dynamic> json) => _$TranslationArtifactFileFromJson(json);
}

@freezed
abstract class TranslationArtifactBonusFile implements _$TranslationArtifactBonusFile {
factory TranslationArtifactBonusFile({
@required String key,
@required String bonus,
}) = _TranslationArtifactBonusFile;

const TranslationArtifactBonusFile._();

factory TranslationArtifactBonusFile.fromJson(Map<String, dynamic> json) =>
_$TranslationArtifactBonusFileFromJson(json);
}
10 changes: 8 additions & 2 deletions lib/services/genshing_service.dart
Expand Up @@ -213,7 +213,10 @@ class GenshinServiceImpl implements GenshinService {
name: translation.name,
image: e.fullImagePath,
rarity: e.rarityMax,
bonus: translation.bonus,
bonus: translation.bonus.map((t) {
final pieces = e.bonus.firstWhere((b) => b.key == t.key).pieces;
return ArtifactCardBonusModel(pieces: pieces, bonus: t.bonus);
}).toList(),
);
},
).toList();
Expand All @@ -228,7 +231,10 @@ class GenshinServiceImpl implements GenshinService {
name: translation.name,
image: artifact.fullImagePath,
rarity: artifact.rarityMax,
bonus: translation.bonus,
bonus: translation.bonus.map((t) {
final pieces = artifact.bonus.firstWhere((b) => b.key == t.key).pieces;
return ArtifactCardBonusModel(pieces: pieces, bonus: t.bonus);
}).toList(),
);
}

Expand Down
17 changes: 9 additions & 8 deletions lib/services/logging_service.dart
Expand Up @@ -64,20 +64,21 @@ class LoggingServiceImpl implements LoggingService {
}

void _trackError(String tag, String msg, [dynamic ex, StackTrace trace]) {
final map = {
'tag': tag,
'msg': _formatEx(msg, ex),
'trace': trace?.toString() ?? 'No trace available',
};
final map = _buildError(tag, msg, ex, trace);
trackEventAsync('Error - ${DateTime.now()}', map);
}

void _trackWarning(String tag, String msg, [dynamic ex, StackTrace trace]) {
final map = {
final map = _buildError(tag, msg, ex, trace);
trackEventAsync('Warning - ${DateTime.now()}', map);
}

Map<String, String> _buildError(String tag, String msg, [dynamic ex, StackTrace trace]) {
return {
'tag': tag,
'msg': _formatEx(msg, ex),
'msg': msg ?? 'No message available',
'ex': ex?.toString() ?? 'No exception available',
'trace': trace?.toString() ?? 'No trace available',
};
trackEventAsync('Warning - ${DateTime.now()}', map);
}
}
8 changes: 6 additions & 2 deletions lib/ui/pages/artifact_details_page.dart
Expand Up @@ -5,6 +5,7 @@ import '../../bloc/bloc.dart';
import '../../common/extensions/rarity_extensions.dart';
import '../../common/styles.dart';
import '../../generated/l10n.dart';
import '../../models/models.dart';
import '../widgets/artifacts/artifact_stats.dart';
import '../widgets/common/item_description_detail.dart';
import '../widgets/common/loading.dart';
Expand Down Expand Up @@ -97,7 +98,7 @@ class ArtifactDetailsPage extends StatelessWidget {
Widget _buildBottom(
int rarity,
List<String> images,
List<String> bonus,
List<ArtifactCardBonusModel> bonus,
BuildContext context,
) {
final s = S.of(context);
Expand All @@ -116,7 +117,10 @@ class ArtifactDetailsPage extends StatelessWidget {
margin: const EdgeInsets.only(bottom: 10),
child: ItemDescriptionDetail(
title: s.bonus,
body: Container(margin: const EdgeInsets.symmetric(horizontal: 5), child: ArtifactStats(bonus: bonus)),
body: Container(
margin: const EdgeInsets.symmetric(horizontal: 5),
child: ArtifactStats(bonus: bonus),
),
textColor: rarity.getRarityColors().last,
),
),
Expand Down
3 changes: 2 additions & 1 deletion lib/ui/widgets/artifacts/artifact_card.dart
Expand Up @@ -5,6 +5,7 @@ import 'package:transparent_image/transparent_image.dart';
import '../../../bloc/bloc.dart';
import '../../../common/extensions/rarity_extensions.dart';
import '../../../common/styles.dart';
import '../../../models/models.dart';
import '../../pages/artifact_details_page.dart';
import '../common/gradient_card.dart';
import '../common/rarity.dart';
Expand All @@ -15,7 +16,7 @@ class ArtifactCard extends StatelessWidget {
final String name;
final String image;
final int rarity;
final List<String> bonus;
final List<ArtifactCardBonusModel> bonus;
final double imgWidth;
final double imgHeight;
final bool withoutDetails;
Expand Down

0 comments on commit 288386c

Please sign in to comment.