feat: add localisation

This commit is contained in:
2026-07-31 21:46:05 +02:00
parent b58c9a8722
commit f5b2041612
30 changed files with 4099 additions and 326 deletions
+76 -10
View File
@@ -2219,8 +2219,20 @@ class $AppSettingsTableTable extends AppSettingsTable
requiredDuringInsert: false,
defaultValue: const Constant('system'),
);
static const VerificationMeta _languageMeta = const VerificationMeta(
'language',
);
@override
List<GeneratedColumn> get $columns => [id, pinRequired, themeMode];
late final GeneratedColumn<String> language = GeneratedColumn<String>(
'language',
aliasedName,
false,
type: DriftSqlType.string,
requiredDuringInsert: false,
defaultValue: const Constant('system'),
);
@override
List<GeneratedColumn> get $columns => [id, pinRequired, themeMode, language];
@override
String get aliasedName => _alias ?? actualTableName;
@override
@@ -2253,6 +2265,12 @@ class $AppSettingsTableTable extends AppSettingsTable
themeMode.isAcceptableOrUnknown(data['theme_mode']!, _themeModeMeta),
);
}
if (data.containsKey('language')) {
context.handle(
_languageMeta,
language.isAcceptableOrUnknown(data['language']!, _languageMeta),
);
}
return context;
}
@@ -2274,6 +2292,10 @@ class $AppSettingsTableTable extends AppSettingsTable
DriftSqlType.string,
data['${effectivePrefix}theme_mode'],
)!,
language: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}language'],
)!,
);
}
@@ -2287,10 +2309,12 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
final String id;
final bool pinRequired;
final String themeMode;
final String language;
const AppSettingsRow({
required this.id,
required this.pinRequired,
required this.themeMode,
required this.language,
});
@override
Map<String, Expression> toColumns(bool nullToAbsent) {
@@ -2298,6 +2322,7 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
map['id'] = Variable<String>(id);
map['pin_required'] = Variable<bool>(pinRequired);
map['theme_mode'] = Variable<String>(themeMode);
map['language'] = Variable<String>(language);
return map;
}
@@ -2306,6 +2331,7 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
id: Value(id),
pinRequired: Value(pinRequired),
themeMode: Value(themeMode),
language: Value(language),
);
}
@@ -2318,6 +2344,7 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
id: serializer.fromJson<String>(json['id']),
pinRequired: serializer.fromJson<bool>(json['pinRequired']),
themeMode: serializer.fromJson<String>(json['themeMode']),
language: serializer.fromJson<String>(json['language']),
);
}
@override
@@ -2327,15 +2354,21 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
'id': serializer.toJson<String>(id),
'pinRequired': serializer.toJson<bool>(pinRequired),
'themeMode': serializer.toJson<String>(themeMode),
'language': serializer.toJson<String>(language),
};
}
AppSettingsRow copyWith({String? id, bool? pinRequired, String? themeMode}) =>
AppSettingsRow(
id: id ?? this.id,
pinRequired: pinRequired ?? this.pinRequired,
themeMode: themeMode ?? this.themeMode,
);
AppSettingsRow copyWith({
String? id,
bool? pinRequired,
String? themeMode,
String? language,
}) => AppSettingsRow(
id: id ?? this.id,
pinRequired: pinRequired ?? this.pinRequired,
themeMode: themeMode ?? this.themeMode,
language: language ?? this.language,
);
AppSettingsRow copyWithCompanion(AppSettingsTableCompanion data) {
return AppSettingsRow(
id: data.id.present ? data.id.value : this.id,
@@ -2343,6 +2376,7 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
? data.pinRequired.value
: this.pinRequired,
themeMode: data.themeMode.present ? data.themeMode.value : this.themeMode,
language: data.language.present ? data.language.value : this.language,
);
}
@@ -2351,49 +2385,56 @@ class AppSettingsRow extends DataClass implements Insertable<AppSettingsRow> {
return (StringBuffer('AppSettingsRow(')
..write('id: $id, ')
..write('pinRequired: $pinRequired, ')
..write('themeMode: $themeMode')
..write('themeMode: $themeMode, ')
..write('language: $language')
..write(')'))
.toString();
}
@override
int get hashCode => Object.hash(id, pinRequired, themeMode);
int get hashCode => Object.hash(id, pinRequired, themeMode, language);
@override
bool operator ==(Object other) =>
identical(this, other) ||
(other is AppSettingsRow &&
other.id == this.id &&
other.pinRequired == this.pinRequired &&
other.themeMode == this.themeMode);
other.themeMode == this.themeMode &&
other.language == this.language);
}
class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
final Value<String> id;
final Value<bool> pinRequired;
final Value<String> themeMode;
final Value<String> language;
final Value<int> rowid;
const AppSettingsTableCompanion({
this.id = const Value.absent(),
this.pinRequired = const Value.absent(),
this.themeMode = const Value.absent(),
this.language = const Value.absent(),
this.rowid = const Value.absent(),
});
AppSettingsTableCompanion.insert({
required String id,
this.pinRequired = const Value.absent(),
this.themeMode = const Value.absent(),
this.language = const Value.absent(),
this.rowid = const Value.absent(),
}) : id = Value(id);
static Insertable<AppSettingsRow> custom({
Expression<String>? id,
Expression<bool>? pinRequired,
Expression<String>? themeMode,
Expression<String>? language,
Expression<int>? rowid,
}) {
return RawValuesInsertable({
if (id != null) 'id': id,
if (pinRequired != null) 'pin_required': pinRequired,
if (themeMode != null) 'theme_mode': themeMode,
if (language != null) 'language': language,
if (rowid != null) 'rowid': rowid,
});
}
@@ -2402,12 +2443,14 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
Value<String>? id,
Value<bool>? pinRequired,
Value<String>? themeMode,
Value<String>? language,
Value<int>? rowid,
}) {
return AppSettingsTableCompanion(
id: id ?? this.id,
pinRequired: pinRequired ?? this.pinRequired,
themeMode: themeMode ?? this.themeMode,
language: language ?? this.language,
rowid: rowid ?? this.rowid,
);
}
@@ -2424,6 +2467,9 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
if (themeMode.present) {
map['theme_mode'] = Variable<String>(themeMode.value);
}
if (language.present) {
map['language'] = Variable<String>(language.value);
}
if (rowid.present) {
map['rowid'] = Variable<int>(rowid.value);
}
@@ -2436,6 +2482,7 @@ class AppSettingsTableCompanion extends UpdateCompanion<AppSettingsRow> {
..write('id: $id, ')
..write('pinRequired: $pinRequired, ')
..write('themeMode: $themeMode, ')
..write('language: $language, ')
..write('rowid: $rowid')
..write(')'))
.toString();
@@ -4023,6 +4070,7 @@ typedef $$AppSettingsTableTableCreateCompanionBuilder =
required String id,
Value<bool> pinRequired,
Value<String> themeMode,
Value<String> language,
Value<int> rowid,
});
typedef $$AppSettingsTableTableUpdateCompanionBuilder =
@@ -4030,6 +4078,7 @@ typedef $$AppSettingsTableTableUpdateCompanionBuilder =
Value<String> id,
Value<bool> pinRequired,
Value<String> themeMode,
Value<String> language,
Value<int> rowid,
});
@@ -4056,6 +4105,11 @@ class $$AppSettingsTableTableFilterComposer
column: $table.themeMode,
builder: (column) => ColumnFilters(column),
);
ColumnFilters<String> get language => $composableBuilder(
column: $table.language,
builder: (column) => ColumnFilters(column),
);
}
class $$AppSettingsTableTableOrderingComposer
@@ -4081,6 +4135,11 @@ class $$AppSettingsTableTableOrderingComposer
column: $table.themeMode,
builder: (column) => ColumnOrderings(column),
);
ColumnOrderings<String> get language => $composableBuilder(
column: $table.language,
builder: (column) => ColumnOrderings(column),
);
}
class $$AppSettingsTableTableAnnotationComposer
@@ -4102,6 +4161,9 @@ class $$AppSettingsTableTableAnnotationComposer
GeneratedColumn<String> get themeMode =>
$composableBuilder(column: $table.themeMode, builder: (column) => column);
GeneratedColumn<String> get language =>
$composableBuilder(column: $table.language, builder: (column) => column);
}
class $$AppSettingsTableTableTableManager
@@ -4144,11 +4206,13 @@ class $$AppSettingsTableTableTableManager
Value<String> id = const Value.absent(),
Value<bool> pinRequired = const Value.absent(),
Value<String> themeMode = const Value.absent(),
Value<String> language = const Value.absent(),
Value<int> rowid = const Value.absent(),
}) => AppSettingsTableCompanion(
id: id,
pinRequired: pinRequired,
themeMode: themeMode,
language: language,
rowid: rowid,
),
createCompanionCallback:
@@ -4156,11 +4220,13 @@ class $$AppSettingsTableTableTableManager
required String id,
Value<bool> pinRequired = const Value.absent(),
Value<String> themeMode = const Value.absent(),
Value<String> language = const Value.absent(),
Value<int> rowid = const Value.absent(),
}) => AppSettingsTableCompanion.insert(
id: id,
pinRequired: pinRequired,
themeMode: themeMode,
language: language,
rowid: rowid,
),
withReferenceMapper: (p0) => p0