feat(map): every country on earth, picked continent first
All checks were successful
CI / check (push) Successful in 14m52s
CI / deploy (push) Successful in 19s

Map questions can now be on the world's countries besides Japan's
prefectures: a new question chooses its map above it.

The world is Natural Earth's 1:50m countries (public domain), as they are
on the ground, one region per ISO 3166-1 code (239; Gibraltar and the US
Outlying Islands from the 1:10m layer, which has them), named in every
language a studyset can be in from the Unicode CLDR (Unicode License v3,
its notice in the licence list). tool/maps/world_countries.py builds it;
the outline code it shares with the Japan script moved to outlines.py,
which still writes Japan's file byte for byte. The 1.8 MB file is parsed
off the screen's isolate.

Picking goes in layers on both maps: on the whole map one taps a group
(a continent, or Kantō, Kansai …; chips name them too) and the map flies
there, then one taps the region; Back returns. A group of one (Hokkaidō,
Okinawa) and what is in none (Antarctica) are picked at once. A country
in two groups (Russia, Türkiye, Cyprus) opens the one nearer the tap.
Oceania's frame runs past 180° so the Pacific stays in one piece.

What is still too small to hit gets a ring, 48 dp of reach as Material's
touch target: on the ring it is picked; near it, where the tap could mean
it or its neighbours, the map zooms in rather than guess. Pinching and a
mouse's wheel zoom as before.

Names show in the app's language, beside them the map's own (Japanese for
Japan) or the studyset's (キプロス beside Cyprus in a Japanese studyset).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-12 07:18:20 +02:00
commit e5e0de62b3
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -3414,11 +3414,83 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get mapPickRegion =>
'Tippe auf die Region, die die Frage beantwortet; zoome mit zwei Fingern oder durch Scrollen.';
'Wähle einen Teil der Karte, dann tippe auf die Region, die die Frage beantwortet. Winzige Orte haben einen Ring; zoome mit zwei Fingern oder durch Scrollen.';
@override
String get mapNonePicked => 'Noch keine Region gewählt';
@override
String get composerLabelMap => 'Karte';
@override
String get mapChoiceJapan => 'Japans Präfekturen';
@override
String get mapChoiceWorld => 'Länder der Welt';
@override
String get mapNameJapan => 'Japan';
@override
String get mapNameWorld => 'Welt';
@override
String get mapGroupHokkaido => 'Hokkaidō';
@override
String get mapGroupTohoku => 'Tōhoku';
@override
String get mapGroupKanto => 'Kantō';
@override
String get mapGroupChubu => 'Chūbu';
@override
String get mapGroupKansai => 'Kansai';
@override
String get mapGroupChugoku => 'Chūgoku';
@override
String get mapGroupShikoku => 'Shikoku';
@override
String get mapGroupKyushu => 'Kyūshū';
@override
String get mapGroupOkinawa => 'Okinawa';
@override
String get mapGroupEurope => 'Europa';
@override
String get mapGroupAfrica => 'Afrika';
@override
String get mapGroupWestAsia => 'Westasien';
@override
String get mapGroupSouthAsia => 'Zentral- und Südasien';
@override
String get mapGroupEastAsia => 'Ostasien';
@override
String get mapGroupSoutheastAsia => 'Südostasien';
@override
String get mapGroupNorthAmerica => 'Nordamerika';
@override
String get mapGroupCentralAmerica => 'Mittelamerika und Karibik';
@override
String get mapGroupSouthAmerica => 'Südamerika';
@override
String get mapGroupOceania => 'Ozeanien';
@override
String get composerPlaceholderQuestion => 'Frage hinzufügen';