From ead8e38da3b1d8644ece0a279221fa04eb9548bc Mon Sep 17 00:00:00 2001 From: Konstantin Pastbin Date: Mon, 7 Mar 2022 19:40:10 +0300 Subject: [PATCH] [docs] Expand STRUCTURE.md Signed-off-by: Konstantin Pastbin --- docs/STRUCTURE.md | 162 +++++++++++++++++++++++++++++++------------ docs/TRANSLATIONS.md | 21 +++--- 2 files changed, 126 insertions(+), 57 deletions(-) diff --git a/docs/STRUCTURE.md b/docs/STRUCTURE.md index f4125fb214..1f841ada45 100644 --- a/docs/STRUCTURE.md +++ b/docs/STRUCTURE.md @@ -1,46 +1,120 @@ # Directories Structure -- `3party` - external libraries, sometimes modified. -- `android` - Android UI. -- `base` - some base things, like macros, logging, caches etc. -- `cmake` - CMake helper files. -- `coding` - I/O classes and data processing. -- `data` - data files for the application: maps, styles, country borders. -- `descriptions` - -- `docs` - documentation. -- `drape_frontend` - scene and resource manager for the Drape library. -- `drape` - the new graphics library core. -- `editor` - built-in OSM data editor. -- `feature_list` - -- `ge0` - external API of the application. -- `generator` - map building tool. -- `geometry` - geometry primitives we use. -- `indexer` - processor for map files, classificator, styles. -- `iphone` - iOS UI. -- `kml` - manipulation of KML files. -- `map` - app business logic, including a scene manager. -- `mapshot` - generate screenshots of maps, specified by coordinates and zoom level. -- `openlr` - -- `packaging` - packaging specs for various distributions. -- `platform` - platform abstraction classes: file paths, http requests, location services. -- `poly_borders` - borders post-processing tool. -- `pyhelpers` - -- `qt_tstfrm` - widgets for visual testing. -- `qt` - desktop application. -- `routing_common` - -- `routing` - in-app routing engine. -- `search` - ranking and searching classes. -- `shaders` - shaders for rendering. -- `skin_generator` - a console app for building skin files with icons and symbols. -- `software_renderer` - -- `std` - standard headers wrappers, for Boost, STL, C-rt. -- `storage` - map reading function. -- `testing` - common interfaces for tests. -- `tools` - tools for building packages and maps, for testing etc. -- `topography_generator` - isolines from SRTM data. -- `track_analyzing` - -- `track_generator` - Generate smooth tracks based on waypoints from KML. -- `tracking` - -- `traffic` - real-time traffic information. -- `transit` - -- `xcode` - XCode workspace. +## Platforms +- `android/` - Android UI. + +- `iphone/` - iOS UI. +- `xcode/` - XCode workspace. + +- `qt/` - desktop application. + +## Data + +`data/` folder contains data files for the application: maps, styles, country borders, etc.: + +- `benchmarks/` - +- `borders/` - polygons describing countries' borders. +- `conf/isolines/` - per-country isoline profiles. +- `metainfo/` - languages used in countries / regions. +- `vulkan_shaders/` - + +- `countries.txt` - map files hierarchy and checksums. +- `countries_meta.txt` - country languages and driving sides. +- `hierarchy.txt` - countries / map regions hierarchy, languages used and Wikidata IDs. + +- `faq.html` - FAQ text displayed in the "?"/Help screen. +- `copyright.html` - attributions to 3rd-party libraries, map data, icons, fonts. + +- `hardcoded_categories.txt` - search categories displayed in UI (duplicated in search/displayed_categories.cpp, see #1795). +- `minsk-pass.mwm`,`minsk-pass.osm.bz2` - a small map used for tests. + +There are some other files not mentioned here. + +### Map features / classificator + +- `mapcss-mapping.csv` - mapping between OSM tags and OM types. +- `replaced_tags.txt` - similar OSM tags merged. +- `mixed_tags.txt` - pedestrian streets of high popularity. + +- `editor.config` - built-in OSM data editor configuration (editable POIs, their attributes, etc.). +- `config.xsd` - xml schema for `editor.config`. + +Automatically generated: +- `classificator.txt` - hierarchical list of all OM types. +- `types.txt` + +### Styles and icons + +- `resources-default/` - +- `resources-svg/` - social networks icons +- `search-icons/svg/` - source svg files for search categories icons +- `styles/` - map [style files](STYLES.md#files) + +Automatically [generated](STYLES.md#technical-details): +- `resources-*/` - icons skin files in various resolutions for `dark` and `clear` (light) themes. +- `drules_proto*` - binary drawing rules files. +- `colors.txt`,`patterns.txt`,`visibility.txt` + +### Strings and translations + +[Translation files](TRANSLATIONS.md#translation-files): +- `strings/` +- `categories.txt`,`categories_cuisines.txt`,`categories_brands.txt`,`countries_names.txt` + +Misc strings: +- `mwm_names_en.txt` - english names for map regions. +- `countries_synonyms.csv` - alternative country names. +- `synonyms.txt` - country and region names abbreviations and short names. +- `languages.txt` - native language names. + +Automatically [generated](TRANSLATIONS.md#technical-details): +- `countries-strings/` - country and map region names JSON localization files. +- `sound-strings/` - Text-To-Speech JSON localization files. + +## Tools +- `tools/` - various scripts for building packages and maps, testing, managing translations etc. + +- `generator/` - map building tool. +- `poly_borders/` - borders post-processing tool. +- `skin_generator/` - a console app for building skin files with icons and symbols. +- `topography_generator/` - isolines from SRTM data. +- `track_generator/` - generate smooth tracks based on waypoints from KML. + +## C++ Core + +- `3party/` - external libraries, sometimes modified. +- `base/` - some base things, like macros, logging, caches etc. +- `cmake/` - CMake helper files. +- `coding/` - I/O classes and data processing. +- `descriptions/` - +- `drape_frontend/` - scene and resource manager for the Drape library. +- `drape/` - the new graphics library core. +- `editor/` - built-in OSM data editor. +- `feature_list/` - +- `ge0/` - external API of the application. +- `geometry/` - geometry primitives we use. +- `indexer/` - processor for map files, classificator, styles. +- `kml/` - manipulation of KML files. +- `map/` - app business logic, including a scene manager. +- `mapshot/` - generate screenshots of maps, specified by coordinates and zoom level. +- `openlr/` - +- `packaging/` - packaging specs for various distributions. +- `platform/` - platform abstraction classes: file paths, http requests, location services. +- `pyhelpers/` - +- `qt_tstfrm/` - widgets for visual testing. +- `routing_common/` - +- `routing/` - in-app routing engine. +- `search/` - ranking and searching classes. +- `shaders/` - shaders for rendering. +- `software_renderer/` - +- `std/` - standard headers wrappers, for Boost, STL, C-rt. +- `storage/` - map reading function. +- `testing/` - common interfaces for tests. +- `track_analyzing/` - +- `tracking/` - +- `traffic/` - real-time traffic information. +- `transit/` - experimental GTFS-based public transport support. + +## Documentation + +The main docs are in the `docs/` directory, however some tools have their own readmes, etc. diff --git a/docs/TRANSLATIONS.md b/docs/TRANSLATIONS.md index 6d1ededb98..6920d159fa 100644 --- a/docs/TRANSLATIONS.md +++ b/docs/TRANSLATIONS.md @@ -12,30 +12,25 @@ But if you can't run it - don't worry, its not mandatory! ## Translation files +Main: - Application UI strings: [`data/strings/strings.txt`](../data/strings/strings.txt) - - A few iOS specific strings: [`iphone/plist.txt`](../iphone/plist.txt) - - -- Android stores description: [`android/src/google/play/listings/`](../android/src/google/play/listings/) - -- Apple AppStore description: [`iphone/metadata/`](../iphone/metadata/) - - - Names of map features/types: [`data/strings/types_strings.txt`](../data/strings/types_strings.txt) - - Search keywords/aliases/synonyms for map features: [`data/categories.txt`](../data/categories.txt) -- Search keywords for cuisine types: [`data/categories_cuisines.txt`](../data/categories_cuisines.txt) - - +Additional: - Text-to-speech strings for navigation: [`data/strings/sound.txt`](../data/strings/sound.txt) +- Android stores description: [`android/src/google/play/listings/`](../android/src/google/play/listings/) +- Apple AppStore description: [`iphone/metadata/`](../iphone/metadata/) - Popular brands of map features: [`data/strings/brands_strings.txt`](../data/strings/brands_strings.txt) - - Search keywords for popular brands: [`data/categories_brands.txt`](../data/categories_brands.txt) +- Search keywords for cuisine types: [`data/categories_cuisines.txt`](../data/categories_cuisines.txt) +- Country / map region names: [`data/countries_names.txt`](../data/countries_names.txt) + +- [other strings](STRUCTURE.md#strings-and-translations) files Language codes used are from [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes). If a string is not translated into a particular language then it falls back to English or a "parent" language (e.g. `es-MX` falls back to `es`).