37 lines
1.3 KiB
Dart
37 lines
1.3 KiB
Dart
/// Dialect tags from JMdict
|
|
///
|
|
/// See https://www.edrdg.org/jmwsgi/edhelp.py#kw_dial
|
|
enum JMdictDialect {
|
|
brazilian(id: 'bra', description: 'Brazilian'),
|
|
hokkaido(id: 'hob', description: 'Hokkaido-ben'),
|
|
kansai(id: 'ksb', description: 'Kansai-ben'),
|
|
kantou(id: 'ktb', description: 'Kantou-ben'),
|
|
kyoto(id: 'kyb', description: 'Kyoto-ben'),
|
|
kyushu(id: 'kyu', description: 'Kyuushuu-ben'),
|
|
nagano(id: 'nab', description: 'Nagano-ben'),
|
|
osaka(id: 'osb', description: 'Osaka-ben'),
|
|
ryukyu(id: 'rkb', description: 'Ryuukyuu-ben'),
|
|
tokyo(id: 'std', description: 'Tokyo-ben (std)'),
|
|
tohoku(id: 'thb', description: 'Touhoku-ben'),
|
|
tosa(id: 'tsb', description: 'Tosa-ben'),
|
|
tsugaru(id: 'tsug', description: 'Tsugaru-ben');
|
|
|
|
final String id;
|
|
final String description;
|
|
|
|
const JMdictDialect({required this.id, required this.description});
|
|
|
|
static JMdictDialect fromId(String id) => JMdictDialect.values.firstWhere(
|
|
(e) => e.id == id,
|
|
orElse: () => throw Exception('Unknown id: $id'),
|
|
);
|
|
|
|
Map<String, Object?> toJson() => {'id': id, 'description': description};
|
|
|
|
static JMdictDialect fromJson(Map<String, Object?> json) =>
|
|
JMdictDialect.values.firstWhere(
|
|
(e) => e.id == json['id'],
|
|
orElse: () => throw Exception('Unknown id: ${json['id']}'),
|
|
);
|
|
}
|