Initial import

This commit is contained in:
Dominika Liberda 2023-06-11 01:44:58 +02:00
commit cc0acc7172
9647 changed files with 2116515 additions and 0 deletions

View file

9
Brewfile Normal file
View file

@ -0,0 +1,9 @@
brew "cmake"
brew "libogg"
brew "libvorbis"
brew "openal-soft"
brew "freetype"
brew "curl"
brew "harfbuzz"
brew "libjpeg"
brew "sdl2"

741
CHANGELOG.md Normal file
View file

@ -0,0 +1,741 @@
# Changelog
This file documents notable changes to SuperTuxKart across versions since its inception.
It should be kept in mind that some versions have a less complete changelog than others, and that this changelog do not list the details of the many small bugfixes and improvements which together make a significant part of the progress between releases.
For similar reasons, and because some features are vastly more complex than others, attributions of main changes should not be taken as a shortcut for overall contribution.
## SuperTuxKart 1.4 (31. October 2022)
### General
* Lap trial mode, by mrkubax10
* Fix parachute powerup, by heuchi
* Fix gyroscope on walldriving surface, by Benau
* Enable ARMv7 build for Windows, by Benau
* Restore macOS <= 10.14 support, by Benau
* Avoid triggering other goal lines when the goal is already scored, by kimden
### Graphics
* Items and stars animation, by Semphris
* LOD optimization, by Benau
* Implement HiDPI support in SDL2 properly, by Benau
* Beta Vulkan renderer, by Benau
* Make sky particle always fall vertically, by Benau
### Tracks and modeling
* Updated Konqi, by ZAQraven99
* New Godette kart, by ZAQraven99
* Updated Battle Island and Cave X, by Typhon306
* Fix broken invisible wall in Antediluvian Abyss, by Benau
* New textures in Shifting Sands, by KartOym
* Balanced starting positions in all official soccer fields, by Crystal
### Networking
* Add track searching to network track screen, by Benau
* Make limit of players in game configurable, by Waldlaubsaengernest
* Allow using real addon karts (same hitbox and kart type as in local game), by Benau
### User Interface
* Add left side ghost replay difficulties, by ldoyenard
## SuperTuxKart 1.3 (28. September 2021)
### Networking
* Server bookmarks, by Benau
### Graphics
* Introduce render resolution scaling for the modern renderer, by QwertyChouskie and Deve. For users with limited GPU power, this allows to get significant performance (FPS) gains at the cost of image quality. It can also allow additional graphics effects at the same performance. This is especially useful for users with high-resolution and high-DPI screens. The scaling only affects the 3D scene, the UI remains crisp at full-resolution.
* Simplification through removal of unused deprecated graphical effects, by Samuncle
* Many updates to texture-related code, by Benau
* Auto-compute Level of Detail distances for 3D models set to use LOD depending on track complexity, by Samuncle. The geometry level parameter allows partial control over the drawing distances.
* Improved screen space reflection, by QwertyChouskie
### General
* Switch port, by Mary
* Gamepad force feedback support, by Mary
* Highscore screen, by RQWorldblender
* Grand Prix highscores, by mrkubax10
* Updates to the bundled tinygettext library, by Benau
* Enable custom skidding sounds for karts, by Benau
* Greatly sped up loading of tracks with many checklines through optimization, by heuchi
* And many bugfixes and enhancements too small or specific to be detailed
### User Interface
* Display the skin-appropriate iconset without having to restart, by Benau
* Fix some issues with the options menu when used during a pause, by Benau
* Add a confirmation dialog before closing the game through the "go back" key/button, by Benau
* In the result screen, display the race position with a number with 10 karts or more, by mrkubax10
* In the result screen, display the challenge result and the requirements met or failed, by CodingJellyFish
* Many small menu and dialogs improvements, by RQWorldblender and others
* Usability and functionality improvements to the debug menu, by RQWorldblender
* Clickable URLs in text, by Benau
#### In-race UI
* Add visual and sound feedback when a timed challenge or timed game is about to end, by mrkubax10 and Alayan
### Mobile
* Fix a precision issue that caused artefacted shadows, by icecream95 and Benau
#### iOS
* Use MojoAL instead of OpenAL, which iOS currently has issues with, by Benau
### Tracks and modeling
* Alien Signal, by Samuncle
* Ancient Colosseum Labyrinth, by Typhon306
* Improved Las Dunas Soccer, by Benau
* Add lap line extensions to Hacienda, Old Mine, Ravenbridge Mansion and Shifting Sands, by Benau
* New Pepper kart, by ZAQraven99
* Improved Adiumy, Emule, GNU and Sara karts, by ZAQraven99
## SuperTuxKart 1.2 (27. August 2020)
### Networking
* Add support for IPv6 LAN servers, by Benau
* Auto-detect client IPv4 and IPv6 support, by Benau
* Improved server creation speed and performance, by Benau
* Allow to use any addon karts online, on servers with live join enabled, by Benau. The kart has Tux's hitbox.
* Prevent undefined behaviour on battle/soccer servers with an excessive player limit, by Benau
* Use an improved rating formula for ranked play, by Alayan
### General
* Use SDL2 for window creation, allowing better gamepad support, by Benau
* Replace Fribidi by SheeBidi for RTL support, and remove the dependency to libraqm, by Benau
* Add support for in-race messages in scripting, by CodedOre
* Improved tutorial with free-flow racing (no more text interrupts), by CodedOre
* Haiku support, by AlwaysLivid
* Make the game's window resizable in-game, by Benau
* Download addon icons on-demand to speed-up the addons list loading, by Benau
* Allow theming of icons, by QwertyChouskie
* Many many bugfixes and enhancements
### Mobile
* Many minor bugfixes and compatibility enhancements
#### Android
* Use the android app bundle, allowing all tracks to be included, by Benau
* Use the native progress indicator during game data extraction, by Benau
* Add a launch splash screen, by Benau
#### iOS
* Allow server creation in-game by using only one process for client and server, by Benau
### User Interface
* Introduce element padding for skins, by QwertyChouskie
* New Cartoon skin, by LCP (art) and QwertyChouskie (code)
* Allow to rename control configurations, by GuillaumeBft
* Unthrottled keyboard navigations in menus, by Benau
* Show mobile players as such in server lobbies, using an emoji icon, by riso
* Always show the race end times in ms, by Fouks
* SVG icons support, by riso
* New tips for soccer mode
#### In-race UI
* Introduce camera settings in the options screen, by luffah
* More spectator cameras in online spectating, by luffah
* Add a minimap indicator for basketballs, by Alayan
* Add team chat for team games, by Benau
* Show the kart orientation on the soccer minimap, by riso
* Show a message once a goal is made in soccer, by riso
### Tracks and modeling
#### Karts
* New version of Kiki, by Typhon306 and ZAQraven99
* Improved karts, by Crystal
* Pidgin, Puffy
* Improved beastie animation, by D_ft Kid
## SuperTuxKart 1.1 (4. January 2020)
### Networking
* Add support for IPv6 clients and servers, by Benau
* Add AI support to local networking servers, by Benau. This AI is not as strong as the normal AI due to networking lag, but should offer enough challenge for a majority of players.
* Add support for AI bots for the server host, by Benau
* Improved handling of collisions, by Benau
* Improved support for playing addons on servers, by Benau
* Support using an IPV4 domain name to connect to a server, by Benau
* Add packet loss data to the server databases, by Benau
* New management features for server hosts, by Benau
* IP / online ID ban tables
* Server statistics
* Make the auto-end finish time more lenient, so it doesn't tank ranking score because of another player, by Alayan
* Add a player reporting function, by Benau
* Fix a bug that allowed to exceed a server's player limit if two players connected at the same time, by Benau
* Add lobby commands, by Benau
### Race gameplay and physics
* Random spawn point in local battle mode, by Aleman778
* Add an option to show everyone's items with the left characters icons, by Fouks
* Allow to choose the number of AI per team in soccer, by risostk
* In CTF mode, fix a bug that prevented scoring a point when the team's flag was in its immunity state, by Alayan
* Fix a bug that could result in the finish time being shown as 0:00:00, by Alayan
* Fix a bug that made AIs, in multiplayer and low difficulty, rubber-band towards the wrong player, by Alayan. Each player now correctly has its AIs, helping a weaker player to not be condemned to the last position.
### General
* Screen space reflection graphical effect, by samuncle
* Support unicode file paths, by Benau
* Complex text layout support, by Benau
* Add emoji support, by Benau
* Avoid "this program is not responding" warnings in Windows and Mac, by Benau
* Add a Story Mode timer, by Alayan
* Make text billboards size consistent accross resolutions, by Benau
* Don't trigger road sounds when the kart is flying, by Benau
* Remove an incorrect function call that could significantly hurt performance for Mac, by Benau
* Fix a nasty bug that made several sound effects to be played at a low volume after a crash, by Alayan
* Some code clean-up, by Alayan
* Addon skin support and skin-specified font by Benau
* Structure for allowing icon themes by Benau
* Add support for custom per-kart engine sounds, by Benau
* Fix an incorrect outdated driver warning for recent AMD cards on Windows, by Alayan
* Scripting enhancements, by deveee
* Add a continue button to cutscenes (mostly useful for touchscreen devices), by deveee
* Request the use of the performance GPU on Optimus systems, by deveee
* Fixed plural forms for translations in several languages, by deveee
* Close STK if Wayland crashes, by mstoeckl
* Support nested directories for addons, by Benau
* Scripting preprocessing for STK version, by Benau
* Updated Wiiuse library to 0.15.5
* Various tweaks and bugfixes, including crash fixes
### Mobile
* Add a screen allowing to download official assets that can't be included in the release package because of size limits, by Benau
* The tutorial text is now tailored for touchscreen usage, instead of the main keyboard text, by Benau
* Enhanced acceleration handle, by Benau
* Allow changing the touchscreen controller type in race paused dialog, by deveee
* Allow for optional auto-acceleration, by deveee
#### Android
* Various bugfixes by deveee, dos1
* Screen keyboard handling improvements, by deveee and Benau
* Allow copying text from the edit box, by Benau
* STK for Android now targets the version 29 of the API (Android 10.0), up from 26 (Android 8.0)
#### iOS
* Add iOS support, by Benau
* The Android code has been widely put to use for iOS
* Several changes or fixes to ensure proper behavior (input, screen-scaling, and more)
### User Interface
* Show tips for players when loading and after race ends, by dumaosen
* Better scaling of many many UI elements to large resolutions, by dumaosen and others
* Show country flags for servers and players in online multiplayer, by Benau
* Add a new option to change font size on the fly, by Benau and deveee
* Add icons for the available options in the race result screens, by dumaosen
* Make the highscore list scrollable, by deveee
* Display all the relevant info in the challenge dialog in Story Mode, by Alayan
* New challenge selection interface, by dumaosen
* Show the number of ranking points won or lost after a ranked race, by Benau
* Separate blurring visual effects from the main graphics presets, by Alayan
* Fix incorrect text resizing in the help menu, by Benau
* Make the custom random GP option more prominent in the track selection screen, by dumaosen
* Improvements to the scrollbars, by QwertyChouskie
* Allow sorting lists with the keyboard, by Benau
* Allow tooltip drawing outside of menus, by deveee
* Prevent some font scaling blur caused by non-integer offsets, by Benau
* Add a (configurable) limit to chat message frequency, by GuillaumeBft and Benau
* Allow to explicitly set the flip direction of tabs, by dumaosen
* Allow to download addons from the server lobby interface, by Benau
* Allow to filter installed and non-installed addons in the addons screen, by Alayan
* Many minor tweaks and bugfixes
#### In-race UI
* Scale down the lap time indicator next to the kart icons when there are many karts, by riso
* Limit how long chat and in-race messages can be, by Benau and Alayan
* Add an option to disable in-race messages only, by Alayan
### Tracks and modeling
#### Tracks
* A handful of minor graphical fixes and enhancements
* Fixed checklines that could be missed too easily in XR591 and the Old Mine.
#### Arenas
* Pumpkin Park, by samuncle
## SuperTuxKart 1.0 (20. April 2019)
### Networking
* Networking support for normal race, time trial, free for all, capture the flag and soccer by Benau and hiker :
* Access to a global server list, possibility to also create a LAN server
* Track voting system to allow players to decide where the race will be
* Communication between server and clients to exchange inputs and general game data
* A lot of work on rewind code to make sure server and client are well synchronized
* Chat lobby for general server information and discussion among players between races
* Support for handicap, which can be changed before each game
* Spectating option for players having entered a server while a race or game is underway by Benau
* Option to join live an active game in FFA, CTF and soccer by Benau
* Global rankings by Benau (communication with main server) and Alayan (ranking formula)
### Race gameplay and physics
* New game mode Capture the Flag by Benau (online multiplayer only)
* New game mode Free for All by Benau
* Free for All available in offline mode with AI, by Mrxx99
* Revised kart characteristics for better balance between light, medium and heavy karts by Alayan
* Better random item distribution for various numbers of karts by Alayan and hiker
* Fix position interpolation causing some incorrect lapline validation by Auria
* Fix kart being uncontrollable and hovering when landing on some downward slopes by hiker
* Mitigate a physics issue which could send a kart flying on collisions by hiker
* Make kart turn radius based on kart class instead of kart model length (which made Adiumy unplayable and caused AI issues) by Alayan
* Revisited slipstreaming with boost easier to obtain, especially in curves, but not as strong as in 0.9.3 when the zipper boost was incorrectly activated, by Alayan
* Minor gameplay improvements (level 1 skid boost doesn't interrupt level 2 boost, fairer rubber-banding in low difficulties, boosted AI for some karts for more challenge in GPs, small balance change of GP points, more useful and consistent handicap option...)
* Start boost/penalty moved to the set phase for smoother networking
* Terrain slowdown works again as intended on several tracks where it was missing
### AI
* Improved powerup and nitro handling in AI by Alayan
### General
* Option to disable light scattering (for improved FPS), used in graphics level 3, by Partmedia
* Unlockable SuperTux challenges in Story Mode by Alayan
* Improvements to ghost replays (more data saved, live time difference, replay comparison, egg hunt replays) by Alayan
* Kart color customization by Benau
* Multithreading contention fixes by Benau
* Local multiplayer improvements by Ben Krajancic
* Major revamp of the achievement system to make adding new achievements much easier and flexible, also fixing some related bugs by Alayan
* Store up to 5 highscores for a track/difficulty/mode/kart number combination, instead of 3
* Smooth turning for non-keyboard inputs for improved consistency between input mode by deveee
* Updated standard replays by Alayan
* Visual improvements (new skidding particles, better rescue, bubblegum flashing before ending)
* Audio improvements (crash sound depending on speed/direction, no crash sound on rescue walls, sound cue in nitro challenges)
* Fix STK incorrectly connecting to the server when the internet option is disabled by Auria
* Updated WiiUse library
* Many bugfixes
### Android
* Gyroscope support by Pelya
* Numerous improvements to input on Android, including screen keyboard, keyboard, gamepads, by deveee
* Android TV support
* Improved UI and font scaling by deveee
* More compact APK thanks to png optimization, allows to have several tracks more than the 0.9.3 APK, by deveee and Alayan
* Wayland support and many other smaller improvements and fixes
### User Interface
* New networking user interface by Benau and hiker
* New coal skin by Alayan
* Support for collapsing widgets in UI by Mrxx99
* Multidirectional keyboard navigation in menus by Alayan
* Alternating background darkness in lists to enhance readability by Benau
* Support text breaks into multiple line in lists, e.g. in the addons menu, by Alayan
* Improved help menu with lateral tabs and a lot more information by Alayan
* Improved option menu with lateral tabs and a separate language tab by Alayan
* Many improvements to the ghost replay selection list (give access to egg hunt replays, kart icon shown in the list, replay's game version shown, hide player number column by default) and dialog (allow replay comparison, show track picture, show information about the selected replays) by Alayan
* Control configurations can be disabled without being deleted by Alayan
* Other significant enhancements (detailed progress of multi-goal achievements, reset password button, clearer checkbox status, milliseconds displayed in time-trials and egg hunts, nitro efficiency in the kart selection screen, better track info screen, better warnings when trying to do an online action with internet access disabled, hour support for GP time, default resolutions can't be used in fullscreen if unsupported by the monitor...)
* Many bugfixes and small enhancements mostly by deveee and Alayan
#### In-race UI
* New speedometer and nitro gauge, by Alayan
* Bigger minimap and new display options, by Alayan
* More legible text with outlines and for some bigger font, by Alayan
### Tracks and modeling
#### Tracks
* Black Forest by Sven Andreas Belting (replacing Green Valley)
* Ravenbridge Mansion by samuncle (replacing Black Hill Mansion)
* Unwanted shortcuts and exploits found by several players and fixed mostly by Auria in many tracks :
* Antediluvian Abyss, Around the Lighthouse, Fort Magma, Grand Paradisio Island, Hacienda, Minigolf, Nessie's Pond, Northern Resort, The Old Mine, Oliver's Math Class, Shifting Sands, STK Enterprise, XR591
* Smoothness issues causing collisions and kart slowdown fixed by Auria :
* Nessie's Pond, Old Mine, Shifting Sands, Volcano Island, XR591
* Item (boxes, nitro, bananas) positions improvement by Alayan and theThomasPat :
* Around the Lighthouse, Black Forest, Candela City, Hacienda, Minigolf, Northern Resort, Oliver's Math Class, STK Enterprise, The Old Mine, Volcano Island, Zen Garden
#### Arenas
* Las Dunas Soccer, by samuncle
* Candela City arena by Benau, based on samuncle's track
#### Karts
* New version of Beastie by Jymis
* New version of Kiki by Benau
## SuperTuxKart 0.9.3 (28. October 2017)
* Reduced RAM and VRAM usage, reducing load times by Auria and Benau
* New mesh format optimized for space and hardware skinning
* Code refactoring of both render pipeline by Benau and Elderme
* Physics improvements and various physics bugfixes by hiker
* Kart GFX improvements (exhaust and headlight)
* In-game screen recording powered by libopenglrecorder
* High quality mipmap generation by Stragus
* New smoother camera by Auria
* New grand prix win scene
* Gamepad configuration bugfixes
* 3 Strikes Battles : added spare tire karts
* Visual representation of the start line in all tracks
* Various improvements (starting boost effect, wall driving fixes, parachutes, GP points, help page for bananas, cannon fixes, colorization shader)
### Tracks and modeling
#### Karts
* Kiki by Benau
* New versions of Wilber and Hexley by Jymis
* New version of Konqi by Benau
#### Tracks
* All tracks drivable in reverse, with arrows pointing in the correct direction
* Candela City by samuncle (replace Shiny Suburbs)
* Cornfield Crossing by samuncle (replace Bovine Barnyard)
* New battle track Las Dunas Arena by samuncle
## SuperTuxKart 0.9.2 (1. July 2016)
* Ghost replay races by Benau
* Battle mode AI by Benau
* Soccer mode AI by Benau
* TTF font rendering by Benau
* New ruby and forest skins by Benau
* Kart properties refactor by Flakebi
* Scripting work under the hood
* Work on the track editor by mhp
* Tweak to challenges
* New farm track song by 0zone0ne and Krobonil
* Bugfixes
### Tracks and modeling
#### Tracks
* Antediluvian Abysses by samuncle (replace Subsea)
* Volcano Island by Ponzino
* New icy soccer field by samuncle and Benau
## SuperTuxKart 0.9.1 (17. October 2015)
* Many bug fixes
* Started to use scripting in tracks
* Significant audio performance improvements
* Tweak to challenges
### Tracks and modeling
#### Tracks
* Better support for driving tracks in reverse
* Smaller tweaks and improvements to several tracks including
* Math class
* XR591
* Fort Magma
* Gran Paradiso Island
* Subsea
## SupertTuxKart 0.9 (24. April 2015)
* Fully shader-based rendering engine
* Online login which allows to:
* connect with friends and see when they are playing
* vote for addons
* collect online achievements
* Grand Prix editor, including creation of random GPs
* Different kart physics
### Tracks and modeling
#### Karts
* New karts Amanda and Gavroche by XGhost
* New and improved Tux, Adiumy, Sara the Wizard and the Racer, Xue
#### Tracks
* Cocoa Temple by samuncle (replace Amazonian Journey)
* Gran Paradiso Island by samuncle (replace The Island)
* Graphical improvements to many other tracks
## SuperTuxKart 0.8.1 (26. November 2013)
* New Soccer mode
* New Egg Hunt mode
* Added Tutorial
* Added new Supertux difficulty
* New bubblegum shield weapon
* New Speedometer and nitro meter
* Add ability to filter addons
* Add ability to save and resume Grand Prix
* Improve skid marks and nitro effects
* Wiimote support
### Tracks and modeling
#### Karts
* New karts Xue and Sara
* Updated Beastie kart
#### Tracks
* STK Enterprise by Rubberduck (replace Star Track)
* Gameplay and graphical updates to several tracks :
* The Old Mine
* Lighthouse
* Zen Garden
#### Miscellaneous
* Updated nitro models
## SuperTuxKart 0.8 (11. December 2012)
* Story mode and new challenge set
* Improved AI
* Skidding and better collision physics
* Reverse mode
* Updated menus
* New music
### Tracks and modeling
#### Tracks
* Green Valley by Wolfs (replace Tux Tollway)
* Blackhill Mansion by samuncle (replace Crescent Crossing)
* Gameplay and graphical updates to several tracks :
* XR591
* Fort Magma
* Jungle
* Sand
## SuperTuxKart 0.7.3 (2. November 2011)
* New graphical effects
* New weapons 'Swatter' and 'Rubber Ball'
* 3 Strikes Battles now displays lives as spare tires
* Improved bubble gum
* See progression during Grand Prix
* Improve physics for tall karts (e.g. Adiumy)
* Lots of bug fixes
* Improved kart control at high speeds
* Better placement of rescued karts
* Transition track-making to blender 2.5/2.6
### Tracks and modeling
#### Karts
* New Suzanne kart
#### Tracks
* Zen Garden by samuncle (replace Secret Garden)
* New Subsea
* New Island battle arena
#### Miscellaneous
* Added Thunderbird as race referee
## SuperTuxKart 0.7.2 (15. July 2011)
* Added in-game addon manager
* Fixed major memory leaks
* Show when you get a highscore
* Improve gamepad configuration under Windows (add ability to tell gamepads apart)
* Various other tweaks done and glitches fixed
### Tracks and modeling
#### Karts
* New Beastie kart.
#### Tracks
* Improved Snow Peak by samuncle
* Improved Star Track UFO by Rudy
## SuperTuxKart 0.7.1b (21. April 2011)
* Fix circular dependency in challenges
* Updated translations
## SuperTuxKart 0.7.1 (15. April 2011)
* Particle (smoke, splash, fire) and weather effects
* Added internet news
* Support for live language switch
* Added optional minimal race UI
* Temporary invincibility after being hit
* Added support for full-screen anti-aliasing
* Clearer multiplayer setup
* Renamed many tracks to nicer names
* Basic level-of-detail (LOD) support
* Debug features for track makers
* Update to bullet 2.77
* Replace more sounds to be DFSG-compliant
* Fixed character names that contain non-ASCII characters
* Full RTL (right to left) support
* Various other tweaks done and glitches fixed
### Tracks and modeling
#### Karts
* New Beagle kart by wolterh
#### Tracks
* New Fort Magma by samuncle
* New Shiny Suburbs by Horace
## SuperTuxKart 0.7 (December 2010)
Too many to list them all. Main points:
* Irrlicht:
- Ported from plib to irrlicht
- Added animations to karts and some tracks
* GUI
- Completely new designed GUI
* Other improvements
- Allowed alternative ways/shortcuts in tracks
- New item 'switch'
### Tracks and modeling
#### Tracks
- Farm
- Hacienda by samuncle (replace Beach)
- Scotland by Canis Lupus
- Secret Garden
## SuperTuxKart 0.6.2a (October 2009)
* Bugfix: STK would crash while trying to save the config file
on Windows Vista.
## SuperTuxKart 0.6.2 (July 2009)
* Bugfix: Game could crash in rare circumstances.
* Bugfix: Restarting a GP (with the in-race menu ESC) would not subtract already allocated points.
* Bugfix: A race could be finished with an invalid shortcut.
* Bugfix: Playing a challenge after a splitscreen game would play the challenge in split screen.
* Bugfix: Items explode over void.
* Bugfix: Grass in castle arena slowed down the kart.
* Bugfix: GP result showed kart identifier instead of name.
* Improvement: there is now 1 1 sec. wait period for the race result screen, avoiding the problem that someone presses space/enter at the end of a race, immediately quitting the menu before it can be read.
## SuperTuxKart 0.6.1a (February 2009)
* Bugfix: battle mode would not display track groups.
## SuperTuxKart 0.6.1 (February 2009)
* New music for Snow Mountain.
* Fixed bug in track selection screen that could cause a crash when track groups were used.
* Fixed crash in character selection that could happen if an old user config file existed.
* Fixed incorrect rescues in Fort Magma.
* Improved track selection screen to not display empty track groups.
* A plunger in the face is now removed when restarting.
* Added slow-down for karts driving backwards.
* Somewhat reduced 'shaking' of AI driven karts.
### Tracks and modeling
#### Karts
- New Puffy kart
#### Tracks
- New Cave battle map
## SuperTuxKart 0.6 (January 2009)
* New improved physics and kart handling
* Added sharp turns and nitro speed boost (replacing wheelies and jump)
* Totally rewrote powerups (plunger, bowling ball, cake, bubblegum) and new look for bananas
* New game mode : 3-Strikes Battle
* Major improvements to AI
* Improved user interface
* Karts now have a visible suspension effect
* Fully positional audio with OpenAL
* New music and sound effects (including engine, braking and skidding sounds)
* Better support for mods and add-ons (kart and track groups)
* New/updated translations (ga fi de nl sl fr it es ro sv)
* Allowed 'Grand Prix's of Time Trial, Follow the Leader, or any other mode
* Challenges are now specified and config files, and are thus easy to create by users
* Improved build system to better detect missing dependencies
* Improved shortcut-detection
* Initial work towards networking (disabled and hidden by default)
* Bug fixes and code refactor/cleanup/documentation
- Fixed 'joystick locks' (kart would turn even if the joystick is in neutral),
thanks to Samjam for the patch.
### Tracks and modeling
#### Karts
* Improved Wilber
* Eviltux
* Hexley
* Some old karts have been removed
#### Tracks
* Skyline
* Snow Mountain
* Race track
* Old Mine
* XR591
* Improved track :
* Star track
## SuperTuxKart 0.5 (May 2008)
* Complete Challenges to unlock game modes, new tracks and a skidding preview
* New Follow the Leader game mode
* New Grand Prix
* Improved User Interface
* Improved game pad/joystick handling
* German, French, Dutch, Spanish, Italian and Swedish translations
* Additional music
* Many Bugfixes including:
- a memory leak fix (Charlie Head)
- an AI crash fix (Chris Morris)
### Tracks and modeling
#### Tracks
* SnowTux Peak
* Amazonian Journey
* City
* Canyon
* BSODs Battlements renamed to Fort Magma
* Improved Crescent Crossing, Fort Magma, and Star Track
## SuperTuxKart 0.4 (February 2008)
* New physics handling using the bullet physics engine
* Improved AI
* New GUI handling, including resolution switching GUI
* Improved input handling
* Jump and look-back feature
* Additional music and main theme
### Tracks and modeling
#### Karts
* New kart: wilber
#### Tracks
* Improved 'Shifting Sands' and 'Lighthouse'
## SuperTuxKart 0.3 (May 2007)
* Highscore lists
* Shortcut detection
* Improved AI
* Fullscreen support
* New track: the island
* New penalty: bomb
* MacOSX support
* OpenAL and ogg-vorbis support
* Two new Grand Prixs
* Improved user interface:
- New racing interface
- Better track map
- Player kart dots in the track map are bigger than AI dots
- Track selection screen has topview pictures
- Added "Setup new race" option when a track is finished
- Added "Restart race" option when a track is finished
- The keyboard can skip vertical spaces between buttons
- Better control configuration
- Better in-game help
- Added .desktop file for menus and icon
* Bugfixes:
- Fixed bug in ssg_help::MinMax, which could cause a significant performance loss.
- Fixed bug that allowed the joystick to erase the main menu
- Fixed bug that allowed the joystick to "play the game while paused"
- Fixed screen_manager assert failure bug
- Fixed sound_manager assert failure bug
- Fixed keyboard keys unable to work on the first key press bug
- And others
## SuperTuxKart 0.2 (22. Sep 2006)
* Significant performance improvement by using display lists
* Improved AI
* Support for different grand prixs
* Too many bug fixes to list them all, but the important ones:
* Work around for 'karts fall through track' compiler bug
* Fixed rescue mode
* Two new collectables: parachute and anvil
* Track screen shots in the track select screen
* Keyboard handling allows gradual turning
* Improved physics (still work in progress)
* All hard-coded properties like maximum velocity have
been replaced by dynamically computed data dependent
on kart parameters, allowing for karts having different
characteristics.
* Added help and about screens, added credits to track designer
* Items were added to all tracks
## SuperTuxKart 0.1 (04. May 2006) (not officially released)
* Significant speedup by using a new HOT and collision algorithm --> all tracks are now playable
* Removed all SDL dependencies, only plib is needed
* Single and multi-window menu can be used
* Code structure changes
* Some bug fixes and small improvements
* Added profile option to support automatic profiling
## SuperTuxKart 0.0.0 (22. Dec 2004)
* new tracks
* new characters and karts
* new user-interface
* some additional effects (skid-marks, smoke)
##TuxKart v0.4.0 (March 19th 2004)
* Changes for compatibility with PLIB 1.8.0 and later.
* Removed some features that were only there to support
truly ancient graphics cards like 3Dfx Voodoo-1/2.
##TuxKart v0.3.0 (??)
* Converted to use the new PLIB/PW library and thus
avoid the need to link to GLUT.
##TuxKart v0.2.0 (Sept 3rd 2002)
* Changes for compatibility with PLIB 1.6.0 and later.
##TuxKart v0.0.5 (??)
* Changes for compatibility with PLIB 1.4.0 and later.
##TuxKart v0.0.4 (??)
* Changes to suit rassin-frassin-Windoze-junk.
* Steady-cam camera - courtesy of cowtan@ysbl.york.ac.uk
* Changes for compatibility with PLIB 1.3.1 and later.
* Added new music courtesy of Matt Thomas.
##TuxKart v0.0.3 (July 4th 2000)
* Fixed bug in Keyboard driver when no
joystick driver is installed.
* More CygWin fixes.
* Started new feature to allow you to be
rescued from lava, etc.
##TuxKart v0.0.2 (July 2nd 2000)
* Added ability to add new tracks without
recompiling.
* Can now drive using keyboard only - no joystick
required.
* Should compile and run under Windoze using CygWin.
##TuxKart v0.0.1 (July 1st 2000)
* Fixed a couple of files missing in initial
Distro.
##TuxKart v0.0.0 (June 29th 2000)
* First CVS release.
##TuxKart (unnumbered) (April 13th 2000)
* First hack.

916
CMakeLists.txt Normal file
View file

@ -0,0 +1,916 @@
cmake_minimum_required(VERSION 2.8.4)
# root CMakeLists for the SuperTuxKart project
project(SuperTuxKart)
set(PROJECT_VERSION "1.4")
add_definitions( -DSUPERTUXKART_VERSION="${PROJECT_VERSION}" )
if(NOT (CMAKE_MAJOR_VERSION VERSION_LESS 3))
cmake_policy(SET CMP0043 OLD)
endif()
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
include(CMakeDependentOption)
include(BuildTypeSTKRelease)
if(NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to STKRelease")
set(CMAKE_BUILD_TYPE "STKRelease")
endif()
CMAKE_DEPENDENT_OPTION(USE_SWITCH "Build targeting switch" OFF "NOT NINTENDO_SWITCH" ON)
if(WIN32)
option(USE_DIRECTX "Build DirectX 9 driver (requires DirectX SDK)" OFF)
endif()
option(SERVER_ONLY "Create a server only (i.e. no graphics or sound)" OFF)
option(CHECK_ASSETS "Check if assets are installed in ../stk-assets" ON)
option(USE_SYSTEM_ANGELSCRIPT "Use system angelscript instead of built-in angelscript. If you enable this option, make sure to use a compatible version." OFF)
option(USE_SYSTEM_ENET "Use system ENet instead of the built-in version, when available." ON)
CMAKE_DEPENDENT_OPTION(USE_IPV6 "Allow create or connect to game server with IPv6 address, system enet will not be used." ON
"NOT USE_SWITCH" OFF)
option(USE_SYSTEM_WIIUSE "Use system WiiUse instead of the built-in version, when available." OFF)
option(USE_SQLITE3 "Use sqlite to manage server stats and ban list." ON)
if(APPLE)
CMAKE_DEPENDENT_OPTION(DLOPEN_MOLTENVK "Use dlopen to load MoltenVK for Apple." ON
"NOT IOS;NOT SERVER_ONLY" OFF)
endif()
CMAKE_DEPENDENT_OPTION(USE_CRYPTO_OPENSSL "Use OpenSSL instead of MbedTLS for cryptography in STK." ON
"NOT USE_SWITCH;NOT WIN32" OFF)
CMAKE_DEPENDENT_OPTION(BUILD_RECORDER "Build opengl recorder" ON
"NOT SERVER_ONLY;NOT APPLE;NOT USE_SWITCH" OFF)
CMAKE_DEPENDENT_OPTION(USE_SYSTEM_SQUISH "Use system Squish library instead of the built-in version, when available." ON
"NOT SERVER_ONLY" OFF)
CMAKE_DEPENDENT_OPTION(USE_WIIUSE "Support for wiimote input devices" ON
"NOT SERVER_ONLY;NOT CYGWIN;NOT USE_SWITCH;NOT MSVC" OFF)
CMAKE_DEPENDENT_OPTION(USE_DNS_C "Build bundled dns resolver" OFF "NOT CYGWIN;NOT USE_SWITCH" ON)
CMAKE_DEPENDENT_OPTION(USE_MOJOAL "Use bundled MojoAL instead of system OpenAL" OFF "NOT APPLE" ON)
if (DLOPEN_MOLTENVK)
ADD_DEFINITIONS(-DDLOPEN_MOLTENVK)
endif()
if((UNIX AND NOT APPLE) OR NINTENDO_SWITCH)
include(FindPkgConfig)
endif()
if(IOS)
include(cmake/XcodeHelper.cmake)
endif()
if(APPLE AND NOT IOS)
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm")
set(ARCHFLAGS "arm64")
list(APPEND CMAKE_PREFIX_PATH /opt/homebrew/opt)
include_directories(/opt/homebrew/opt/openssl@1.1/include/)
include_directories(/opt/homebrew/opt/openssl@1.1/include/openssl/)
include_directories(/opt/homebrew/opt/freetype/include/freetype2/)
include_directories(/opt/homebrew/opt/harfbuzz/include/harfbuzz/)
else()
set(ARCHFLAGS "${CMAKE_SYSTEM_PROCESSOR}")
list(APPEND CMAKE_PREFIX_PATH /usr/local/opt)
include_directories(/usr/local/opt/openssl@1.1/include/)
include_directories(/usr/local/opt/openssl@1.1/include/openssl/)
include_directories(/usr/local/opt/freetype/include/freetype2/)
include_directories(/usr/local/opt/harfbuzz/include/harfbuzz/)
endif()
endif()
if (IOS)
ADD_DEFINITIONS(-DMOBILE_STK)
ADD_DEFINITIONS(-DIOS_STK)
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
option(USE_GLES2 "Use OpenGL ES2 renderer" ON)
endif()
if((UNIX AND NOT APPLE) AND NOT SERVER_ONLY)
if((${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") OR
(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") OR
(${CMAKE_SYSTEM_PROCESSOR} MATCHES "riscv64"))
option(USE_GLES2 "Use OpenGL ES2 renderer" ON)
else()
option(USE_GLES2 "Use OpenGL ES2 renderer" OFF)
endif()
endif()
if(UNIX OR MINGW)
option(DEBUG_SYMBOLS "Compile with debug symbols" OFF)
endif()
if(MSVC AND (MSVC_VERSION LESS 1900))
# Normally hide the option to build wiiuse on VS, since it depends
# on the installation of the Windows DDK (Driver Developer Kit),
# which also needs an absolute path :(
option(WIIUSE_BUILD "Build wiiuse lib (only for developers)" OFF)
mark_as_advanced(WIIUSE_BUILD)
else()
set(WIIUSE_BUILD ON)
endif()
if(UNIX AND NOT APPLE)
option(USE_ASAN "Build with Leak/Address sanitizer" OFF)
option(USE_TSAN "Build with Thread sanitizer" OFF)
option(USE_LIBBFD "Use libbfd for crash reporting and leak check" OFF)
endif()
if(USE_ASAN)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
endif()
if(USE_TSAN)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread -fno-omit-frame-pointer")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread -fno-omit-frame-pointer")
endif()
set(STK_SOURCE_DIR "src")
set(STK_DATA_DIR "${PROJECT_SOURCE_DIR}/data")
# CMAKE_RUNTIME_OUTPUT_DIRECTORY removes dSYMs in Xcode archive
if(NOT CMAKE_GENERATOR MATCHES "Xcode")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
endif()
# Define install paths
set(STK_INSTALL_BINARY_DIR "bin" CACHE
STRING "Install executable to this directory, absolute or relative to CMAKE_INSTALL_PREFIX")
set(STK_INSTALL_DATA_DIR "share/supertuxkart" CACHE
STRING "Install data folder to this directory, absolute or relative to CMAKE_INSTALL_PREFIX")
# Define dependencies path
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" arch_lower)
set(BUILD_ARCH "unknown")
if (CMAKE_GENERATOR_PLATFORM)
set(BUILD_ARCH "${CMAKE_GENERATOR_PLATFORM}")
endif()
if(arch_lower MATCHES "arm64" OR arch_lower MATCHES "aarch64" OR ${CMAKE_GENERATOR} MATCHES "(ARM64)" OR ${BUILD_ARCH} MATCHES "(ARM64)")
set(DEPENDENCIES "dependencies-win-aarch64")
elseif(arch_lower MATCHES "armv7" OR arch_lower MATCHES "armv7" OR ${CMAKE_GENERATOR} MATCHES "(ARM)" OR ${BUILD_ARCH} MATCHES "(ARM)")
set(DEPENDENCIES "dependencies-win-armv7")
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(DEPENDENCIES "dependencies-win-x86_64")
else()
set(DEPENDENCIES "dependencies-win-i686")
endif()
if(WIN32)
ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)
if(NOT IS_DIRECTORY "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}")
message(FATAL_ERROR "Dependencies directory not found, make sure dependencies-win-(arch) exists inside stk-code directory.")
endif()
endif()
# These variables enable MSVC to find libraries located in "dependencies"
if(WIN32)
set(ENV{PATH} "$ENV{PATH};${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
set(ENV{LIB} ${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib)
set(ENV{OPENALDIR} ${PROJECT_SOURCE_DIR}/${DEPENDENCIES})
add_definitions(-D_IRR_STATIC_LIB_)
add_definitions(-DNO_IRR_COMPILE_WITH_X11_)
include_directories(${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include)
endif()
if(WIN32 AND NOT USE_DIRECTX)
add_definitions(-DNO_IRR_COMPILE_WITH_DIRECT3D_9_)
endif()
if(USE_GLES2)
add_definitions(-DUSE_GLES2)
if (NOT IOS)
add_definitions(-D_IRR_COMPILE_WITH_OGLES2_)
endif()
add_definitions(-DNO_IRR_COMPILE_WITH_OPENGL_)
endif()
if(SERVER_ONLY)
add_definitions(-DSERVER_ONLY)
add_definitions(-DNO_IRR_COMPILE_WITH_X11_ -DNO_IRR_COMPILE_WITH_OPENGL_)
endif()
if(UNIX OR MINGW)
if(DEBUG_SYMBOLS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
endif()
endif()
if(UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
find_package(PkgConfig REQUIRED)
if(NOT PKGCONFIG_FOUND)
message(FATAL_ERROR "Pkg-config not found.")
endif()
endif()
# Build the Bullet physics library
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/bullet/src")
# Build the DNS C library
if(USE_DNS_C)
add_definitions(-DDNS_C)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/dnsc")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/dnsc")
else()
if(WIN32 OR CMAKE_SYSTEM_NAME MATCHES "BSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly" OR USE_SWITCH)
set(LIBRESOLV_LIBRARY)
elseif (HAIKU)
find_library(LIBRESOLV_LIBRARY NAMES network socket)
else()
find_library(LIBRESOLV_LIBRARY NAMES resolv libresolv)
endif()
endif()
# Find system ENet library or build it if missing
if((UNIX AND NOT APPLE) AND USE_SYSTEM_ENET AND NOT USE_IPV6)
pkg_check_modules(ENET libenet>=1.3.4)
endif()
if (USE_IPV6)
add_definitions(-DENABLE_IPV6)
endif()
if(ENET_FOUND AND NOT USE_IPV6)
include_directories(${ENET_INCLUDE_DIRS})
else()
# Fallback to built-in version
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/enet/include")
set(ENET_LIBRARIES "enet")
endif()
if(NOT SERVER_ONLY)
if(USE_SYSTEM_SQUISH)
find_library(SQUISH_LIBRARY NAMES squish libsquish)
find_path(SQUISH_INCLUDEDIR NAMES squish.h PATHS)
endif()
if (NOT SQUISH_LIBRARY OR NOT SQUISH_INCLUDEDIR)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libsquish")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/libsquish")
SET(SQUISH_LIBRARY squish)
else()
include_directories("${SQUISH_INCLUDEDIR}")
MESSAGE(STATUS "Use system libsquish: ${SQUISH_LIBRARY}")
endif()
endif()
if(NOT SERVER_ONLY)
find_library(SHADERC_LIBRARY NAMES shaderc_shared libshaderc_shared)
find_path(SHADERC_INCLUDEDIR NAMES shaderc/shaderc.hpp PATHS)
if (NOT SHADERC_LIBRARY OR NOT SHADERC_INCLUDEDIR)
set(SHADERC_SKIP_INSTALL ON CACHE INTERNAL "Skip installation" FORCE)
set(SHADERC_SKIP_TESTS ON CACHE INTERNAL "Skip building tests" FORCE)
set(SHADERC_SKIP_EXAMPLES ON CACHE INTERNAL "Skip building examples" FORCE)
set(SHADERC_SKIP_COPYRIGHT_CHECK ON CACHE INTERNAL "Skip copyright check" FORCE)
set(SPIRV_HEADERS_SKIP_INSTALL ON CACHE INTERNAL "Skip install" FORCE)
set(SPIRV_HEADERS_SKIP_EXAMPLES ON CACHE INTERNAL "Skip building examples" FORCE)
set(SKIP_SPIRV_TOOLS_INSTALL ON CACHE INTERNAL "Skip installation" FORCE)
set(SPIRV_SKIP_TESTS ON CACHE INTERNAL "Skip tests" FORCE)
set(SPIRV_SKIP_EXECUTABLES ON CACHE INTERNAL "Skip executables" FORCE)
set(ENABLE_GLSLANG_BINARIES OFF CACHE INTERNAL "Builds glslangValidator and spirv-remap" FORCE)
set(ENABLE_CTEST OFF CACHE INTERNAL "Enable ctest" FORCE)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/shaderc")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/shaderc/libshaderc/include")
SET(SHADERC_LIBRARY shaderc)
message(STATUS "System shaderc not found, use the bundled one.")
else()
include_directories("${SHADERC_INCLUDEDIR}")
MESSAGE(STATUS "Use system shaderc: ${SHADERC_LIBRARY}")
endif()
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/graphics_engine")
endif()
# MiniGLM is there
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/graphics_engine/include")
if (NOT SERVER_ONLY)
# Add jpeg library
find_package(JPEG REQUIRED)
include_directories(${JPEG_INCLUDE_DIR})
endif()
if (BUILD_RECORDER)
find_library(OPENGLRECORDER_LIBRARY NAMES openglrecorder libopenglrecorder PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
find_path(OPENGLRECORDER_INCLUDEDIR NAMES openglrecorder.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
if (NOT OPENGLRECORDER_LIBRARY OR NOT OPENGLRECORDER_INCLUDEDIR)
if(PROJECT_VERSION STREQUAL "git")
message(WARNING "libopenglrecorder not found, disabling in-game recorder. "
"To use recorder, install libopenglrecorder.")
set(OPENGLRECORDER_LIBRARY CACHE INTERNAL "")
set(OPENGLRECORDER_INCLUDEDIR CACHE INTERNAL "")
set(BUILD_RECORDER OFF)
else()
message(FATAL_ERROR "libopenglrecorder not found. "
"Either install libopenglrecorder or disable in-game recorder with -DBUILD_RECORDER=0")
endif()
else()
include_directories(${OPENGLRECORDER_INCLUDEDIR})
mark_as_advanced(OPENGLRECORDER_LIBRARY OPENGLRECORDER_INCLUDEDIR)
add_definitions(-DENABLE_RECORDER)
endif()
endif()
if(NOT SERVER_ONLY)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/graphics_utils")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/graphics_utils")
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/tinygettext")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/tinygettext/include")
endif()
# Libmcpp
find_library(MCPP_LIBRARY NAMES mcpp libmcpp)
find_path(MCPP_INCLUDEDIR NAMES mcpp_lib.h PATHS)
if (NOT MCPP_LIBRARY OR NOT MCPP_INCLUDEDIR)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/mcpp")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/mcpp")
SET(MCPP_LIBRARY mcpp)
message(STATUS "System libmcpp not found, use the bundled one.")
else()
include_directories("${MCPP_INCLUDEDIR}")
MESSAGE(STATUS "Use system libmcpp: ${MCPP_LIBRARY}")
endif()
if (NOT SERVER_ONLY)
# SDL2
find_library(SDL2_LIBRARY NAMES SDL2 libSDL2)
find_path(SDL2_INCLUDEDIR NAMES SDL.h PATH_SUFFIXES SDL2 include/SDL2 include PATHS)
if (NOT SDL2_LIBRARY OR NOT SDL2_INCLUDEDIR)
message(FATAL_ERROR "SDL2 not found. "
"SDL2 is required to handle gamepad in SuperTuxKart.")
else()
include_directories("${SDL2_INCLUDEDIR}")
MESSAGE(STATUS "Use system SDL2: ${SDL2_LIBRARY}")
endif()
# DirectFB. Necessary if system SDL2 is built with DirectFB support.
find_path(DIRECTFB_INCLUDEDIR NAMES directfb.h directfb++.h PATH_SUFFIXES directfb include/directfb include PATHS)
if (DIRECTFB_INCLUDEDIR)
include_directories("${DIRECTFB_INCLUDEDIR}")
message(STATUS "Adding DirectFB include directories for DirectFB support in SDL2")
endif()
endif()
# Build the irrlicht library
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/irrlicht")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/irrlicht/include")
# Build the Wiiuse library
# Note: wiiuse MUST be declared after irrlicht, since otherwise
# (at least on VS) irrlicht will find wiiuse io.h file because
# of the added include directory.
if(USE_WIIUSE)
# Find system WiiUse library or build it if missing
if((UNIX AND NOT (APPLE OR HAIKU)) AND USE_SYSTEM_WIIUSE)
find_package(WiiUse)
endif()
if(WIIUSE_FOUND)
include_directories(${WIIUSE_INCLUDE_DIR})
else()
# Fallback to built-in version
if(WIIUSE_BUILD)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/wiiuse")
endif()
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/wiiuse/src/include")
set(WIIUSE_LIBRARIES "wiiuse" "bluetooth")
endif()
endif()
# Set include paths
include_directories(${STK_SOURCE_DIR})
if(APPLE AND NOT IOS)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch ${ARCHFLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch ${ARCHFLAGS} -F/Library/Frameworks")
elseif(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") # Enable multi-processor compilation (faster)
endif()
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOs")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
endif()
# Build the angelscript library if not in system
if(USE_SYSTEM_ANGELSCRIPT)
find_package(Angelscript)
if(ANGELSCRIPT_FOUND)
include_directories(${Angelscript_INCLUDE_DIRS})
else()
message(FATAL_ERROR "Angelscript not found. "
"Either install angelscript or use built-in version using "
"-DUSE_SYSTEM_ANGELSCRIPT=0")
endif()
else()
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/angelscript/projects/cmake")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/angelscript/include")
set(Angelscript_LIBRARIES angelscript)
endif()
if(NOT SERVER_ONLY)
# OpenAL
if (USE_MOJOAL)
find_library(LIBSAMPLERATE_LIBRARY NAMES samplerate libsamplerate)
find_path(LIBSAMPLERATE_INCLUDEDIR NAMES samplerate.h PATHS)
if (NOT LIBSAMPLERATE_LIBRARY OR NOT LIBSAMPLERATE_INCLUDEDIR)
message(FATAL_ERROR "libsamplerate not found. "
"libsamplerate is required to handle pitch for MojoAL.")
else()
include_directories("${LIBSAMPLERATE_INCLUDEDIR}")
MESSAGE(STATUS "Use system libsamplerate: ${LIBSAMPLERATE_LIBRARY}")
endif()
add_definitions(-DAL_LIBTYPE_STATIC)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/mojoal")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/mojoal")
else()
find_package(OpenAL REQUIRED)
# Unclear why this happens, but on switch OPENAL_LIBRARY never set!
if (NOT OPENAL_LIBRARY)
find_library(OPENAL_LIBRARY NAMES al OpenAL AL openal REQUIRED)
endif()
if (NOT OPENAL_INCLUDE_DIR)
find_path(OPENAL_INCLUDE_DIR NAMES AL/al.h REQUIRED)
endif()
include_directories(${OPENAL_INCLUDE_DIR})
endif()
# OggVorbis
find_package(OggVorbis REQUIRED)
include_directories(${OGGVORBIS_INCLUDE_DIRS})
add_definitions(-DENABLE_SOUND)
endif()
# Text handling in STK (We use freetype, harfbuzz and SheenBidifor i18n text handling)
if (NOT SERVER_ONLY)
# SheenBidi
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/sheenbidi")
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/sheenbidi/Headers")
SET(SHEENBIDI_LIBRARY sheenbidi)
# Freetype
find_package(Freetype)
if(FREETYPE_FOUND)
include_directories(${FREETYPE_INCLUDE_DIRS})
else()
message(FATAL_ERROR "Freetype not found. "
"Freetype is required to display characters in SuperTuxKart.")
endif()
# Harfbuzz
find_library(HARFBUZZ_LIBRARY NAMES harfbuzz libharfbuzz)
find_path(HARFBUZZ_INCLUDEDIR NAMES harfbuzz/hb.h hb.h PATHS)
if (NOT HARFBUZZ_LIBRARY OR NOT HARFBUZZ_INCLUDEDIR)
message(FATAL_ERROR "Harfbuzz not found. "
"Harfbuzz is required to display characters in SuperTuxKart.")
else()
include_directories("${HARFBUZZ_INCLUDEDIR}")
MESSAGE(STATUS "Use system harfbuzz: ${HARFBUZZ_LIBRARY}")
endif()
endif()
if(USE_LIBBFD)
find_package(Libbfd)
if(LIBBFD_FOUND)
add_definitions(-DENABLE_LIBBFD)
include_directories(${LIBBFD_INCLUDE_DIRS})
else()
set(USE_LIBBFD OFF CACHE BOOL "Use libbfd for crash reporting and leak check" FORCE)
message(WARNING "Libbfd not found, disable integrated stack trace.")
endif()
endif()
# SQLITE
if(USE_SQLITE3)
find_library(SQLITE3_LIBRARY NAMES sqlite3 libsqlite3)
find_path(SQLITE3_INCLUDEDIR NAMES sqlite3.h PATHS)
if (NOT SQLITE3_LIBRARY OR NOT SQLITE3_INCLUDEDIR)
# add_subdirectory("${PROJECT_SOURCE_DIR}/lib/sqlite3")
# include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/sqlite3")
# SET(SQLITE3_LIBRARY sqlite3)
set(USE_SQLITE3 OFF CACHE BOOL "Use sqlite to manage server stats and ban list." FORCE)
message(WARNING "Sqlite3 not found, disable advanced server management.")
else()
add_definitions(-DENABLE_SQLITE3)
include_directories("${SQLITE3_INCLUDEDIR}")
MESSAGE(STATUS "Use system libsqlite3: ${SQLITE3_LIBRARY}")
endif()
endif()
# Set some compiler options
if(UNIX OR MINGW)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unused-function")
endif()
if(MINGW AND CMAKE_BUILD_TYPE MATCHES Release)
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--subsystem,windows")
endif()
if(WIN32)
# By default windows.h has macros defined for min and max that screw up everything
add_definitions(-DNOMINMAX)
# And shut up about unsafe stuff
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
# Avoid timespec structure redeclaration on Visual Studio 2015
if (NOT (MSVC_VERSION LESS 1900))
add_definitions(-DHAVE_STRUCT_TIMESPEC)
endif()
endif()
if(MSVC)
# VS will automatically add NDEBUG for release mode, but only _DEBUG in debug mode.
# Since STK uses DEBUG, this is added for debug compilation only:
set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG)
else()
# All non VS generators used create only a single compile mode, so
# compile flags can be simplye be added
if(CMAKE_BUILD_TYPE MATCHES Debug)
add_definitions(-DDEBUG)
else()
add_definitions(-DNDEBUG)
endif()
endif()
if(WIN32)
configure_file("${STK_SOURCE_DIR}/../tools/windows_installer/icon_rc.template" "${PROJECT_BINARY_DIR}/tmp/icon.rc")
endif()
# Provides list of source and header files (STK_SOURCES and STK_HEADERS)
include(sources.cmake)
# Generate source groups useful for MSVC project explorer
include(cmake/SourceGroupFunctions.cmake)
source_group_hierarchy(STK_SOURCES STK_HEADERS)
if(APPLE AND NOT IOS)
# icon files to copy in the bundle
set(OSX_ICON_FILES ${PROJECT_SOURCE_DIR}/data/supertuxkart.icns)
set_source_files_properties(${OSX_ICON_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
set(STK_SOURCES ${STK_SOURCES} ${OSX_ICON_FILES})
# build the executable and create an app bundle
add_executable(supertuxkart MACOSX_BUNDLE ${STK_SOURCES})
find_library(IOKIT_LIBRARY IOKit)
find_library(COCOA_LIBRARY Cocoa)
target_link_libraries(supertuxkart
${IOKIT_LIBRARY}
${COCOA_LIBRARY})
# configure CMake to use a custom Info.plist
set_target_properties(supertuxkart PROPERTIES
MACOSX_BUNDLE_INFO_PLIST ${PROJECT_SOURCE_DIR}/data/SuperTuxKart-Info.plist)
if(CMAKE_GENERATOR MATCHES "Xcode")
add_custom_command(TARGET supertuxkart POST_BUILD
COMMAND ln -f -s ${PROJECT_SOURCE_DIR}/data ${CMAKE_BINARY_DIR}/\${CONFIGURATION}/supertuxkart.app/Contents/Resources)
else()
add_custom_command(TARGET supertuxkart POST_BUILD
COMMAND ln -f -s ${PROJECT_SOURCE_DIR}/data ${CMAKE_BINARY_DIR}/bin/supertuxkart.app/Contents/Resources)
endif()
else()
if (NOT WIN32)
find_library(PTHREAD_LIBRARY NAMES pthread ${PTHREAD_NAMES} PATHS ${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib)
mark_as_advanced(PTHREAD_LIBRARY)
endif()
# Set data dir (absolute or relative to CMAKE_INSTALL_PREFIX)
if(NOT STK_INSTALL_DATA_DIR_ABSOLUTE)
get_filename_component(STK_INSTALL_DATA_DIR_ABSOLUTE ${STK_INSTALL_DATA_DIR} ABSOLUTE)
if(${STK_INSTALL_DATA_DIR_ABSOLUTE} STREQUAL ${STK_INSTALL_DATA_DIR})
add_definitions(-DSUPERTUXKART_DATADIR=\"${STK_INSTALL_DATA_DIR_ABSOLUTE}\")
else()
add_definitions(-DSUPERTUXKART_DATADIR=\"${CMAKE_INSTALL_PREFIX}/${STK_INSTALL_DATA_DIR}\")
endif()
else()
add_definitions(-DSUPERTUXKART_DATADIR=\"${STK_INSTALL_DATA_DIR_ABSOLUTE}\")
endif()
# Build the final executable
if (IOS)
file(GLOB IOS_ASSETS_FILES ${IOS_ASSETS} ${IOS_LAUNCHSCREEN} ${IOS_IMAGES_XCASSETS})
set_source_files_properties(${IOS_ASSETS_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
add_executable(supertuxkart ${STK_SOURCES} ${STK_RESOURCES} ${STK_HEADERS} ${IOS_ASSETS_FILES})
set_target_properties(supertuxkart PROPERTIES
MACOSX_BUNDLE_INFO_PLIST ${PROJECT_SOURCE_DIR}/data/SuperTuxKart-Info-iOS.plist
XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 9.0
XCODE_ATTRIBUTE_INSTALL_PATH /Applications
XCODE_ATTRIBUTE_SKIP_INSTALL No
XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon")
if(CMAKE_GENERATOR MATCHES "Xcode")
get_all_targets(supertuxkart_targets ${CMAKE_CURRENT_LIST_DIR})
foreach(target IN LISTS supertuxkart_targets)
if (NOT target MATCHES "supertuxkart")
set_target_properties(${target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib$(EFFECTIVE_PLATFORM_NAME)/${target})
endif()
configure_xcode_defaults(${target})
endforeach()
endif()
else()
add_executable(supertuxkart ${STK_SOURCES} ${STK_RESOURCES} ${STK_HEADERS})
endif()
if (NOT WIN32)
target_link_libraries(supertuxkart ${PTHREAD_LIBRARY})
endif()
endif()
# check if linking against libatomic is required
include(CheckCXXSourceCompiles)
check_cxx_source_compiles("
#include <atomic>
#include <cstdint>
int main() {
std::atomic<uint64_t> x{0};
x.load();
return 0;
}
" NO_LIBATOMIC_NEEDED)
if (NOT NO_LIBATOMIC_NEEDED)
target_link_libraries(supertuxkart atomic)
endif()
# CURL and OpenSSL or MbedTLS
# 1.0.1d for compatible AES GCM handling
SET(OPENSSL_MINIMUM_VERSION "1.0.1d")
find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIRS})
find_path(MBEDTLS_INCLUDE_DIRS mbedtls/version.h)
find_library(MBEDCRYPTO_LIBRARY NAMES mbedcrypto libmbedcrypto)
if (NOT MBEDCRYPTO_LIBRARY OR NOT MBEDTLS_INCLUDE_DIRS OR USE_CRYPTO_OPENSSL)
set(USE_CRYPTO_OPENSSL ON)
find_package(OpenSSL REQUIRED)
if(${OPENSSL_VERSION} VERSION_LESS ${OPENSSL_MINIMUM_VERSION} OR
(${OPENSSL_VERSION} VERSION_EQUAL ${OPENSSL_MINIMUM_VERSION} AND ${OPENSSL_VERSION} STRLESS ${OPENSSL_MINIMUM_VERSION}))
message(FATAL_ERROR "OpenSSL version found (${OPENSSL_VERSION}) is less then the minimum required (${OPENSSL_MINIMUM_VERSION}), aborting.")
endif()
include_directories(${OpenSSL_INCLUDE_DIRS})
else()
set(USE_CRYPTO_OPENSSL OFF)
include_directories(${MBEDTLS_INCLUDE_DIRS})
endif()
if (USE_CRYPTO_OPENSSL)
message(STATUS "OpenSSL will be used for cryptography in STK.")
add_definitions(-DENABLE_CRYPTO_OPENSSL)
else()
message(STATUS "MbedTLS will be used for cryptography in STK.")
add_definitions(-DENABLE_CRYPTO_MBEDTLS)
endif()
# Common library dependencies
target_link_libraries(supertuxkart
bulletdynamics
bulletcollision
bulletmath
${ENET_LIBRARIES}
stkirrlicht
${Angelscript_LIBRARIES}
${CURL_LIBRARIES}
${MCPP_LIBRARY}
)
if (USE_SWITCH)
include(cmake/FindEGL.cmake)
find_library(NX_LIBRARY NAMES nx libnx REQUIRED)
find_library(DRM_LIBRARY NAMES drm_nouveau libdrm_nouveau REQUIRED)
find_library(GLAPI_LIBRARY NAMES glapi libglapi REQUIRED)
find_library(ZLIB_LIBRARY NAMES z libz REQUIRED)
find_library(PNG_LIBRARY NAMES png libpng REQUIRED)
find_library(BZ2_LIBRARY NAMES bz2 libbz2 REQUIRED)
target_link_libraries(supertuxkart
${NX_LIBRARY}
${ZLIB_LIBRARY}
${FREETYPE_LIBRARIES}
-logg
-lvorbis
${SDL2_LIBRARY}
${PNG_LIBRARY}
${BZ2_LIBRARY}
${HARFBUZZ_LIBRARY}
${OPENAL_LIBRARY}
${EGL_LIBRARY}
${DRM_LIBRARY}
${GLAPI_LIBRARY}
${NX_LIBRARY}
)
endif()
if(NOT SERVER_ONLY)
if (USE_MOJOAL)
target_link_libraries(supertuxkart mojoal ${LIBSAMPLERATE_LIBRARY})
else()
target_link_libraries(supertuxkart ${OPENAL_LIBRARY})
endif()
endif()
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
target_link_libraries(supertuxkart nsl socket vorbisfile)
endif()
if (${CMAKE_SYSTEM_NAME} MATCHES "Haiku")
target_link_libraries(supertuxkart be network vorbisfile)
endif()
if (USE_DNS_C)
target_link_libraries(supertuxkart dnsc)
else()
target_link_libraries(supertuxkart ${LIBRESOLV_LIBRARY})
endif()
if (USE_SQLITE3)
target_link_libraries(supertuxkart ${SQLITE3_LIBRARY})
endif()
if (USE_CRYPTO_OPENSSL)
target_link_libraries(supertuxkart ${OPENSSL_CRYPTO_LIBRARY})
else()
target_link_libraries(supertuxkart ${MBEDCRYPTO_LIBRARY})
endif()
if(NOT SERVER_ONLY)
if (APPLE AND NOT DLOPEN_MOLTENVK)
find_library(MOLTENVK_LIBRARY NAMES MoltenVK libMoltenVK REQUIRED)
target_link_libraries(supertuxkart "-framework Metal -weak_framework IOSurface -framework QuartzCore ${MOLTENVK_LIBRARY}")
endif()
if (IOS)
target_link_libraries(supertuxkart "-weak_framework CoreHaptics -framework QuartzCore -framework CoreGraphics -framework AVFoundation -framework AudioToolbox -framework Metal -framework GameController -framework OpenGLES -framework UIKit -framework CoreAudio -framework Foundation -framework GLKit")
# tvOS doesn't have CoreMotion framwork
include(CheckCSourceCompiles)
set(prev_req_lib ${CMAKE_REQUIRED_LIBRARIES})
set(CMAKE_REQUIRED_LIBRARIES "-framework CoreMotion")
check_c_source_compiles("int main() { return 0; }" COREMOTION_EXISTS)
set(CMAKE_REQUIRED_LIBRARIES ${prev_req_lib})
if (COREMOTION_EXISTS)
target_link_libraries(supertuxkart "-framework CoreMotion")
endif()
endif()
target_link_libraries(supertuxkart
${SQUISH_LIBRARY}
${JPEG_LIBRARIES}
${OGGVORBIS_LIBRARIES}
${FREETYPE_LIBRARIES}
${HARFBUZZ_LIBRARY}
${SHEENBIDI_LIBRARY}
graphics_utils
graphics_engine
${SDL2_LIBRARY}
tinygettext
${SHADERC_LIBRARY})
endif()
if(UNIX AND NOT APPLE)
if(USE_LIBBFD)
target_link_libraries(supertuxkart ${LIBBFD_LIBRARIES})
if (CMAKE_SYSTEM_NAME MATCHES "BSD")
target_link_libraries(supertuxkart execinfo)
endif()
endif()
if(USE_ASAN)
target_link_libraries(supertuxkart "-fsanitize=address")
endif()
if(USE_TSAN)
target_link_libraries(supertuxkart "-fsanitize=thread")
endif()
endif()
if(BUILD_RECORDER)
target_link_libraries(supertuxkart ${OPENGLRECORDER_LIBRARY})
endif()
# FreeBSD does not search in /usr/local/lib, but at least Freetype is installed there :(
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib")
endif()
# Wiiuse
# ------
if(USE_WIIUSE)
if(APPLE)
find_library(BLUETOOTH_LIBRARY NAMES IOBluetooth PATHS /Developer/Library/Frameworks/IOBluetooth.framework)
target_link_libraries(supertuxkart wiiuse ${BLUETOOTH_LIBRARY})
elseif(WIN32)
add_definitions(-DWIIUSE_STATIC)
if(WIIUSE_BUILD)
target_link_libraries(supertuxkart wiiuse)
else()
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib/wiiuse.lib)
endif()
else()
target_link_libraries(supertuxkart ${WIIUSE_LIBRARIES})
endif()
add_definitions(-DENABLE_WIIUSE)
endif()
if(MSVC OR MINGW)
target_link_libraries(supertuxkart iphlpapi.lib)
add_custom_command(TARGET supertuxkart POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/bin"
$<TARGET_FILE_DIR:supertuxkart>)
add_custom_target(stkshaders SOURCES ${STK_SHADERS})
endif()
if(MINGW)
target_link_libraries(supertuxkart -ldxguid -ldnsapi)
if (NOT CMAKE_BUILD_TYPE MATCHES Debug)
target_link_libraries(supertuxkart -mwindows)
endif()
find_library(LIBGCC NAMES "libgcc_s_dw2-1.dll" "libgcc_s_sjlj-1.dll" "libgcc_s_seh-1.dll" PATHS ${CMAKE_FIND_ROOT_PATH})
if (LIBGCC)
file(COPY ${LIBGCC} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
endif()
find_library(LIBSTDCPP NAMES "libstdc++-6.dll" PATHS ${CMAKE_FIND_ROOT_PATH})
if (LIBSTDCPP)
file(COPY ${LIBSTDCPP} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
endif()
find_library(LIBPTHREAD NAMES "winpthread-1.dll" "libwinpthread-1.dll" "pthreadGC2.dll" PATHS ${CMAKE_FIND_ROOT_PATH})
if(LIBPTHREAD)
file(COPY ${LIBPTHREAD} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
endif()
endif()
# Find LibGamerzilla library or build it if missing
if (NOT APPLE)
include(FindPkgConfig)
pkg_search_module(GAMERZILLA OPTIONAL gamerzilla)
if (GAMERZILLA_LIBRARIES)
message(STATUS "Gamerzilla found")
include_directories(${GAMERZILLA_INCLUDE_DIRS})
target_link_libraries(supertuxkart ${GAMERZILLA_LIBRARIES})
add_definitions(-DGAMERZILLA)
endif()
endif()
# ==== Checking if data folder exists ====
if(NOT IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data)
message( FATAL_ERROR "${CMAKE_CURRENT_SOURCE_DIR}/data folder doesn't exist" )
endif()
# ==== Checking if stk-assets folder exists ====
if(CHECK_ASSETS)
if((IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/karts) AND
(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/library) AND
(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/music) AND
(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/sfx) AND
(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/textures) AND
(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/tracks))
message(STATUS "Assets found in data directory")
elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../stk-assets)
set(STK_ASSETS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../stk-assets/)
message(STATUS "Assets found")
elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../supertuxkart-assets)
set(STK_ASSETS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../supertuxkart-assets/)
message(STATUS "Assets found")
else()
set (CUR_DIR ${CMAKE_CURRENT_SOURCE_DIR})
get_filename_component(PARENT_DIR ${CUR_DIR} PATH)
message( FATAL_ERROR "${PARENT_DIR}/stk-assets folder doesn't exist. "
"Please download the stk-assets, or disable this test with -DCHECK_ASSETS=off." )
endif()
endif()
# ==== Install target ====
install(TARGETS supertuxkart RUNTIME DESTINATION ${STK_INSTALL_BINARY_DIR} BUNDLE DESTINATION .)
install(DIRECTORY ${STK_DATA_DIR} DESTINATION ${STK_INSTALL_DATA_DIR} PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE)
if(STK_ASSETS_DIR AND CHECK_ASSETS)
install(DIRECTORY ${STK_ASSETS_DIR} DESTINATION ${STK_INSTALL_DATA_DIR}/data PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE)
endif()
install(FILES ${STK_DATA_DIR}/supertuxkart.desktop DESTINATION share/applications)
install(FILES data/supertuxkart_16.png DESTINATION share/icons/hicolor/16x16/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart_32.png DESTINATION share/icons/hicolor/32x32/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart_48.png DESTINATION share/icons/hicolor/48x48/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart_64.png DESTINATION share/icons/hicolor/64x64/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart_128.png DESTINATION share/icons/hicolor/128x128/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart_256.png DESTINATION share/icons/hicolor/256x256/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart_512.png DESTINATION share/icons/hicolor/512x512/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart_1024.png DESTINATION share/icons/hicolor/1024x1024/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart.appdata.xml DESTINATION share/metainfo)
if(MINGW)
install(DIRECTORY ${CMAKE_BINARY_DIR}/bin/ DESTINATION ${STK_INSTALL_BINARY_DIR}
FILES_MATCHING PATTERN "*.dll")
endif()

260
COPYING Normal file
View file

@ -0,0 +1,260 @@
The SuperTuxKart code is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
The SuperTuxKart data files (textures, models, sounds, music, etc.) are released under a mixture of licenses including, but not limited to, the following:
GNU General Public License (GNU GPL)
Creative Commons Attribution (CC-BY)
Creative Commons Attribution-ShareAlike (CC-BY-SA)
Public Domain
See the 'licenses.txt' files throughout the various data subdirectories for the licenses of each file.
_____________________________________________________________________
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for software and other kinds of works.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based on the Program.
To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.
A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying"
means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.

255
INSTALL.md Normal file
View file

@ -0,0 +1,255 @@
# Building from source
In order to build SuperTuxKart from source, you'll need both the code and the assets (See <https://supertuxkart.net/Source_control> for more information):
```bash
git clone https://github.com/supertuxkart/stk-code stk-code
svn co https://svn.code.sf.net/p/supertuxkart/code/stk-assets stk-assets
```
## Building SuperTuxKart on Linux
### Dependencies
To build SuperTuxKart from source, you'll need to install the following packages:
* OpenAL (recommended: openal-soft-devel)
* Ogg (libogg-dev)
* Vorbis (libvorbis-dev)
* Freetype (libfreetype6-dev)
* Harfbuzz (libharfbuzz-dev)
* libcurl (libcurl-devel)
* libbluetooth (bluez-devel)
* openssl (openssl-dev)
* libpng (libpng-devel)
* zlib (zlib-devel)
* jpeg (libjpeg-turbo-devel)
* SDL2 (libsdl2-devel)
Fedora command:
```bash
sudo dnf install @development-tools angelscript-devel \
bluez-libs-devel cmake desktop-file-utils SDL2-devel \
freealut-devel freetype-devel \
gcc-c++ git-core libcurl-devel libjpeg-turbo-devel \
libpng-devel libsquish-devel libtool libvorbis-devel \
openal-soft-devel openssl-devel libcurl-devel harfbuzz-devel \
libogg-devel openssl-devel pkgconf \
wiiuse-devel zlib-devel
```
Mageia 6 command:
```bash
su -c 'urpmi gcc-c++ cmake openssl-devel libcurl-devel freetype-devel harfbuzz-devel \
libjpeg-turbo-devel libogg-devel openal-soft-devel SDL2-devel \
libpng-devel libvorbis-devel nettle-devel zlib-devel git subversion \
libbluez-devel libfreetype6-devel
```
openSUSE command:
```bash
sudo zypper install gcc-c++ cmake openssl-devel libcurl-devel libSDL2-devel \
freetype-devel harfbuzz-devel libogg-devel openal-soft-devel libpng-devel \
libvorbis-devel pkgconf zlib-devel enet-devel \
libjpeg-devel bluez-devel freetype2-devel
```
Debian-based Distributions command:
```bash
sudo apt-get install build-essential cmake libbluetooth-dev libsdl2-dev \
libcurl4-openssl-dev libenet-dev libfreetype6-dev libharfbuzz-dev \
libjpeg-dev libogg-dev libopenal-dev libpng-dev \
libssl-dev libvorbis-dev libmbedtls-dev pkg-config zlib1g-dev
```
Solus command:
```bash
sudo eopkg it cmake openal-soft-devel libogg-devel libvorbis-devel freetype2-devel \
harfbuzz-devel curl-devel bluez-devel openssl-devel libpng-devel zlib-devel \
libjpeg-turbo-devel sdl2-devel enet-devel libjpeg-turbo-devel bluez-devel curl-devel
```
### In-game recorder
To build the in-game recorder for STK, you have to install
libopenglrecorder from your distribution, or compile it yourself from [here](https://github.com/Benau/libopenglrecorder).
Compilation instruction is explained there. If you don't need this feature, pass `-DBUILD_RECORDER=off` to cmake.
### Compiling
To compile SuperTuxKart, run the following commands inside `stk-code` directory
```bash
# go into the stk-code directory
cd stk-code
# create and enter the cmake_build directory
mkdir cmake_build
cd cmake_build
# run cmake to generate the makefile
cmake ..
# compile
make -j$(nproc)
```
STK can then be run from the build directory with `bin/supertuxkart`
#### Keeping your build up to date
To recompile the latest code without redownloading the entire source, first run the ```svn up``` command inside the 'stk-assets' directory, then run the following commands inside the 'stk-code' directory:
```bash
git pull
cd cmake_build
cmake ..
make -j$(nproc)
```
##### Build Speed Optimization
"-j$(nproc)" is an example, for a faster build, use "-jx" instead, where "x" is the amount of CPU threads you have, minus one.
### Further options
To create a debug version of STK, run:
```bash
cmake .. -DCMAKE_BUILD_TYPE=Debug
```
You can install your build system-wide:
```bash
sudo make install
```
The default install location is `/usr/local`, i.e. the data files will
be written to `/usr/local/share/games/supertuxkart`, the executable
will be copied to `/usr/local/bin`. To change the default installation
location, specify `CMAKE_INSTALL_PREFIX` when running cmake, e.g.:
`cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk`
## Building SuperTuxKart on Windows
To Build SuperTuxKart on Windows, first you need to install [Python](https://www.python.org/downloads/windows/) for [shaderc](https://github.com/google/shaderc) used by SuperTuxKart, after installing Python (if needed) follow these instructions:
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/). The free Visual Studio Community edition works fine. Remember to select "Desktop development with C++" in the installer.
2. If you want the stable version, download the SuperTuxKart source package from the latest stable version [SuperTuxKart on GitHub](https://github.com/supertuxkart/stk-code/releases) and unpack it.
3. If you want the development version, you will need a Git client and a SVN client. More information can be found here: [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control).
Open your file browser and find somewhere you want to put the development version of SuperTuxKart. For example in C:\Users\<Your Username> as the Git and SVN clients will have write permissions there, and you should create its own directory, for example SuperTuxKart-dev. Enter that directory, and create a directory inside called stk-assets, and enter it. If you installed TortoiseSVN, right-click, select TortoiseSVN -> Checkout... and paste the corresponding URL found in [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control). While it is downloading the game assets, go back to your file browser and one level up. Right-click again somewhere empty and select "Git clone..." and paste the corresponding link found in [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control).
*Note: Both `stk-code` and `stk-assets` **must** be in the same directory, otherwise the build will likely fail!*
4. If you got the stable version, download the Windows dependencies package from [SuperTuxKart on GitHub - Dependencies Releases](https://github.com/supertuxkart/dependencies/releases), find the stk-code version there and download the `dependencies(arch).zip` as needed and unpack the archive into the `stk-code` directory.
5. If you got the development version go to SuperTuxKart-dev in your file browser, then visit [SuperTuxKart on GitHub - Dependencies latest preview release](https://github.com/supertuxkart/dependencies/releases/tag/preview)
and unpack the archive into the `stk-code` directory. Download `i686` if you use Win32 generator of MSVC, `x86_64` for x64, `armv7` for ARM and `aarch64` for ARM64.
6. Download CMake from here: [CMake - download page](https://cmake.org/download/), install it; once CMake is installed, double click on the CMake icon on your desktop, and point it towards your `stk-code` directory in the 'Where is the source code' field, and point 'Where to build the binaries' to a new directory called `build` or `bld` inside the stk-code directory.
7. Press 'Configure'; CMake will ask you if it is OK to create the aforementioned directory, press `Yes`. CMake will then ask you about your version of Visual Studio.
Confirm your selection; *Please look at the table below to avoid confusion between version numbers and releases of Visual Studio*; CMake will begin creating the required files for the build in the directory. If you want to do a 64-bit build, select the version of Visual Studio you installed with "Win64" appended. Press 'Generate' button.
8. Navigate to your build directory and open the `SuperTuxKart.sln` file; Visual Studio will now load the solution.
9. In the 'Solution Explorer', right click on the `supertuxkart` project and select "Set as StartUp project".
10. Open the 'Build' menu and select 'Build Solution'; or, press the default keyboard shortcut: `CTRL + SHIFT + B` to build the solution.
*Note: To avoid confusion between releases and versions, refer to this table:*
Visual Studio Release | Version
----------------------|------------
Visual Studio 2019| 16
Visual Studio 2017| 15
Visual Studio 2015| 14
Visual Studio 2013| 13
## Building SuperTuxKart on Windows (from PowerShell/Command line)
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/), the free Visual Studio Community edition works fine.
2. Download a source package from either [SuperTuxKart on GitHub](https://github.com/supertuxkart/stk-code/releases) or [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control)
NOTE: the `stk-code` and `stk-assets` directories **must** be in the same directory, `stk-assets` is not needed if you download the full source tarball `(SuperTuxKart-version-src.tar.xz)`.
3. Download the Windows dependencies package from [SuperTuxKart on GitHub - Dependencies latest preview release](https://github.com/supertuxkart/dependencies/releases/tag/preview)
and unpack the archive into the `stk-code` directory. Download `i686` if you use Win32 generator of MSVC, `x86_64` for x64, `armv7` for ARM and `aarch64` for ARM64.
4. Download CMake from here: [CMake - download page](https://cmake.org/download/); and install it. Navigate to the `stk-code` directory; and create an directory called "build":
```cmd
mkdir build
cd build
```
5. Once inside the build directory; run CMake to start the compilation process:
```cmd
cmake ..
```
6. Now that CMake finished configuring and creating the necessary files for the build, run the build command in the same directory:
```cmd
msbuild.exe SuperTuxKart.sln
```
SuperTuxKart can now be run as `bin\Debug\supertuxkart.exe` or `bin\Release\supertuxkart.exe`
## Building SuperTuxKart on Windows using LLVM MinGW
1. Get the LLVM Mingw archive [here](https://github.com/mstorsjo/llvm-mingw/releases/latest), get the `*-msvcrt-i686.zip or` `*-msvcrt-x86_64.zip` depending on whether you have an Intel / AMD 32 or 64-bit Windows. If you are using ARM64 Windows get the `*-msvcrt-i686.zip` should be fine (untested). After downloading extract it as `C:\llvm-mingw` so `C:\llvm-mingw` contains `bin`, `include`, `lib`, etc.
2. Get Ninja [here](https://github.com/ninja-build/ninja/releases/latest), download the `ninja-win.zip` and extract the `ninja.exe` from the archive to `C:\llvm-mingw`. If you are not using Intel / AMD 64-bit Windows use [this link](https://packages.msys2.org/package/mingw-w64-i686-ninja) and extract `mingw32\bin\ninja.exe` inside the `tar.zst`.
3. Download a source package from either [SuperTuxKart on GitHub](https://github.com/supertuxkart/stk-code/releases) or [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control)
NOTE: the `stk-code` and `stk-assets` directories **must** be in the same directory, `stk-assets` is not needed if you download the full source tarball `(SuperTuxKart-version-src.tar.xz)`. Also make sure they lie within the C drive.
4. Download the Windows dependencies package from [SuperTuxKart on GitHub - Dependencies latest preview release](https://github.com/supertuxkart/dependencies/releases/tag/preview)
and unpack the archive into the `stk-code` directory. Download `i686` if you compile for Intel / AMD 32-bit, `x86_64` for Intel / AMD 64-bit, `armv7` for ARM 32-bit and `aarch64` for ARM 64-bit version of Windows.
6. Download CMake from here: [CMake - download page](https://cmake.org/download/), install it; once CMake is installed, double click on the CMake icon on your desktop, and point it towards your `stk-code` directory in the 'Where is the source code' field, and point 'Where to build the binaries' to a new directory called `build` inside the stk-code directory.
7. Press the `Add Entry` button and add the values below:
* Name: `LLVM_ARCH` Type: `STRING` Value: `i686`, `x86_64`, `armv7` or `aarch64`
* Name: `LLVM_PREFIX` Type: `STRING` Value: `C:/llvm-mingw`
* Name: `CMAKE_MAKE_PROGRAM` Type: `STRING` Value: `C:/llvm-mingw/ninja.exe`
* Name: `USE_WIIUSE` Type: `BOOL` Value: `Empty (unchecked)`
8. Press 'Configure'; CMake will ask you if it is OK to create the aforementioned directory, press `Yes`. Choose `Ninja` from `Specify the generator for this project`, choose `Specify toolchain file for cross-compiling` then press `Next`. Specify the toolchain file which is located in `stk-code\cmake\Toolchain-llvm-mingw.cmake` and press `Finish`. If no error appears then press 'Generate'
9. Once inside the build directory using command line `cmd.exe` or PowerShell:
```cmd
C:\llvm-mingw\ninja.exe
```
SuperTuxKart can now be run as `bin\supertuxkart.exe`.
## Building SuperTuxKart on macOS
### Getting Started
Install the developer tools, either from the OS X Install DVD or from Apple's website.
Download `dependencies-macosx.tar.xz` from `Assets` section [here](https://github.com/supertuxkart/dependencies/releases) and extract it inside stk-code directory, use `preview` version for git stk-code.
Build STK
```bash
cd /path/to/stk-code
mkdir cmake_build
cd cmake_build
cmake .. -DCMAKE_FIND_ROOT_PATH=$(pwd)/../dependencies-macosx -DUSE_CRYPTO_OPENSSL=FALSE
make
```
Add ` -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9` for 10.9 compatibility.
#### (Optional) packaging for distribution
By default, the executable that is produced is not ready for distribution. Install <https://github.com/auriamg/macdylibbundler> and run:
```bash
dylibbundler -od -b -x ./bin/SuperTuxKart.app/Contents/MacOS/supertuxkart -d ./bin/SuperTuxKart.app/Contents/libs/ -p @executable_path/../libs/
```
Afterwards, copy the contents of `stk-assets` into `/SuperTuxKart.app/Contents/Resources/data`.

366
NETWORKING.md Normal file
View file

@ -0,0 +1,366 @@
# Online networking games for STK
## Hosting server
First of all, you can compile STK with `-DSERVER_ONLY=ON` which will produce a GUI-less STK binary optimized for size and memory usage, useful for situation like in VPS.
The dependencies for RHEL/CentOS 7 are installed with:
```bash
yum install wget; cd /tmp; wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm; rpm -Uvh epel-release*rpm
yum install gcc-c++ cmake openssl-devel libcurl-devel zlib-devel enet
```
### Hosting WAN (public internet) server
You are required to have an stk online account first, go [here](https://online.supertuxkart.net/register.php) for registration.
It is recommended you have a saved user in your computer to allow hosting multiple servers simultaneously with the same account, if you have a fresh STK installation, first run:
If you intend to keep your server always on (24x7) you are required to implement port forward / direct connection with NAT penetration in your network, we will regularly remove any servers not following this rule.
`supertuxkart --init-user --login=your_registered_name --password=your_password`
After that you should see `Done saving user, leaving` in terminal if it successfully logged in.
Than you can just run:
`supertuxkart --server-config=your_config.xml --network-console`
It will create that xml configuration file if not found in current directory, you can type `quit` in terminal, than you can edit that file for further configuration as required.
` --network-console` should not be used if you run supertuxkart server later with systemd service, see issue [#4299](https://github.com/supertuxkart/stk-code/issues/4299).
The current server configuration xml looks like this:
```xml
<?xml version="1.0"?>
<server-config version="6" >
<!-- Name of server, encode in XML if you want to use unicode characters. -->
<server-name value="STK Server" />
<!-- Port used in server, if you specify 0, it will use the server port specified in stk_config.xml. If you wish to use a random port, set random-server-port to '1' in user config. STK will automatically switch to a random port if the port you specify fails to be bound. -->
<server-port value="0" />
<!-- Game mode in server, 0 is normal race (grand prix), 1 is time trial (grand prix), 3 is normal race, 4 time trial, 6 is soccer, 7 is free-for-all and 8 is capture the flag. Notice: grand prix server doesn't allow for players to join and wait for ongoing game. -->
<server-mode value="3" />
<!-- Difficulty in server, 0 is beginner, 1 is intermediate, 2 is expert and 3 is supertux (the most difficult). -->
<server-difficulty value="0" />
<!-- Number of grand prix tracks per game (If grand prix enabled). -->
<gp-track-count value="3" />
<!-- Use goal target in soccer. -->
<soccer-goal-target value="false" />
<!-- Enable wan server, which requires you to have an stk-addons account with a saved session. Check init-user command for details. -->
<wan-server value="true" />
<!-- Enable network console, which can do for example kickban. -->
<enable-console value="false" />
<!-- Maximum number of players on the server, setting this to a value greater than 8 can cause performance degradation. -->
<server-max-players value="8" />
<!-- Password for private server, leave empty for a public server. -->
<private-server-password value="" />
<!-- Message of today shown in lobby, you can enter encoded XML words here or a file.txt and let STK load it. -->
<motd value="" />
<!-- If this value is set to false, the server will ignore chat messages from all players. -->
<chat value="true" />
<!-- If client sends more than chat-consecutive-interval / 2 chats within this value (read in seconds), it will be ignore, negative value to disable. -->
<chat-consecutive-interval value="8" />
<!-- Allow players to vote for which track to play. If this value is set to false, the server will randomly pick the next track to play. -->
<track-voting value="true" />
<!-- Timeout in seconds for selecting karts and (or) voting tracks in server, you may want to use a lower value if you have track-voting off. -->
<voting-timeout value="30" />
<!-- Timeout in seconds for validation of clients in wan, currently STK will use the stk-addons server to share AES key between the client and server. -->
<validation-timeout value="20" />
<!-- By default WAN server will always validate player and LAN will not, disable it to allow non-validated player in WAN. -->
<validating-player value="true" />
<!-- Disable it to turn off all stun related code in server, it allows for saving of server resources if your server is not behind a firewall. -->
<firewalled-server value="true" />
<!-- Enable to allow IPv6 connection if you have a public IPv6 address. STK currently uses dual-stack mode which requires server to have both IPv4 and IPv6 and listen to same port. If STK detects your server has no public IPv6 address or port differs between IPv4 and IPv6 then it will use IPv4 only socket. For system which doesn't support dual-stack socket (like OpenBSD) you may fail to be connected by IPv4 clients. You can override the detection in config.xml at supertuxkart config-0.10 folder, with default-ip-type option. -->
<ipv6-connection value="true" />
<!-- No server owner in lobby which can control the starting of game or kick any players. -->
<owner-less value="false" />
<!-- Time to wait before entering kart selection screen if satisfied min-start-game-players below for owner less or ranked server. -->
<start-game-counter value="60" />
<!-- Clients below this value will be rejected from joining this server. It's determined by number of official karts in client / number of official karts in server -->
<official-karts-threshold value="1" />
<!-- Clients below this value will be rejected from joining this server. It's determined by number of official tracks in client / number of official tracks in server, setting this value too high will prevent android players from joining this server, because STK android apk has some official tracks removed. -->
<official-tracks-threshold value="0.7" />
<!-- Only auto start kart selection when number of connected player is larger than or equals this value, for owner less or ranked server, after start-game-counter reaches 0. -->
<min-start-game-players value="2" />
<!-- Automatically end linear race game after 1st player finished for some time (currently his finished time * 0.25 + 15.0). -->
<auto-end value="false" />
<!-- Enable team choosing in lobby in team game (soccer and CTF). If owner-less is enabled and live-spectate is not enabled, than this option is always disabled. -->
<team-choosing value="true" />
<!-- If strict-players is on, no duplicated online id or split screen players are allowed, which can prevent someone using more than 1 network AI with this server. -->
<strict-players value="false" />
<!-- Server will submit ranking to stk-addons server for linear race games, you require permission for that. validating-player, auto-end, strict-player and owner-less will be turned on. -->
<ranked value="false" />
<!-- If true, the server owner can config the difficulty and game mode in the GUI of lobby. This option cannot be used with owner-less or grand prix server, and will be automatically turned on if the server was created using the in-game GUI. The changed difficulty and game mode will not be saved in this config file. -->
<server-configurable value="false" />
<!-- If true, players can live join or spectate the in-progress game. Currently live joining is only available if the current game mode used in server is FFA, CTF or soccer, also official-karts-threshold will be made 1.0. If false addon karts will use their original hitbox other than tux, all players having it restriction applies. -->
<live-spectate value="true" />
<!-- Time in seconds when a flag is dropped a by player in CTF returning to its own base. -->
<flag-return-timeout value="20" />
<!-- Time in seconds to deactivate a flag when it's captured or returned to own base by players. -->
<flag-deactivated-time value="3" />
<!-- Hit limit of free for all, zero to disable hit limit. -->
<hit-limit value="20" />
<!-- Time limit of free for all in seconds, zero to disable time limit. -->
<time-limit-ffa value="360" />
<!-- Capture limit of CTF, zero to disable capture limit. -->
<capture-limit value="5" />
<!-- Time limit of CTF in seconds, zero to disable time limit. -->
<time-limit-ctf value="600" />
<!-- Value used by server to automatically estimate each game time. For races, it decides the lap of each race in network game, if more than 0.0f, the number of lap of each track vote in linear race will be determined by max(1.0f, auto-game-time-ratio * default lap of that track). For soccer if more than 0.0f, for time limit game it will be auto-game-time-ratio * soccer-time-limit in UserConfig, for goal limit game it will be auto-game-time-ratio * numgoals in UserConfig, -1 to disable for all. -->
<auto-game-time-ratio value="-1" />
<!-- Maximum ping allowed for a player (in ms), it's recommended to use default value if live-spectate is on. -->
<max-ping value="300" />
<!-- Tolerance of jitter in network allowed (in ms), it's recommended to use default value if live-spectate is on. -->
<jitter-tolerance value="100" />
<!-- Kick players whose ping is above max-ping. -->
<kick-high-ping-players value="false" />
<!-- Allow players exceeding max-ping to have a playable game, if enabled kick-high-ping-players will be disabled, please also use a default value for max-ping and jitter-tolerance with it. -->
<high-ping-workaround value="true" />
<!-- Kick idle player which has no network activity to server for more than some seconds during game, unless he has finished the race. Negative value to disable, and this option will always be disabled for LAN server. -->
<kick-idle-player-seconds value="60" />
<!-- Set how many states the server will send per second, the higher this value, the more bandwidth requires, also each client will trigger more rewind, which clients with slow device may have problem playing this server, use the default value is recommended. -->
<state-frequency value="10" />
<!-- Use sql database for handling server stats and maintenance, STK needs to be compiled with sqlite3 supported. -->
<sql-management value="false" />
<!-- Database filename for sqlite to use, it can be shared for all servers created in this machine, and STK will create specific table for each server. You need to create the database yourself first, see NETWORKING.md for details -->
<database-file value="stkservers.db" />
<!-- Specified in millisecond for maximum time waiting in sqlite3_busy_handler. You may need a higher value if your database is shared by many servers or having a slow hard disk. -->
<database-timeout value="1000" />
<!-- IPv4 ban list table name, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. STK can auto kick active peer from ban list (update per minute) whichallows live kicking peer by inserting record to database. -->
<ip-ban-table value="ip_ban" />
<!-- IPv6 ban list table name, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. STK can auto kick active peer from ban list (update per minute) which allows live kicking peer by inserting record to database. -->
<ipv6-ban-table value="ipv6_ban" />
<!-- Online ID ban list table name, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. STK can auto kick active peer from ban list (update per minute) which allows live kicking peer by inserting record to database. -->
<online-id-ban-table value="online_id_ban" />
<!-- Player reports table name, which will be written when a player reports player in the network user dialog, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. -->
<player-reports-table value="player_reports" />
<!-- Days to keep player reports, older than that will be auto cleared, 0 to keep them forever. -->
<player-reports-expired-days value="3" />
<!-- IP geolocation table, you only need this table if you want to geolocate IP from non-stk-addons connection, as all validated players connecting from stk-addons will provide the location info, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. -->
<ip-geolocation-table value="ip_mapping" />
<!-- IPv6 geolocation table, you only need this table if you want to geolocate IP from non-stk-addons connection, as all validated players connecting from stk-addons will provide the location info, you need to create the table first, see NETWORKING.md for details, empty to disable. This table can be shared for all servers if you use the same name. -->
<ipv6-geolocation-table value="ipv6_mapping" />
<!-- If true this server will auto add / remove AI connected with network-ai=x, which will kick N - 1 bot(s) where N is the number of human players. Only use this for non-GP racing server. -->
<ai-handling value="false" />
<!-- If true this server will allow AI instance to be connected from anywhere. (other than LAN network only) -->
<ai-anywhere value="false" />
</server-config>
```
At the moment STK has a list of STUN servers for NAT penetration which allows players or servers behind a firewall or router to be able to connect to each other, but in case it doesn't work, you have to manually disable the firewall or port forward the port(s) used by STK.
By default STK servers use port `2759`. For example, in Ubuntu based distributions, run the following command to disable the firewall on that port:
`sudo ufw allow 2759`
You may also need to handle the server discovery port `2757` for connecting your WAN server in LAN / localhost.
Notice: You don't need to make any firewall or router configuration changes if you connect to the recommended servers (marked with ☆★STK★☆).
### Hosting LAN (local internet) server
Everything is basically the same as WAN one, except you don't need an stk online account, just do:
`supertuxkart --server-config=your_config.xml --lan-server=your_server_name --network-console`
For LAN server it is required that the server and server discovery port is connectable by clients directly, no NAT penetration will be done in LAN.
LAN server can be connected too by typing your server public address (with port) in ```Enter server address``` dialog without relying on stk-addons.
------
After the first time configuration, you can just start the server with the command:
`supertuxkart --server-config=your_config.xml`, regardless of whether LAN or WAN server is chosen (of course you need to have a saved user for the WAN one), by default your server logging will be saved to the STK configuration directory with a name of `your_config.log`, given that the server configuration filename is `your_config.xml`.
You can find out that directory location [here (See Where is the configuration stored?)](https://supertuxkart.net/FAQ)
## Testing server
There is a network AI tester in STK which can use AI on player controller for server hosting linear races game mode, which helps automating the testing for servers, to enable it use it on lan server:
`supertuxkart --connect-now=x.x.x.x:y --network-ai=n --no-graphics`
Remove `--no-graphics` if you want to see the AI racing. You can also run network AI tester in server-only build of STK.
With the network AI tester, it's easier to for example simulate high-loaded servers or bad networks (ones with high ping and/or packet loss).
Tested on a Raspberry Pi 3 Model B+, if you have 8 players connected to a server hosted on it, the usage of a single CPU core is ~60% and there are ~60MB of memory usage for game with heavy tracks like Cocoa Temple or Candela City on the server, you can use the above figures to estimate how many STK servers can be hosted on the same computer.
For bad network simulation, we recommend `network traffic control` by Linux kernel, see [here](https://wiki.linuxfoundation.org/networking/netem) for details.
You will have the best gaming experience by choosing a server where all players have less than 100ms ping with no packet loss.
## Server management (Since 1.1)
Currently STK uses sqlite (if building with sqlite3 on) for server management with the following functions at the moment:
1. Server statistics
2. IP / online ID ban list
3. Player reports
4. IPv4 and IPv6 geolocation
You need to create a database in sqlite first, run `sqlite3 stkservers.db` in the folder where (all) your server_config.xml(s) located.
A table named `v(server database version)_(your_server_config_filename_without_.xml_extension)_stats` will also be created in your database if one does not exist.:
```sql
CREATE TABLE IF NOT EXISTS (table name above)
(
host_id INTEGER UNSIGNED NOT NULL PRIMARY KEY, -- Unique host id in STKHost of each connection session for a STKPeer
ip INTEGER UNSIGNED NOT NULL, -- IP decimal of host
ipv6 TEXT NOT NULL DEFAULT '', -- IPv6 (if exists) in string of host (only created if IPv6 server)
port INTEGER UNSIGNED NOT NULL, -- Port of host
online_id INTEGER UNSIGNED NOT NULL, -- Online if of the host (0 for offline account)
username TEXT NOT NULL, -- First player name in the host (if the host has splitscreen player)
player_num INTEGER UNSIGNED NOT NULL, -- Number of player(s) from the host, more than 1 if it has splitscreen player
country_code TEXT NULL DEFAULT NULL, -- 2-letter country code of the host
version TEXT NOT NULL, -- SuperTuxKart version of the host
os TEXT NOT NULL, -- Operating system of the host
connected_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Time when connected
disconnected_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Time when disconnected (saved when disconnected)
ping INTEGER UNSIGNED NOT NULL DEFAULT 0 -- Ping of the host
) WITHOUT ROWID;
```
STK will also create the following default views from the stats table:
`*_full_stats`
Full stats with ip in human readable format and time played of each players in minutes.
`*_current_players`
Current players in server with ip in human readable format and time played of each players in minutes.
`*_player_stats`
All players with online id and username with their time played stats in this server since creation of this database.
If sqlite supports window functions (since 3.25), it will include last session player info (ip, country, ping...).
A empty table named `v(server database version)_countries` will also be created in your database if not exists:
```sql
CREATE TABLE IF NOT EXISTS (table name above)
(
country_code TEXT NOT NULL PRIMARY KEY UNIQUE, -- Unique 2-letter country code
country_flag TEXT NOT NULL, -- Unicode country flag representation of 2-letter country code
country_name TEXT NOT NULL -- Readable name of this country
) WITHOUT ROWID;
```
If you want to see flags and readable names of countries in the above views, you need to initialize `v(server database version)_countries` table, check [this script](tools/generate-countries-table.py).
For IPv4 and online ID ban list, player reports or IP mapping, you need to create one yourself:
```sql
CREATE TABLE ip_ban
(
ip_start INTEGER UNSIGNED NOT NULL UNIQUE, -- Starting of ip decimal for banning (inclusive)
ip_end INTEGER UNSIGNED NOT NULL UNIQUE, -- Ending of ip decimal for banning (inclusive)
starting_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Starting time of this banning entry to be effective
expired_days REAL NULL DEFAULT NULL, -- Days for this banning to be expired, use NULL for a permanent ban
reason TEXT NOT NULL DEFAULT '', -- Banned reason shown in user stk menu, can be empty
description TEXT NOT NULL DEFAULT '', -- Private description for server admin
trigger_count INTEGER UNSIGNED NOT NULL DEFAULT 0, -- Number of banning triggered by this ban entry
last_trigger TIMESTAMP NULL DEFAULT NULL -- Latest time this banning entry was triggered
);
CREATE TABLE ipv6_ban
(
ipv6_cidr TEXT NOT NULL UNIQUE, -- IPv6 CIDR range for banning (for example 2001::/64), use /128 for a specific ip
starting_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Starting time of this banning entry to be effective
expired_days REAL NULL DEFAULT NULL, -- Days for this banning to be expired, use NULL for a permanent ban
reason TEXT NOT NULL DEFAULT '', -- Banned reason shown in user stk menu, can be empty
description TEXT NOT NULL DEFAULT '', -- Private description for server admin
trigger_count INTEGER UNSIGNED NOT NULL DEFAULT 0, -- Number of banning triggered by this ban entry
last_trigger TIMESTAMP NULL DEFAULT NULL -- Latest time this banning entry was triggered
);
CREATE TABLE online_id_ban
(
online_id INTEGER UNSIGNED NOT NULL UNIQUE, -- Online id from STK addons database for banning
starting_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Starting time of this banning entry to be effective
expired_days REAL NULL DEFAULT NULL, -- Days for this banning to be expired, use NULL for a permanent ban
reason TEXT NOT NULL DEFAULT '', -- Banned reason shown in user stk menu, can be empty
description TEXT NOT NULL DEFAULT '', -- Private description for server admin
trigger_count INTEGER UNSIGNED NOT NULL DEFAULT 0, -- Number of banning triggered by this ban entry
last_trigger TIMESTAMP NULL DEFAULT NULL -- Latest time this banning entry was triggered
);
CREATE TABLE player_reports
(
server_uid TEXT NOT NULL, -- Report from which server unique id (config filename)
reporter_ip INTEGER UNSIGNED NOT NULL, -- IP decimal of player who reports
reporter_ipv6 TEXT NOT NULL DEFAULT '', -- IPv6 (if exists) in string of player who reports (only needed for IPv6 server)
reporter_online_id INTEGER UNSIGNED NOT NULL, -- Online id of player who reports, 0 for offline player
reporter_username TEXT NOT NULL, -- Player name who reports
reported_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Time of reporting
info TEXT NOT NULL, -- Report info by reporter
reporting_ip INTEGER UNSIGNED NOT NULL, -- IP decimal of player being reported
reporting_ipv6 TEXT NOT NULL DEFAULT '', -- IPv6 (if exists) in string of player who reports (only needed for IPv6 server)
reporting_online_id INTEGER UNSIGNED NOT NULL, -- Online id of player being reported, 0 for offline player
reporting_username TEXT NOT NULL -- Player name being reported
);
CREATE TABLE ip_mapping
(
ip_start INTEGER UNSIGNED NOT NULL PRIMARY KEY UNIQUE, -- IP decimal start
ip_end INTEGER UNSIGNED NOT NULL UNIQUE, -- IP decimal end
latitude REAL NOT NULL, -- Latitude of this IP range
longitude REAL NOT NULL, -- Longitude of this IP range
country_code TEXT NOT NULL -- 2-letter country code
) WITHOUT ROWID;
CREATE TABLE ipv6_mapping
(
ip_start INTEGER UNSIGNED NOT NULL PRIMARY KEY UNIQUE, -- IP decimal (upper 64bit) start
ip_end INTEGER UNSIGNED NOT NULL UNIQUE, -- IP decimal (upper 64bit) end
latitude REAL NOT NULL, -- Latitude of this IP range
longitude REAL NOT NULL, -- Longitude of this IP range
country_code TEXT NOT NULL -- 2-letter country code
)
```
For initialization of `ip_mapping` table, check [this script](tools/generate-ip-mappings.py).

40
README.md Normal file
View file

@ -0,0 +1,40 @@
# SuperTuxKart
[![Linux build status](https://github.com/supertuxkart/stk-code/actions/workflows/linux.yml/badge.svg)](https://github.com/supertuxkart/stk-code/actions/workflows/linux.yml)
[![Apple build status](https://github.com/supertuxkart/stk-code/actions/workflows/apple.yml/badge.svg)](https://github.com/supertuxkart/stk-code/actions/workflows/apple.yml)
[![Windows build status](https://github.com/supertuxkart/stk-code/actions/workflows/windows.yml/badge.svg)](https://github.com/supertuxkart/stk-code/actions/workflows/windows.yml)
[![Switch build status](https://github.com/supertuxkart/stk-code/actions/workflows/switch.yml/badge.svg)](https://github.com/supertuxkart/stk-code/actions/workflows/switch.yml)
[![#supertuxkart on the libera IRC network](https://img.shields.io/badge/libera-%23supertuxkart-brightgreen.svg)](https://web.libera.chat/?channels=#supertuxkart)
SuperTuxKart is a free kart racing game. It focuses on fun and not on realistic kart physics. Instructions can be found on the in-game help page.
The SuperTuxKart homepage can be found at <https://supertuxkart.net/>. There is also our [FAQ](https://supertuxkart.net/FAQ) and information on how get in touch with the [community](https://supertuxkart.net/Community).
Latest release binaries can be found [here](https://github.com/supertuxkart/stk-code/releases/latest), and preview release [here](https://github.com/supertuxkart/stk-code/releases/preview).
## Hardware Requirements
To run SuperTuxKart, make sure that your computer's specifications are equal or higher than the following specifications:
* A graphics card capable of 3D rendering - NVIDIA GeForce 470 GTX, AMD Radeon 6870 HD series card or Intel HD Graphics 4000 and newer. OpenGL >= 3.3
* You should have a dual-core CPU that's running at 1 GHz or faster.
* You'll need at least 512 MB of free VRAM (video memory).
* System memory: 1 GB
* Minimum disk space: 700 MB
* Ideally, you'll want a joystick with at least 6 buttons.
## License
The software is released under the GNU General Public License (GPL) which can be found in the file [`COPYING`](/COPYING) in the same directory as this file.
---
## 3D coordinates
A reminder for those who are looking at the code and 3D models:
SuperTuxKart: X right, Y up, Z forwards
Blender: X right, Y forwards, Z up
The export utilities perform the needed transformation, so in Blender you just work with the XY plane as ground, and things will appear fine in STK (using XZ as ground in the code, obviously).
## Building from source
Building instructions can be found in [`INSTALL.md`](/INSTALL.md)

378
android/Android.mk Normal file
View file

@ -0,0 +1,378 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# OpenAL
LOCAL_MODULE := openal
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/openal/libopenal.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# OGG
LOCAL_MODULE := ogg
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libogg/libogg.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# Vorbis
LOCAL_MODULE := vorbis
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libvorbis/lib/libvorbis.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# Vorbisfile
LOCAL_MODULE := vorbisfile
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libvorbis/lib/libvorbisfile.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# CURL
LOCAL_MODULE := curl
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/curl/lib/libcurl.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# libmbedtls
LOCAL_MODULE := libmbedtls
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/mbedtls/library/libmbedtls.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# libmbedcrypto
LOCAL_MODULE := libmbedcrypto
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/mbedtls/library/libmbedcrypto.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# libmbedx509
LOCAL_MODULE := libmbedx509
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/mbedtls/library/libmbedx509.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# JPEG
LOCAL_MODULE := libjpeg
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libjpeg/libjpeg.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# zlib
LOCAL_MODULE := zlib
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/zlib/libz.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# PNG
LOCAL_MODULE := png
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libpng/libpng.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# Freetype
LOCAL_MODULE := freetype
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/freetype/build/libfreetype.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# Harfbuzz
LOCAL_MODULE := harfbuzz
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/harfbuzz/build/libharfbuzz.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# shaderc
LOCAL_MODULE := shaderc
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/shaderc/libshaderc/libshaderc_combined.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# libsquish
LOCAL_MODULE := libsquish
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libsquish/libsquish.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# astc-encoder
LOCAL_MODULE := libastcenc
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/astc-encoder/Source/libastcenc.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
# ifaddrs
LOCAL_MODULE := ifaddrs
LOCAL_PATH := .
LOCAL_SRC_FILES := ../lib/ifaddrs/ifaddrs.c
LOCAL_CFLAGS := -I../lib/ifaddrs
# Starting NDK21 it enables NEON by default on 32-bit ARM target
# Disable it to support more phones
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# AngelScript
LOCAL_MODULE := angelscript
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti exceptions
LOCAL_SRC_FILES := $(wildcard ../lib/angelscript/source/*.S) \
$(wildcard ../lib/angelscript/source/*.cpp)
LOCAL_CFLAGS := -I../lib/angelscript/source/
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# ENET
LOCAL_MODULE := enet
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti
LOCAL_SRC_FILES := $(wildcard ../lib/enet/*.c)
LOCAL_CFLAGS := -I../lib/enet/include/ -DHAS_SOCKLEN_T -DENABLE_IPV6
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# Bullet
LOCAL_MODULE := bullet
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti
LOCAL_SRC_FILES := $(wildcard ../lib/bullet/src/*/*.cpp) \
$(wildcard ../lib/bullet/src/*/*/*.cpp)
LOCAL_CFLAGS := -I../lib/bullet/src/
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# Graphics utils
LOCAL_MODULE := graphics_utils
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti
LOCAL_SRC_FILES := $(wildcard ../lib/graphics_utils/mipmap/*.c)
LOCAL_CFLAGS := -I../lib/graphics_utils/mipmap \
-I../lib/simd_wrapper
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# Graphics engine
LOCAL_MODULE := graphics_engine
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti exceptions
LOCAL_SRC_FILES := $(wildcard ../lib/graphics_engine/src/*.c) \
$(wildcard ../lib/graphics_engine/src/*.cpp)
LOCAL_CFLAGS := -DENABLE_LIBASTCENC \
-I../lib/graphics_engine/include \
-I../lib/graphics_utils \
-I../lib/sdl2/include/ \
-I../lib/bullet/src/ \
-I../lib/irrlicht/include/ \
-I../lib/shaderc/libshaderc/include \
-I../lib/libsquish \
-Ideps-$(TARGET_ARCH_ABI)/astc-encoder/Source
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
LOCAL_STATIC_LIBRARIES := shaderc libsquish libastcenc
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# MCPP
LOCAL_MODULE := mcpp
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti
LOCAL_SRC_FILES := $(wildcard ../lib/mcpp/*.c)
LOCAL_CFLAGS := -DMCPP_LIB -DHAVE_CONFIG_H
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# SheenBidi
LOCAL_MODULE := sheenbidi
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti
LOCAL_SRC_FILES := $(wildcard ../lib/sheenbidi/Source/*.c)
LOCAL_CFLAGS := -I../lib/sheenbidi/Headers
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# tinygettext
LOCAL_MODULE := tinygettext
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti exceptions
LOCAL_SRC_FILES := $(wildcard ../lib/tinygettext/src/*.cpp)
LOCAL_CFLAGS := -I../lib/tinygettext/include -DDISABLE_ICONV
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# Irrlicht
LOCAL_MODULE := irrlicht
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti exceptions
LOCAL_SRC_FILES := $(wildcard ../lib/irrlicht/source/Irrlicht/*.cpp)
LOCAL_CFLAGS := -I../lib/irrlicht/source/Irrlicht/ \
-I../lib/irrlicht/include/ \
-I../src \
-Ideps-$(TARGET_ARCH_ABI)/libjpeg/ \
-Ideps-$(TARGET_ARCH_ABI)/libpng/ \
-Ideps-$(TARGET_ARCH_ABI)/zlib/ \
-I../lib/sdl2/include/ \
-I../lib/graphics_engine/include \
-DMOBILE_STK \
-DANDROID_PACKAGE_CALLBACK_NAME=$(PACKAGE_CALLBACK_NAME)
LOCAL_CPPFLAGS := -std=gnu++0x
LOCAL_STATIC_LIBRARIES := libjpeg png zlib
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# SDL2
LOCAL_MODULE := SDL2
LOCAL_PATH := .
LOCAL_SRC_FILES := $(wildcard ../lib/sdl2/src/*.c) \
$(wildcard ../lib/sdl2/src/audio/*.c) \
$(wildcard ../lib/sdl2/src/audio/android/*.c) \
$(wildcard ../lib/sdl2/src/audio/dummy/*.c) \
$(wildcard ../lib/sdl2/src/audio/aaudio/*.c) \
$(wildcard ../lib/sdl2/src/audio/openslES/*.c) \
../lib/sdl2/src/atomic/SDL_atomic.c.arm \
../lib/sdl2/src/atomic/SDL_spinlock.c.arm \
$(wildcard ../lib/sdl2/src/core/android/*.c) \
$(wildcard ../lib/sdl2/src/cpuinfo/*.c) \
$(wildcard ../lib/sdl2/src/dynapi/*.c) \
$(wildcard ../lib/sdl2/src/events/*.c) \
$(wildcard ../lib/sdl2/src/file/*.c) \
$(wildcard ../lib/sdl2/src/haptic/*.c) \
$(wildcard ../lib/sdl2/src/haptic/android/*.c) \
$(wildcard ../lib/sdl2/src/hidapi/*.c) \
$(wildcard ../lib/sdl2/src/hidapi/android/*.cpp) \
$(wildcard ../lib/sdl2/src/joystick/*.c) \
$(wildcard ../lib/sdl2/src/joystick/android/*.c) \
$(wildcard ../lib/sdl2/src/joystick/hidapi/*.c) \
$(wildcard ../lib/sdl2/src/joystick/virtual/*.c) \
$(wildcard ../lib/sdl2/src/loadso/dlopen/*.c) \
$(wildcard ../lib/sdl2/src/locale/android/*.c) \
$(wildcard ../lib/sdl2/src/locale/*.c) \
$(wildcard ../lib/sdl2/src/misc/*.c) \
$(wildcard ../lib/sdl2/src/misc/android/*.c) \
$(wildcard ../lib/sdl2/src/power/*.c) \
$(wildcard ../lib/sdl2/src/power/android/*.c) \
$(wildcard ../lib/sdl2/src/filesystem/android/*.c) \
$(wildcard ../lib/sdl2/src/sensor/*.c) \
$(wildcard ../lib/sdl2/src/sensor/android/*.c) \
$(wildcard ../lib/sdl2/src/render/*.c) \
$(wildcard ../lib/sdl2/src/render/*/*.c) \
$(wildcard ../lib/sdl2/src/stdlib/*.c) \
$(wildcard ../lib/sdl2/src/thread/*.c) \
$(wildcard ../lib/sdl2/src/thread/pthread/*.c) \
$(wildcard ../lib/sdl2/src/timer/*.c) \
$(wildcard ../lib/sdl2/src/timer/unix/*.c) \
$(wildcard ../lib/sdl2/src/video/*.c) \
$(wildcard ../lib/sdl2/src/video/android/*.c) \
$(wildcard ../lib/sdl2/src/video/yuv2rgb/*.c)
LOCAL_CFLAGS := -I../lib/sdl2/include/ -DGL_GLEXT_PROTOTYPES
LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -lOpenSLES -llog -landroid
LOCAL_STATIC_LIBRARIES := cpufeatures
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
# STK
LOCAL_MODULE := main
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti exceptions
LOCAL_SRC_FILES := $(wildcard ../src/*.cpp) \
$(wildcard ../src/*/*.cpp) \
$(wildcard ../src/*/*/*.cpp)
LOCAL_LDLIBS := -llog -lm -lOpenSLES
LOCAL_CFLAGS := -I../lib/angelscript/include \
-I../lib/bullet/src \
-I../lib/sheenbidi/Headers \
-I../lib/enet/include \
-I../lib/ifaddrs \
-I../lib/irrlicht/include \
-I../lib/irrlicht/source/Irrlicht \
-I../lib/graphics_utils \
-I../lib/graphics_engine/include \
-I../lib/mcpp \
-I../lib/sdl2/include \
-I../lib/tinygettext/include \
-I../src \
-Ideps-$(TARGET_ARCH_ABI)/curl/include \
-Ideps-$(TARGET_ARCH_ABI)/freetype/include \
-Ideps-$(TARGET_ARCH_ABI)/harfbuzz/include \
-Ideps-$(TARGET_ARCH_ABI)/libogg/include \
-Ideps-$(TARGET_ARCH_ABI)/libvorbis/include \
-Ideps-$(TARGET_ARCH_ABI)/openal/include \
-Ideps-$(TARGET_ARCH_ABI)/mbedtls/include \
-DUSE_GLES2 \
-DMOBILE_STK \
-DENABLE_SOUND \
-DENABLE_IPV6 \
-DENABLE_CRYPTO_MBEDTLS \
-DNDEBUG \
-DDISABLE_ICONV \
-DANDROID_PACKAGE_NAME=\"$(PACKAGE_NAME)\" \
-DANDROID_APP_DIR_NAME=\"$(APP_DIR_NAME)\" \
-DSUPERTUXKART_VERSION=\"$(PROJECT_VERSION)\" \
-DANDROID_PACKAGE_CLASS_NAME=\"$(PACKAGE_CLASS_NAME)\"
LOCAL_CPPFLAGS := -std=gnu++0x
LOCAL_STATIC_LIBRARIES := irrlicht bullet enet ifaddrs angelscript mcpp SDL2 \
vorbisfile vorbis ogg openal curl libmbedtls \
libmbedcrypto libmbedx509 c++_static sheenbidi \
harfbuzz freetype tinygettext graphics_utils \
graphics_engine
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_ARM_NEON := false
endif
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
$(call import-module, android/cpufeatures)

View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.supertuxkart.stk_dbg"
android:versionCode="1"
android:versionName="git"
android:installLocation="auto">
<application android:label="@string/app_name"
android:icon="@drawable/icon"
android:banner="@drawable/banner"
android:hasCode="true"
android:isGame="true"
android:theme="@style/Theme.STKSplashScreen"
android:hardwareAccelerated="true"
android:resizeableActivity="true">
<activity android:name=".SuperTuxKartActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|uiMode"
android:screenOrientation="sensorLandscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
<!-- Let Android know that we can handle some USB devices and should receive this event -->
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
</activity>
</application>
<uses-feature android:glEsVersion="0x00020000" />
<uses-feature android:name="android.software.leanback" android:required="false" />
<uses-feature android:name="android.software.input_methods" android:required="false" />
<!-- Touchscreen support -->
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<!-- Game controller support -->
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false" />
<uses-feature
android:name="android.hardware.gamepad"
android:required="false" />
<uses-feature
android:name="android.hardware.usb.host"
android:required="false" />
<!-- External mouse input events -->
<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<!-- Allow writing to external storage -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Allow access to Bluetooth devices -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- Allow access to the vibrator -->
<uses-permission android:name="android.permission.VIBRATE" />
</manifest>

166
android/README.ANDROID Normal file
View file

@ -0,0 +1,166 @@
================================================================================
SUPERTUXKART
================================================================================
--------------------------------------------------------------------------------
SYSTEM REQUIREMENTS
--------------------------------------------------------------------------------
To run SuperTuxKart on Android, you need a device that meets following
requirements:
- Android 4.1 or later
- Processor compatible with armv7 or x86
- GPU that supports OpenGL ES 2.0
- 1 GB RAM (STK uses ~150 MB in minimal configuration)
- 300 MB of free space on internal storage
- Touch screen or external keyboard
--------------------------------------------------------------------------------
COMPILATION
--------------------------------------------------------------------------------
The build scripts are designed to run under linux. They may work under cygwin
after some tweaks, but atm. only linux is supported.
Dependencies list (may be incomplete):
autoconf, automake, make, python, gradle, imagemagick, cmake,
vorbis-tools, pngquant
Additionally some dependencies for optimize_data script:
advancecomp, libjpeg-progs, optipng
Before compilation you must download dependencies-android-src.tar.xz from:
https://github.com/supertuxkart/dependencies/releases
Choose the corresponding STK version you are compiling, use "preview" for git.
It contains sources of libraries that are used in STK, but are not available
in stk-code repository (curl, freetype, openal...).
These libraries are compiled and then statically linked with STK by the Android
build script.
You need to extract that packed file to stk-code/lib directory, so that the
directory will have following structure:
> stk-code
> build
> data
> lib
> angelscript
> bullet
> curl
> enet
> freetype
> ...
> src
> ...
You also need Android SDK for android-26 platform or later (SDL2 requirement) and
Android NDK. Version r23 is recommended, because it's known that it works
without issues. r24 or later is not compatible because it removes Android 4.1
support (https://github.com/android/ndk/wiki/Changelog-r23#announcements)
You need to create proper "android-sdk" and "android-ndk" symlinks in the
directory with Android project, so that the compilation script will have access
to the SDK and NDK.
Before running the compilation, run the generate_assets script, so that
selected assets will be copied to "assets" directory, and then included in the
apk file.
You can select different karts and tracks by setting KARTS and TRACKS variables
in the generate_assets.sh script at the beginning of file.
When you are creating the assets directory manually, note that the
directories.txt file is urgently needed and it is used by the application for
extracting assets.
If the assets directory is already prepared, you can run "./make.sh" command to
build the project and create an apk file. Note that all arguments are passed to
the make command, so that you can run "./make.sh -j5" for multi-threaded build.
Basically if all dependencies are installed in the system, it should be enough
to just run:
export SDK_PATH=/path/to/your/android/sdk
export NDK_PATH=/path/to/your/android/ndk
# Optional for STK_MIN_ANDROID_SDK, STK_TARGET_ANDROID_SDK and STK_NDK_VERSION
# If unset it will use the below values
export STK_MIN_ANDROID_SDK=16
export STK_TARGET_ANDROID_SDK=30
export STK_NDK_VERSION=23.1.7779620
./generate_assets.sh
./make_deps.sh
./make.sh
You may need to add org.gradle.jvmargs=-XX:MaxHeapSize=2048m -Xmx2048m to
.gradle/gradle.properties if you see java.lang.OutOfMemoryError / Java heap
space execption error.
--------------------------------------------------------------------------------
ENVIRONMENT VARIABLES
--------------------------------------------------------------------------------
COMPILE_ARCH - Allows one to choose CPU architecture for which the package will
be compiled.
Possible values: all, armv7, aarch64, x86, x86_64.
Default is: all.
BUILD_TYPE - Allows one to set build type.
Possible values: debug, release, beta.
Default is: debug.
BUILD_TOOLS_VER - Allows to override the SDK build-tools version.
SDK_PATH - Path to SDK directory
NDK_PATH - Path to NDK directory, it should include a list of installed
NDK version folders
PROJECT_VERSION - Set Supertuxkart version number, for example "0.9.3" or
"git20170409" or whatever. The version must match with file
assets/data/supertuxkart.$PROJECT_VERSION
and that file must exist, because it is used for extracting
and loading game data.
Default is: git.
PROJECT_CODE - Set Supertuxkart version code that is used in the manifest
file.
Default is: 1.
--------------------------------------------------------------------------------
RELEASE BUILD
--------------------------------------------------------------------------------
Making a release build is similar to typical compilation, but there are few
additional things to do.
You have to set PROJECT_VERSION variable. This is important, because assets
manager in STK checks that value and detects if already extracted data files are
up to date. So that when you will install new STK version, this will force new
data extraction automatically.
The PROJECT_CODE variable typically should be set to a value higher than for
previous release, so that users will receive the upgrade.
Before compilation you have to set:
export BUILD_TYPE=release
It's also needed to set STK_STOREPASS, STK_KEYSTORE and STK_ALIAS environment
variables, so that the apk files can be signed.
and then you make standard compilation with:
./generate_assets.sh
./make_deps.sh
./make.sh

BIN
android/banner.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

153
android/build.gradle Normal file
View file

@ -0,0 +1,153 @@
buildscript
{
repositories
{
mavenCentral()
google()
}
dependencies
{
// 4.1.2 is the minimum version to support native debug symbols file
// https://developer.android.com/studio/build/shrink-code#android_gradle_plugin_version_41_or_later
// 7.0.0 to fix https://stackoverflow.com/questions/68387270/android-studio-error-installed-build-tools-revision-31-0-0-is-corrupted
classpath 'com.android.tools.build:gradle:7.0.0'
}
}
allprojects
{
repositories
{
mavenCentral()
google()
}
}
apply plugin: 'com.android.application'
android
{
// buildToolsVersion is no longer needed https://developer.android.com/studio/releases/gradle-plugin.html#behavior_changes_1
// Quote:
// Build Tools 27.0.3 or higher. Keep in mind, you no longer need to specify a version for the build tools using the android.buildToolsVersion propertythe plugin uses the minimum required version by default.
compileSdkVersion compile_sdk_version.toInteger()
ndkVersion ndk_version
externalNativeBuild
{
ndkBuild
{
path 'Android.mk'
}
}
defaultConfig
{
minSdkVersion min_sdk_version.toInteger()
targetSdkVersion target_sdk_version.toInteger()
externalNativeBuild
{
ndkBuild
{
def app_platform = "APP_PLATFORM=android-${min_sdk_version}"
arguments app_platform, 'APP_STL=c++_static', cpu_core
if (project.getProperty('compile_arch') == 'all')
{
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
else
{
abiFilters project.getProperty('compile_arch')
}
}
}
def runTasks = gradle.startParameter.taskNames
if ('bundleRelease' in runTasks)
{
// use SYMBOL_TABLE if too large later (max limit on google play is 300MB)
ndk.debugSymbolLevel 'FULL'
}
}
signingConfigs
{
release
{
storeFile file(keystore)
storePassword storepass
keyAlias alias
keyPassword storepass
}
}
buildTypes
{
debug
{
debuggable true
jniDebuggable true
minifyEnabled false
shrinkResources false
multiDexEnabled true
externalNativeBuild
{
ndkBuild
{
arguments 'NDK_DEBUG=1'
cFlags '-O0'
cppFlags '-O0'
}
}
ndk
{
if (project.getProperty('compile_arch') == 'all')
{
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
else
{
abiFilters project.getProperty('compile_arch')
}
}
}
release
{
externalNativeBuild
{
ndkBuild
{
cFlags '-O3'
cppFlags '-O3'
}
}
signingConfig signingConfigs.release
ndk
{
if (project.getProperty('compile_arch') == 'all')
{
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
else
{
abiFilters project.getProperty('compile_arch')
}
}
}
}
sourceSets
{
main
{
manifest.srcFile 'AndroidManifest.xml'
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
dependencies
{
implementation 'org.minidns:minidns-hla:0.3.3'
}

698
android/generate_assets.sh Executable file
View file

@ -0,0 +1,698 @@
#!/bin/sh
#
# (C) 2016-2017 Dawid Gan, under the GPLv3
#
# A script that generates data files for Android apk
# Below you can find some simple configuration variables.
# It's allowed to set "all" for KARTS and TRACKS if it's intended to create
# package with full data.
# The karts and tracks directories shouldn't exist in ASSETS_DIRS variable
# because they are handled separately.
# The TEXTURE_SIZE and SOUND_QUALITY take effect only if DECREASE_QUALITY has
# value greater than 0.
# The CONVERT_TO_JPG variable enables converting all images that are safe to
# convert and keeps other images untouched.
# The script needs imagemagick, pngquant and ogg utils installed in order to
# use DECREASE_QUALITY feature
################################################################################
export KARTS_DEFAULT="all"
export TRACKS_DEFAULT="all"
export TEXTURE_SIZE_DEFAULT=256
export JPEG_QUALITY_DEFAULT=85
export PNG_QUALITY_DEFAULT=95
export PNGQUANT_QUALITY_DEFAULT=90
export SOUND_QUALITY_DEFAULT=42
export SOUND_MONO_DEFAULT=1
export SOUND_SAMPLE_DEFAULT=32000
export RUN_OPTIMIZE_SCRIPT_DEFAULT=0
export DECREASE_QUALITY_DEFAULT=1
export CONVERT_TO_JPG_DEFAULT=1
export ONLY_ASSETS_DEFAULT=0
export ASSETS_PATHS_DEFAULT="../data \
../../stk-assets \
../../supertuxkart-assets"
export OUTPUT_PATH_DEFAULT="assets"
export ASSETS_DIRS="library models music sfx textures"
export CONVERT_TO_JPG_BLACKLIST="data/models/traffic_light.png"
export BLACKLIST_FILES="data/supertuxkart.icns \
data/supertuxkart_1024.png \
data/supertuxkart_128.png \
data/supertuxkart_16.png \
data/supertuxkart_256.png \
data/supertuxkart_32.png \
data/supertuxkart_48.png \
data/supertuxkart_512.png \
data/supertuxkart_64.png"
################################################################################
export LANG=C
cd "`dirname "$0"`"
# Set default configuration if not changed outside of the script
if [ -z "$KARTS" ]; then
export KARTS="$KARTS_DEFAULT"
fi
if [ -z "$TRACKS" ]; then
export TRACKS="$TRACKS_DEFAULT"
fi
if [ -z "$TEXTURE_SIZE" ]; then
export TEXTURE_SIZE="$TEXTURE_SIZE_DEFAULT"
fi
if [ -z "$JPEG_QUALITY" ]; then
export JPEG_QUALITY="$JPEG_QUALITY_DEFAULT"
fi
if [ -z "$PNG_QUALITY" ]; then
export PNG_QUALITY="$PNG_QUALITY_DEFAULT"
fi
if [ -z "$PNGQUANT_QUALITY" ]; then
export PNGQUANT_QUALITY="$PNGQUANT_QUALITY_DEFAULT"
fi
if [ -z "$SOUND_QUALITY" ]; then
export SOUND_QUALITY="$SOUND_QUALITY_DEFAULT"
fi
if [ -z "$SOUND_MONO" ]; then
export SOUND_MONO="$SOUND_MONO_DEFAULT"
fi
if [ -z "$SOUND_SAMPLE" ]; then
export SOUND_SAMPLE="$SOUND_SAMPLE_DEFAULT"
fi
if [ -z "$RUN_OPTIMIZE_SCRIPT" ]; then
export RUN_OPTIMIZE_SCRIPT="$RUN_OPTIMIZE_SCRIPT_DEFAULT"
fi
if [ -z "$DECREASE_QUALITY" ]; then
export DECREASE_QUALITY="$DECREASE_QUALITY_DEFAULT"
fi
if [ -z "$CONVERT_TO_JPG" ]; then
export CONVERT_TO_JPG="$CONVERT_TO_JPG_DEFAULT"
fi
if [ -z "$ONLY_ASSETS" ]; then
export ONLY_ASSETS="$ONLY_ASSETS_DEFAULT"
fi
if [ -z "$ASSETS_PATHS" ]; then
export ASSETS_PATHS="$ASSETS_PATHS_DEFAULT"
fi
if [ -z "$OUTPUT_PATH" ]; then
export OUTPUT_PATH="$OUTPUT_PATH_DEFAULT"
fi
# Find assets path
for ASSETS_PATH in $ASSETS_PATHS; do
if [ -d $ASSETS_PATH ] && [ `ls $ASSETS_PATH | grep -c tracks` -gt 0 ]; then
echo "Assets found in $ASSETS_PATH"
ASSETS_PATH_FOUND=1
break
fi
done
if [ -z $ASSETS_PATH_FOUND ]; then
echo "Couldn't find assets path"
exit 1
fi
if [ ! -d "../data" ]; then
echo "Couldn't find data directory"
exit 1
fi
# Clear previous assets directory
echo "Clear previous assets directory"
rm -rf "$OUTPUT_PATH"
# Copy all assets
echo "Copy all assets"
mkdir -p "$OUTPUT_PATH/data"
for DIR in `ls $ASSETS_PATH`; do
CAN_BE_COPIED=0
for ASSETS_DIR in $ASSETS_DIRS; do
if [ $DIR = $ASSETS_DIR ]; then
CAN_BE_COPIED=1
break
fi
done;
# Don't copy karts and tracks. It will be handled later
BLACKLIST_ASSETS="karts tracks"
for ASSETS_DIR in $BLACKLIST_ASSETS; do
if [ $DIR = $ASSETS_DIR ]; then
CAN_BE_COPIED=0
break
fi
done;
if [ $CAN_BE_COPIED -gt 0 ]; then
cp -a "$ASSETS_PATH/$DIR" "$OUTPUT_PATH/data/"
fi
done;
# Copy selected tracks
echo "Copy selected tracks"
mkdir -p "$OUTPUT_PATH/data/tracks"
for DIR in `ls $ASSETS_PATH/tracks`; do
CAN_BE_COPIED=0
if [ "$TRACKS" != "all" ]; then
for TRACK in $TRACKS; do
if [ $DIR = $TRACK ]; then
CAN_BE_COPIED=1
break
fi
done;
else
CAN_BE_COPIED=1
fi
if [ $CAN_BE_COPIED -gt 0 ]; then
cp -a "$ASSETS_PATH/tracks/$DIR" "$OUTPUT_PATH/data/tracks/"
fi
done
# Copy selected karts
echo "Copy selected karts"
mkdir -p "$OUTPUT_PATH/data/karts"
for DIR in `ls $ASSETS_PATH/karts`; do
CAN_BE_COPIED=0
if [ "$KARTS" != "all" ]; then
for KART in $KARTS; do
if [ $DIR = $KART ]; then
CAN_BE_COPIED=1
break
fi
done;
else
CAN_BE_COPIED=1
fi
if [ $CAN_BE_COPIED -gt 0 ]; then
cp -a "$ASSETS_PATH/karts/$DIR" "$OUTPUT_PATH/data/karts/"
fi
done
# Decrease assets quality in order to save some disk space and RAM
echo "Decrease assets quality"
convert_image()
{
FILE="$1"
FILE_TYPE="$2"
echo "Convert file: $FILE"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
W=`identify -format "%[fx:w]" "$FILE"`
H=`identify -format "%[fx:h]" "$FILE"`
if [ -z $W ] || [ -z $H ]; then
echo "Couldn't convert $FILE file"
return
fi
SCALE_CMD=""
QUALITY_CMD=""
if [ $W -gt $TEXTURE_SIZE ] || [ $H -gt $TEXTURE_SIZE ]; then
if [ $W -gt $H ]; then
SCALED_W=$TEXTURE_SIZE
SCALED_H=$(($TEXTURE_SIZE * $H / $W))
else
SCALED_W=$(($TEXTURE_SIZE * $W / $H))
SCALED_H=$TEXTURE_SIZE
fi
SCALE_CMD="-scale ${SCALED_W}x${SCALED_H}"
fi
if [ "$FILE_TYPE" = "jpg" ]; then
QUALITY_CMD="-quality $JPEG_QUALITY"
elif [ "$FILE_TYPE" = "png" ]; then
QUALITY_CMD="-quality $PNG_QUALITY"
fi
convert $SCALE_CMD $QUALITY_CMD "$FILE" "tmp.$FILE_TYPE"
if [ -s "tmp.$FILE_TYPE" ]; then
SIZE_OLD=`du -k "$FILE" | cut -f1`
SIZE_NEW=`du -k "tmp.$FILE_TYPE" | cut -f1`
if [ $SIZE_NEW -lt $SIZE_OLD ]; then
mv "tmp.$FILE_TYPE" "$FILE"
fi
fi
rm -f "tmp.$FILE_TYPE"
}
convert_sound()
{
FILE="$1"
echo "Convert file: $FILE"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
oggdec "$FILE" -o tmp.wav
if [ -s tmp.wav ]; then
OGGENC_CMD=""
if [ "$SOUND_MONO" -gt 0 ]; then
OGGENC_CMD="$OGGENC_CMD --downmix"
fi
OGG_RATE=`ogginfo "$FILE" | grep "Rate: " | cut -f 2 -d " " \
| grep -o '[0-9]*'`
if [ ! -z "$OGG_RATE" ] && [ "$OGG_RATE" -gt "$SOUND_SAMPLE" ]; then
OGGENC_CMD="$OGGENC_CMD --resample $SOUND_SAMPLE"
fi
OGGENC_CMD="$OGGENC_CMD -b $SOUND_QUALITY"
oggenc $OGGENC_CMD tmp.wav -o tmp.ogg
fi
if [ -s tmp.ogg ]; then
SIZE_OLD=`du -k "$FILE" | cut -f1`
SIZE_NEW=`du -k "tmp.ogg" | cut -f1`
if [ $SIZE_NEW -lt $SIZE_OLD ]; then
mv tmp.ogg "$FILE"
fi
fi
rm -f tmp.wav tmp.ogg
}
optimize_png()
{
FILE="$1"
echo "Optimize file: $FILE"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
pngquant --force --skip-if-larger --quality 0-$PNGQUANT_QUALITY --output "$FILE" -- "$FILE"
}
convert_to_jpg()
{
FILE="$1"
echo "Convert file to jpg: $FILE"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
ALREADY_CONVERTED=0
if [ -s "./converted_textures" ]; then
while read -r CONVERTED_TEXTURE; do
if [ "$FILE" = "$CONVERTED_TEXTURE" ]; then
ALREADY_CONVERTED=1
break
fi
done < "./converted_textures"
fi
if [ $ALREADY_CONVERTED -eq 1 ]; then
return
fi
BLACKLISTED=0
for BLACKLIST_FILE in $CONVERT_TO_JPG_BLACKLIST; do
if [ "$FILE" = "$OUTPUT_PATH/$BLACKLIST_FILE" ]; then
BLACKLISTED=1
break
fi
done
if [ $BLACKLISTED -eq 1 ]; then
#echo " File is blacklisted. Ignore..."
return
fi
FILE_EXTENSION=`echo "$FILE" | tail -c 5`
if [ `echo "$FILE_EXTENSION" | head -c 1` != "." ]; then
#echo " Unsupported file extension. Ignore..."
return
fi
FILE_FORMAT=`identify -format %m "$FILE"`
if [ "$FILE_FORMAT" = "JPEG" ]; then
#echo " File is already JPEG. Ignore..."
return
fi
IS_OPAQUE=`identify -format '%[opaque]' "$FILE"`
#HAS_ALPHA=`identify -format '%A' "$FILE"`
if [ "$IS_OPAQUE" = "False" ] || [ "$IS_OPAQUE" = "false" ]; then
#echo " File has alpha channel. Ignore..."
return
fi
DIRNAME="`dirname "$FILE"`"
BASENAME="`basename "$FILE"`"
IS_GLOSS_MAP=`find "$DIRNAME" -iname "*.xml" -exec cat {} \; \
| grep -c "gloss-map=\"$BASENAME\""`
if [ $IS_GLOSS_MAP -gt 0 ]; then
#echo " File is a gloss-map. Ignore..."
return
fi
NEW_FILE="`echo $FILE | head -c -5`.jpg"
if [ -f "$NEW_FILE" ]; then
#echo " There is already a file with .jpg extension. Ignore..."
return
fi
# We can check if new file is smaller
convert -quality $JPEG_QUALITY "$FILE" "$NEW_FILE"
rm -f "$FILE"
echo "$FILE" >> "./converted_textures"
}
convert_to_jpg_extract_b3dz()
{
FILE="$1"
echo "Extract b3dz file: $FILE"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
DIRNAME="`dirname "$FILE"`"
unzip "$FILE" -d "$DIRNAME"
rm -f "$FILE"
TEXNAME="`basename "$FILE"`"
NEWNAME="`echo $TEXNAME | head -c -6`.b3d"
sed -i "s/\"$TEXNAME\"/\"$NEWNAME\"/g" "$DIRNAME/kart.xml"
}
convert_to_jpg_update_b3d()
{
FILE="$1"
echo "Update b3d file: $FILE"
if [ ! -f "$1" ]; then
echo " File doesn't exist."
return
fi
HEX_FILE=`hexdump -ve '1/1 "%.2x"' "$FILE"`
TEXS_CHUNK="54455853"
TEXS_CHUNK_POS=24
FOUND_CHUNK=`echo $HEX_FILE | head -c $(($TEXS_CHUNK_POS + 8)) \
| tail -c +$(($TEXS_CHUNK_POS + 1))`
if [ -z "$FOUND_CHUNK" ] || [ "$FOUND_CHUNK" != "$TEXS_CHUNK" ]; then
echo " File has no textures."
return
fi
TEXS_SIZE=`echo $HEX_FILE | head -c $(($TEXS_CHUNK_POS + 16)) | tail -c 8`
TEXS_SIZE_CONVERTED=`echo $TEXS_SIZE | cut -c7-8`
TEXS_SIZE_CONVERTED=$TEXS_SIZE_CONVERTED`echo $TEXS_SIZE | cut -c5-6`
TEXS_SIZE_CONVERTED=$TEXS_SIZE_CONVERTED`echo $TEXS_SIZE | cut -c3-4`
TEXS_SIZE_CONVERTED=$TEXS_SIZE_CONVERTED`echo $TEXS_SIZE | cut -c1-2`
TEXS_SIZE_CONVERTED=`echo $((0x$TEXS_SIZE_CONVERTED))`
if [ $TEXS_SIZE_CONVERTED -le 0 ]; then
echo " Invalid TEXS size value."
return
fi
TEXS_BEGIN=$(($TEXS_CHUNK_POS + 16))
TEXS_END=$(($TEXS_BEGIN + $TEXS_SIZE_CONVERTED * 2))
HEX_TEXS=`echo $HEX_FILE | head -c $TEXS_END | tail -c +$(($TEXS_BEGIN+1))`
CURR_POS=0
while [ $CURR_POS -lt $TEXS_END ]; do
NULL_POS=`echo $HEX_TEXS | tail -c +$(($CURR_POS+1)) | grep -b -o "00" \
| head -n 1 | cut -f1 -d":"`
if [ -z $NULL_POS ]; then
#echo " Done."
break
fi
if [ $NULL_POS -lt 4 ]; then
echo " Something went wrong..."
break
fi
TEXNAME_BEGIN=$((($TEXS_BEGIN + $CURR_POS) / 2))
TEXNAME_END=$((($TEXS_BEGIN + $CURR_POS + $NULL_POS) / 2))
CURR_POS=$(($CURR_POS + $NULL_POS + 58))
TEXTURE_NAME=`dd if="$FILE" bs=1 skip=$TEXNAME_BEGIN \
count=$(($TEXNAME_END - $TEXNAME_BEGIN)) 2> /dev/null`
DIRNAME="`dirname "$FILE"`"
TEXTURE_PATH="$DIRNAME/$TEXTURE_NAME"
IS_CONVERTED=0
while read -r CONVERTED_TEXTURE; do
if [ "$TEXTURE_PATH" = "$CONVERTED_TEXTURE" ]; then
IS_CONVERTED=1
break
fi
done < "./converted_textures"
if [ $IS_CONVERTED -eq 1 ]; then
echo -n ".jpg" | dd of="$FILE" bs=1 seek=$(($TEXNAME_END - 4)) \
conv=notrunc 2> /dev/null
fi;
done
}
convert_to_jpg_update_spm()
{
FILE="$1"
echo "Update spm file: $FILE"
if [ ! -f "$1" ]; then
echo " File doesn't exist."
return
fi
HEX_FILE=`hexdump -ve '1/1 "%.2x"' "$FILE"`
SP_HEADER="5350"
SP_FOUND=`echo $HEX_FILE | head -c 4`
if [ -z "$SP_FOUND" ] || [ "$SP_FOUND" != "$SP_HEADER" ]; then
echo " Unsupported format."
return
fi
TEXS_BEGIN=60
TEXS_COUNT=`echo $HEX_FILE | head -c $TEXS_BEGIN | tail -c 4`
TEXS_COUNT_CONVERTED=`echo $TEXS_COUNT | cut -c3-4`
TEXS_COUNT_CONVERTED=$TEXS_COUNT_CONVERTED`echo $TEXS_COUNT | cut -c1-2`
TEXS_COUNT_CONVERTED=`echo $((0x$TEXS_COUNT_CONVERTED))`
TEXS_COUNT_CONVERTED=$(($TEXS_COUNT_CONVERTED * 2))
if [ $TEXS_COUNT_CONVERTED -le 0 ]; then
echo " Invalid textures count value."
return
fi
CURR_POS=$(($TEXS_BEGIN + 2))
while [ $TEXS_COUNT_CONVERTED -gt 0 ]; do
TEXS_COUNT_CONVERTED=$(($TEXS_COUNT_CONVERTED - 1))
TEX_LEN=`echo $HEX_FILE | head -c $(($CURR_POS)) | tail -c 2`
TEX_LEN=`echo $((0x$TEX_LEN))`
TEXNAME_BEGIN=$(($CURR_POS / 2))
TEXNAME_END=$(($CURR_POS / 2 + $TEX_LEN))
CURR_POS=$(($CURR_POS + 2 + $TEX_LEN * 2))
if [ $TEX_LEN -eq 0 ]; then
#echo " Empty texture name, ignore..."
continue
fi
TEXTURE_NAME=`dd if="$FILE" bs=1 skip=$TEXNAME_BEGIN \
count=$(($TEXNAME_END - $TEXNAME_BEGIN)) 2> /dev/null`
DIRNAME="`dirname "$FILE"`"
TEXTURE_PATH="$DIRNAME/$TEXTURE_NAME"
IS_CONVERTED=0
while read -r CONVERTED_TEXTURE; do
if [ "$TEXTURE_PATH" = "$CONVERTED_TEXTURE" ]; then
IS_CONVERTED=1
break
fi
done < "./converted_textures"
if [ $IS_CONVERTED -eq 1 ]; then
echo -n ".jpg" | dd of="$FILE" bs=1 seek=$(($TEXNAME_END - 4)) \
conv=notrunc 2> /dev/null
fi
done
}
convert_to_jpg_update_xml()
{
FILE="$1"
echo "Update xml file: $FILE"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
DIRNAME="`dirname "$FILE"`"
while read -r CONVERTED_TEXTURE; do
DIRNAME_TEX="`dirname "$CONVERTED_TEXTURE"`"
if [ "$DIRNAME_TEX" != "$DIRNAME" ]; then
continue;
fi
TEXNAME="`basename "$CONVERTED_TEXTURE" | head -c -5`"
sed -i "s/\"$TEXNAME.[pP][nN][gG]/\"$TEXNAME.jpg/g" "$FILE"
sed -i "s/ $TEXNAME.[pP][nN][gG]/ $TEXNAME.jpg/g" "$FILE"
done < "./converted_textures"
}
if [ $DECREASE_QUALITY -gt 0 ]; then
find "$OUTPUT_PATH/data" -iname "*.png" | while read f; do convert_image "$f" "png"; done
find "$OUTPUT_PATH/data" -iname "*.jpg" | while read f; do convert_image "$f" "jpg"; done
find "$OUTPUT_PATH/data" -iname "*.ogg" | while read f; do convert_sound "$f"; done
fi
if [ $CONVERT_TO_JPG -gt 0 ]; then
rm -f "./converted_textures"
find "$OUTPUT_PATH/data" -not -path "$OUTPUT_PATH/data/textures/*" \
-not -path "$OUTPUT_PATH/data/karts/*" \
-iname "*.png" | while read f; do convert_to_jpg "$f"; done
find "$OUTPUT_PATH/data" -iname "*.b3dz" | while read f; do convert_to_jpg_extract_b3dz "$f"; done
find "$OUTPUT_PATH/data" -iname "*.b3d" | while read f; do convert_to_jpg_update_b3d "$f"; done
find "$OUTPUT_PATH/data" -iname "*.spm" | while read f; do convert_to_jpg_update_spm "$f"; done
find "$OUTPUT_PATH/data" -iname "*.xml" | while read f; do convert_to_jpg_update_xml "$f"; done
if [ -s "./converted_textures" ]; then
echo "Converted textures:"
cat "./converted_textures"
rm -f "./converted_textures"
fi
fi
if [ $DECREASE_QUALITY -gt 0 ]; then
find "$OUTPUT_PATH/data" -iname "*.png" | while read f; do optimize_png "$f" "png"; done
fi
# Copy data directory
if [ $ONLY_ASSETS -eq 0 ]; then
echo "Copy data directory"
cp -a ../data/* "$OUTPUT_PATH/data"
fi
# Remove unused files
for BLACKLIST_FILE in $BLACKLIST_FILES; do
rm -f "$OUTPUT_PATH/$BLACKLIST_FILE"
done
# Run optimize_data.sh script
if [ $RUN_OPTIMIZE_SCRIPT -gt 0 ]; then
echo "Run optimize_data.sh script"
sh -c "cd "$OUTPUT_PATH/data"; ../../../data/optimize_data.sh"
fi
# Generate files list
echo "Generate files list"
find "$OUTPUT_PATH"/* -type d| sort > tmp1.txt
sed -i 's/$/\//' tmp1.txt
find "$OUTPUT_PATH"/* -type f| sort > tmp2.txt
cat tmp1.txt tmp2.txt | sort > "$OUTPUT_PATH/files.txt"
rm tmp1.txt tmp2.txt
sed -i s/".\/$OUTPUT_PATH\/"// "$OUTPUT_PATH/files.txt"
sed -i s/"$OUTPUT_PATH\/"// "$OUTPUT_PATH/files.txt"
# A file that can be used to check if apk has assets
echo "has_assets" > "$OUTPUT_PATH/has_assets.txt"
# It will be probably ignored by ant, but create it anyway...
touch "$OUTPUT_PATH/.nomedia"
echo "Done."
exit 0

Binary file not shown.

View file

@ -0,0 +1,6 @@
#Mon Oct 23 13:51:26 PDT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip

160
android/gradlew vendored Executable file
View file

@ -0,0 +1,160 @@
#!/usr/bin/env bash
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"

BIN
android/icon-dbg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
android/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

472
android/make.sh Executable file
View file

@ -0,0 +1,472 @@
#!/bin/bash
#
# (C) 2016-2017 Dawid Gan, under the GPLv3
#
# A script that creates the apk build
export DIRNAME=$(realpath "$(dirname "$0")")
export NDK_PATH_DEFAULT="$DIRNAME/android-ndk"
export SDK_PATH_DEFAULT="$DIRNAME/android-sdk"
export NDK_BUILD_SCRIPT="$DIRNAME/Android.mk"
#export NDK_CCACHE=ccache
export CPU_CORE="-j$(($(nproc) + 1))"
if [ -z "$STK_MIN_ANDROID_SDK" ]; then
export STK_MIN_ANDROID_SDK=16
fi
if [ -z "$STK_TARGET_ANDROID_SDK" ]; then
export STK_TARGET_ANDROID_SDK=30
fi
if [ -z "$STK_NDK_VERSION" ]; then
export STK_NDK_VERSION=23.1.7779620
fi
export APP_NAME_RELEASE="SuperTuxKart"
export PACKAGE_NAME_RELEASE="org.supertuxkart.stk"
export PACKAGE_CLASS_NAME_RELEASE="org/supertuxkart/stk"
export APP_DIR_NAME_RELEASE="supertuxkart"
export APP_ICON_RELEASE="$DIRNAME/icon.png"
export APP_ICON_ADAPTIVE_BG_RELEASE="$DIRNAME/icon_adaptive_bg.png"
export APP_ICON_ADAPTIVE_FG_RELEASE="$DIRNAME/icon_adaptive_fg.png"
export APP_NAME_BETA="SuperTuxKart Beta"
export PACKAGE_NAME_BETA="org.supertuxkart.stk_beta"
export PACKAGE_CLASS_NAME_BETA="org/supertuxkart/stk_beta"
export APP_DIR_NAME_BETA="supertuxkart-beta"
export APP_ICON_BETA="$DIRNAME/icon-dbg.png"
export APP_ICON_ADAPTIVE_BG_BETA="$DIRNAME/icon_adaptive_bg-dbg.png"
export APP_ICON_ADAPTIVE_FG_BETA="$DIRNAME/icon_adaptive_fg-dbg.png"
export APP_NAME_DEBUG="SuperTuxKart Debug"
export PACKAGE_NAME_DEBUG="org.supertuxkart.stk_dbg"
export PACKAGE_CLASS_NAME_DEBUG="org/supertuxkart/stk_dbg"
export APP_DIR_NAME_DEBUG="supertuxkart-dbg"
export APP_ICON_DEBUG="$DIRNAME/icon-dbg.png"
export APP_ICON_ADAPTIVE_BG_DEBUG="$DIRNAME/icon_adaptive_bg-dbg.png"
export APP_ICON_ADAPTIVE_FG_DEBUG="$DIRNAME/icon_adaptive_fg-dbg.png"
# A helper function that checks if error ocurred
check_error()
{
if [ $? -gt 0 ]; then
echo "Error ocurred."
exit
fi
}
# Handle clean command
if [ ! -z "$1" ] && [ "$1" = "clean" ]; then
rm -rf "$DIRNAME/bin"
rm -rf "$DIRNAME/build"
rm -rf "$DIRNAME/libs"
rm -rf "$DIRNAME/obj"
rm -rf "$DIRNAME/res"
rm -rf "$DIRNAME/.gradle"
rm -rf "$DIRNAME/.cxx"
exit
fi
# Update variables for selected architecture
if [ -z "$COMPILE_ARCH" ]; then
COMPILE_ARCH="all"
fi
if [ "$COMPILE_ARCH" = "armv7" ]; then
COMPILE_ARCH="armeabi-v7a"
elif [ "$COMPILE_ARCH" = "aarch64" ]; then
COMPILE_ARCH="arm64-v8a"
elif [ "$COMPILE_ARCH" != "x86" ] && [ "$COMPILE_ARCH" != "x86_64" ] && \
[ "$COMPILE_ARCH" != "all" ]; then
echo "Unknown COMPILE_ARCH: $COMPILE_ARCH. Possible values are:" \
"all, armv7, aarch64, x86, x86_64"
exit
fi
# Update variables for selected build type
if [ -z "$BUILD_TYPE" ]; then
BUILD_TYPE="debug"
fi
if [ "$BUILD_TYPE" = "debug" ] || [ "$BUILD_TYPE" = "Debug" ]; then
export GRADLE_BUILD_TYPE="assembleDebug"
export IS_DEBUG_BUILD=1
export APP_NAME="$APP_NAME_DEBUG"
export PACKAGE_NAME="$PACKAGE_NAME_DEBUG"
export PACKAGE_CLASS_NAME="$PACKAGE_CLASS_NAME_DEBUG"
export APP_DIR_NAME="$APP_DIR_NAME_DEBUG"
export APP_ICON="$APP_ICON_DEBUG"
export APP_ICON_ADAPTIVE_BG="$APP_ICON_ADAPTIVE_BG_DEBUG"
export APP_ICON_ADAPTIVE_FG="$APP_ICON_ADAPTIVE_FG_DEBUG"
elif [ "$BUILD_TYPE" = "release" ] || [ "$BUILD_TYPE" = "Release" ]; then
export GRADLE_BUILD_TYPE="assembleRelease"
export IS_DEBUG_BUILD=0
export APP_NAME="$APP_NAME_RELEASE"
export PACKAGE_NAME="$PACKAGE_NAME_RELEASE"
export PACKAGE_CLASS_NAME="$PACKAGE_CLASS_NAME_RELEASE"
export APP_DIR_NAME="$APP_DIR_NAME_RELEASE"
export APP_ICON="$APP_ICON_RELEASE"
export APP_ICON_ADAPTIVE_BG="$APP_ICON_ADAPTIVE_BG_RELEASE"
export APP_ICON_ADAPTIVE_FG="$APP_ICON_ADAPTIVE_FG_RELEASE"
elif [ "$BUILD_TYPE" = "beta" ] || [ "$BUILD_TYPE" = "Beta" ]; then
export GRADLE_BUILD_TYPE="assembleRelease"
export IS_DEBUG_BUILD=0
export APP_NAME="$APP_NAME_BETA"
export PACKAGE_NAME="$PACKAGE_NAME_BETA"
export PACKAGE_CLASS_NAME="$PACKAGE_CLASS_NAME_BETA"
export APP_DIR_NAME="$APP_DIR_NAME_BETA"
export APP_ICON="$APP_ICON_BETA"
export APP_ICON_ADAPTIVE_BG="$APP_ICON_ADAPTIVE_BG_BETA"
export APP_ICON_ADAPTIVE_FG="$APP_ICON_ADAPTIVE_FG_BETA"
else
echo "Unsupported BUILD_TYPE: $BUILD_TYPE. Possible values are: " \
"debug, release"
exit
fi
# Check if we have access to the Android NDK and SDK
if [ -z "$NDK_PATH" ]; then
export NDK_PATH="$NDK_PATH_DEFAULT"
fi
if [ -z "$SDK_PATH" ]; then
export SDK_PATH="$SDK_PATH_DEFAULT"
fi
NDK_PATH="$(realpath "$NDK_PATH")/${STK_NDK_VERSION}"
SDK_PATH=$(realpath "$SDK_PATH")
if [ ! -d "$NDK_PATH" ]; then
echo "Error: Couldn't find $NDK_PATH directory. Please create a symlink" \
"to your Android NDK installation in the $NDK_PATH_DEFAULT or set" \
"proper path in the NDK_PATH variable"
exit
fi
if [ ! -d "$SDK_PATH" ]; then
echo "Error: Couldn't find $SDK_PATH directory. Please create a symlink" \
"to your Android SDK installation in the $SDK_PATH_DEFAULT or set" \
"proper path in the SDK_PATH variable"
exit
fi
# Check if we have key for signing in release build
if [ "$GRADLE_BUILD_TYPE" = "assembleRelease" ]; then
if [ -z "$STK_KEYSTORE" ]; then
echo "Error: STK_KEYSTORE variable is empty."
exit
fi
if [ ! -f "$STK_KEYSTORE" ]; then
echo "Error: Couldn't find $STK_KEYSTORE file."
exit
fi
if [ -z "$STK_STOREPASS" ]; then
echo "Error: STK_STOREPASS variable is empty"
exit
fi
if [ -z "$STK_ALIAS" ]; then
echo "Error: STK_ALIAS variable is empty."
exit
fi
else
STK_KEYSTORE="empty"
STK_STOREPASS="empty"
STK_ALIAS="empty"
fi
# Find newest build-tools version
if [ -z "$BUILD_TOOLS_VER" ]; then
BUILD_TOOLS_DIRS=`ls -1 "$SDK_PATH/build-tools" | sort -V -r`
for DIR in $BUILD_TOOLS_DIRS; do
if [ "$DIR" = "`echo $DIR | sed 's/[^0-9,.]//g'`" ]; then
BUILD_TOOLS_VER="$DIR"
break
fi
done
fi
if [ -z "$BUILD_TOOLS_VER" ] || [ ! -d "$SDK_PATH/build-tools/$BUILD_TOOLS_VER" ]; then
echo "Error: Couldn't detect build-tools version."
exit
fi
BUILD_TOOLS_FULL=(${BUILD_TOOLS_VER//./ })
export COMPILE_SDK_VERSION="${BUILD_TOOLS_FULL[0]}"
# Set project version and code
if [ -f "$DIRNAME/obj/project_version" ]; then
PROJECT_VERSION_PREV=$(cat "$DIRNAME/obj/project_version")
if [ -z "$PROJECT_VERSION" ]; then
export PROJECT_VERSION="$PROJECT_VERSION_PREV"
elif [ "$PROJECT_VERSION" != "$PROJECT_VERSION_PREV" ]; then
echo "Different project version has been set. Forcing recompilation..."
touch -c "$DIRNAME/Android.mk"
fi
fi
if [ -z "$PROJECT_VERSION" ]; then
if [ $IS_DEBUG_BUILD -ne 0 ]; then
export PROJECT_VERSION="git"
else
echo "Error: Variable PROJECT_VERSION is not set. It must have unique" \
"value for release build."
exit
fi
fi
if [ -z "$PROJECT_CODE" ]; then
if [ $IS_DEBUG_BUILD -ne 0 ]; then
PROJECT_CODE="1"
else
echo "Error: Variable PROJECT_CODE is not set."
exit
fi
fi
if [ -d "$DIRNAME/assets/data" ]; then
if [ ! -f "$DIRNAME/assets/data/supertuxkart.$PROJECT_VERSION" ]; then
echo "Error: supertuxkart.$PROJECT_VERSION doesn't exist in" \
"assets/data directory."
exit
fi
fi
# Standalone toolchain
if [ ! -f "$DIRNAME/obj/make_standalone_toolchain.stamp" ]; then
echo "Creating standalone toolchain"
rm -rf "$DIRNAME/obj"
mkdir "$DIRNAME/obj"
touch "$DIRNAME/obj/make_standalone_toolchain.stamp"
fi
echo "$PROJECT_VERSION" > "$DIRNAME/obj/project_version"
# Build apk
echo "Building APK"
mkdir -p "$DIRNAME/res/drawable/"
mkdir -p "$DIRNAME/res/drawable-anydpi-v26/"
mkdir -p "$DIRNAME/res/drawable-mdpi/"
mkdir -p "$DIRNAME/res/drawable-hdpi/"
mkdir -p "$DIRNAME/res/drawable-xhdpi/"
mkdir -p "$DIRNAME/res/drawable-xxhdpi/"
mkdir -p "$DIRNAME/res/drawable-xxxhdpi/"
rm -rf "$DIRNAME/res/values*"
mkdir -p "$DIRNAME/res/values/"
STYLES_FILE="$DIRNAME/res/values/styles.xml"
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" > "$STYLES_FILE"
echo "<!--Generated by make.sh-->" >> "$STYLES_FILE"
echo "<resources>" >> "$STYLES_FILE"
echo " <style name=\"Theme.STKSplashScreen\" parent=\"android:style/Theme.Holo\">" >> "$STYLES_FILE"
echo " <item name=\"android:windowBackground\">#A8A8A8</item>" >> "$STYLES_FILE"
echo " <item name=\"android:windowFullscreen\">true</item>" >> "$STYLES_FILE"
echo " <item name=\"android:windowNoTitle\">true</item>" >> "$STYLES_FILE"
echo " <item name=\"android:windowLayoutInDisplayCutoutMode\">shortEdges</item>" >> "$STYLES_FILE"
echo " <item name=\"android:windowContentOverlay\">@null</item>" >> "$STYLES_FILE"
echo " </style>" >> "$STYLES_FILE"
echo "</resources>" >> "$STYLES_FILE"
STRINGS_FILE="$DIRNAME/res/values/strings.xml"
# Strings used in stk android ui (when extracting game data first time)
PO_EXTRACT_GAME_DATA="po_extract_game_data"
PO_EXTRACT_GAME_DATA_STR="Extracting game data..."
PO_EXTRACT_ERROR="po_extract_error"
PO_EXTRACT_ERROR_STR="Game data extraction error"
PO_EXTRACT_ERROR_MSG="po_extract_error_msg"
PO_EXTRACT_ERROR_MSG_STR="Check remaining device space or reinstall SuperTuxKart."
PO_QUIT="po_quit"
PO_QUIT_STR="Quit"
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" > "$STRINGS_FILE"
echo "<!--Generated by make.sh-->" >> "$STRINGS_FILE"
echo "<resources>" >> "$STRINGS_FILE"
echo " <string name=\"app_name\">$APP_NAME</string>" >> "$STRINGS_FILE"
echo " <string name=\"$PO_EXTRACT_GAME_DATA\">$PO_EXTRACT_GAME_DATA_STR</string>" >> "$STRINGS_FILE"
echo " <string name=\"$PO_EXTRACT_ERROR\">$PO_EXTRACT_ERROR_STR</string>" >> "$STRINGS_FILE"
echo " <string name=\"$PO_EXTRACT_ERROR_MSG\">$PO_EXTRACT_ERROR_MSG_STR</string>" >> "$STRINGS_FILE"
echo " <string name=\"$PO_QUIT\">$PO_QUIT_STR</string>" >> "$STRINGS_FILE"
echo "</resources>" >> "$STRINGS_FILE"
translate_str()
{
echo $(grep -A 1 -e "msgid \"$1\"" "$2" \
| sed -n 's/msgstr "\(.*\)"/\1/p' | sed "s/'/\\\'/g")
}
create_translation()
{
PO="$1"
CUR_LANG=$(basename -- "$PO" | cut -f 1 -d '.')
# Skip english po file
if [ "$CUR_LANG" = "en" ]; then
continue
fi
# Fix some difference in language code
if [ "$CUR_LANG" = "he" ]; then
# Hebrew
CUR_LANG="iw"
fi
if [ "$CUR_LANG" = "id" ]; then
# Indonesian
CUR_LANG="in"
fi
if [ "$CUR_LANG" = "yi" ]; then
# Yiddish
CUR_LANG="ji"
fi
CUR_LANG=$(echo "$CUR_LANG" | sed 's/_/-r/g')
EXTRACT_GAME_DATA_STR=$(translate_str "$PO_EXTRACT_GAME_DATA_STR" "$PO")
EXTRACT_ERROR_STR=$(translate_str "$PO_EXTRACT_ERROR_STR" "$PO")
EXTRACT_ERROR_MSG_STR=$(translate_str "$PO_EXTRACT_ERROR_MSG_STR" "$PO")
QUIT_STR=$(translate_str "$PO_QUIT_STR" "$PO")
if [ -n "$EXTRACT_GAME_DATA_STR" ] \
|| [ -n "$EXTRACT_ERROR_STR" ] \
|| [ -n "$EXTRACT_ERROR_MSG_STR" ] \
|| [ -n "$QUIT_STR" ]; then
mkdir -p "$DIRNAME/res/values-$CUR_LANG"
TRANSLATION="$DIRNAME/res/values-$CUR_LANG/strings.xml"
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" > "$TRANSLATION"
echo "<!--Generated by make.sh-->" >> "$TRANSLATION"
echo "<resources>" >> "$TRANSLATION"
if [ -n "$EXTRACT_GAME_DATA_STR" ] ; then
echo " <string name=\"$PO_EXTRACT_GAME_DATA\">$EXTRACT_GAME_DATA_STR</string>" >> "$TRANSLATION"
fi
if [ -n "$EXTRACT_ERROR_STR" ] ; then
echo " <string name=\"$PO_EXTRACT_ERROR\">$EXTRACT_ERROR_STR</string>" >> "$TRANSLATION"
fi
if [ -n "$EXTRACT_ERROR_MSG_STR" ] ; then
echo " <string name=\"$PO_EXTRACT_ERROR_MSG\">$EXTRACT_ERROR_MSG_STR</string>" >> "$TRANSLATION"
fi
if [ -n "$QUIT_STR" ] ; then
echo " <string name=\"$PO_QUIT\">$QUIT_STR</string>" >> "$TRANSLATION"
fi
echo "</resources>" >> "$TRANSLATION"
fi
}
find "$DIRNAME/assets/data/po" -type f -name '*.po' | while read f; do create_translation "$f"; done
ADAPTIVE_ICON_FILE="$DIRNAME/res/drawable-anydpi-v26/icon.xml"
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" > "$ADAPTIVE_ICON_FILE"
echo "<adaptive-icon" >> "$ADAPTIVE_ICON_FILE"
echo " xmlns:android=\"http://schemas.android.com/apk/res/android\">" >> "$ADAPTIVE_ICON_FILE"
echo " <background android:drawable=\"@drawable/icon_bg\" />" >> "$ADAPTIVE_ICON_FILE"
echo " <foreground android:drawable=\"@drawable/icon_fg\" />" >> "$ADAPTIVE_ICON_FILE"
echo "</adaptive-icon>" >> "$ADAPTIVE_ICON_FILE"
sed -i "s/package=\".*\"/package=\"$PACKAGE_NAME\"/g" \
"$DIRNAME/AndroidManifest.xml"
sed -i "s/package org.supertuxkart.*/package $PACKAGE_NAME;/g" \
"$DIRNAME/src/main/java/STKEditText.java"
sed -i "s/import org.supertuxkart.*/import $PACKAGE_NAME.STKInputConnection;/g" \
"$DIRNAME/src/main/java/STKEditText.java"
sed -i "s/package org.supertuxkart.*/package $PACKAGE_NAME;/g" \
"$DIRNAME/src/main/java/STKInputConnection.java"
sed -i "s/import org.supertuxkart.*.STKEditText;/import $PACKAGE_NAME.STKEditText;/g" \
"$DIRNAME/src/main/java/STKInputConnection.java"
sed -i "s/package org.supertuxkart.*/package $PACKAGE_NAME;/g" \
"$DIRNAME/src/main/java/SuperTuxKartActivity.java"
sed -i "s/import org.supertuxkart.*/import $PACKAGE_NAME.STKEditText;/g" \
"$DIRNAME/src/main/java/SuperTuxKartActivity.java"
sed -i "s/versionName=\".*\"/versionName=\"$PROJECT_VERSION\"/g" \
"$DIRNAME/AndroidManifest.xml"
sed -i "s/versionCode=\".*\"/versionCode=\"$PROJECT_CODE\"/g" \
"$DIRNAME/AndroidManifest.xml"
cp -f "$DIRNAME/../lib/sdl2/android-project/app/src/main/java/org/libsdl/app/HIDDevice.java" \
"$DIRNAME/src/main/java/"
cp -f "$DIRNAME/../lib/sdl2/android-project/app/src/main/java/org/libsdl/app/HIDDeviceBLESteamController.java" \
"$DIRNAME/src/main/java/"
cp -f "$DIRNAME/../lib/sdl2/android-project/app/src/main/java/org/libsdl/app/HIDDeviceManager.java" \
"$DIRNAME/src/main/java/"
cp -f "$DIRNAME/../lib/sdl2/android-project/app/src/main/java/org/libsdl/app/HIDDeviceUSB.java" \
"$DIRNAME/src/main/java/"
cp -f "$DIRNAME/../lib/sdl2/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java" \
"$DIRNAME/src/main/java/"
cp -f "$DIRNAME/../lib/sdl2/android-project/app/src/main/java/org/libsdl/app/SDLAudioManager.java" \
"$DIRNAME/src/main/java/"
cp -f "$DIRNAME/../lib/sdl2/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java" \
"$DIRNAME/src/main/java/"
cp -f "$DIRNAME/../lib/sdl2/android-project/app/src/main/java/org/libsdl/app/SDL.java" \
"$DIRNAME/src/main/java/"
cp "banner.png" "$DIRNAME/res/drawable/banner.png"
cp "$APP_ICON" "$DIRNAME/res/drawable/icon.png"
convert -scale 48x48 "$APP_ICON" "$DIRNAME/res/drawable-mdpi/icon.png"
convert -scale 72x72 "$APP_ICON" "$DIRNAME/res/drawable-hdpi/icon.png"
convert -scale 96x96 "$APP_ICON" "$DIRNAME/res/drawable-xhdpi/icon.png"
convert -scale 144x144 "$APP_ICON" "$DIRNAME/res/drawable-xxhdpi/icon.png"
convert -scale 192x192 "$APP_ICON" "$DIRNAME/res/drawable-xxxhdpi/icon.png"
#convert -scale 108x108 "$APP_ICON_ADAPTIVE_BG" "$DIRNAME/res/drawable-mdpi/icon_bg.png"
#convert -scale 162x162 "$APP_ICON_ADAPTIVE_BG" "$DIRNAME/res/drawable-hdpi/icon_bg.png"
#convert -scale 216x216 "$APP_ICON_ADAPTIVE_BG" "$DIRNAME/res/drawable-xhdpi/icon_bg.png"
#convert -scale 324x324 "$APP_ICON_ADAPTIVE_BG" "$DIRNAME/res/drawable-xxhdpi/icon_bg.png"
#convert -scale 432x432 "$APP_ICON_ADAPTIVE_BG" "$DIRNAME/res/drawable-xxxhdpi/icon_bg.png"
convert -scale 108x108 xc:"rgba(255,255,255,255)" "$DIRNAME/res/drawable-mdpi/icon_bg.png"
convert -scale 162x162 xc:"rgba(255,255,255,255)" "$DIRNAME/res/drawable-hdpi/icon_bg.png"
convert -scale 216x216 xc:"rgba(255,255,255,255)" "$DIRNAME/res/drawable-xhdpi/icon_bg.png"
convert -scale 324x324 xc:"rgba(255,255,255,255)" "$DIRNAME/res/drawable-xxhdpi/icon_bg.png"
convert -scale 432x432 xc:"rgba(255,255,255,255)" "$DIRNAME/res/drawable-xxxhdpi/icon_bg.png"
convert -scale 108x108 "$APP_ICON_ADAPTIVE_FG" "$DIRNAME/res/drawable-mdpi/icon_fg.png"
convert -scale 162x162 "$APP_ICON_ADAPTIVE_FG" "$DIRNAME/res/drawable-hdpi/icon_fg.png"
convert -scale 216x216 "$APP_ICON_ADAPTIVE_FG" "$DIRNAME/res/drawable-xhdpi/icon_fg.png"
convert -scale 324x324 "$APP_ICON_ADAPTIVE_FG" "$DIRNAME/res/drawable-xxhdpi/icon_fg.png"
convert -scale 432x432 "$APP_ICON_ADAPTIVE_FG" "$DIRNAME/res/drawable-xxxhdpi/icon_fg.png"
if [ -f "/usr/lib/jvm/java-8-openjdk-amd64/bin/java" ]; then
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
export PATH=$JAVA_HOME/bin:$PATH
fi
export ANDROID_HOME="$SDK_PATH"
./gradlew -Pcompile_sdk_version="$COMPILE_SDK_VERSION" \
-Pmin_sdk_version="$STK_MIN_ANDROID_SDK" \
-Ptarget_sdk_version="$STK_TARGET_ANDROID_SDK" \
-Pstorepass="$STK_STOREPASS" \
-Pkeystore="$STK_KEYSTORE" \
-Palias="$STK_ALIAS" \
-Pndk_version="$STK_NDK_VERSION" \
-Pcompile_arch="$COMPILE_ARCH" \
-Pcpu_core="$CPU_CORE" \
$GRADLE_BUILD_TYPE
if [ "$GRADLE_BUILD_TYPE" = "assembleRelease" ]; then
./gradlew -Pcompile_sdk_version="$COMPILE_SDK_VERSION" \
-Pmin_sdk_version="$STK_MIN_ANDROID_SDK" \
-Ptarget_sdk_version="$STK_TARGET_ANDROID_SDK" \
-Pstorepass="$STK_STOREPASS" \
-Pkeystore="$STK_KEYSTORE" \
-Palias="$STK_ALIAS" \
-Pndk_version="$STK_NDK_VERSION" \
-Pcompile_arch="$COMPILE_ARCH" \
-Pcpu_core="$CPU_CORE" \
"bundleRelease"
fi
check_error

376
android/make_deps.sh Executable file
View file

@ -0,0 +1,376 @@
#!/bin/sh
# Tested with NDK 22.1.7171670
export DIRNAME=$(realpath "$(dirname "$0")")
export NDK_PATH_DEFAULT="$DIRNAME/android-ndk"
export ARCH_ARMV7=arm
export HOST_ARMV7=arm-linux-androideabi
export ARCH_AARCH64=arm64
export HOST_AARCH64=aarch64-linux-android
export ARCH_X86=x86
export HOST_X86=i686-linux-android
export ARCH_X86_64=x86_64
export HOST_X86_64=x86_64-linux-android
# A helper function that checks if error ocurred
check_error()
{
if [ $? -gt 0 ]; then
echo "Error ocurred."
exit
fi
}
# Handle clean command
if [ ! -z "$1" ] && [ "$1" = "clean" ]; then
rm -rf "$DIRNAME/deps-armeabi-v7a"
rm -rf "$DIRNAME/deps-arm64-v8a"
rm -rf "$DIRNAME/deps-x86"
rm -rf "$DIRNAME/deps-x86_64"
exit
fi
if [ -z "$NDK_PATH" ]; then
export NDK_PATH="$NDK_PATH_DEFAULT"
fi
if [ -z "$STK_NDK_VERSION" ]; then
export STK_NDK_VERSION=23.1.7779620
fi
NDK_PATH="$(realpath "$NDK_PATH")/${STK_NDK_VERSION}"
if [ ! -d "$NDK_PATH" ]; then
echo "Error: Couldn't find $NDK_PATH directory. Please create a symlink" \
"to your Android NDK installation in the $NDK_PATH_DEFAULT or set" \
"proper path in the NDK_PATH variable"
exit
fi
export NDK_TOOLCHAIN_PATH="$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64/bin"
export NDK_SYSROOT="$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64/sysroot"
export PATH="$NDK_TOOLCHAIN_PATH:$PATH"
build_deps()
{
export ARCH_OPTION=$1
if [ "$ARCH_OPTION" = "armv7" ]; then
ARCH_OPTION="armeabi-v7a"
export ARCH=$ARCH_ARMV7
# Special case
export HOST=armv7a-linux-androideabi16
export HOST_DIR=$HOST_ARMV7
elif [ "$ARCH_OPTION" = "aarch64" ]; then
ARCH_OPTION="arm64-v8a"
export ARCH=$ARCH_AARCH64
export HOST_DIR=$HOST_AARCH64
export HOST="${HOST_DIR}21"
elif [ "$ARCH_OPTION" = "x86" ]; then
export ARCH=$ARCH_X86
export HOST_DIR=$HOST_X86
export HOST="${HOST_DIR}16"
elif [ "$ARCH_OPTION" = "x86_64" ]; then
export ARCH=$ARCH_X86_64
export HOST_DIR=$HOST_X86_64
export HOST="${HOST_DIR}21"
else
echo "Unknown architecture: $1. Possible values are:"\
"all, armv7, aarch64, x86, x86_64"
exit
fi
# Zlib
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/zlib.stamp" ]; then
echo "Compiling $ARCH_OPTION zlib"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/zlib"
cp -a -f "$DIRNAME/../lib/zlib/"* "$DIRNAME/deps-$ARCH_OPTION/zlib"
cd "$DIRNAME/deps-$ARCH_OPTION/zlib"
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" &&
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/zlib.stamp"
fi
# Libpng
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/libpng.stamp" ]; then
echo "Compiling $ARCH_OPTION libpng"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libpng"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libpng/lib"
cp -a -f "$DIRNAME/../lib/libpng/"* "$DIRNAME/deps-$ARCH_OPTION/libpng"
cd "$DIRNAME/deps-$ARCH_OPTION/libpng"
MLIBRARY="$NDK_SYSROOT/usr/lib/$HOST_DIR/libm.a"
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH \
-DZLIB_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/zlib/libz.a" \
-DZLIB_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/zlib/" \
-DM_LIBRARY="$MLIBRARY" \
-DPNG_TESTS=0 -DCMAKE_C_FLAGS="-fpic -O3 -g" &&
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/libpng.stamp"
fi
# Freetype bootstrap
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/freetype_bootstrap.stamp" ]; then
echo "Compiling $ARCH_OPTION freetype bootstrap"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/freetype/build"
cp -a -f "$DIRNAME/../lib/freetype/"* "$DIRNAME/deps-$ARCH_OPTION/freetype"
cd "$DIRNAME/deps-$ARCH_OPTION/freetype/build"
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH \
-DZLIB_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/zlib/libz.a" \
-DZLIB_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/zlib/" \
-DPNG_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/libpng/libpng.a" \
-DPNG_PNG_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/libpng/" \
-DFT_WITH_HARFBUZZ=OFF -DFT_WITH_BZIP2=OFF \
-DFT_WITH_BROTLI=OFF -DFT_WITH_ZLIB=ON -DFT_WITH_PNG=ON \
-DCMAKE_C_FLAGS="-fpic -O3 -g" &&
make -j $(($(nproc) + 1))
check_error
# We need to rebuild freetype after harfbuzz is compiled
touch "$DIRNAME/deps-$ARCH_OPTION/freetype_bootstrap.stamp"
fi
# Harfbuzz
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/harfbuzz.stamp" ]; then
echo "Compiling $ARCH_OPTION harfbuzz"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/harfbuzz/build"
cp -a -f "$DIRNAME/../lib/harfbuzz/"* "$DIRNAME/deps-$ARCH_OPTION/harfbuzz"
cd "$DIRNAME/deps-$ARCH_OPTION/harfbuzz/build"
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DBUILD_SHARED_LIBS=OFF \
-DFREETYPE_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/freetype/build/libfreetype.a $DIRNAME/deps-$ARCH_OPTION/libpng/libpng.a $DIRNAME/deps-$ARCH_OPTION/zlib/libz.a" \
-DFREETYPE_INCLUDE_DIRS="$DIRNAME/deps-$ARCH_OPTION/freetype/include/" \
-DHB_HAVE_GLIB=OFF -DHB_HAVE_GOBJECT=OFF -DHB_HAVE_ICU=OFF \
-DHB_HAVE_FREETYPE=ON -DHB_BUILD_SUBSET=OFF \
-DCMAKE_C_FLAGS="-fpic -O3 -g" -DCMAKE_CXX_FLAGS="-std=gnu++0x -fpic -O3 -g" &&
make -j $(($(nproc) + 1))
check_error
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/harfbuzz/include/harfbuzz"
cp $DIRNAME/deps-$ARCH_OPTION/harfbuzz/src/*.h "$DIRNAME/deps-$ARCH_OPTION/harfbuzz/include/harfbuzz"
touch "$DIRNAME/deps-$ARCH_OPTION/harfbuzz.stamp"
fi
# Freetype
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/freetype.stamp" ]; then
echo "Compiling $ARCH_OPTION freetype"
cd "$DIRNAME/deps-$ARCH_OPTION/freetype/build"
rm -rf *
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH \
-DZLIB_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/zlib/libz.a" \
-DZLIB_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/zlib/" \
-DPNG_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/libpng/libpng.a" \
-DPNG_PNG_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/libpng/" \
-DHarfBuzz_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/harfbuzz/build/libharfbuzz.a" \
-DHarfBuzz_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/harfbuzz/src/" \
-DFT_WITH_HARFBUZZ=ON -DFT_WITH_BZIP2=OFF \
-DFT_WITH_BROTLI=OFF -DFT_WITH_ZLIB=ON -DFT_WITH_PNG=ON \
-DCMAKE_C_FLAGS="-fpic -O3 -g" &&
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/freetype.stamp"
fi
# Openal
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/openal.stamp" ]; then
echo "Compiling $ARCH_OPTION openal"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/openal"
cp -a -f "$DIRNAME/../lib/openal/"* "$DIRNAME/deps-$ARCH_OPTION/openal"
cd "$DIRNAME/deps-$ARCH_OPTION/openal"
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DALSOFT_UTILS=0 -DALSOFT_EXAMPLES=0 \
-DLIBTYPE=STATIC -DOPENSL_LIBRARY="-lOpenSLES" \
-DOPENSL_INCLUDE_DIR="$NDK_SYSROOT/usr/include/SLES/" \
-DOPENSL_ANDROID_INCLUDE_DIR="$NDK_SYSROOT/usr/include/SLES/" \
-DCMAKE_C_FLAGS="-fpic -O3 -g" -DCMAKE_CXX_FLAGS="-fpic -O3 -g" &&
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/openal.stamp"
fi
# MbedTLS
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/mbedtls.stamp" ]; then
echo "Compiling $ARCH_OPTION mbedtls"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/mbedtls"
cp -a -f "$DIRNAME/../lib/mbedtls/"* "$DIRNAME/deps-$ARCH_OPTION/mbedtls"
cd "$DIRNAME/deps-$ARCH_OPTION/mbedtls"
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DBUILD_SHARED_LIBS=OFF \
-DENABLE_TESTING=OFF -DENABLE_PROGRAMS=OFF \
-DCMAKE_C_FLAGS="-fpic -O3 -g" &&
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/mbedtls.stamp"
fi
# Curl
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/curl.stamp" ]; then
echo "Compiling $ARCH_OPTION curl"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/curl"
cp -a -f "$DIRNAME/../lib/curl/"* "$DIRNAME/deps-$ARCH_OPTION/curl"
cd "$DIRNAME/deps-$ARCH_OPTION/curl"
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DBUILD_SHARED_LIBS=OFF \
-DZLIB_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/zlib/libz.a" \
-DZLIB_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/zlib/" \
-DMBEDCRYPTO_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/mbedtls/library/libmbedcrypto.a" \
-DMBEDTLS_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/mbedtls/library/libmbedtls.a" \
-DMBEDX509_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/mbedtls/library/libmbedx509.a" \
-DMBEDTLS_INCLUDE_DIRS="$DIRNAME/deps-$ARCH_OPTION/mbedtls/include/" \
-DBUILD_TESTING=OFF -DBUILD_CURL_EXE=OFF \
-DCURL_USE_MBEDTLS=ON -DUSE_ZLIB=ON -DCURL_USE_OPENSSL=OFF \
-DCURL_USE_LIBSSH=OFF -DCURL_USE_LIBSSH2=OFF \
-DCURL_USE_GSSAPI=OFF -DUSE_NGHTTP2=OFF -DUSE_QUICHE=OFF \
-DHTTP_ONLY=ON -DCURL_CA_BUNDLE=none -DCURL_CA_PATH=none \
-DENABLE_THREADED_RESOLVER=ON -DCMAKE_C_FLAGS="-fpic -O3 -g" &&
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/curl.stamp"
fi
# Libjpeg
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/libjpeg.stamp" ]; then
echo "Compiling $ARCH_OPTION libjpeg"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libjpeg"
cp -a -f "$DIRNAME/../lib/libjpeg/"* "$DIRNAME/deps-$ARCH_OPTION/libjpeg"
cd "$DIRNAME/deps-$ARCH_OPTION/libjpeg"
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" &&
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/libjpeg.stamp"
fi
# Libogg
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/libogg.stamp" ]; then
echo "Compiling $ARCH_OPTION libogg"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libogg"
cp -a -f "$DIRNAME/../lib/libogg/"* "$DIRNAME/deps-$ARCH_OPTION/libogg"
cd "$DIRNAME/deps-$ARCH_OPTION/libogg"
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" &&
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/libogg.stamp"
fi
# Libvorbis
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/libvorbis.stamp" ]; then
echo "Compiling $ARCH_OPTION libvorbis"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libvorbis"
cp -a -f "$DIRNAME/../lib/libvorbis/"* "$DIRNAME/deps-$ARCH_OPTION/libvorbis"
cd "$DIRNAME/deps-$ARCH_OPTION/libvorbis"
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" \
-DOGG_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/libogg/libogg.a" \
-DOGG_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/libogg/include" &&
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/libvorbis.stamp"
fi
# Shaderc
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/shaderc.stamp" ]; then
echo "Compiling $ARCH_OPTION shaderc"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/shaderc"
cp -a -f "$DIRNAME/../lib/shaderc/"* "$DIRNAME/deps-$ARCH_OPTION/shaderc"
cd "$DIRNAME/deps-$ARCH_OPTION/shaderc"
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3" \
-DCMAKE_CXX_FLAGS="-fpic -O3" -DSHADERC_SKIP_INSTALL=1 \
-DCMAKE_BUILD_TYPE=Release \
-DSHADERC_SKIP_TESTS=1 -DSHADERC_SKIP_EXAMPLES=1 \
-DSPIRV_HEADERS_SKIP_INSTALL=1 -DSPIRV_HEADERS_SKIP_EXAMPLES=1 \
-DSKIP_SPIRV_TOOLS_INSTALL=1 -DSPIRV_SKIP_TESTS=1 \
-DSPIRV_SKIP_EXECUTABLES=1 -DENABLE_GLSLANG_BINARIES=0 \
-DENABLE_CTEST=0 &&
make -j $(($(nproc) + 1))
# Strip debug symbol to make app bundle smaller
llvm-strip --strip-debug "$DIRNAME/deps-$ARCH_OPTION/shaderc/libshaderc/libshaderc_combined.a"
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/shaderc.stamp"
fi
# Libsquish
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/libsquish.stamp" ]; then
echo "Compiling $ARCH_OPTION libsquish"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libsquish"
cp -a -f "$DIRNAME/../lib/libsquish/"* "$DIRNAME/deps-$ARCH_OPTION/libsquish"
cd "$DIRNAME/deps-$ARCH_OPTION/libsquish"
if [[ "$ARCH_OPTION" = "x86" || "$ARCH_OPTION" = "x86_64" ]]; then
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH \
-DCMAKE_C_FLAGS="-fpic -O3 -g -DSQUISH_USE_SSE=2 -msse2" \
-DCMAKE_CXX_FLAGS="-fpic -O3 -g -DSQUISH_USE_SSE=2 -msse2"
else
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" \
-DCMAKE_CXX_FLAGS="-fpic -O3 -g"
fi
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/libsquish.stamp"
fi
# ASTC-encoder
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/astc-encoder.stamp" ]; then
echo "Compiling $ARCH_OPTION astc-encoder"
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/astc-encoder"
cp -a -f "$DIRNAME/../lib/astc-encoder/"* "$DIRNAME/deps-$ARCH_OPTION/astc-encoder"
cd "$DIRNAME/deps-$ARCH_OPTION/astc-encoder"
sed -i '/-Werror/d' Source/cmake_core.cmake
sed -i 's|${ASTC_TARGET}-static|astcenc|g' Source/cmake_core.cmake
if [ "$ARCH_OPTION" = "armeabi-v7a" ]; then
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DSTK_ARM_NEON=ON \
-DCMAKE_C_FLAGS="-fpic -O3 -g -mfpu=neon" \
-DCMAKE_CXX_FLAGS="-fpic -O3 -g -mfpu=neon" \
-DNO_INVARIANCE=ON -DCLI=OFF
elif [ "$ARCH_OPTION" = "arm64-v8a" ]; then
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" \
-DCMAKE_CXX_FLAGS="-fpic -O3 -g" \
-DISA_NEON=ON -DNO_INVARIANCE=ON -DCLI=OFF
elif [ "$ARCH_OPTION" = "x86" ]; then
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" \
-DCMAKE_CXX_FLAGS="-fpic -O3 -g" \
-DISA_SSE2=ON -DNO_INVARIANCE=ON -DCLI=OFF
else
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" \
-DCMAKE_CXX_FLAGS="-fpic -O3 -g" \
-DISA_SSE41=ON -DNO_INVARIANCE=ON -DCLI=OFF
fi
make -j $(($(nproc) + 1))
check_error
touch "$DIRNAME/deps-$ARCH_OPTION/astc-encoder.stamp"
fi
}
if [ -z "$COMPILE_ARCH" ] || [ "$COMPILE_ARCH" = "all" ]; then
build_deps armv7
build_deps aarch64
build_deps x86
build_deps x86_64
else
build_deps "$COMPILE_ARCH"
fi

View file

@ -0,0 +1,298 @@
package org.supertuxkart.stk_dbg;
import org.libsdl.app.SDLActivity;
import org.supertuxkart.stk_dbg.STKInputConnection;
import android.content.Context;
import android.text.InputType;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputMethodManager;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
// We need to extend EditText instead of view to allow copying to our STK
// editbox
public class STKEditText extends EditText
{
private int m_composing_start;
private int m_composing_end;
/* Used to prevent copying text to non focused widget in STK. */
private int m_stk_widget_id;
private STKInputConnection m_stk_input_connection;
/* Used to avoid infinite calling updateSTKEditBox if setText currently
* by jni or clearing text when out focus. */
private boolean m_from_stk_editbox;
// ------------------------------------------------------------------------
private native static void editText2STKEditbox(int widget_id,
String full_text, int start,
int end,
int composing_start,
int composing_end);
// ------------------------------------------------------------------------
private native static void handleActionNext(int widget_id);
// ------------------------------------------------------------------------
private native static void handleLeftRight(boolean left, int widget_id);
// ------------------------------------------------------------------------
public STKEditText(Context context)
{
super(context);
setInputType(InputType.TYPE_CLASS_TEXT);
setFocusableInTouchMode(true);
m_composing_start = 0;
m_composing_end = 0;
m_stk_widget_id = -1;
m_from_stk_editbox = false;
m_stk_input_connection = null;
setOnEditorActionListener(new EditText.OnEditorActionListener()
{
@Override
public boolean onEditorAction(TextView v, int action_id,
KeyEvent event)
{
if (action_id == EditorInfo.IME_ACTION_NEXT)
{
handleActionNext(m_stk_widget_id);
// STK will handle the closing of the screen keyboard
return true;
}
return false;
}
});
setOnKeyListener(new EditText.OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
// Up or down pressed, leave focus
if (keyCode == KeyEvent.KEYCODE_DPAD_UP ||
keyCode == KeyEvent.KEYCODE_DPAD_DOWN)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
beforeHideKeyboard(true/*clear_text*/);
SDLActivity.onNativeKeyDown(keyCode);
SDLActivity.onNativeKeyUp(keyCode);
}
return true;
}
// For left or right let STK decides
else if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT &&
getSelectionStart() == 0)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
beforeHideKeyboard(true/*clear_text*/);
handleLeftRight(true, m_stk_widget_id);
}
else
updateSTKEditBox();
return true;
}
else if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT &&
getSelectionEnd() == getText().length())
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
beforeHideKeyboard(true/*clear_text*/);
handleLeftRight(false, m_stk_widget_id);
}
else
updateSTKEditBox();
return true;
}
else if (keyCode == KeyEvent.KEYCODE_ENTER)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
handleActionNext(m_stk_widget_id);
return true;
}
// Requires for hardware key like "Ctrl-a" so it will select
// all text in stk edit box
updateSTKEditBox();
return false;
}
});
}
// ------------------------------------------------------------------------
@Override
public InputConnection onCreateInputConnection(EditorInfo out_attrs)
{
if (m_stk_input_connection == null)
{
m_stk_input_connection = new STKInputConnection(
super.onCreateInputConnection(out_attrs), this);
}
out_attrs.actionLabel = null;
out_attrs.inputType = getInputType();
out_attrs.imeOptions = EditorInfo.IME_ACTION_NEXT |
EditorInfo.IME_FLAG_NO_FULLSCREEN |
EditorInfo.IME_FLAG_NO_EXTRACT_UI;
return m_stk_input_connection;
}
// ------------------------------------------------------------------------
@Override
public boolean onCheckIsTextEditor() { return true; }
// ------------------------------------------------------------------------
@Override
public boolean onKeyPreIme(int key_code, KeyEvent event)
{
// Always remove the focus on STKEdit when pressing back button in
// phone, which hideSoftInputFromWindow is called by java itself
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK &&
event.getAction() == KeyEvent.ACTION_UP)
beforeHideKeyboard(false/*clear_text*/);
return false;
}
// ------------------------------------------------------------------------
public void setComposingRegion(int start, int end)
{
// From doc of InputConnectionWrapper, it says:
// Editor authors, be ready to accept a start that is greater than end.
if (start != end && start > end)
{
m_composing_end = start;
m_composing_start = end;
}
else
{
m_composing_start = start;
m_composing_end = end;
}
}
// ------------------------------------------------------------------------
public void updateSTKEditBox()
{
if (!isFocused() || m_from_stk_editbox)
return;
editText2STKEditbox(m_stk_widget_id, getText().toString(),
getSelectionStart(), getSelectionEnd(), m_composing_start,
m_composing_end);
}
// ------------------------------------------------------------------------
public void beforeHideKeyboard(final boolean clear_text)
{
try
{
if (clear_text)
{
// No need updating stk editbox on clearing text when out focus
m_from_stk_editbox = true;
{
super.clearComposingText();
super.getText().clear();
}
m_from_stk_editbox = false;
}
clearFocus();
setVisibility(View.GONE);
SDLActivity.reFocusAfterSTKEditText();
}
catch (Exception e)
{
m_from_stk_editbox = false;
}
}
// ------------------------------------------------------------------------
/* Called by STK with JNI to set this view with new text (like user focus
* a new editbox in stk, or change cursor / selection). */
public void setTextFromSTK(int widget_id, final String text,
int selection_start, int selection_end)
{
m_stk_widget_id = widget_id;
// Avoid sending the newly set text back to STK at the same time
m_from_stk_editbox = true;
try
{
String old_text = getText().toString();
boolean text_changed = !text.equals(old_text);
if (text_changed)
{
super.clearComposingText();
super.setText(text);
m_stk_input_connection.setComposingRegion(0, 0);
}
if (selection_start != selection_end &&
selection_start > selection_end)
{
int temp = selection_end;
selection_end = selection_start;
selection_start = temp;
}
if (selection_start < 0)
selection_start = 0;
if (selection_end > length())
selection_end = length();
if (text_changed)
{
InputMethodManager imm = (InputMethodManager)getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null)
{
// From google, You should call this when the text within
// your view changes outside of the normal input method or
// key input flow, such as when an application calls
// TextView.setText().
imm.restartInput(this);
}
}
setSelection(selection_start, selection_end);
}
catch (Exception e)
{
m_from_stk_editbox = false;
}
m_from_stk_editbox = false;
}
// ------------------------------------------------------------------------
public STKInputConnection getSTKInputConnection()
{ return m_stk_input_connection; }
// ------------------------------------------------------------------------
public void configType(final int type)
{
int it = InputType.TYPE_CLASS_TEXT;
// Check text_box_widget.hpp for definition
switch (type)
{
case 0:
{
it = InputType.TYPE_CLASS_TEXT;
break;
}
case 1:
{
it = InputType.TYPE_CLASS_TEXT |
InputType.TYPE_TEXT_FLAG_CAP_SENTENCES;
break;
}
case 2:
{
it = InputType.TYPE_TEXT_VARIATION_PASSWORD;
break;
}
case 3:
{
it = InputType.TYPE_CLASS_NUMBER;
break;
}
case 4:
{
it = InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS;
break;
}
default:
break;
}
if (it != getInputType())
setInputType(it);
}
}

View file

@ -0,0 +1,68 @@
package org.supertuxkart.stk_dbg;
import org.supertuxkart.stk_dbg.STKEditText;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputConnectionWrapper;
public class STKInputConnection extends InputConnectionWrapper
{
/* The global edittext which will be "copied" to the current focused STK
* box. */
final private STKEditText m_stk_edittext;
// ------------------------------------------------------------------------
public STKInputConnection(InputConnection target, STKEditText stk_edittext)
{
super(target, true/*mutable*/);
m_stk_edittext = stk_edittext;
}
// ------------------------------------------------------------------------
@Override
public boolean setComposingText(CharSequence text, int new_cursor_position)
{
boolean ret = super.setComposingText(text, new_cursor_position);
String composing_text = text.toString();
String new_text = m_stk_edittext.getText().toString();
int composing_start = 0;
int composing_end = 0;
// Test last char
if (!composing_text.isEmpty() && !new_text.isEmpty() &&
composing_text.charAt(composing_text.length() - 1) ==
new_text.charAt(new_text.length() - 1))
{
composing_start = new_text.length() - composing_text.length();
composing_end = composing_start + composing_text.length();
}
m_stk_edittext.setComposingRegion(composing_start, composing_end);
m_stk_edittext.updateSTKEditBox();
return ret;
}
// ------------------------------------------------------------------------
@Override
public boolean finishComposingText()
{
m_stk_edittext.setComposingRegion(0, 0);
m_stk_edittext.updateSTKEditBox();
return super.finishComposingText();
}
// ------------------------------------------------------------------------
@Override
public boolean setComposingRegion(int start, int end)
{
m_stk_edittext.setComposingRegion(start, end);
m_stk_edittext.updateSTKEditBox();
return super.setComposingRegion(start, end);
}
// ------------------------------------------------------------------------
@Override
public boolean commitText(CharSequence text, int new_cursor_position)
{
// Usually only a single character, so dismiss composing region
boolean ret = super.commitText(text, new_cursor_position);
m_stk_edittext.setComposingRegion(0, 0);
m_stk_edittext.updateSTKEditBox();
return ret;
}
}

View file

@ -0,0 +1,528 @@
package org.supertuxkart.stk_dbg;
import org.supertuxkart.stk_dbg.STKEditText;
import org.libsdl.app.SDLActivity;
import org.libsdl.app.SDL;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.AssetManager;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Process;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Display;
import android.view.DisplayCutout;
import android.view.Gravity;
import android.view.inputmethod.InputMethodManager;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.ViewGroup;
import android.view.ViewGroup.MarginLayoutParams;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.view.View;
import android.view.Window;
import android.view.WindowInsets;
import android.view.WindowManager;
import android.view.WindowManager.LayoutParams;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.util.DisplayMetrics;
import java.io.InputStream;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.Set;
import org.minidns.hla.DnssecResolverApi;
import org.minidns.hla.ResolverResult;
import org.minidns.record.SRV;
import org.minidns.record.TXT;
public class SuperTuxKartActivity extends SDLActivity
{
private AlertDialog m_progress_dialog;
private ProgressBar m_progress_bar;
private ImageView m_splash_screen;
private STKEditText m_stk_edittext;
private int m_bottom_y;
private int m_intial_orientation;
private float m_top_padding;
private float m_bottom_padding;
private float m_left_padding;
private float m_right_padding;
private AtomicInteger m_keyboard_height;
private AtomicInteger m_moved_height;
// ------------------------------------------------------------------------
public native static void debugMsg(String msg);
// ------------------------------------------------------------------------
private native static void handlePadding(boolean val);
// ------------------------------------------------------------------------
private native static void saveKeyboardHeight(int height);
// ------------------------------------------------------------------------
private native static void saveMovedHeight(int height);
// ------------------------------------------------------------------------
private native static void addDNSSrvRecords(String name, int weight);
// ------------------------------------------------------------------------
private native static void pauseRenderingJNI();
// ------------------------------------------------------------------------
private void showExtractProgressPrivate()
{
WindowManager wm =
(WindowManager)getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics display_metrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(display_metrics);
int padding = display_metrics.widthPixels / 64;
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
ll.setPadding(padding, padding, padding, padding);
ll.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams ll_param = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
ll_param.gravity = Gravity.CENTER;
TextView tv = new TextView(this);
// From values strings.xml which is generated by make.sh
tv.setText(getString(R.string.po_extract_game_data));
tv.setLayoutParams(ll_param);
ll_param = new LinearLayout.LayoutParams(
display_metrics.widthPixels,
LinearLayout.LayoutParams.WRAP_CONTENT);
ll_param.gravity = Gravity.CENTER;
ll.setLayoutParams(ll_param);
m_progress_bar = new ProgressBar(this, null,
android.R.attr.progressBarStyleHorizontal);
m_progress_bar.setIndeterminate(false);
m_progress_bar.setPadding(0, padding, 0, padding);
m_progress_bar.setLayoutParams(ll_param);
ll.addView(tv);
ll.addView(m_progress_bar);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(false);
builder.setView(ll);
m_progress_dialog = builder.create();
m_progress_dialog.show();
Window window = m_progress_dialog.getWindow();
if (window != null)
{
WindowManager.LayoutParams layout_params =
new WindowManager.LayoutParams();
layout_params.copyFrom(
m_progress_dialog.getWindow().getAttributes());
layout_params.width = WindowManager.LayoutParams.MATCH_PARENT;
layout_params.height = LinearLayout.LayoutParams.WRAP_CONTENT;
m_progress_dialog.getWindow().setAttributes(layout_params);
}
}
// ------------------------------------------------------------------------
private void hideKeyboardNative(final boolean clear_text)
{
if (m_stk_edittext == null)
return;
m_stk_edittext.beforeHideKeyboard(clear_text);
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm == null)
return;
imm.hideSoftInputFromWindow(m_stk_edittext.getWindowToken(), 0);
}
// ------------------------------------------------------------------------
private void createSTKEditText()
{
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
// We move the dummy edittext out of the android screen because we draw
// our own manually
params.setMargins(0, -100000, 1, -100010);
m_stk_edittext = new STKEditText(this);
// For some copy-and-paste text are not done by commitText in
// STKInputConnection, so we need an extra watcher
m_stk_edittext.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {}
@Override
public void afterTextChanged(Editable edit)
{
if (m_stk_edittext != null)
m_stk_edittext.updateSTKEditBox();
}
});
addContentView(m_stk_edittext, params);
// Only focus it and make visible when soft keybord is opened
m_stk_edittext.setVisibility(View.GONE);
}
// ------------------------------------------------------------------------
@Override
public void onCreate(Bundle instance)
{
super.onCreate(instance);
m_keyboard_height = new AtomicInteger();
m_moved_height = new AtomicInteger();
m_progress_dialog = null;
m_progress_bar = null;
m_splash_screen = null;
m_bottom_y = m_intial_orientation = 0;
m_top_padding = m_bottom_padding = m_left_padding = m_right_padding =
0.0f;
final View root = getWindow().getDecorView().findViewById(
android.R.id.content);
root.getViewTreeObserver().addOnGlobalLayoutListener(new
OnGlobalLayoutListener()
{
@Override
public void onGlobalLayout()
{
Rect r = new Rect();
root.getWindowVisibleDisplayFrame(r);
int screen_height = root.getRootView().getHeight();
int keyboard_height = screen_height - (r.bottom);
m_keyboard_height.set(keyboard_height);
int moved_height = 0;
int margin = screen_height - m_bottom_y;
if (keyboard_height > margin)
moved_height = -keyboard_height + margin;
m_moved_height.set(-moved_height);
SDLActivity.moveView(moved_height);
}
});
InputStream istr = null;
try
{
LinearLayout ll = new LinearLayout(this);
LinearLayout.LayoutParams ll_param = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
ll.setLayoutParams(ll_param);
WindowManager wm =
(WindowManager)getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics display_metrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(display_metrics);
Bitmap.Config conf = Bitmap.Config.ARGB_8888;
int w = display_metrics.widthPixels;
int h = display_metrics.heightPixels;
Bitmap scaled = Bitmap.createBitmap(w, h, conf);
Canvas canvas = new Canvas(scaled);
istr = getAssets().open("data/gui/icons/logo.png");
Bitmap logo = BitmapFactory.decodeStream(istr);
Rect src = new Rect(0, 0, logo.getWidth(), logo.getHeight());
// STK logo is a square
int target_size = w;
if (target_size > h)
target_size = h;
target_size /= 2;
Rect dest = new Rect(w / 2 - target_size / 2,
h / 2 - target_size / 2,
w / 2 - target_size / 2 + target_size,
h / 2 - target_size / 2 + target_size);
canvas.drawBitmap(logo, src, dest, null);
m_splash_screen = new ImageView(this);
m_splash_screen.setBackgroundColor(Color.argb(255, 168, 168, 168));
m_splash_screen.setImageDrawable(new BitmapDrawable(getResources(),
scaled));
addContentView(m_splash_screen, ll_param);
}
catch (Exception e) {}
finally
{
try
{
if (istr != null)
istr.close();
}
catch(Exception e) {}
}
}
// ------------------------------------------------------------------------
@Override
public void onStart()
{
super.onStart();
m_keyboard_height.set(0);
m_moved_height.set(0);
}
// ------------------------------------------------------------------------
@Override
public void onPause()
{
super.onPause();
hideKeyboardNative(false/*clear_text*/);
if (SDLActivity.mSDLThread != null)
pauseRenderingJNI();
}
// ------------------------------------------------------------------------
/* SDL manually dlopen main to allow unload after main thread exit. */
protected String[] getLibraries()
{
return new String[]{ "SDL2" };
}
// ------------------------------------------------------------------------
protected String getMainSharedObject()
{
return getContext().getApplicationInfo().nativeLibraryDir + "/libmain.so";
}
// ------------------------------------------------------------------------
public void showKeyboard(final int type, final int y)
{
final Context context = this;
// Need to run in ui thread as it access the view m_stk_edittext
runOnUiThread(new Runnable()
{
@Override
public void run()
{
m_bottom_y = y;
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm == null)
return;
if (m_stk_edittext == null)
createSTKEditText();
m_stk_edittext.configType(type);
m_stk_edittext.setVisibility(View.VISIBLE);
m_stk_edittext.requestFocus();
imm.showSoftInput(m_stk_edittext,
InputMethodManager.SHOW_FORCED);
}
});
}
// ------------------------------------------------------------------------
/* Called by STK in JNI. */
public void hideKeyboard(final boolean clear_text)
{
runOnUiThread(new Runnable()
{
@Override
public void run()
{
m_bottom_y = 0;
hideKeyboardNative(clear_text);
}
});
}
// ------------------------------------------------------------------------
/* Called by STK in JNI. */
public void fromSTKEditBox(final int widget_id, final String text,
final int selection_start,
final int selection_end, final int type)
{
runOnUiThread(new Runnable()
{
@Override
public void run()
{
if (m_stk_edittext == null)
createSTKEditText();
m_stk_edittext.configType(type);
m_stk_edittext.setTextFromSTK(widget_id, text, selection_start,
selection_end);
}
});
}
// ------------------------------------------------------------------------
public String[] getDNSTxtRecords(String domain)
{
try
{
ResolverResult<TXT> txts =
DnssecResolverApi.INSTANCE.resolve(domain, TXT.class);
Set<TXT> ans = txts.getAnswers();
String[] result = new String[ans.size()];
int i = 0;
for (TXT t : ans)
result[i++] = t.getText();
return result;
}
catch (Exception e)
{
e.printStackTrace();
return new String[0];
}
}
// ------------------------------------------------------------------------
public void getDNSSrvRecords(String domain)
{
try
{
ResolverResult<SRV> srvs =
DnssecResolverApi.INSTANCE.resolve(domain, SRV.class);
Set<SRV> ans = srvs.getAnswers();
for (SRV s : ans)
addDNSSrvRecords(s.target.toString() + ":" + s.port, s.weight);
}
catch (Exception e)
{
e.printStackTrace();
}
}
// ------------------------------------------------------------------------
public boolean isHardwareKeyboardConnected()
{
return getResources().getConfiguration()
.keyboard == Configuration.KEYBOARD_QWERTY;
}
// ------------------------------------------------------------------------
public int getScreenSize()
{
return getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK;
}
// ------------------------------------------------------------------------
public float getTopPadding() { return m_top_padding; }
// ------------------------------------------------------------------------
public float getBottomPadding() { return m_bottom_padding; }
// ------------------------------------------------------------------------
public float getLeftPadding() { return m_left_padding; }
// ------------------------------------------------------------------------
public float getRightPadding() { return m_right_padding; }
// ------------------------------------------------------------------------
public int getInitialOrientation() { return m_intial_orientation; }
// ------------------------------------------------------------------------
public void showExtractProgress(final int progress)
{
runOnUiThread(new Runnable()
{
@Override
public void run()
{
if (progress == -1)
{
if (m_progress_dialog != null)
{
m_progress_dialog.dismiss();
m_progress_dialog = null;
m_progress_bar = null;
}
AlertDialog.Builder error =
new AlertDialog.Builder(SDL.getContext());
error.setMessage(getString(R.string.po_extract_error_msg));
error.setTitle(getString(R.string.po_extract_error));
error.setPositiveButton(getString(R.string.po_quit),
new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog,
int id)
{
android.os.Process.killProcess(
android.os.Process.myPid());
}
});
error.setCancelable(false);
error.create().show();
return;
}
if (progress == 0 && m_progress_dialog == null)
showExtractProgressPrivate();
else if (progress == 100 && m_progress_dialog != null)
{
m_progress_dialog.dismiss();
m_progress_dialog = null;
m_progress_bar = null;
}
else if (m_progress_bar != null &&
m_progress_bar.getProgress() != progress)
{
m_progress_bar.setProgress(progress);
}
}
});
}
// ------------------------------------------------------------------------
public void hideSplashScreen()
{
if (m_splash_screen != null)
{
m_splash_screen.animate().setDuration(200).alpha(0).setListener(
new AnimatorListenerAdapter()
{
@Override
public void onAnimationEnd(Animator animation)
{
if (m_splash_screen.getParent() instanceof ViewGroup)
{
ViewGroup view = (ViewGroup)m_splash_screen.getParent();
view.removeView(m_splash_screen);
m_splash_screen = null;
}
}
});
}
}
// ------------------------------------------------------------------------
@Override
public void onAttachedToWindow()
{
super.onAttachedToWindow();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
{
DisplayCutout dc = getWindow().getDecorView().getRootWindowInsets()
.getDisplayCutout();
if (dc != null)
{
m_top_padding = (float)dc.getBoundingRectTop().height();
m_bottom_padding = (float)dc.getBoundingRectBottom().height();
m_left_padding = (float)dc.getBoundingRectLeft().width();
m_right_padding = (float)dc.getBoundingRectRight().width();
// Left or right will depend on the device initial orientation
// So save it for dealing with device rotation later
m_intial_orientation = SDLActivity.getCurrentOrientation();
}
}
}
// ------------------------------------------------------------------------
@Override
public void onMultiWindowModeChanged(boolean isInMultiWindowMode,
Configuration newConfig)
{
handlePadding(isInMultiWindowMode);
}
// ------------------------------------------------------------------------
public int getKeyboardHeight() { return m_keyboard_height.get(); }
// ------------------------------------------------------------------------
public int getMovedHeight() { return m_moved_height.get(); }
}

View file

@ -0,0 +1,27 @@
# Build type STKRelease is similar to Release provided by CMake,
# but it uses a lower optimization level
set(CMAKE_CXX_FLAGS_STKRELEASE "-O2 -DNDEBUG" CACHE STRING
"Flags used by the C++ compiler during STK release builds."
FORCE)
set(CMAKE_C_FLAGS_STKRELEASE "-O2 -DNDEBUG" CACHE STRING
"Flags used by the C compiler during STK release builds."
FORCE)
set(CMAKE_EXE_LINKER_FLAGS_STKRELEASE
"" CACHE STRING
"Flags used for linking binaries during STK release builds."
FORCE)
set(CMAKE_SHARED_LINKER_FLAGS_STKRELEASE
"" CACHE STRING
"Flags used by the shared libraries linker during STK release builds."
FORCE)
mark_as_advanced(
CMAKE_CXX_FLAGS_STKRELEASE
CMAKE_C_FLAGS_STKRELEASE
CMAKE_EXE_LINKER_FLAGS_STKRELEASE
CMAKE_SHARED_LINKER_FLAGS_STKRELEASE)
set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel STKRelease."
FORCE)

View file

@ -0,0 +1,33 @@
# - Try to find angelscript
# Once done this will define
#
# ANGELSCRIPT_FOUND - system has angelscript
# Angelscript_INCLUDE_DIRS - the angelscript include directory
# Angelscript_LIBRARIES - the libraries needed to use angelscript
#
FIND_PATH(Angelscript_INCLUDE_DIRS angelscript.h
PATHS
/usr/local
/usr
PATH_SUFFIXES include
)
FIND_LIBRARY(Angelscript_LIBRARY
NAMES angelscript angelscript_s
PATHS
/usr/local
/usr
PATH_SUFFIXES lib lib64 lib32
)
# handle the QUIETLY and REQUIRED arguments and set ANGELSCRIPT_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Angelscript DEFAULT_MSG Angelscript_LIBRARY Angelscript_INCLUDE_DIRS)
IF (ANGELSCRIPT_FOUND)
SET(Angelscript_LIBRARIES ${Angelscript_LIBRARY})
ENDIF (ANGELSCRIPT_FOUND)
MARK_AS_ADVANCED(Angelscript_LIBRARY Angelscript_LIBRARIES Angelscript_INCLUDE_DIRS)

18
cmake/FindEGL.cmake Normal file
View file

@ -0,0 +1,18 @@
# - Find EGL
# Find the EGL includes and libraries
#
# Following variables are provided:
# EGL_FOUND
# True if EGL has been found
# EGL_INCLUDE_DIR
# The include directory of EGL
# EGL_LIBRARY
# EGL library list
find_path(EGL_INCLUDE_DIR EGL/egl.h)
find_library(EGL_LIBRARY NAMES EGL)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(EGL DEFAULT_MSG EGL_LIBRARY EGL_INCLUDE_DIR)
mark_as_advanced(EGL_LIBRARY EGL_INCLUDE_DIR)

25
cmake/FindFreetype.cmake Normal file
View file

@ -0,0 +1,25 @@
# - Find Freetype
# Find the Freetype includes and libraries
#
# Following variables are provided:
# FREETYPE_FOUND
# True if Freetype has been found
# FREETYPE_INCLUDE_DIRS
# The include directories of Freetype
# FREETYPE_LIBRARIES
# Freetype library list
if(WIN32)
find_path(FREETYPE_INCLUDE_DIRS NAMES freetype/freetype.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include/freetype2")
find_library(FREETYPE_LIBRARY NAMES freetype libfreetype PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
set(FREETYPE_FOUND 1)
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
elseif(APPLE OR ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
find_path(FREETYPE_INCLUDE_DIRS NAMES ft2build.h PATH_SUFFIXES freetype2 include/freetype2 include)
find_library(FREETYPE_LIBRARY NAMES freetype)
set(FREETYPE_FOUND 1)
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
else()
pkg_check_modules(FREETYPE freetype2)
endif()

89
cmake/FindLibbfd.cmake Normal file
View file

@ -0,0 +1,89 @@
# - Try to find libbfd
# Once done this will define
#
# LIBBFD_FOUND - system has libbfd
# LIBBFD_INCLUDE_DIRS - the libbfd include directory
# LIBBFD_LIBRARIES - Link these to use libbfd
# LIBBFD_DEFINITIONS - Compiler switches required for using libbfd
#
# Based on:
#
# Copyright (c) 2008 Bernhard Walle <bernhard.walle@gmx.de>
#
# Redistribution and use is allowed according to the terms of the New
# BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
if (LIBBFD_LIBRARIES AND LIBBFD_INCLUDE_DIRS)
set (LIBBFD_FIND_QUIETLY TRUE)
endif ()
find_path (LIBBFD_INCLUDE_DIRS
NAMES
bfd.h
dis-asm.h
PATHS
/usr/include
/usr/local/include
/opt/local/include
/opt/include
ENV CPATH)
# Ugly, yes ugly...
find_library (LIBBFD_BFD_LIBRARY
NAMES
bfd
PATHS
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64
/usr/include
/opt/local/lib
/opt/usr/lib64
ENV LIBRARY_PATH
ENV LD_LIBRARY_PATH)
#find_library (LIBBFD_IBERTY_LIBRARY
# NAMES
# iberty
# PATHS
# /usr/lib
# /usr/lib64
# /usr/local/lib
# /usr/local/lib64
# /usr/include
# /opt/local/lib
# /opt/usr/lib64
# ENV LIBRARY_PATH
# ENV LD_LIBRARY_PATH)
#find_library (LIBBFD_OPCODES_LIBRARY
# NAMES
# opcodes
# PATHS
# /usr/lib
# /usr/lib64
# /usr/local/lib
# /usr/local/lib64
# /usr/include
# /opt/local/lib
# /opt/usr/lib64
# ENV LIBRARY_PATH
# ENV LD_LIBRARY_PATH)
include (FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set LIBBFD_FOUND to TRUE if all listed variables are TRUE
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBBFD DEFAULT_MSG
LIBBFD_BFD_LIBRARY
# LIBBFD_IBERTY_LIBRARY
# LIBBFD_OPCODES_LIBRARY
LIBBFD_INCLUDE_DIRS)
set(LIBBFD_LIBRARIES "${LIBBFD_BFD_LIBRARY}")
mark_as_advanced(LIBBFD_INCLUDE_DIRS LIBBFD_LIBRARIES LIBBFD_BFD_LIBRARY)

37
cmake/FindOggVorbis.cmake Normal file
View file

@ -0,0 +1,37 @@
# - Find OggVorbis
# Find the OggVorbis includes and libraries
#
# Following variables are provided:
# OGGVORBIS_FOUND
# True if OggVorbis has been found
# OGGVORBIS_INCLUDE_DIRS
# The include directories of OggVorbis
# OGGVORBIS_LIBRARIES
# OggVorbis library list
if((UNIX AND NOT APPLE) OR NINTENDO_SWITCH)
pkg_check_modules(OGGVORBIS vorbisfile)
else()
find_path(OGGVORBIS_OGG_INCLUDE_DIR NAMES ogg/ogg.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
find_path(OGGVORBIS_VORBIS_INCLUDE_DIR NAMES vorbis/vorbisfile.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
find_library(OGGVORBIS_OGG_LIBRARY NAMES ogg Ogg libogg PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
find_library(OGGVORBIS_VORBIS_LIBRARY NAMES vorbis Vorbis libvorbis PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
find_library(OGGVORBIS_VORBISFILE_LIBRARY NAMES vorbisfile libvorbisfile PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
find_library(OGGVORBIS_VORBISENC_LIBRARY NAMES vorbisenc libvorbisenc PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OggVorbis DEFAULT_MSG
OGGVORBIS_OGG_INCLUDE_DIR OGGVORBIS_VORBIS_INCLUDE_DIR
OGGVORBIS_OGG_LIBRARY OGGVORBIS_VORBIS_LIBRARY OGGVORBIS_VORBISFILE_LIBRARY)
# Publish variables
set(OGGVORBIS_INCLUDE_DIRS ${OGGVORBIS_OGG_INCLUDE_DIR} ${OGGVORBIS_VORBIS_INCLUDE_DIR})
set(OGGVORBIS_LIBRARIES ${OGGVORBIS_OGG_LIBRARY} ${OGGVORBIS_VORBIS_LIBRARY} ${OGGVORBIS_VORBISFILE_LIBRARY} ${OGGVORBIS_VORBISENC_LIBRARY})
list(REMOVE_DUPLICATES OGGVORBIS_INCLUDE_DIRS)
list(REMOVE_DUPLICATES OGGVORBIS_LIBRARIES)
mark_as_advanced(OGGVORBIS_OGG_INCLUDE_DIR OGGVORBIS_VORBIS_INCLUDE_DIR)
mark_as_advanced(OGGVORBIS_OGG_LIBRARY OGGVORBIS_VORBIS_LIBRARY OGGVORBIS_VORBISFILE_LIBRARY OGGVORBIS_VORBISENC_LIBRARY)
endif()

66
cmake/FindWayland.cmake Normal file
View file

@ -0,0 +1,66 @@
# - Find Wayland
# Find the Wayland includes and libraries
#
# Following variables are provided:
# WAYLAND_FOUND
# True if Wayland has been found
# WAYLAND_INCLUDE_DIRS
# The include directories of Wayland
# WAYLAND_LIBRARIES
# Wayland library list
find_package(PkgConfig REQUIRED)
if(NOT PKGCONFIG_FOUND)
message(FATAL_ERROR "Pkg-config not found.")
endif()
pkg_check_modules(PKG_WAYLAND QUIET wayland-client)
if(PKG_WAYLAND_FOUND)
set(WAYLAND_VERSION ${PKG_WAYLAND_VERSION})
else()
set(WAYLAND_VERSION 0)
endif()
find_path(WAYLAND_CLIENT_INCLUDE_DIR wayland-client.h)
find_path(WAYLAND_CURSOR_INCLUDE_DIR wayland-cursor.h)
find_path(WAYLAND_EGL_INCLUDE_DIR wayland-egl.h)
find_path(XKBCOMMON_INCLUDE_DIR xkbcommon/xkbcommon.h)
find_library(WAYLAND_CLIENT_LIBRARY NAMES wayland-client)
find_library(WAYLAND_CURSOR_LIBRARY NAMES wayland-cursor)
find_library(WAYLAND_EGL_LIBRARY NAMES wayland-egl)
find_library(XKBCOMMON_LIBRARY NAMES xkbcommon)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Wayland DEFAULT_MSG WAYLAND_CLIENT_LIBRARY
WAYLAND_CURSOR_LIBRARY
WAYLAND_EGL_LIBRARY
XKBCOMMON_LIBRARY
WAYLAND_CLIENT_INCLUDE_DIR
WAYLAND_CURSOR_INCLUDE_DIR
WAYLAND_EGL_INCLUDE_DIR
XKBCOMMON_INCLUDE_DIR)
set(WAYLAND_INCLUDE_DIRS ${WAYLAND_CLIENT_INCLUDE_DIR}
${WAYLAND_CURSOR_INCLUDE_DIR}
${WAYLAND_EGL_INCLUDE_DIR}
${XKBCOMMON_INCLUDE_DIR})
set(WAYLAND_LIBRARIES ${WAYLAND_CLIENT_LIBRARY}
${WAYLAND_CURSOR_LIBRARY}
${WAYLAND_EGL_LIBRARY}
${XKBCOMMON_LIBRARY})
list(REMOVE_DUPLICATES WAYLAND_INCLUDE_DIRS)
list(REMOVE_DUPLICATES WAYLAND_LIBRARIES)
mark_as_advanced(WAYLAND_CLIENT_LIBRARY
WAYLAND_CURSOR_LIBRARY
WAYLAND_EGL_LIBRARY
XKBCOMMON_LIBRARY
WAYLAND_CLIENT_INCLUDE_DIR
WAYLAND_CURSOR_INCLUDE_DIR
WAYLAND_EGL_INCLUDE_DIR
XKBCOMMON_INCLUDE_DIR)

99
cmake/FindWiiUse.cmake Normal file
View file

@ -0,0 +1,99 @@
# - try to find WiiUse library
#
# Cache Variables: (probably not for direct use in your scripts)
# WIIUSE_INCLUDE_DIR
# WIIUSE_LIBRARY
#
# Non-cache variables you might use in your CMakeLists.txt:
# WIIUSE_FOUND
# WIIUSE_INCLUDE_DIRS
# WIIUSE_LIBRARIES
# WIIUSE_RUNTIME_LIBRARIES - aka the dll for installing
# WIIUSE_RUNTIME_LIBRARY_DIRS
#
# Requires these CMake modules:
# FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
#
# Original Author:
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
#
# Copyright Iowa State University 2009-2010.
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
set(WIIUSE_ROOT_DIR
"${WIIUSE_ROOT_DIR}"
CACHE
PATH
"Directory to search for WiiUse")
if(CMAKE_SIZEOF_VOID_P MATCHES "8")
set(_LIBSUFFIXES /lib64 /lib)
else()
set(_LIBSUFFIXES /lib)
endif()
find_library(WIIUSE_LIBRARY
NAMES
wiiuse
PATHS
"${WIIUSE_ROOT_DIR}"
PATH_SUFFIXES
"${_LIBSUFFIXES}")
get_filename_component(_libdir "${WIIUSE_LIBRARY}" PATH)
find_path(WIIUSE_INCLUDE_DIR
NAMES
wiiuse.h
HINTS
"${_libdir}"
"${_libdir}/.."
PATHS
"${WIIUSE_ROOT_DIR}"
PATH_SUFFIXES
include/)
set(_deps_check)
if(WIN32)
find_file(WIIUSE_RUNTIME_LIBRARY
NAMES
wiiuse.dll
HINTS
"${_libdir}"
"${_libdir}/.."
PATH_SUFFIXES
bin)
set(WIIUSE_RUNTIME_LIBRARIES "${WIIUSE_RUNTIME_LIBRARY}")
get_filename_component(WIIUSE_RUNTIME_LIBRARY_DIRS
"${WIIUSE_RUNTIME_LIBRARY}"
PATH)
list(APPEND _deps_check WIIUSE_RUNTIME_LIBRARY)
else()
set(WIIUSE_RUNTIME_LIBRARY "${WIIUSE_LIBRARY}")
set(WIIUSE_RUNTIME_LIBRARIES "${WIIUSE_RUNTIME_LIBRARY}")
get_filename_component(WIIUSE_RUNTIME_LIBRARY_DIRS
"${WIIUSE_LIBRARY}"
PATH)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(WiiUse
DEFAULT_MSG
WIIUSE_LIBRARY
WIIUSE_INCLUDE_DIR
${_deps_check})
if(WIIUSE_FOUND)
set(WIIUSE_LIBRARIES "${WIIUSE_LIBRARY}")
set(WIIUSE_INCLUDE_DIRS "${WIIUSE_INCLUDE_DIR}")
mark_as_advanced(WIIUSE_ROOT_DIR)
endif()
mark_as_advanced(WIIUSE_INCLUDE_DIR
WIIUSE_LIBRARY
WIIUSE_RUNTIME_LIBRARY)

View file

@ -0,0 +1,39 @@
# Generate source groups which mimic the original folder hierarchy.
# This is mainly useful for MSVC's project explorer
# - SRCS list of source files
# - HDRS list of header files
function(source_group_hierarchy SRCS HDRS)
if(MSVC)
# This removes the 'Source Files' folder, which is
# not really necessary. Also, put header and source
# files into the same folder
foreach(source_file ${${SRCS}})
source_group_file(${source_file} "")
endforeach()
foreach(header_file ${${HDRS}})
source_group_file(${header_file} "")
endforeach()
else()
foreach(source_file ${${SRCS}})
source_group_file(${source_file} "Source Files\\")
endforeach()
foreach(header_file ${${HDRS}})
source_group_file(${header_file} "Source Files\\")
endforeach()
endif()
endfunction()
# Determine source_group depending on file path
# - FILE path to a file (header or source)
# - GROUP_PREFIX prefix for group name
function(source_group_file file group_prefix)
get_filename_component(file_path ${file} PATH)
if(${file_path} STREQUAL "src")
source_group("${group_prefix}" FILES ${file})
else()
string(REGEX REPLACE "^src/(.*)$" "\\1" group_name ${file_path})
string(REPLACE "/" "\\\\" group_name ${group_name})
source_group("${group_prefix}${group_name}" FILES ${file})
endif()
endfunction()

View file

@ -0,0 +1,40 @@
# Cross-compiling requires CMake 2.6 or newer. Example:
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../XCompile-Android.txt -DHOST=arm-linux-androideabi
# Where 'arm-linux-androideabi' is the host prefix for the cross-compiler. If
# you already have a toolchain file setup, you may use that instead of this
# file. Make sure to set CMAKE_FIND_ROOT_PATH to where the NDK toolchain was
# installed (e.g. "$ENV{HOME}/toolchains/arm-linux-androideabi-r10c-21").
# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Linux)
# which compilers to use for C and C++
SET(CMAKE_C_COMPILER "${HOST}-clang")
SET(CMAKE_CXX_COMPILER "${HOST}-clang++")
set(CMAKE_SYSTEM_PROCESSOR ${ARCH})
# Starting NDK21 it enables NEON by default on 32-bit ARM target
# Disable it to support more devices
if("${ARCH}" STREQUAL "arm" AND NOT STK_ARM_NEON)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=vfpv3-d16")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=vfpv3-d16")
endif()
# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH $ENV{NDK_TOOLCHAIN_PATH})
# here is where stuff gets installed to
SET(CMAKE_INSTALL_PREFIX "${CMAKE_FIND_ROOT_PATH}" CACHE STRING "Install path prefix, prepended onto install directories." FORCE)
# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
# set env vars so that pkg-config will look in the appropriate directory for
# .pc files (as there seems to be no way to force using ${HOST}-pkg-config)
set(ENV{PKG_CONFIG_LIBDIR} "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
set(ENV{PKG_CONFIG_PATH} "")

View file

@ -0,0 +1,48 @@
# Usage:
# cmake .. -DCCTOOLS_PREFIX=/path/to/cctools -DCCTOOLS_ARCH=arch -DCCTOOLS_PLATFORM=platform \
# -DRT=/path/to/cctools/darwin/libclang_rt.{ios, iossim, osx, tvos, tvossim}.a -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-cctools.cmake
# Download precompiled cctools at https://github.com/supertuxkart/dependencies/releases/download/preview/cctools.tar.xz
# Compiled in Ubuntu 18.04
# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Darwin)
# which compilers to use for C and C++
string(TOLOWER "${CCTOOLS_PLATFORM}" platform_lower)
set(CLANG_ARCH ${CCTOOLS_ARCH})
if(CCTOOLS_ARCH MATCHES ^arm)
set(CLANG_ARCH arm)
else()
set(CLANG_ARCH ${CCTOOLS_ARCH})
endif()
SET(CMAKE_C_COMPILER ${CCTOOLS_PREFIX}/bin/${CCTOOLS_ARCH}-${platform_lower}-clang)
SET(CMAKE_CXX_COMPILER ${CCTOOLS_PREFIX}/bin/${CCTOOLS_ARCH}-${platform_lower}-clang++)
SET(CMAKE_RANLIB ${CCTOOLS_PREFIX}/bin/${CLANG_ARCH}-apple-darwin11-ranlib)
SET(CMAKE_AR ${CCTOOLS_PREFIX}/bin/${CLANG_ARCH}-apple-darwin11-ar)
SET(CMAKE_INSTALL_NAME_TOOL ${CCTOOLS_PREFIX}/bin/${CLANG_ARCH}-apple-darwin11-install_name_tool)
SET(CMAKE_SYSTEM_PROCESSOR ${CCTOOLS_ARCH})
SET(CMAKE_MACOSX_RPATH TRUE)
SET(CMAKE_EXE_LINKER_FLAGS ${RT})
# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH ${PROJECT_SOURCE_DIR}/dependencies-${platform_lower} ${CCTOOLS_PREFIX}/sdk/${CCTOOLS_PLATFORM}.sdk)
# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ALWAYS)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
# fix statically linking because of order
if (NOT CCTOOLS_PLATFORM MATCHES MacOSX)
set(CURL_LIBRARY "${PROJECT_SOURCE_DIR}/dependencies-${platform_lower}/lib/libcurl.a;${PROJECT_SOURCE_DIR}/dependencies-${platform_lower}/lib/libmbedtls.a;${PROJECT_SOURCE_DIR}/dependencies-${platform_lower}/lib/libmbedx509.a")
endif()
set(USE_CRYPTO_OPENSSL FALSE CACHE BOOL "")
if (NOT CCTOOLS_PLATFORM MATCHES MacOSX)
set(USE_WIIUSE FALSE CACHE BOOL "")
set(USE_SQLITE3 FALSE CACHE BOOL "")
set(IOS TRUE CACHE BOOL "")
endif()

View file

@ -0,0 +1,125 @@
# Usage:
# cmake .. -DDEPS_PATH=/path/to/dependencies -DIOS_ASSETS=/path/to/generated/assets -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-ios-xcode.cmake -G Xcode
# Need to use ../android/generate_assets.sh for assets first
# In Xcode you need to choose Product -> Scheme -> supertuxkart
# And then Signing & Capabilities choose a suitable team
# You may need to use another bundle identifier as the current one is already used by STK team
# You can also use -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=xxxxxxxxxx to specify team
# Increase every upload to App store
SET(IOS_BUILD_VERSION 26)
# Get SDK path
execute_process(COMMAND xcodebuild -version -sdk iphoneos Path
OUTPUT_VARIABLE CMAKE_OSX_SYSROOT_IOS
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND xcodebuild -version -sdk iphonesimulator Path
OUTPUT_VARIABLE CMAKE_OSX_SYSROOT_SIMULATOR
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND xcodebuild -sdk ${CMAKE_OSX_SYSROOT} -version SDKVersion
OUTPUT_VARIABLE SDK_VERSION
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
if (NOT DEFINED CMAKE_OSX_SYSROOT_IOS OR NOT DEFINED CMAKE_OSX_SYSROOT_SIMULATOR OR NOT DEFINED SDK_VERSION)
message(FATAL_ERROR "Cannot find iphoneos or iphonesimulator sdk location and their version info.")
else()
message(STATUS "Using SDK path: ${CMAKE_OSX_SYSROOT_IOS}.")
endif()
set(CMAKE_OSX_SYSROOT "iphoneos" CACHE INTERNAL "")
# Manaully set the values for both arm64 and simulator
set(JPEG_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libjpeg.a CACHE STRING "")
set(JPEG_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
set(ZLIB_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libz.a CACHE STRING "")
set(ZLIB_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
set(PNG_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libpng16.a CACHE STRING "")
set(PNG_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
set(PNG_PNG_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
set(OGGVORBIS_OGG_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libogg.a CACHE STRING "")
set(OGGVORBIS_OGG_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/ogg CACHE STRING "")
set(OGGVORBIS_VORBIS_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libvorbis.a CACHE STRING "")
set(OGGVORBIS_VORBIS_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/vorbis CACHE STRING "")
set(OGGVORBIS_VORBISFILE_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libvorbisfile.a CACHE STRING "")
set(OGGVORBIS_VORBISFILE_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/vorbis CACHE STRING "")
set(OGGVORBIS_VORBISENC_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libvorbisenc.a CACHE STRING "")
set(OGGVORBIS_VORBISENC_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/vorbis CACHE STRING "")
set(HARFBUZZ_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libharfbuzz.a CACHE STRING "")
set(HARFBUZZ_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
set(FREETYPE_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libfreetype.a CACHE STRING "")
set(FREETYPE_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/freetype2 CACHE STRING "")
set(CURL_LIBRARY "${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libcurl.a;${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libmbedtls.a;${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libmbedx509.a;${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libmbedcrypto.a" CACHE STRING "")
set(CURL_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
set(MBEDCRYPTO_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libmbedcrypto.a CACHE STRING "")
set(MBEDTLS_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
set(SDL2_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libSDL2.a CACHE STRING "")
set(SDL2_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include/SDL2 CACHE STRING "")
set(LIBSAMPLERATE_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libsamplerate.a CACHE STRING "")
set(LIBSAMPLERATE_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
set(MOLTENVK_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libMoltenVK.a CACHE STRING "")
set(VULKAN_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
set(LIBASTCENC_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libastcenc.a CACHE STRING "")
set(LIBASTCENC_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
# For universal iOS and simulator
set(LIBRESOLV_LIBRARY -lresolv CACHE STRING "")
set(PTHREAD_LIBRARY -lpthread CACHE STRING "")
# Standard config
set(CMAKE_SYSTEM_VERSION ${SDK_VERSION} CACHE INTERNAL "")
set(UNIX TRUE CACHE BOOL "")
set(APPLE TRUE CACHE BOOL "")
set(IOS TRUE CACHE BOOL "")
set(CMAKE_AR ar CACHE FILEPATH "" FORCE)
set(CMAKE_RANLIB ranlib CACHE FILEPATH "" FORCE)
set(CMAKE_STRIP strip CACHE FILEPATH "" FORCE)
# Set the architectures for which to build
set(CMAKE_OSX_ARCHITECTURES "arm64 x86_64" CACHE STRING "Build architecture for iOS")
set(CMAKE_C_SIZEOF_DATA_PTR 8)
set(CMAKE_CXX_SIZEOF_DATA_PTR 8)
set(CMAKE_SYSTEM_PROCESSOR "arm64")
set(CMAKE_SYSTEM_NAME iOS CACHE INTERNAL "" FORCE)
# Change the type of target generated for try_compile() so it'll work when cross-compiling
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
# All iOS/Darwin specific settings - some may be redundant.
set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
set(CMAKE_SHARED_MODULE_PREFIX "lib")
set(CMAKE_SHARED_MODULE_SUFFIX ".so")
set(CMAKE_C_COMPILER_ABI ELF)
set(CMAKE_CXX_COMPILER_ABI ELF)
set(CMAKE_C_HAS_ISYSROOT 1)
set(CMAKE_CXX_HAS_ISYSROOT 1)
set(CMAKE_MODULE_EXISTS 1)
set(CMAKE_DL_LIBS "")
set(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
set(CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ")
set(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
set(CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
# Fixed variables in iOS STK
set(CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC NO CACHE INTERNAL "")
set(CMAKE_XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN YES CACHE INTERNAL "")
set(USE_WIIUSE FALSE CACHE BOOL "")
set(USE_SQLITE3 FALSE CACHE BOOL "")
set(USE_CRYPTO_OPENSSL FALSE CACHE BOOL "")
set(IOS_LAUNCHSCREEN ${DEPS_PATH}/ios-icon/launch_screen.storyboard)
set(IOS_IMAGES_XCASSETS ${DEPS_PATH}/ios-icon/Images.xcassets)
set(SDK_NAME_VERSION_FLAGS "-miphoneos-version-min=9.0")
set(CMAKE_OSX_DEPLOYMENT_TARGET 9.0 CACHE STRING "Set CMake deployment target" FORCE)
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphoneos*] "arm64")
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphoneos*] "arm64")
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "x86_64")
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "x86_64")
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym" CACHE INTERNAL "")
# Replace the above two with these if you use an apple silicon
#set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "arm64")
#set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "arm64")

View file

@ -0,0 +1,28 @@
# Usage:
# cmake .. -DLLVM_ARCH=aarch64 i686 or x86_64 -DLLVM_PREFIX=/path/to/llvm-mingw-prefix -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-llvm-mingw.cmake
# the name of the target operating system
if(WIN32)
SET(PATH_EXE .exe)
endif()
SET(CMAKE_SYSTEM_NAME Windows)
# which compilers to use for C and C++
SET(CMAKE_C_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-clang${PATH_EXE})
SET(CMAKE_CXX_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-clang++${PATH_EXE})
SET(CMAKE_RC_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-windres${PATH_EXE})
SET(CMAKE_SYSTEM_PROCESSOR ${LLVM_ARCH})
SET(CMAKE_BUILD_TYPE RelWithDebInfo)
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -Wl,-pdb=")
SET(CMAKE_C_FLAGS -gcodeview)
SET(CMAKE_CXX_FLAGS -gcodeview)
# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH ${LLVM_PREFIX}/generic-w64-mingw32 ${LLVM_PREFIX}/${LLVM_ARCH}-w64-mingw32/bin ${PROJECT_SOURCE_DIR}/dependencies-win-${LLVM_ARCH})
# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ALWAYS)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

View file

@ -0,0 +1,23 @@
# Usage:
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-mingw-64bit.cmake
# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Windows)
# which compilers to use for C and C++
SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc-posix)
SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix)
SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
# figure out folder to look in
execute_process(COMMAND sh -c "ls /usr/lib/gcc/x86_64-w64-mingw32/ | grep posix | tr -d '\n'" OUTPUT_VARIABLE MINGW_DEPS_FOLDER)
# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32 /usr/lib/gcc/x86_64-w64-mingw32/${MINGW_DEPS_FOLDER}/ ${PROJECT_SOURCE_DIR}/dependencies-win-x86_64)
# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ALWAYS)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

View file

@ -0,0 +1,23 @@
# Usage:
# cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-mingw.cmake
# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Windows)
# which compilers to use for C and C++
SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc-posix)
SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++-posix)
SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
# figure out folder to look in
execute_process(COMMAND sh -c "ls /usr/lib/gcc/i686-w64-mingw32/ | grep posix | tr -d '\n'" OUTPUT_VARIABLE MINGW_DEPS_FOLDER)
# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32 /usr/lib/gcc/i686-w64-mingw32/${MINGW_DEPS_FOLDER}/ ${PROJECT_SOURCE_DIR}/dependencies-win-i686)
# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ALWAYS)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

31
cmake/XcodeHelper.cmake Normal file
View file

@ -0,0 +1,31 @@
# Collect all currently added targets in all subdirectories
#
# Parameters:
# - _result the list containing all found targets
# - _dir root directory to start looking from
function(get_all_targets _result _dir)
get_property(_subdirs DIRECTORY "${_dir}" PROPERTY SUBDIRECTORIES)
foreach(_subdir IN LISTS _subdirs)
get_all_targets(${_result} "${_subdir}")
endforeach()
get_directory_property(_sub_targets DIRECTORY "${_dir}" BUILDSYSTEM_TARGETS)
set(${_result} ${${_result}} ${_sub_targets} PARENT_SCOPE)
endfunction()
# set(CMAKE_XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS doesn't work in ios toolchain, below fixed it
macro(configure_xcode_defaults _EXE_NAME)
if (APPLE)
macro(set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE)
set_property(TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE})
endmacro()
endif()
if (APPLE)
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=Debug] YES)
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=MinSizeRel] YES)
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=RelWithDebInfo] YES)
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=Release] YES)
endif()
endmacro()

466
data/CREDITS Normal file
View file

@ -0,0 +1,466 @@
= SuperTuxKart =
A Kart Racing Game Featuring Tux & Friends
- Version $STKVERSION$
- Visit us at supertuxkart.net
- SuperTuxKart is released under GPL 3.0
- Assets are released under Creative Commons and other licenses
= Joerg Henrichs (hiker) =
Former project leader
- Project leader and lead programmer up to STK 1.0
- Among too many things to list:
- Work on physics, AI, networking
- A lot of bugfixes and enhancements
- Windows packaging
= Marianne Gagnon (Auria) =
Developer
- Former lead programmer
- Mac OS X Packager
- Among too many things to list:
- GUI engine and user interface
- A lot of bugfixes and enhancements
= Benau =
Lead developer, modeller & animator
- Soccer and battle mode AI, Shader, graphics
- SPM file format definition, importer and exporter
- A lot of networking code
- Other graphical improvements to karts and tracks
= Dawid Gan (deveee) =
Developer
- Android port
- General improvements and many many bugfixes
= Jean-Manuel Clémençon (Samuncle) =
Lead graphical artist
- Art work:
- Cocoa temple, Grand Paradiso Island, Old Mine
- Ravenbridge Mansion, Hacienda, Fort Magma, XR591
- Snow Peak, Zen Garden, Ligthouse, Sara
- Thanks to my family and especially my father
- Jean Claude Clemençon
= Alayan =
Lead developer
- Story mode and gameplay improvements
- AI improvements
- General improvements and bugfixes
= Online =
Add-ons website
- Daniel Butum (leyyin)
- Stephen Just
= Additional Programming =
Significant bug fixes & misc. contributions for 1.0 and 1.1
- Ben Krajancic
- QwertyChouskie
- Dumaosen
- Luffah
- Mrxx99
- Pelya
- Riso
= Visual art =
Tracks
- Sven Andreas Belting : Black Forest
- Mac_DMH : Minigolf
- Rubberduck : STK Enterprise
- Ponzino : Volcan Island
Tracks
- Canis Lupus : Original 'Northern Resort' & 'Scotland'
- Ivar ten Cate (Varivar) : Original 'Old Mine' & 'Snow Peaks' Improvements
- MacIO : Cave X
- Steve and Oliver Baker : Original 'Oliver's Math Class'
Tracks
- Typhon306 : 'Ancient Colosseum Labyrinth', updated 'Battle Island' & 'Cave X'
Karts
- JunglePenguin : Xue
- Minibjorn : Puffy
- Cheleb : Nolok, Pidgin
- Néd J. Édoire : Wilber, Hexley, Beastie
- Typhon306 and ZAQraven99 : Kiki
Karts
- Cédric Archambault : Suzanne
- Julian Schönbächler : Amanda and Gavroche
- Kinsu : Emule
- ZAQraven99 : GNU, Pepper, Sara, Adiumy, Konqi, Godette
Objects
- GeekPenguinBR, TuxKartDriver : Models from Las Dunas Stadium
Jymis
- Karts and icons
Minibjorn
- Powerups and baddies (models + icons)
- Explosion and smoke particles
- Several textures
- 'Feature Unlocked' chest
Rudy85
- Character animations
Icons
- Anthony Carré (yeKcim)
- betharatux1
Thomas Oppl
- New banana model
- Winter sky cube
GUI Icons and Other Art
- onyum.com, commissioned by OpenGameArt.org/Bart Kelsey
- Andreas Bilng, Enrico Billing, Dakal
- The Tango icon project, the Gnome icon set
- Dakal : textures
- Andy (Needer)
GUI Icons and Other Art
- Paul Elms (scifly)
- Elisee : Checker background
- Mariam Lamrani (may-panda): wallpaper and poster
- Thomas Fournet (Totoplus62): Trailer and icons
Photographs & Textures
- Frank Vincentz, Pascalou Petit, KENPEI's photo
- Luis Miguel Bugallo Sánchez, Wilfredo R Rodriguez H
- Krzysztof P. Jasiutowiczs, Ben Clough, Found5dollar
- Benjamint444, Christoph Egger
- The Celestia project, NASA, Moser Juan José
- Gregory Schick, Julius Krischan Makowka
Other media sources
- BurningWell : public domain photos
- http://www.publicdomainpictures.net/
- http://pdphoto.org/
- Wikimedia Commons
- Extreme Tux Racer
- The Glest Jungle Set (http://www.titusgames.de)
= Audio Art =
Music
- 0zone0ne
- Krobonil
- Claude Werner (Bollen)
Misc songs
- DJ Helium : 'Secret Garden' and 'Greenvalley'
- The Dead Rocks
- Magne Djupvik : 'Penguin Party'
- Dundersylt : last lap, race start songs
- GeekPenguinBR and Heuchi1 : 'Jumping to the stars'
- Heuchi1 : 'Alien Signal'
Misc songs
- Keith Baylis aka Vim : 'Boom-boom-boom song'
- Weirwood : 'Kart grand prix'
- Speedsound : 'Sky Vibe Hi Frequency'
- Kalsan : 'Lava'
Voice acting
- Viktor Aurelius: Nolok
Sound effects
- Mike Koening and soundbible.com
- The Audio Monkey ( http://www.theaudiomonkey.co.uk )
- Battle For Wesnoth
- Iwan 'qubodup' Gabovitch
- The Trigger-Rally project
- pdsounds.org
= Misc =
Website
- Skin : Jean-Manuel Clémençon, Konstin
- Tom Jenkins (formerly): skin and layout
- Remy le Guen (Vivelefrat)
- Sebastian Rode
Packaging
- Auria: MacOS package
- hiker: Windows
- Dawid Gan: Linux and Android packages
Testing for 1.0 and 1.1
- Alayan
- deveee
- Wuzzy
- The speedrunners who found many exploits
- Everyone else who made good issues report!
Development Babies
- Florian
= Software =
Software used
- Irrlicht
- Bullet
- enet
- curl
- freetype2
- OpenAL
Software used
- ogg
- vorbis
- SheenBidi
- blender
- wiiuse
- harfbuzz
Software used
- sqlite
- openssl
- mcpp
= Previous contributors =
Magne Djupvik (Arthur)
- Public relations and faithful follower
- SuperTuxKart Blog
- Play testing
- Pun master
Google Summer of Code Students
- Robin Nicollet
- Glenn de Jonghe
- Lauri Kasanen
- Daniel Butum
- Bart Cools
Google Summer of Code Students
- Csaba Molnar
- Sachith Seneviratne
- Akshay Singhvi
No longer active
- Marc Coll : Grand Prix editor
- Flakebi
- Konstin
- math07
- Elderme : Work on graphical engine
- Ward Muylaert
No longer active
- Divya Kukar (divvy81)
- Fabien Sanglard : normal map shader
- Damien
- David (Work on flying items)
- Stephen Dunn (Work on audio)
- Patrick Ammann
No longer active
- Vincent Lejeune (vlj) : 3D engine
- Eduardo Hernandez Munoz (Coz) : Former Admin
- Constantin Pelikan (conso) : Former Admin
- Sam Clarke : Windows Installer
- Hans "the farmer" Dzaack : Physics tuning
- Maik Semder (Ikework) : Bug fixes
No longer active
- Xapantu : add-ons website
- Lionel Fuentes (Funto) : Soccer mode and other contributions
- Mohammad Al-Ghannam (Yasin) : Soccer mode
- Johannesr1 : Bubble gum shield
- Glenn De Jonghe (Unitraxx) : Grand Prix progress saving
- MCMic : reverse mode
No longer active
- Yann Leprince (sciyann)
- Xenux : Add-Ons filtering
- jmimu
- Paul Elms (scifly)
- Robert Schuster
Game of the Month (STK version 0.0)
- Craig Keogh, Ingo Ruhnke, Jacob Persson
- James Gregory, Pascal Giard
- Matthias Braun, Oliver Jeeves
- Paul Carley, Ricardo Cruz, Caleb Sawtell
- Willian Padovani Germano, James Gregory
Original Tuxkart
- Steve Baker (http://www.sjbaker.org/)
- Oliver Baker
= Donations =
Donations
- ANTON KARMANOV, Matthew Boyd, Michal Jusyk, Nicholas Masters
- Nicolay Chichota, S Tsekhmistro, Matias Baglivo, Don K Finney
- Y M MOYSIADIS, TOLSTOV OLEG, Cory Rash, ARTEM BELOUSOV
Donations
- Максим Мурин, John Clark, Wing On Cheung, Jan
- ANNOP CHAWALITSITTHIKUN, ARTYOM DEMAKOV, Rio Marco Rathje
- Tibor Dikó, Luca TEDESCHI, Merle Nicolaou, Michael ISSARTEL
- ALEKSANDR ZHEMCHUGOV, Tobias Brohl, Dzianis Kim
- Joshua Miller, Brenda Punzel, Peter M Estes, Benedikt Kleinmeier
Donations
- Trevor Hass, Thomas Belvin, Simona-A.-Petronela Crefelean
- Schmidt Christian, Roberto Giuliani, Robert A Swearingen
- Rene Genz, René Schubert, Pazurik Laszlo Adam, Oskar Vigren
- M J Angove, Florian Lehebel, David E Scourfield, Michael Laube
- Merlin Juusola, Matthias Wiege, Matthew Toppenberg, Martin Rejman
- Mark Gannon, Lukas Palme, Lennart Mellqvist, Joshua Dye, Jan Havran
Donations
- Jacqueline Brown, Igor Murzich, Guido Stehr, Gisela Ehresmann
- Evaldas Granickas, Elisabeth Lambert, Edith Muijsers, DC Jaeger
- Damian Fajfer, Chase Williamson, Carsten Timm, Baptiste Dagneaux
- Alexander Olkhovsky, Aleix Casamitjana, Adrián Chaves Fernández
- Georgi Stoychev, Nuno Ferreira, Steven Anderson, Charalabos Frouzakis
- Richard Qian, William Nakamura, Maree Glynn, David Carlier
Donations
- Alistair Findlay, James Tobin, Ursula Belting, Stephan van den Akker
- Ken McCall, Arnaud Maurin, James Tobin, Stefan Kiehne, David Efflandt
- Gary Shearer, Stuart Gibb, Fran Casal, Piotr Karczemski, Florian Lehébel
- Dominik Müller, Saverio Brancaccio, Florian Lehébel, Pietro Pizzo
- Alvaro Castañeda Mendoza, Simón Llinares Riestra, Radu Sofian
- Yevgeny Slusorenko, Joshua Dye, Chris Lukas, Gary Shearer, Gary Shearer
Donations
- Martin Lankes, Muchlis Polin, Peter Estes, Nuno Ferreira, Duncan Steele
- Michael Kleinhans, Atomic Monks, Aleksandar Sokolovski, Brandon Hoeksema
- Victor Gabillon, Tristan Reitter, Lupe Aguilar, Florian Pelz
- Tanja Wiege, Gabriele Casetti, Andrea De Angelis, Saul Gutierrez
- Csongor Ballay, Csongor Ballay, William Youstra, Peter Estes
- Régis Hamann, Régis Hamann, Yuri Sucupira, Lucien Greefkes, Frank Sapone
Donations
- Peter Cundall, Michael Richards, Franz Ernst, Florian Lehébel
- Jörg Orlowski, Lukasz Szczekocki, Bjarni Kristinsson, David Carlier
- Kamensky Mikhail, Roland Schoof, Trevor Robertson, Patrik Pomichal
- Guillaume Pointet, Dennis Holierhoek, Daniel Nelson, David Hibshman
- Thomas Belvin, Erik Jahn, Susen Skotnik, Dennis McLaughlin, Bert De Mets
- Jean-Gabriel Kammerer, Stefan Lukits, Martin Steigerwald
Donations
- Adam Williamson, A Anton, Ville Kauppila, Gary Shearer
- Peter Hausleitner, Philip Pfeifer, Christoph Baldauf, Jane Middlebrooke
- roundof.org, Roman Marschall, Gary Shearer, Jonathan Banks
- Nicolas Affolter, Mahendra Tallur, David Behnke, Mark Supper
- Eric Cheminot, Jason Speechley, Michael Martin, Andrew Gilbert
- Fabian Schach, michael orosov, Wendell Glick, Eugene Lemaitre
Donations
- Gerald Angus, Andrea De Angelis, Antonio Sala, Joshua Dye, roundof.org
- Andreas Müller, Jose Miguel Bolorino Manzano, Troy Smith, Bernhard Motel
- Bernhard Motel, Alexandre Bouhier, Thomas Preissler, Lubomír Saji
- Eric Pedersen, Fabrice SAILLY-SIRGUE, Simon Dalsgaard, Joshua Dye
- Detlef Olp, João Pedro de Lima, Christopher Sweeney, Ryan Gervais
- Laszlo Ast, Robert Yerke, Nuno Ferreira, Lachand Valentin, Arne Bernin
Donations
- Kong Chun Ho, Jonathan Lee, Dominik Rösner, Andreas Frankl
- Didier Delhaye, Gianluca Bonato, Ferdinand Ihringer, Mark Dougherty
- Топоров Константин, Georges-Mickael Seguin, Jason Grindlay
- Gordon Macleod, Anders Jonsson, Peter Estes, Marius Gripsgård,
- FoosterNET, Daniel Sandman, David Ault, Matt DeVillier, Chris Leutwyler
- Anthony Waxman, Rémi Verschelde, Alessandro Vitali, Katherine Freeman
Donations
- Roy Akselsen, Ingrid Becke, Jonathan Lee, Christoph Baldauf
- Victor Gabillon, Yves Fourneau, Rubén Leal Coba, Andreas Müller
- Santiago Hoyos Zea, Tobias Wenig, Nuno Ferreira, Fran Casal
- Alexey Горохов, Luka Vievsky, Nathan Dykhuis, David , David Leschinsky
- Sam Tygier, Алексей Казаков, Matthew Golliher
- Karl Ove Hufthammer, Richard Stoltenberg, Niklas Anderson, Alfred Turner
Donations
- Adrian Spirgi, Frank Abrignani, Lukasz Korpalski, Andea De Angelis
- Pedro Freitas Fleck, Lachand Valentin, Cyrille Giquello, FoosterNet
- Olivier C. Pageau, Bérenger Ossete Gombe, Michael Schönitzer
- Daniel Martínez García, Joe Westcott, Patrik Nilsson, Will Hennegan
- Philip Whitfield, Markus Hedetoft, Walt Zwierzycki, Jake Jarrett
- Kyle Maggio, Richárd Ráthgéber, Gilles Wittezaele, Daniel Sandman
Donations
- Haldor Zaake-Hertling, Elvis Kandler, OPE Beckman Lapre
- Esteban Monge Marin, Marcos Schnalke, Maximilian Rüdiger, Glenn Geenen
- Michael Biller, Vincent Bermel, John Cordray, Jannik Heller
- Vincent Stavleu, Jairo Estefania Vilumbrales, Michal Klaus, Josh Dye
- Carlos Solís Róger, James Vandermark, Wouter Reckman, Nuno Ferreira
- Crefelean Nicolae, Mark Saliers, Issa Gorissen, Tom Reynolds
Donations
- James Dearing, Collin Blatt, Vincent Bermel, Nuno Ferreira
- Jarl Frode Arntzen, Vladimir Tuboltsev, Attila Cseman
- Frank Lauterbach, Mahendra Tallur, Matthijs Harmsen, Dietmar Wolf
- Suwannee Massage, Fabio Molinari, Christian Ritzer
- Gerard Vaas, Edgar Klenske, Georgi Stoychev, Daniel Reimann
- Tibor Grasser, Robert Forster, Kelonye Mitchel, Dennis Shewmaker,
Donations
- ProMission Projects, Inc., Ken McCall, Peter Estes, Markus Valkeapää
- Victor Gabillon, Franz Schmid, Austin Williamson, Artūras Norkus
- Roland Schoof, Borisenkov Alexey, Edvin Djupvik, Mikel Crespo,
- Trevor Robertson, Sergej Engbrecht, Dylan Mahoney,
- Joel Schaerer, Stephanie Theisz, Mokimoke, George Angelopoulos
- Kharlamov Ivan, Cedric Briand, Christoph Baldauf, Marco Caiazza,
Donations
- Volkov Alexandr, Evelyne Tenaerts, Thomas Salmhofer, Ralfe Gomes Ecard
- Carlos Alonso Pena Osorio, Philip Delaney, Giorgio Cantoni,
- Gabriel Stedtler, Alexander Sauter, Robert Premuž, Antonín Pilát
- Sylvain St-Amand, Apostolos Apostolidis, E. Cole, David Ault
- Vinzenz Vietzke,Edgar Bennet, Ryan Lei, Sergey Spiridonov
- Carsten Carulli, Jeremy Kenny, Francisco Monteagudo, Marlow Marlow
Donations
- Michal Sladek, Peter Lebbing, Roland Schoof, Lars Peter Mathiassen
- Benjamin Gronke, Marc Coll, Peter Estes, John Yewell, Josh Dye
- Sebastian Rode, OpenGameArt.org, Tux_penguin, Magne Djupvik
- Markus Liukka, Phelippeau Rudy, Javier Pedros Cholvi, Michael Roessner
- Ivan Wright, Carl Olsson, Sergey V. Spiridonov
= Thanks for Playing! =
Do not hesitate to contribute!
- Give feedback
- Participate on the community
- Donate
- Make art
- Code a feature
-
-
-
-
-

View file

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>SuperTuxKart</string>
<key>CFBundleExecutable</key>
<string>supertuxkart</string>
<key>CFBundleIdentifier</key>
<string>net.supertuxkart.stkios</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>SuperTuxKart </string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>${PROJECT_VERSION}</string>
<key>CFBundleVersion</key>
<string>${IOS_BUILD_VERSION}</string>
<key>CSResourcesFileMapped</key>
<true/>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UILaunchStoryboardName</key>
<string>launch_screen</string>
<key>UIStatusBarHidden</key>
<true/>
<key>UIRequiresFullScreen</key>
<true/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
</dict>
</plist>

View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>supertuxkart</string>
<key>CFBundleIconFile</key>
<string>supertuxkart.icns</string>
<key>CFBundleIdentifier</key>
<string>net.sourceforge.supertuxkart</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>SuperTuxKart</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>${PROJECT_VERSION}</string>
<key>CFBundleSignature</key>
<string>SPTK</string>
<key>CFBundleVersion</key>
<string>${PROJECT_VERSION}</string>
<key>CSResourcesFileMapped</key>
<true/>
<key>LSMinimumSystemVersion</key>
<string>10.9</string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>

178
data/achievements.xml Normal file
View file

@ -0,0 +1,178 @@
<?xml version="1.0"?>
<!-- List of counters the achievements can query.
The format to use is <goal type="name_of_the_counter" value="X"/>
where X is the desired value of the counter ;e.g. <won_races value="10"/>
WARNING! If a goal node is malformed, it is ignored.
___________________________________________________________________________
S - Logical relations and subgoals
When you define multiple goals, the achievement will be completed
if they are all met, but they don't need to be met at once.
To have more possibilities, you can define subgoals and the
logical relationship they need to meet.
The available relations are :
AND // The subgoals have to be met, but not necessarily at once
AND-AT-ONCE // The subgoals have to be met at the same time.
OR // One of the subgoal has to be met
SUM // The subgoals sum must reach a certain (positive !) number.
The format to use for AND, AND-AT-ONCE and OR is :
<goal type="AND">
<goal type="name_of_counter" value="X"/>
<goal type="name_of_counter" value="Y"/>
</goal>
For SUM, it is :
<goal type="SUM" value="X">
<goal type="name_of_counter" operation="+"/>
<goal type="name_of_counter" operation="-"/>
</goal>
With the value of operation (+ or -) defining if the subgoal is added
or subtracted from the total.
Sub-goals can also have their own sub-goals,
however a AND, AND-AT-ONCE or OR can't have a SUM goal for parent.
___________________________________________________________________________
I - Won races (normal, time-trial, FTL) counters.
Require to beat at least 3 AIs in any difficulty.
won-races : total number of races won
won-normal-races
won-tt-races
won-ftl-races
II - Consecutive won races counters.
These counters are reset if a race is restarted,
or if a race is lost even if the AI count to increment
is not met.
cons-won-races
cons-won-races-hard // This requires 5+ AIs and expert+ difficulty
III - Race started and finished counters, by difficulty (linear races only)
easy-started
easy-finished
medium-started
medium-finished
hard-started
hard-finished
best-started
best-finished
IV - Race started and finished counters, by game mode.
Races against a ghost are counted both in the base mode counter,
either time-trial or egg hunt, and in their own specific counter.
normal-started
normal-finished
tt-started
tt-finished
ftl-started
ftl-finished
three-strikes-started
three-strikes-finished
soccer-started
soccer-finished
egg-hunt-started
egg-hunt-finished
with-ghost-started
with-ghost-finished
ctf-started
ctf-finished
ffa-started
ffa-finished
IV - Counters related to powerup use. The hit counters reference how many
times the player kart has hit other karts, not how often it was hit.
powerup-used
powerup-used-1race
bowling-hit
bowling-hit-1race
swatter-hit
swatter-hit-1race
all-hits // hits from bowling ball, cake and swatter
all-hits-1race
hit-same-kart-1race
V - Counters related to other race events.
banana // counts how many banana the player's kart has hit
banana-1race
skidding
skidding-1race
skidding-1lap
VI - Per-track counters (at least one track reach the value)
race-started
race-finished
race-won
race-finished-reverse
race-finished-alone
less-laps
more-laps
twice-laps
egg-hunt-started
egg-hunt-finished
VII - Per-track counters (all non-addon tracks reach the value)
race-started-all
race-finished-all
race-won-all
race-finished-reverse-all
race-finished-alone-all
less-laps-all
more-laps-all
twice-laps-all
// For egg hunts, all non-addon tracks with egg hunt support
// must reach the value
egg-hunt-started-all
egg-hunt-finished-all
-->
<achievements version="1">
<achievement id="1" name="Christoffel Columbus" description="Play every official track at least once." >
<goal type="race-finished-all" value="1"/>
</achievement>
<achievement id="2" name="Strike!" description="Hit 10 karts with a bowling-ball.">
<goal type="bowling-hit" value="10"/>
</achievement>
<achievement id="3" name="Arch Enemy" description="Hit the same kart at least 5 times in one race.">
<goal type="hit-same-kart-1race" value="5"/>
</achievement>
<achievement id="4" name="Marathoner" description="Finish a race with at least twice the track's default lap number.">
<goal type="twice-laps" value="1"/>
</achievement>
<achievement id="5" name="Skid-row" description="Skid 5 times in a single lap.">
<goal type="skidding-1lap" value="5"/>
</achievement>
<achievement id="6" name="Gold driver" description="Win against at least 3 AIs in normal race, time-trial, and follow the leader.">
<goal type="won-normal-races" value="1"/>
<goal type="won-tt-races" value="1"/>
<goal type="won-ftl-races" value="1"/>
</achievement>
<achievement id="7" name="Powerup Love" description="Use 10 or more powerups in a race.">
<goal type="powerup-used-1race" value="10"/>
</achievement>
<achievement id="8" name="Unstoppable" description="Win 5 single races in a row against at least 3 AIs. Beware, restarting a race counts as a loss.">
<goal type="cons-won-races" value="5"/>
</achievement>
<achievement id="9" name="Banana Lover" description="Collect at least 5 bananas in one race.">
<goal type="banana-1race" value="5"/>
</achievement>
<achievement id="10" name="It's secret" description="Really ... a secret." secret="yes">
</achievement>
<achievement id="11" name="Mosquito Hunter" description="Take your opponents for mosquitos! With the swatter, squash them at least 5 times in a race.">
<goal type="swatter-hit-1race" value="5"/>
</achievement>
<achievement id="12" name="Beyond Luck" description="Win 10 single races in a row in Expert or SuperTux against at least 5 AIs. Beware, restarting a race counts as a loss.">
<goal type="cons-won-races-hard" value="10"/>
</achievement>
</achievements>

3154
data/cacert.pem Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="abyss" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="7"/>
<requirements position="1" time="130"/>
</best>
<hard>
<karts number="6"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="5"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="candela_city" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="90"/>
<best>
<karts number="9"/>
<requirements position="1" time="112"/>
</best>
<hard>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="6"/>
<requirements position="1"/>
</easy>
<unlock kart="sara_the_racer"/>
</challenge>

View file

@ -0,0 +1,31 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="cocoa_temple" laps="3" reverse="false"/>
<mode major="single" minor="timetrial"/>
<requirements trophies="45"/>
<best>
<karts number="1"
replay_file="challenge_cocoa_temple_supertux.replay"/>
<requirements position="1"/>
</best>
<hard>
<karts number="1"
replay_file="challenge_cocoa_temple_expert.replay"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="1"
replay_file="challenge_cocoa_temple_intermediate.replay"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="1"
replay_file="challenge_cocoa_temple_novice.replay"/>
<karts number="1"/>
<requirements position="1"/>
</easy>
<unlock kart="suzanne"/>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="cornfield_crossing" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="8"/>
<requirements position="1" time="128"/>
</best>
<hard>
<karts number="7"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="6"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="5"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,28 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="fortmagma" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="190" challenges="24"/>
<best>
<karts number="2" aiIdent="nolok" superPower="nolokBoss"/>
<requirements position="1"/>
</best>
<hard>
<karts number="2" aiIdent="nolok" superPower="nolokBoss"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="2" aiIdent="nolok" superPower="nolokBoss"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="2" aiIdent="nolok" superPower="nolokBoss"/>
<requirements position="1"/>
</easy>
<unlock kart="gnu"/>
<unlock kart="nolok"/>
<unlock track="fortmagma"/>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<grandprix id="1_penguinplayground"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="30"/>
<best>
<karts number="7"/>
<requirements position="1"/>
</best>
<hard>
<karts number="6"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="5"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<grandprix id="2_offthebeatentrack"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="70"/>
<best>
<karts number="8"/>
<requirements position="1"/>
</best>
<hard>
<karts number="7"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="6"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="5"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<grandprix id="3_tothemoonandback"/>
<mode major="grandprix" minor="timetrial"/>
<requirements trophies="120"/>
<best>
<karts number="9"/>
<requirements position="1"/>
</best>
<hard>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="6"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<grandprix id="4_atworldsend"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="165"/>
<best>
<karts number="10"/>
<requirements position="1"/>
</best>
<hard>
<karts number="9"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="8"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="7"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="gran_paradiso_island" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="80"/>
<best>
<karts number="9"/>
<requirements position="1" time="134"/>
</best>
<hard>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="6"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="black_forest" laps="2" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="130"/>
<best>
<karts number="10"/>
<requirements position="1" time="170"/>
</best>
<hard>
<karts number="9"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="8"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="7"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="hacienda" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="7"/>
<requirements position="1" time="124"/>
</best>
<hard>
<karts number="6"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="5"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="lighthouse" laps="4" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="95"/>
<best>
<karts number="9"/>
<requirements position="1" time="120"/>
</best>
<hard>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="6"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="ravenbridge_mansion" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="8"/>
<requirements position="1" time="130"/>
</best>
<hard>
<karts number="7"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="6"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="5"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="mines" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="140"/>
<best>
<karts number="10"/>
<requirements position="1" time="122"/>
</best>
<hard>
<karts number="9"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="8"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="7"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="minigolf" laps="4" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="125"/>
<best>
<karts number="10"/>
<requirements position="1" time="116"/>
</best>
<hard>
<karts number="9"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="8"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="7"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="olivermath" laps="5" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="75"/>
<best>
<karts number="9"/>
<requirements position="1" time="77"/>
</best>
<hard>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="6"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="sandtrack" laps="3" reverse="false"/>
<mode major="single" minor="timetrial"/>
<requirements trophies="0"/>
<best>
<karts number="1"/>
<requirements energy="20" time="128"/>
</best>
<hard>
<karts number="1"/>
<requirements energy="18" time="155"/>
</hard>
<medium>
<karts number="1"/>
<requirements energy="15" time="190"/>
</medium>
<easy>
<karts number="1"/>
<requirements energy="10" time="260"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="scotland" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="7"/>
<requirements position="1" time="125"/>
</best>
<hard>
<karts number="6"/>
<requirements position="1" time="150"/>
</hard>
<medium>
<karts number="5"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="snowmountain" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="105"/>
<best>
<karts number="9"/>
<requirements position="1" time="110"/>
</best>
<hard>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="6"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="snowtuxpeak" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="8"/>
<requirements position="1" time="105"/>
</best>
<hard>
<karts number="7"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="6"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="5"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="stk_enterprise" laps="3" reverse="false"/>
<mode major="single" minor="timetrial"/>
<requirements trophies="145"/>
<best>
<karts number="10"/>
<requirements position="1" time="132"/>
</best>
<hard>
<karts number="9"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="8"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="7"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="true"/>
<!-- This is the (rounded) point equivalent of finishing all challenges
in easy, except the final challenge -->
<requirements trophies="190"/>
<unlock kart="amanda"/>
</challenge>

View file

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="true"/>
<!-- This is the point equivalent of finishing the
story mode with 8 supertux challenges and the rest in gold -->
<requirements trophies="280"/>
<unlock kart="sara_the_wizard"/>
</challenge>

View file

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="true"/>
<!-- This is the point equivalent of finishing the
story mode with all gold except 14 silver challenges -->
<requirements trophies="250"/>
<alt_requirements max-req-in-lower-diff="5"/>
<unlock difficulty="difficulty_best"/>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="volcano_island" laps="2" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="7"/>
<requirements position="1" time="138"/>
</best>
<hard>
<karts number="6"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="5"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements position="1"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="xr591" laps="2" reverse="false"/>
<mode major="single" minor="timetrial"/>
<requirements trophies="150"/>
<best>
<karts number="1"/>
<requirements energy="20" time="92"/>
</best>
<hard>
<karts number="1"/>
<requirements energy="18" time="112"/>
</hard>
<medium>
<karts number="1"/>
<requirements energy="15" time="135"/>
</medium>
<easy>
<karts number="1"/>
<requirements energy="12" time="180"/>
</easy>
</challenge>

View file

@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="zengarden" laps="4" reverse="false"/>
<mode major="single" minor="timetrial"/>
<requirements trophies="35"/>
<best>
<karts number="8"/>
<requirements position="1" time="105"/>
</best>
<hard>
<karts number="7"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="6"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="5"/>
<requirements position="1"/>
</easy>
</challenge>

259
data/country_names.tsv Normal file
View file

@ -0,0 +1,259 @@
country_code ar be bg br bs ca cs da de el en eo es et eu fa fi fr fr-CA ga gd gl he hr hu ia id is it ja ko kw ky lt lv ml mn-MN nb nl nn os pl pt pt-BR ro ru sk sl sq sr sv sw th tr tt uk uz vi zh-CN zh-TW
AC جزيرة أسينشيون Востраў Узнясення остров Възнесение Enez Ascension Ostrvo Ascension Illa de lAscensió Ascension Ascensionøen Ascension Νήσος Ασενσιόν Ascension Island Ascension Island Isla de la Ascensión Ascensioni saar Ascension uhartea جزایر آسنسیون Ascension-saari Île de lAscension Île de lAscension Oileán na Deascabhála Eilean na Deasgabhalach Illa de Ascensión האי אסנשן Otok Ascension Ascension-sziget Ascension Island Pulau Ascension Ascension-eyja Isola Ascensione アセンション島 어센션 섬 Ascension Island Вознесение аралы Dangun Žengimo sala Debesbraukšanas sala അസൻഷൻ ദ്വീപ് Асенсион арал Ascension Ascension Ascension Ascension Island Wyspa Wniebowstąpienia Ilha de Ascensão Ilha de Ascensão Insula Ascension о-в Вознесения Ascension Otok Ascension Ishulli Asenshion Острво Асенсион Ascension Kisiwa cha Ascension เกาะแอสเซนชัน Ascension Adası Ascension Island Острів Вознесіння Meroj oroli Đảo Ascension 阿森松岛 阿森松島
AD أندورا Андора Андора Andorra Andora Andorra Andorra Andorra Andorra Ανδόρα Andorra Andoro Andorra Andorra Andorra آندورا Andorra Andorre Andorre Andóra Andorra Andorra אנדורה Andora Andorra Andorra Andorra Andorra Andorra アンドラ 안도라 Andorra Андорра Andora Andora അൻഡോറ Андорра Andorra Andorra Andorra Andorra Andora Andorra Andorra Andorra Андорра Andorra Andora Andorrë Андора Andorra Andorra อันดอร์รา Andorra Андорра Андорра Andorra Andorra 安道尔 安道爾
AE الإمارات العربية المتحدة Аб’яднаныя Арабскія Эміраты Обединени арабски емирства Emirelezhioù Arab Unanet Ujedinjeni Arapski Emirati Emirats Àrabs Units Spojené arabské emiráty De Forenede Arabiske Emirater Vereinigte Arabische Emirate Ηνωμένα Αραβικά Εμιράτα United Arab Emirates Unuiĝintaj Arabaj Emirlandoj Emiratos Árabes Unidos Araabia Ühendemiraadid Arabiar Emirerri Batuak امارات متحدهٔ عربی Arabiemiirikunnat Émirats arabes unis Émirats arabes unis Aontas na nÉimíríochtaí Arabacha Na h-Iomaratan Arabach Aonaichte Os Emiratos Árabes Unidos איחוד האמירויות הערביות Ujedinjeni Arapski Emirati Egyesült Arab Emírségek Emiratos Arabe Unite Uni Emirat Arab Sameinuðu arabísku furstadæmin Emirati Arabi Uniti アラブ首長国連邦 아랍에미리트 United Arab Emirates Бириккен Араб Эмираттары Jungtiniai Arabų Emyratai Apvienotie Arābu Emirāti യുണൈറ്റഡ് അറബ് എമിറൈറ്റ്‌സ് Арабын Нэгдсэн Эмирт Улс De forente arabiske emirater Verenigde Arabische Emiraten Dei sameinte arabiske emirata United Arab Emirates Zjednoczone Emiraty Arabskie Emirados Árabes Unidos Emirados Árabes Unidos Emiratele Arabe Unite ОАЭ Spojené arabské emiráty Združeni arabski emirati Emiratet e Bashkuara Arabe Уједињени Арапски Емирати Förenade Arabemiraten Falme za Kiarabu สหรัฐอาหรับเอมิเรตส์ Birleşik Arap Emirlikleri Берләшкән Гарәп Әмирлекләре Обʼєднані Арабські Емірати Birlashgan Arab Amirliklari Các Tiểu Vương quốc Ả Rập Thống nhất 阿拉伯联合酋长国 阿拉伯聯合大公國
AF أفغانستان Афганістан Афганистан Afghanistan Afganistan Afganistan Afghánistán Afghanistan Afghanistan Αφγανιστάν Afghanistan Afganujo Afganistán Afganistan Afganistan افغانستان Afganistan Afghanistan Afghanistan an Afganastáin Afghanastàn Afganistán אפגניסטן Afganistan Afganisztán Afghanistan Afganistan Afganistan Afghanistan アフガニスタン 아프가니스탄 Afghanistan Афганистан Afganistanas Afganistāna അഫ്‌ഗാനിസ്ഥാൻ Афганистан Afghanistan Afghanistan Afghanistan Afghanistan Afganistan Afeganistão Afeganistão Afganistan Афганистан Afganistan Afganistan Afganistan Авганистан Afghanistan Afghanistan อัฟกานิสถาน Afganistan Әфганстан Афганістан Afgʻoniston Afghanistan 阿富汗 阿富汗
AG أنتيغوا وبربودا Антыгуа і Барбуда Антигуа и Барбуда Antigua ha Barbuda Antigva i Barbuda Antigua i Barbuda Antigua a Barbuda Antigua og Barbuda Antigua und Barbuda Αντίγκουα και Μπαρμπούντα Antigua & Barbuda Antigvo-Barbudo Antigua y Barbuda Antigua ja Barbuda Antigua eta Barbuda آنتیگوا و باربودا Antigua ja Barbuda Antigua-et-Barbuda Antigua-et-Barbuda Antigua agus Barbúda Aintìoga is Barbuda Antigua e Barbuda אנטיגואה וברבודה Antigva i Barbuda Antigua és Barbuda Antigua e Barbuda Antigua dan Barbuda Antígva og Barbúda Antigua e Barbuda アンティグア・バーブーダ 앤티가 바부다 Antigua & Barbuda Антигуа жана Барбуда Antigva ir Barbuda Antigva un Barbuda ആൻറിഗ്വയും ബർബുഡയും Антигуа ба Барбуда Antigua og Barbuda Antigua en Barbuda Antigua og Barbuda Antigua & Barbuda Antigua i Barbuda Antígua e Barbuda Antígua e Barbuda Antigua și Barbuda Антигуа и Барбуда Antigua a Barbuda Antigva in Barbuda Antigua e Barbuda Антигва и Барбуда Antigua och Barbuda Antigua na Barbuda แอนติกาและบาร์บูดา Antigua ve Barbuda Антигуа һәм Барбуда Антиґуа і Барбуда Antigua va Barbuda Antigua và Barbuda 安提瓜和巴布达 安地卡及巴布達
AI أنغويلا Ангілья Ангуила Anguilla Angvila Anguilla Anguilla Anguilla Anguilla Ανγκουίλα Anguilla Angvilo Anguila Anguilla Aingira آنگویلا Anguilla Anguilla Anguilla Angaíle Anguillia Anguila אנגווילה Angvila Anguilla Anguilla Anguilla Angvilla Anguilla アンギラ 앵귈라 Anguilla Ангилья Angilija Angilja ആൻഗ്വില്ല Ангилья Anguilla Anguilla Anguilla Anguilla Anguilla Anguila Anguila Anguilla Ангилья Anguilla Angvila Anguilë Ангвила Anguilla Anguilla แองกวิลลา Anguilla Ангилья Анґілья Angilya Anguilla 安圭拉 安奎拉
AL ألبانيا Албанія Албания Albania Albanija Albània Albánie Albanien Albanien Αλβανία Albania Albanujo Albania Albaania Albania آلبانی Albania Albanie Albanie an Albáin Albàinia Albania אלבניה Albanija Albánia Albania Albania Albanía Albania アルバニア 알바니아 Albania Албания Albanija Albānija അൽബേനിയ Албани Albania Albanië Albania Albania Albania Albânia Albânia Albania Албания Albánsko Albanija Shqipëri Албанија Albanien Albania แอลเบเนีย Arnavutluk Албания Албанія Albaniya Albania 阿尔巴尼亚 阿爾巴尼亞
AM أرمينيا Арменія Армения Armenia Armenija Armènia Arménie Armenien Armenien Αρμενία Armenia Armenujo Armenia Armeenia Armenia ارمنستان Armenia Arménie Arménie an Airméin Airmeinea Armenia ארמניה Armenija Örményország Armenia Armenia Armenía Armenia アルメニア 아르메니아 Armenia Армения Armėnija Armēnija അർമേനിയ Армени Armenia Armenië Armenia Armenia Armenia Armênia Armênia Armenia Армения Arménsko Armenija Armeni Јерменија Armenien Armenia อาร์เมเนีย Ermenistan Әрмәнстан Вірменія Armaniston Armenia 亚美尼亚 亞美尼亞
AO أنغولا Ангола Ангола Angola Angola Angola Angola Angola Angola Αγκόλα Angola Angolo Angola Angola Angola آنگولا Angola Angola Angola Angóla Angòla Angola אנגולה Angola Angola Angola Angola Angóla Angola アンゴラ 앙골라 Angola Ангола Angola Angola അംഗോള Ангол Angola Angola Angola Angola Angola Angola Angola Angola Ангола Angola Angola Angolë Ангола Angola Angola แองโกลา Angola Ангола Ангола Angola Angola 安哥拉 安哥拉
AQ أنتاركتيكا Антарктыка Антарктика Antarktika Antarktika Antàrtida Antarktida Antarktis Antarktis Ανταρκτική Antarctica Antarkto Antártida Antarktika Antartika جنوبگان Antarktis Antarctique Antarctique an Antartaice An Antartaig A Antártida אנטארקטיקה Antarktika Antarktisz Antarctica Antarktika Suðurskautslandið Antartide 南極 남극 대륙 Antarctica Антарктида Antarktida Antarktika അന്റാർട്ടിക്ക Антарктид Antarktis Antarctica Antarktis Antarctica Antarktyda Antártida Antártida Antarctica Антарктида Antarktída Antarktika Antarktikë Антарктик Antarktis Antaktiki แอนตาร์กติกา Antarktika Антарктика Антарктика Antarktida Nam Cực 南极洲 南極洲
AR الأرجنتين Аргенціна Аржентина Arcʼhantina Argentina Argentina Argentina Argentina Argentinien Αργεντινή Argentina Argentino Argentina Argentina Argentina آرژانتین Argentiina Argentine Argentine an Airgintín An Argantain A Arxentina ארגנטינה Argentina Argentína Argentina Argentina Argentína Argentina アルゼンチン 아르헨티나 Argentina Аргентина Argentina Argentīna അർജന്റീന Аргентин Argentina Argentinië Argentina Argentina Argentyna Argentina Argentina Argentina Аргентина Argentína Argentina Argjentinë Аргентина Argentina Ajentina อาร์เจนตินา Arjantin Аргентина Аргентина Argentina Argentina 阿根廷 阿根廷
AS ساموا الأمريكية Амерыканскае Самоа Американска Самоа Samoa Amerikan Američka Samoa Samoa Nord-americana Americká Samoa Amerikansk Samoa Amerikanisch-Samoa Αμερικανική Σαμόα American Samoa American Samoa Samoa Americana Ameerika Samoa Samoa Estatubatuarra ساموآی امریکا Amerikan Samoa Samoa américaines Samoa américaines Samó Mheiriceá Samotha na h-Aimeireaga Samoa Americana סמואה האמריקנית Američka Samoa Amerikai Szamoa Samoa american Samoa Amerika Bandaríska Samóa Samoa americane 米領サモア 아메리칸 사모아 American Samoa Америкалык Самоа Amerikos Samoa ASV Samoa അമേരിക്കൻ സമോവ Америкийн Самоа Amerikansk Samoa Amerikaans-Samoa Amerikansk Samoa American Samoa Samoa Amerykańskie Samoa Americana Samoa Americana Samoa Americană Американское Самоа Americká Samoa Ameriška Samoa Samoa Amerikane Америчка Самоа Amerikanska Samoa Samoa ya Marekani อเมริกันซามัว Amerikan Samoası Америка Самоасы Американське Самоа Amerika Samoasi Samoa thuộc Mỹ 美属萨摩亚 美屬薩摩亞
AT النمسا Аўстрыя Австрия Aostria Austrija Àustria Rakousko Østrig Österreich Αυστρία Austria Aŭstrujo Austria Austria Austria اتریش Itävalta Autriche Autriche an Ostair An Ostair Austria אוסטריה Austrija Ausztria Austria Austria Austurríki Austria オーストリア 오스트리아 Austria Австрия Austrija Austrija ഓസ്ട്രിയ Австри Østerrike Oostenrijk Austerrike Austria Austria Áustria Áustria Austria Австрия Rakúsko Avstrija Austri Аустрија Österrike Austria ออสเตรีย Avusturya Австрия Австрія Avstriya Áo 奥地利 奧地利
AU أستراليا Аўстралія Австралия Aostralia Australija Austràlia Austrálie Australien Australien Αυστραλία Australia Aŭstralio Australia Austraalia Australia استرالیا Australia Australie Australie an Astráil Astràilia Australia אוסטרליה Australija Ausztrália Australia Australia Ástralía Australia オーストラリア 오스트레일리아 Australia Австралия Australija Austrālija ഓസ്‌ട്രേലിയ Австрали Australia Australië Australia Australia Australia Austrália Austrália Australia Австралия Austrália Avstralija Australi Аустралија Australien Australia ออสเตรเลีย Avustralya Австралия Австралія Avstraliya Australia 澳大利亚 澳洲
AW أروبا Аруба Аруба Aruba Aruba Aruba Aruba Aruba Aruba Αρούμπα Aruba Arubo Aruba Aruba Aruba آروبا Aruba Aruba Aruba Arúba Arùba Aruba ארובה Aruba Aruba Aruba Aruba Arúba Aruba アルバ 아루바 Aruba Аруба Aruba Aruba അറൂബ Аруба Aruba Aruba Aruba Aruba Aruba Aruba Aruba Aruba Аруба Aruba Aruba Arubë Аруба Aruba Aruba อารูบา Aruba Аруба Аруба Aruba Aruba 阿鲁巴 荷屬阿魯巴
AX جزر آلاند Аландскія астравы Оландски острови Inizi Åland Olandska ostrva Illes Åland Ålandy Åland Ålandinseln Νήσοι Όλαντ Åland Islands Åland Islands Islas Åland Ahvenamaa Åland جزایر آلاند Ahvenanmaa Îles Åland Îles Åland Oileáin Åland Na h-Eileanan Åland Illas Åland איי אולנד Ålandski otoci Åland-szigetek Insulas Åland Kepulauan Aland Álandseyjar Isole Åland オーランド諸島 올란드 제도 Åland Islands Аланд аралдары Alandų Salos Olandes salas അലൻഡ് ദ്വീപുകൾ Аландын арлууд Åland Åland Åland Åland Islands Wyspy Alandzkie Ilhas Aland Ilhas Aland Insulele Åland Аландские о-ва Alandy Ålandski otoki Ishujt Alandë Оландска Острва Åland Visiwa vya Aland หมู่เกาะโอลันด์ Åland Adaları Аланд утраулары Аландські Острови Aland orollari Quần đảo Åland 奥兰群岛 奧蘭群島
AZ أذربيجان Азербайджан Азербайджан Azerbaidjan Azerbejdžan Azerbaidjan Ázerbájdžán Aserbajdsjan Aserbaidschan Αζερμπαϊτζάν Azerbaijan Azerbajĝano Azerbaiyán Aserbaidžaan Azerbaijan جمهوری آذربایجان Azerbaidžan Azerbaïdjan Azerbaïdjan an Asarbaiseáin Asarbaideàn Acerbaixán אזרבייג׳ן Azerbajdžan Azerbajdzsán Azerbaidzhan Azerbaijan Aserbaídsjan Azerbaigian アゼルバイジャン 아제르바이잔 Azerbaijan Азербайжан Azerbaidžanas Azerbaidžāna അസർബൈജാൻ Азербайжан Aserbajdsjan Azerbeidzjan Aserbajdsjan Azerbaijan Azerbejdżan Azerbaijão Azerbaijão Azerbaidjan Азербайджан Azerbajdžan Azerbajdžan Azerbajxhan Азербејџан Azerbajdzjan Azerbaijani อาเซอร์ไบจาน Azerbaycan Әзәрбайҗан Азербайджан Ozarbayjon Azerbaijan 阿塞拜疆 亞塞拜然
BA البوسنة والهرسك Боснія і Герцагавіна Босна и Херцеговина Bosnia ha Herzegovina Bosna i Hercegovina Bòsnia i Hercegovina Bosna a Hercegovina Bosnien-Hercegovina Bosnien und Herzegowina Βοσνία - Ερζεγοβίνη Bosnia & Herzegovina Bosnio-Hercegovino Bosnia y Herzegovina Bosnia ja Hertsegoviina Bosnia-Herzegovina بوسنی و هرزگوین Bosnia ja Hertsegovina Bosnie-Herzégovine Bosnie-Herzégovine an Bhoisnia agus an Heirseagaivéin Bosna is Hearsagobhana Bosnia e Hercegovina בוסניה והרצגובינה Bosna i Hercegovina Bosznia-Hercegovina Bosnia e Herzegovina Bosnia dan Herzegovina Bosnía og Hersegóvína Bosnia ed Erzegovina ボスニア・ヘルツェゴビナ 보스니아 헤르체고비나 Bosnia & Herzegovina Босния жана Герцеговина Bosnija ir Hercegovina Bosnija un Hercegovina ബോസ്നിയയും ഹെർസഗോവിനയും Босни-Герцеговин Bosnia-Hercegovina Bosnië en Herzegovina Bosnia-Hercegovina Bosnia & Herzegovina Bośnia i Hercegowina Bósnia e Herzegovina Bósnia e Herzegovina Bosnia și Herțegovina Босния и Герцеговина Bosna a Hercegovina Bosna in Hercegovina Bosnjë-Hercegovinë Босна и Херцеговина Bosnien och Hercegovina Bosnia na Hezegovina บอสเนียและเฮอร์เซโกวีนา Bosna-Hersek Босния һәм Герцеговина Боснія і Герцеґовина Bosniya va Gertsegovina Bosnia và Herzegovina 波斯尼亚和黑塞哥维那 波士尼亞與赫塞哥維納
BB بربادوس Барбадас Барбадос Barbados Barbados Barbados Barbados Barbados Barbados Μπαρμπέιντος Barbados Barbado Barbados Barbados Barbados باربادوس Barbados Barbade Barbade Barbadós Barbados Barbados ברבדוס Barbados Barbados Barbados Barbados Barbados Barbados バルバドス 바베이도스 Barbados Барбадос Barbadosas Barbadosa ബാർബഡോസ് Барбадос Barbados Barbados Barbados Barbados Barbados Barbados Barbados Barbados Барбадос Barbados Barbados Barbados Барбадос Barbados Babadosi บาร์เบโดส Barbados Барбадос Барбадос Barbados Barbados 巴巴多斯 巴貝多
BD بنغلاديش Бангладэш Бангладеш Bangladesh Bangladeš Bangladesh Bangladéš Bangladesh Bangladesch Μπανγκλαντές Bangladesh Bangladeŝo Bangladés Bangladesh Bangladesh بنگلادش Bangladesh Bangladesh Bangladesh an Bhanglaidéis Bangladais Bangladesh בנגלדש Bangladeš Banglades Bangladesh Bangladesh Bangladess Bangladesh バングラデシュ 방글라데시 Bangladesh Бангладеш Bangladešas Bangladeša ബംഗ്ലാദേശ് Бангладеш Bangladesh Bangladesh Bangladesh Bangladesh Bangladesz Bangladesh Bangladesh Bangladesh Бангладеш Bangladéš Bangladeš Bangladesh Бангладеш Bangladesh Bangladeshi บังกลาเทศ Bangladeş Бангладеш Бангладеш Bangladesh Bangladesh 孟加拉国 孟加拉
BE بلجيكا Бельгія Белгия Belgia Belgija Bèlgica Belgie Belgien Belgien Βέλγιο Belgium Belgujo Bélgica Belgia Belgika بلژیک Belgia Belgique Belgique an Bheilg A Bheilg Bélxica בלגיה Belgija Belgium Belgica Belgia Belgía Belgio ベルギー 벨기에 Belgium Бельгия Belgija Beļģija ബെൽജിയം Бельги Belgia België Belgia Belgium Belgia Bélgica Bélgica Belgia Бельгия Belgicko Belgija Belgjikë Белгија Belgien Ubelgiji เบลเยียม Belçika Бельгия Бельґія Belgiya Bỉ 比利时 比利時
BF بوركينا فاسو Буркіна-Фасо Буркина Фасо Burkina Faso Burkina Faso Burkina Faso Burkina Faso Burkina Faso Burkina Faso Μπουρκίνα Φάσο Burkina Faso Burkino Burkina Faso Burkina Faso Burkina Faso بورکینافاسو Burkina Faso Burkina Faso Burkina Faso Buircíne Fasó Buirciona Faso Burkina Faso בורקינה פאסו Burkina Faso Burkina Faso Burkina Faso Burkina Faso Búrkína Fasó Burkina Faso ブルキナファソ 부르키나파소 Burkina Faso Буркина-Фасо Burkina Fasas Burkinafaso ബർക്കിന ഫാസോ Буркина Фасо Burkina Faso Burkina Faso Burkina Faso Burkina Faso Burkina Faso Burquina Faso Burquina Faso Burkina Faso Буркина-Фасо Burkina Faso Burkina Faso Burkina-Faso Буркина Фасо Burkina Faso Bukinafaso บูร์กินาฟาโซ Burkina Faso Буркина-Фасо Буркіна-Фасо Burkina-Faso Burkina Faso 布基纳法索 布吉納法索
BG بلغاريا Балгарыя България Bulgaria Bugarska Bulgària Bulharsko Bulgarien Bulgarien Βουλγαρία Bulgaria Bulgarujo Bulgaria Bulgaaria Bulgaria بلغارستان Bulgaria Bulgarie Bulgarie an Bhulgáir A Bhulgair Bulgaria בולגריה Bugarska Bulgária Bulgaria Bulgaria Búlgaría Bulgaria ブルガリア 불가리아 Bulgaria Болгария Bulgarija Bulgārija ബൾഗേറിയ Болгар Bulgaria Bulgarije Bulgaria Bulgaria Bułgaria Bulgária Bulgária Bulgaria Болгария Bulharsko Bolgarija Bullgari Бугарска Bulgarien Bulgaria บัลแกเรีย Bulgaristan Болгария Болгарія Bolgariya Bulgaria 保加利亚 保加利亞
BH البحرين Бахрэйн Бахрейн Bahrein Bahrein Bahrain Bahrajn Bahrain Bahrain Μπαχρέιν Bahrain Barejno Baréin Bahrein Bahrain بحرین Bahrain Bahreïn Bahreïn Bairéin Bachrain Bahrain בחריין Bahrein Bahrein Bahrain Bahrain Barein Bahrein バーレーン 바레인 Bahrain Бахрейн Bahreinas Bahreina ബഹ്റിൻ Бахрейн Bahrain Bahrein Bahrain Bahrain Bahrajn Bahrein Bahrein Bahrain Бахрейн Bahrajn Bahrajn Bahrejn Бахреин Bahrain Bahareni บาห์เรน Bahreyn Бәхрәйн Бахрейн Bahrayn Bahrain 巴林 巴林
BI بوروندي Бурундзі Бурунди Burundi Burundi Burundi Burundi Burundi Burundi Μπουρούντι Burundi Burundo Burundi Burundi Burundi بوروندی Burundi Burundi Burundi an Bhurúin Burundaidh Burundi בורונדי Burundi Burundi Burundi Burundi Búrúndí Burundi ブルンジ 부룬디 Burundi Бурунди Burundis Burundija ബറുണ്ടി Бурунди Burundi Burundi Burundi Burundi Burundi Burundi Burundi Burundi Бурунди Burundi Burundi Burundi Бурунди Burundi Burundi บุรุนดี Burundi Бурунди Бурунді Burundi Burundi 布隆迪 蒲隆地
BJ بنين Бенін Бенин Benin Benin Benín Benin Benin Benin Μπενίν Benin Benino Benín Benin Benin بنین Benin Bénin Bénin Beinin Beinin Benín בנין Benin Benin Benin Benin Benín Benin ベナン 베냉 Benin Бенин Beninas Benina ബെനിൻ Бенин Benin Benin Benin Benin Benin Benin Benin Benin Бенин Benin Benin Benin Бенин Benin Benin เบนิน Benin Бенин Бенін Benin Benin 贝宁 貝南
BL سان بارتليمي Сен-Бартэльмі Сен Бартелеми Saint Barthélemy Sveti Bartolomej Saint Barthélemy Svatý Bartoloměj Saint Barthélemy St. Barthélemy Άγιος Βαρθολομαίος St. Barthélemy St. Barthélemy San Bartolomé Saint-Barthélemy Saint Barthélemy سن بارتلمی Saint-Barthélemy Saint-Barthélemy Saint-Barthélemy Saint Barthélemy Saint Barthélemy Saint Barthélemy סנט ברתולומיאו Saint Barthélemy Saint-Barthélemy St. Barthélemy Saint Barthélemy Sankti Bartólómeusareyjar Saint-Barthélemy サン・バルテルミー 생바르텔레미 St. Barthélemy Сент Бартелеми Sen Bartelemi Senbartelmī സെന്റ് ബാർത്തലമി Сент-Бартельми Saint-Barthélemy Saint-Barthélemy Saint Barthélemy St. Barthélemy Saint-Barthélemy São Bartolomeu São Bartolomeu Saint-Barthélemy Сен-Бартелеми Svätý Bartolomej Saint Barthélemy Sen-Bartelemi Свети Бартоломеј S:t Barthélemy St. Barthelemy เซนต์บาร์เธเลมี Saint Barthelemy Сен-Бартельми Сен-Бартельмі Sen-Bartelemi St. Barthélemy 圣巴泰勒米 聖巴瑟米
BM برمودا Бермудскія астравы Бермудски острови Bermuda Bermuda Bermudes Bermudy Bermuda Bermuda Βερμούδες Bermuda Bermudoj Bermudas Bermuda Bermuda برمودا Bermuda Bermudes Bermudes Beirmiúda Bearmùda Illas Bermudas ברמודה Bermudi Bermuda Bermuda Bermuda Bermúdaeyjar Bermuda バミューダ 버뮤다 Bermuda Бермуд аралдары Bermuda Bermudu salas ബർമുഡ Бермуда Bermuda Bermuda Bermuda Bermuda Bermudy Bermudas Bermudas Bermuda Бермудские о-ва Bermudy Bermudi Bermude Бермуда Bermuda Bermuda เบอร์มิวดา Bermuda Бермуд утраулары Бермудські Острови Bermuda orollari Bermuda 百慕大 百慕達
BN بروناي Бруней Бруней Даруссалам Brunei Brunej Brunei Brunej Brunei Brunei Darussalam Μπρουνέι Brunei Brunejo Brunéi Brunei Brunei برونئی Brunei Brunéi Darussalam Brunéi Darussalam Brúiné Brùnaigh Brunei ברוניי Brunej Brunei Brunei Brunei Brúnei Brunei ブルネイ 브루나이 Brunei Бруней Brunėjus Bruneja ബ്രൂണൈ Бруней Brunei Brunei Brunei Brunei Brunei Brunei Brunei Brunei Бруней-Даруссалам Brunej Brunej Brunei Брунеј Brunei Brunei บรูไน Brunei Бруней Бруней Bruney Brunei 文莱 汶萊
BO بوليفيا Балівія Боливия Bolivia Bolivija Bolívia Bolívie Bolivia Bolivien Βολιβία Bolivia Bolivio Bolivia Boliivia Bolivia بولیوی Bolivia Bolivie Bolivie an Bholaiv Boilibhia Bolivia בוליביה Bolivija Bolívia Bolivia Bolivia Bólivía Bolivia ボリビア 볼리비아 Bolivia Боливия Bolivija Bolīvija ബൊളീവിയ Боливи Bolivia Bolivia Bolivia Bolivia Boliwia Bolívia Bolívia Bolivia Боливия Bolívia Bolivija Bolivi Боливија Bolivia Bolivia โบลิเวีย Bolivya Боливия Болівія Boliviya Bolivia 玻利维亚 玻利維亞
BQ هولندا الكاريبية Карыбскія Нідэрланды Карибска Нидерландия Karib Nederlandat Karipska Holandija Carib Neerlandès Karibské Nizozemsko De tidligere Nederlandske Antiller Bonaire, Sint Eustatius und Saba Ολλανδία Καραϊβικής Caribbean Netherlands Caribbean Netherlands Caribe neerlandés Hollandi Kariibi mere saared Karibeko Herbehereak جزایر کارائیب هلند Karibian Alankomaat Pays-Bas caribéens Pays-Bas caribéens an Ísiltír Chairibeach Na Tìrean Ìsle Caraibeach Caribe Neerlandés האיים הקריביים ההולנדיים Karipski otoci Nizozemske Holland Karib-térség Caribbean Netherlands Belanda Karibia Karíbahafshluti Hollands Caraibi olandesi オランダ領カリブ 네덜란드령 카리브 Caribbean Netherlands Кариб Нидерланддары Karibų Nyderlandai Nīderlandes Karību salas കരീബിയൻ നെതർലാൻഡ്സ് Карибын Нидерланд Karibisk Nederland Caribisch Nederland Karibisk Nederland Caribbean Netherlands Niderlandy Karaibskie Países Baixos Caribenhos Países Baixos Caribenhos Insulele Caraibe Olandeze Бонэйр, Синт-Эстатиус и Саба Karibské Holandsko Nizozemski Karibi Karaibet holandeze Карипска Холандија Karibiska Nederländerna Uholanzi ya Karibiani เนเธอร์แลนด์แคริบเบียน Karayip Hollandası Caribbean Netherlands Нідерландські Карибські острови Boneyr, Sint-Estatius va Saba Ca-ri-bê Hà Lan 荷属加勒比区 荷蘭加勒比區
BR البرازيل Бразілія Бразилия Brazil Brazil Brasil Brazílie Brasilien Brasilien Βραζιλία Brazil Brazilo Brasil Brasiilia Brasil برزیل Brasilia Brésil Brésil an Bhrasaíl Braisil O Brasil ברזיל Brazil Brazília Brasil Brasil Brasilía Brasile ブラジル 브라질 Brasil Бразилия Brazilija Brazīlija ബ്രസീൽ Бразил Brasil Brazilië Brasil Бразили Brazylia Brasil Brasil Brazilia Бразилия Brazília Brazilija Brazil Бразил Brasilien Brazil บราซิล Brezilya Бразилия Бразілія Braziliya Brazil 巴西 巴西
BS جزر البهاما Багамскія астравы Бахамски острови Bahamas Bahami Bahames Bahamy Bahamas Bahamas Μπαχάμες Bahamas Bahamoj Bahamas Bahama Bahamak باهاما Bahama Bahamas Bahamas na Bahámaí Na h-Eileanan Bhathama Bahamas איי בהאמה Bahami Bahama-szigetek Bahamas Bahama Bahamaeyjar Bahamas バハマ 바하마 Bahamas Багама аралдары Bahamos Bahamu salas ബഹാമാസ് Багамын арлууд Bahamas Bahamas Bahamas Bahamas Bahamy Bahamas Bahamas Bahamas Багамы Bahamy Bahami Bahama Бахами Bahamas Bahama บาฮามาส Bahamalar Багам утраулары Багамські Острови Bagama orollari Bahamas 巴哈马 巴哈馬
BT بوتان Бутан Бутан Bhoutan Butan Bhutan Bhútán Bhutan Bhutan Μπουτάν Bhutan Butano Bután Bhutan Bhutan بوتان Bhutan Bhoutan Bhoutan an Bhútáin Butàn Bután בהוטן Butan Bhután Bhutan Bhutan Bútan Bhutan ブータン 부탄 Bhutan Бутан Butanas Butāna ഭൂട്ടാൻ Бутан Bhutan Bhutan Bhutan Bhutan Bhutan Butão Butão Bhutan Бутан Bhután Butan Butan Бутан Bhutan Bhutan ภูฏาน Butan Бутан Бутан Butan Bhutan 不丹 不丹
BV جزيرة بوفيه Востраў Бувэ остров Буве Enez Bouvet Ostrvo Buve Bouvet Bouvetův ostrov Bouvetøen Bouvetinsel Νήσος Μπουβέ Bouvet Island Bouvet Island Isla Bouvet Bouvet saar Bouvet uhartea جزیرهٔ بووه Bouvetnsaari Île Bouvet Île Bouvet Oileán Bouvet Eilean Bouvet Illa Bouvet האי בובה Otok Bouvet Bouvet-sziget Insula de Bouvet Pulau Bouvet Bouveteyja Isola Bouvet ブーベ島 부베섬 Bouvet Island Буве аралы Buvė Sala Buvē sala ബൗവെട്ട് ദ്വീപ് Буве арал Bouvetøya Bouveteiland Bouvetøya Bouvet Island Wyspa Bouveta Ilha Bouvet Ilha Bouvet Insula Bouvet о-в Буве Bouvetov ostrov Bouvetov otok Ishulli Bove Острво Буве Bouvetön Kisiwa cha Bouvet เกาะบูเว Bouvet Adası Буве утравы Острів Буве Buve oroli Đảo Bouvet 布韦岛 布威島
BW بوتسوانا Батсвана Ботсвана Botswana Bocvana Botswana Botswana Botswana Botsuana Μποτσουάνα Botswana Bocvano Botsuana Botswana Botswana بوتسوانا Botswana Botswana Botswana an Bhotsuáin Botsuana Botswana בוצוואנה Bocvana Botswana Botswana Botswana Botsvana Botswana ボツワナ 보츠와나 Botswana Ботсвана Botsvana Botsvāna ബോട്സ്വാന Ботсван Botswana Botswana Botswana Botswana Botswana Botsuana Botsuana Botswana Ботсвана Botswana Bocvana Botsvanë Боцвана Botswana Botswana บอตสวานา Botsvana Ботсвана Ботсвана Botsvana Botswana 博茨瓦纳 波札那
BY بيلاروس Беларусь Беларус Belarus Bjelorusija Belarús Bělorusko Hviderusland Belarus Λευκορωσία Belarus Belorusujo Bielorrusia Valgevene Bielorrusia بلاروس Valko-Venäjä Biélorussie Biélorussie an Bhealarúis A Bhealaruis Belarús בלארוס Bjelorusija Belarusz Bielorussia Belarus Hvíta-Rússland Bielorussia ベラルーシ 벨라루스 Belarus Беларусь Baltarusija Baltkrievija ബെലറൂസ് Беларусь Hviterussland Belarus Kviterussland Belarus Białoruś Bielorrússia Bielorrússia Belarus Беларусь Bielorusko Belorusija Bjellorusi Белорусија Vitryssland Belarus เบลารุส Belarus Беларусь Білорусь Belarus Belarus 白俄罗斯 白俄羅斯
BZ بليز Беліз Белиз Belize Belize Belize Belize Belize Belize Μπελίζ Belize Belizo Belice Belize Belize بلیز Belize Belize Belize an Bheilís A Bheilìs Belize בליז Belize Belize Belize Belize Belís Belize ベリーズ 벨리즈 Belize Белиз Belizas Beliza ബെലീസ് Белизе Belize Belize Belize Belize Belize Belize Belize Belize Белиз Belize Belize Belizë Белизе Belize Belize เบลีซ Belize Белиз Беліз Beliz Belize 伯利兹 貝里斯
CA كندا Канада Канада Kanada Kanada Canadà Kanada Canada Kanada Καναδάς Canada Kanado Canadá Kanada Kanada کانادا Kanada Canada Canada Ceanada Canada O Canadá קנדה Kanada Kanada Canada Kanada Kanada Canada カナダ 캐나다 Canada Канада Kanada Kanāda കാനഡ Канад Canada Canada Canada Canada Kanada Canadá Canadá Canada Канада Kanada Kanada Kanada Канада Kanada Kanada แคนาดา Kanada Канада Канада Kanada Canada 加拿大 加拿大
CC جزر كوكوس (كيلينغ) Какосавыя (Кілінг) астравы Кокосови острови (острови Кийлинг) Inizi Kokoz Kokosova (Keelingova) ostrva Illes Cocos Kokosové ostrovy Cocosøerne Kokosinseln Νήσοι Κόκος (Κίλινγκ) Cocos (Keeling) Islands Cocos (Keeling) Islands Islas Cocos Kookossaared Cocos (Keeling) uharteak جزایر کوکوس Kookossaaret (Keelingsaaret) Îles Cocos Îles Cocos Oileáin Cocos (Keeling) Na h-Eileanan Chocos (Keeling) Illas Cocos (Keeling) איי קוקוס (קילינג) Kokosovi (Keelingovi) otoci Kókusz (Keeling)-szigetek Cocos (Keeling) Islands Kepulauan Cocos (Keeling) Kókoseyjar (Keeling) Isole Cocos (Keeling) ココス(キーリング)諸島 코코스 제도 Cocos (Keeling) Islands Кокос (Килинг) аралдары Kokosų (Kilingo) Salos Kokosu (Kīlinga) salas കോക്കസ് (കീലിംഗ്) ദ്വീപുകൾ Кокос (Кийлинг) арлууд Kokosøyene Cocoseilanden Kokosøyane Cocos (Keeling) Islands Wyspy Kokosowe Ilhas Cocos (Keeling) Ilhas Cocos (Keeling) Insulele Cocos (Keeling) Кокосовые о-ва Kokosové ostrovy Kokosovi otoki Ishujt Kokos Кокосова (Килингова) Острва Kokosöarna Visiwa vya Cocos (Keeling) หมู่เกาะโคโคส (คีลิง) Cocos (Keeling) Adaları Кокос (Килинг) утраулары Кокосові (Кілінґ) Острови Kokos (Kiling) orollari Quần đảo Cocos (Keeling) 科科斯(基林)群岛 科克斯(基靈)群島
CD الكونغو - كينشاسا Конга (Кіншаса) Конго (Киншаса) Kongo - Kinshasa Demokratska Republika Kongo Congo - Kinshasa Kongo Kinshasa Congo-Kinshasa Kongo-Kinshasa Κονγκό - Κινσάσα Congo - Kinshasa Congo - Kinshasa República Democrática del Congo Kongo DV Kongoko Errepublika Demokratikoa کنگو - کینشاسا Kongon demokraattinen tasavalta Congo-Kinshasa Congo-Kinshasa Poblacht Dhaonlathach an Chongó Congo - Kinshasa República Democrática do Congo קונגו - קינשאסה Kongo - Kinshasa Kongó - Kinshasa Congo - Kinshasa Kongo - Kinshasa Kongó-Kinshasa Congo - Kinshasa コンゴ民主共和国(キンシャサ) 콩고-킨샤사 Congo - Kinshasa Конго-Киншаса Kongas-Kinšasa Kongo (Kinšasa) കോംഗോ - കിൻഷാസ Конго-Киншаса Kongo-Kinshasa Congo-Kinshasa Kongo-Kinshasa Congo - Kinshasa Demokratyczna Republika Konga Congo - Kinshasa Congo - Kinshasa Congo - Kinshasa Конго - Киншаса Konžská demokratická republika Demokratična republika Kongo Kongo-Kinshasa Конго - Киншаса Kongo-Kinshasa Jamhuri ya Kidemokrasia ya Kongo คองโก - กินชาซา Kongo - Kinşasa Congo - Kinshasa Конго Кіншаса Kongo Kinshasa Congo - Kinshasa 刚果(金) 剛果(金夏沙)
CF جمهورية أفريقيا الوسطى Цэнтральна-Афрыканская Рэспубліка Централноафриканска република Republik Kreizafrikan Centralnoafrička Republika República Centreafricana Středoafrická republika Den Centralafrikanske Republik Zentralafrikanische Republik Κεντροαφρικανική Δημοκρατία Central African Republic Centr-Afrika Respubliko República Centroafricana Kesk-Aafrika Vabariik Afrika Erdiko Errepublika جمهوری افریقای مرکزی Keski-Afrikan tasavalta République centrafricaine République centrafricaine Poblacht na hAfraice Láir Poblachd Meadhan Afraga República Centroafricana הרפובליקה המרכז-אפריקאית Srednjoafrička Republika Közép-afrikai Köztársaság Republica African Central Republik Afrika Tengah Mið-Afríkulýðveldið Repubblica Centrafricana 中央アフリカ共和国 중앙 아프리카 공화국 Central African Republic Борбордук Африка Республикасы Centrinės Afrikos Respublika Centrālāfrikas Republika സെൻട്രൽ ആഫ്രിക്കൻ റിപ്പബ്ലിക്ക് Төв Африкийн Бүгд Найрамдах Улс Den sentralafrikanske republikk Centraal-Afrikaanse Republiek Den sentralafrikanske republikken Central African Republic Republika Środkowoafrykańska República Centro-Africana República Centro-Africana Republica Centrafricană Центрально-Африканская Республика Stredoafrická republika Centralnoafriška republika Republika e Afrikës Qendrore Централноафричка Република Centralafrikanska republiken Jamhuri ya Afrika ya Kati สาธารณรัฐแอฟริกากลาง Orta Afrika Cumhuriyeti Үзәк Африка Республикасы Центральноафриканська Республіка Markaziy Afrika Respublikasi Cộng hòa Trung Phi 中非共和国 中非共和國
CG الكونغو - برازافيل Конга - Бразавіль Конго (Бразавил) Kongo - Brazzaville Kongo Congo - Brazzaville Kongo Brazzaville Congo-Brazzaville Kongo-Brazzaville Κονγκό - Μπραζαβίλ Congo - Brazzaville Kongolo Congo Kongo Vabariik Kongo کنگو - برازویل Kongon tasavalta Congo-Brazzaville Congo-Brazzaville an Congó A Chongo - Brazzaville República do Congo קונגו - ברזאויל Kongo - Brazzaville Kongó - Brazzaville Congo Kongo - Brazzaville Kongó-Brazzaville Congo-Brazzaville コンゴ共和国(ブラザビル) 콩고-브라자빌 Congo - Brazzaville Конго-Браззавил Kongas-Brazavilis Kongo (Brazavila) കോംഗോ - ബ്രാസവില്ലി Конго-Браззавиль Kongo-Brazzaville Congo-Brazzaville Kongo-Brazzaville Congo - Brazzaville Kongo República do Congo República do Congo Congo - Brazzaville Конго - Браззавиль Konžská republika Kongo - Brazzaville Kongo-Brazavilë Конго - Бразавил Kongo-Brazzaville Kongo - Brazzaville คองโก - บราซซาวิล Kongo - Brazavil Congo - Brazzaville Конго Браззавіль Kongo Brazzavil Congo - Brazzaville 刚果(布) 剛果(布拉薩)
CH سويسرا Швейцарыя Швейцария Suis Švicarska Suïssa Švýcarsko Schweiz Schweiz Ελβετία Switzerland Svisujo Suiza Šveits Suitza سوئیس Sveitsi Suisse Suisse an Eilvéis An Eilbheis Suíza שווייץ Švicarska Svájc Suissa Swiss Sviss Svizzera スイス 스위스 Switzerland Швейцария Šveicarija Šveice സ്വിറ്റ്സർലാൻഡ് Швейцарь Sveits Zwitserland Sveits Switzerland Szwajcaria Suíça Suíça Elveția Швейцария Švajčiarsko Švica Zvicër Швајцарска Schweiz Uswisi สวิตเซอร์แลนด์ İsviçre Швейцария Швейцарія Shveytsariya Thụy Sĩ 瑞士 瑞士
CI ساحل العاج Кот-д’Івуар Кот д’Ивоар Aod an Olifant Obala Slonovače Côte dIvoire Pobřeží slonoviny Elfenbenskysten Côte dIvoire Ακτή Ελεφαντοστού Côte dIvoire Ebur-Bordo Côte dIvoire Côte dIvoire Boli Kosta ساحل عاج Norsunluurannikko Côte dIvoire Côte dIvoire an Cósta Eabhair Côte dIvoire Côte dIvoire חוף השנהב Obala Bjelokosti Elefántcsontpart Côte dIvoire Côte dIvoire Fílabeinsströndin Costa dAvorio コートジボワール 코트디부아르 Côte dIvoire Кот-д’Ивуар Dramblio Kaulo Krantas Kotdivuāra കോട്ട് ഡി വാർ Кот-д’Ивуар Elfenbenskysten Ivoorkust Elfenbeinskysten Côte dIvoire Côte dIvoire Costa do Marfim Costa do Marfim Côte dIvoire Кот-д’Ивуар Pobrežie Slonoviny Slonokoščena obala Côte dIvoire Обала Слоноваче (Кот д’Ивоар) Côte dIvoire Cote dIvoire โกตดิวัวร์ Côte dIvoire Кот-д’Ивуар Кот-дʼІвуар Kot-dIvuar Côte dIvoire 科特迪瓦 象牙海岸
CK جزر كوك Астравы Кука острови Кук Inizi Cook Kukova ostrva Illes Cook Cookovy ostrovy Cookøerne Cookinseln Νήσοι Κουκ Cook Islands Kukinsuloj Islas Cook Cooki saared Cook uharteak جزایر کوک Cookinsaaret Îles Cook Îles Cook Oileáin Cook Eileanan Cook Illas Cook איי קוק Cookovi Otoci Cook-szigetek Insulas Cook Kepulauan Cook Cooks-eyjar Isole Cook クック諸島 쿡 제도 Cook Islands Кук аралдары Kuko Salos Kuka salas കുക്ക് ദ്വീപുകൾ Күүкийн арлууд Cookøyene Cookeilanden Cookøyane Cook Islands Wyspy Cooka Ilhas Cook Ilhas Cook Insulele Cook Острова Кука Cookove ostrovy Cookovi otoki Ishujt Kuk Кукова Острва Cooköarna Visiwa vya Cook หมู่เกาะคุก Cook Adaları Кук утраулары Острови Кука Kuk orollari Quần đảo Cook 库克群岛 庫克群島
CL تشيلي Чылі Чили Chile Čile Xile Chile Chile Chile Χιλή Chile Ĉilio Chile Tšiili Txile شیلی Chile Chili Chili an tSile An t-Sile Chile צ׳ילה Čile Chile Chile Cile Síle Cile チリ 칠레 Chile Чили Čilė Čīle ചിലി Чили Chile Chili Chile Chile Chile Chile Chile Chile Чили Čile Čile Kili Чиле Chile Chile ชิลี Şili Чили Чілі Chili Chile 智利 智利
CM الكاميرون Камерун Камерун Kameroun Kamerun Camerun Kamerun Cameroun Kamerun Καμερούν Cameroon Kameruno Camerún Kamerun Kamerun کامرون Kamerun Cameroun Cameroun Camarún Camarun Camerún קמרון Kamerun Kamerun Camerun Kamerun Kamerún Camerun カメルーン 카메룬 Cameroon Камерун Kamerūnas Kamerūna കാമറൂൺ Камерун Kamerun Kameroen Kamerun Cameroon Kamerun Camarões Camarões Camerun Камерун Kamerun Kamerun Kamerun Камерун Kamerun Kameruni แคเมอรูน Kamerun Камерун Камерун Kamerun Cameroon 喀麦隆 喀麥隆
CN الصين Кітай Китай Sina Kina Xina Čína Kina China Κίνα China Ĉinujo China Hiina Txina چین Kiina Chine Chine an tSín An t-Sìn A China סין Kina Kína China Tiongkok Kína Cina 中国 중국 China Кытай Kinija Ķīna ചൈന Хятад Kina China Kina Китай Chiny China China China Китай Čína Kitajska Kinë Кина Kina Uchina จีน Çin Кытай Китай Xitoy Trung Quốc 中国 中國
CO كولومبيا Калумбія Колумбия Kolombia Kolumbija Colòmbia Kolumbie Colombia Kolumbien Κολομβία Colombia Kolombio Colombia Colombia Kolonbia کلمبیا Kolumbia Colombie Colombie an Cholóim Coloimbia Colombia קולומביה Kolumbija Kolumbia Colombia Kolombia Kólumbía Colombia コロンビア 콜롬비아 Colombia Колумбия Kolumbija Kolumbija കൊളംബിയ Колумби Colombia Colombia Colombia Colombia Kolumbia Colômbia Colômbia Columbia Колумбия Kolumbia Kolumbija Kolumbi Колумбија Colombia Kolombia โคลอมเบีย Kolombiya Колумбия Колумбія Kolumbiya Colombia 哥伦比亚 哥倫比亞
CP جزيرة كليبيرتون Востраў Кліпертан остров Клипертон Enez Clipperton Ostrvo Kliperton Illa Clipperton Clippertonův ostrov Clippertonøen Clipperton-Insel Νήσος Κλίπερτον Clipperton Island Clipperton Island Isla Clipperton Clippertoni saar Clipperton uhartea جزایر کلیپرتون Clippertoninsaari Île Clipperton Île Clipperton Oileán Clipperton Eilean Clipperton Illa Clipperton האי קליפרטון Otok Clipperton Clipperton-sziget Clipperton Island Pulau Clipperton Clipperton-eyja Isola di Clipperton クリッパートン島 클립퍼튼 섬 Clipperton Island Клиппертон аралы Klipertono sala Klipertona sala ക്ലിപ്പെർട്ടൻ ദ്വീപ് Клиппертон арал Clippertonøya Clipperton Clippertonøya Clipperton Island Wyspa Clippertona Ilha de Clipperton Ilha de Clipperton Insula Clipperton о-в Клиппертон Clipperton Otok Clipperton Ishulli Klipërton Острво Клипертон Clippertonön Kisiwa cha Clipperton เกาะคลิปเปอร์ตัน Clipperton Adası Clipperton Island Острів Кліппертон Klipperton oroli Đảo Clipperton 克利珀顿岛 克里派頓島
CR كوستاريكا Коста-Рыка Коста Рика Costa Rica Kostarika Costa Rica Kostarika Costa Rica Costa Rica Κόστα Ρίκα Costa Rica Kostariko Costa Rica Costa Rica Costa Rica کاستاریکا Costa Rica Costa Rica Costa Rica Cósta Ríce Costa Rìcea Costa Rica קוסטה ריקה Kostarika Costa Rica Costa Rica Kosta Rika Kostaríka Costa Rica コスタリカ 코스타리카 Costa Rica Коста-Рика Kosta Rika Kostarika കോസ്റ്ററിക്ക Коста-Рика Costa Rica Costa Rica Costa Rica Costa Rica Kostaryka Costa Rica Costa Rica Costa Rica Коста-Рика Kostarika Kostarika Kosta-Rikë Костарика Costa Rica Kostarika คอสตาริกา Kosta Rika Коста-Рика Коста-Ріка Kosta-Rika Costa Rica 哥斯达黎加 哥斯大黎加
CU كوبا Куба Куба Kuba Kuba Cuba Kuba Cuba Kuba Κούβα Cuba Kubo Cuba Kuuba Kuba کوبا Kuuba Cuba Cuba Cúba Cùba Cuba קובה Kuba Kuba Cuba Kuba Kúba Cuba キューバ 쿠바 Cuba Куба Kuba Kuba ക്യൂബ Куба Cuba Cuba Cuba Cuba Kuba Cuba Cuba Cuba Куба Kuba Kuba Kubë Куба Kuba Cuba คิวบา Küba Куба Куба Kuba Cuba 古巴 古巴
CV الرأس الأخضر Каба-Вердэ Кабо Верде Kab-Glas Kape Verde Cap Verd Kapverdy Kap Verde Cabo Verde Πράσινο Ακρωτήριο Cape Verde Kabo-Verdo Cabo Verde Roheneemesaared Cabo Verde کیپ‌ورد Kap Verde Cap-Vert Cap-Vert Rinn Verde An Ceap Uaine Cabo Verde כף ורדה Zelenortska Republika Zöld-foki Köztársaság Cape Verde Tanjung Verde Grænhöfðaeyjar Capo Verde カーボベルデ 카보베르데 Cape Verde Кабо-Верде Žaliasis Kyšulys Kaboverde കേപ്പ് വേർഡ് Кабо-Верде Kapp Verde Kaapverdië Kapp Verde Cape Verde Republika Zielonego Przylądka Cabo Verde Cabo Verde Capul Verde Кабо-Верде Kapverdy Zelenortski otoki Kepi i Gjelbër Зеленортска Острва Kap Verde Cape Verde เคปเวิร์ด Cape Verde Кабо-Верде Кабо-Верде Kabo-Verde Cape Verde 佛得角 維德角
CW كوراساو Кюрасаа Кюрасао Curaçao Kurasao Curaçao Curaçao Curaçao Curaçao Κουρασάο Curaçao Curaçao Curazao Curaçao Curaçao کوراسائو Curaçao Curaçao Curaçao Curaçao Curaçao Curaçao קוראסאו Curaçao Curaçao Curaçao Curaçao Curacao Curaçao キュラソー 퀴라소 Curaçao Кюрасао Kiurasao Kirasao കുറാകാവോ Кюрасао Curaçao Curaçao Curaçao Curaçao Curaçao Curaçao Curaçao Curaçao Кюрасао Curaçao Curaçao Kurasao Курасао Curaçao Curacao คูราเซา Curaçao Кюрасао Кюрасао Kyurasao Curaçao 库拉索 庫拉索
CX جزيرة كريسماس Востраў Каляд остров Рождество Enez Christmas Božićno ostrvo Illa Christmas Vánoční ostrov Juleøen Weihnachtsinsel Νήσος των Χριστουγέννων Christmas Island Christmas Island Isla de Navidad Jõulusaar Christmas uhartea جزیرهٔ کریسمس Joulusaari Île Christmas Île Christmas Oileán na Nollag Eilean na Nollaig Illa Christmas אי חג המולד Božićni otok Karácsony-sziget Insula de Natal Pulau Natal Jólaey Isola Christmas クリスマス島 크리스마스섬 Christmas Island Рождество аралы Kalėdų Sala Ziemsvētku sala ക്രിസ്മസ് ദ്വീപ് Зул сарын арал Christmasøya Christmaseiland Christmasøya Christmas Island Wyspa Bożego Narodzenia Ilha Christmas Ilha Christmas Insula Christmas о-в Рождества Vianočný ostrov Božični otok Ishulli i Krishtlindjes Божићно Острво Julön Kisiwa cha Krismasi เกาะคริสต์มาส Christmas Adası Раштуа утравы Острів Різдва Rojdestvo oroli Đảo Giáng Sinh 圣诞岛 聖誕島
CY قبرص Кіпр Кипър Kiprenez Kipar Xipre Kypr Cypern Zypern Κύπρος Cyprus Kipro Chipre Küpros Zipre قبرس Kypros Chypre Chypre an Chipir Cìopras Chipre קפריסין Cipar Ciprus Cypro Siprus Kýpur Cipro キプロス 키프로스 Cyprus Кипр Kipras Kipra സൈപ്രസ് Кипр Kypros Cyprus Kypros Cyprus Cypr Chipre Chipre Cipru Кипр Cyprus Ciper Qipro Кипар Cypern Cyprus ไซปรัส Kıbrıs Кипр Кіпр Kipr Síp 塞浦路斯 賽普勒斯
CZ التشيك Чэхія Чехия Tchekia Češka Txèquia Česko Tjekkiet Tschechien Τσεχία Czechia Ĉeĥujo Chequia Tšehhi Txekia چک Tšekki Tchéquie Tchéquie an tSeicia An t-Seic Chequia צ׳כיה Češka Csehország Chechia Ceko Tékkland Cechia チェコ 체코 Czechia Чехия Čekija Čehija ചെക്കിയ Чех Tsjekkia Tsjechië Tsjekkia Czechia Czechy Tchéquia Tchéquia Cehia Чехия Česko Češka Çeki Чешка Tjeckien Chechia เช็ก Çekya Чехия Республикасы Чехія Chexiya Séc 捷克 捷克
DE ألمانيا Германія Германия Alamagn Njemačka Alemanya Německo Tyskland Deutschland Γερμανία Germany Germanujo Alemania Saksamaa Alemania آلمان Saksa Allemagne Allemagne an Ghearmáin A Ghearmailt Alemaña גרמניה Njemačka Németország Germania Jerman Þýskaland Germania ドイツ 독일 Almayn Германия Vokietija Vācija ജർമ്മനി Герман Tyskland Duitsland Tyskland Герман Niemcy Alemanha Alemanha Germania Германия Nemecko Nemčija Gjermani Немачка Tyskland Ujerumani เยอรมนี Almanya Германия Німеччина Germaniya Đức 德国 德國
DG دييغو غارسيا Востраў Дыега-Гарсія Диего Гарсия Diego Garcia Dijego Garsija Diego Garcia Diego García Diego Garcia Diego Garcia Ντιέγκο Γκαρσία Diego Garcia Diego Garcia Diego García Diego Garcia Diego García دیه‌گو گارسیا Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego García דייגו גרסיה Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia ディエゴガルシア島 디에고 가르시아 Diego Garcia Диего Гарсия Diego Garsija Djego Garsijas atols ഡീഗോ ഗ്രാഷ്യ Диего Гарсиа Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Диего-Гарсия Diego Garcia Diego Garcia Diego-Garsia Дијего Гарсија Diego Garcia Diego Garcia ดิเอโกการ์เซีย Diego Garcia Diego Garcia Дієго-Гарсія Diyego-Garsiya Diego Garcia 迪戈加西亚岛 迪亞哥加西亞島
DJ جيبوتي Джыбуці Джибути Djibouti Džibuti Djibouti Džibutsko Djibouti Dschibuti Τζιμπουτί Djibouti Ĝibutio Yibuti Djibouti Djibuti جیبوتی Djibouti Djibouti Djibouti Djibouti Diobùtaidh Djibuti ג׳יבוטי Džibuti Dzsibuti Djibouti Jibuti Djíbútí Gibuti ジブチ 지부티 Djibouti Джибути Džibutis Džibutija ജിബൂത്തി Джибути Djibouti Djibouti Djibouti Djibouti Dżibuti Djibuti Djibuti Djibouti Джибути Džibutsko Džibuti Xhibuti Џибути Djibouti Jibuti จิบูตี Cibuti Җибүти Джибуті Jibuti Djibouti 吉布提 吉布地
DK الدانمرك Данія Дания Danmark Danska Dinamarca Dánsko Danmark Dänemark Δανία Denmark Danujo Dinamarca Taani Danimarka دانمارک Tanska Danemark Danemark an Danmhairg An Danmhairg Dinamarca דנמרק Danska Dánia Danmark Denmark Danmörk Danimarca デンマーク 덴마크 Denmark Дания Danija Dānija ഡെൻമാർക്ക് Дани Danmark Denemarken Danmark Denmark Dania Dinamarca Dinamarca Danemarca Дания Dánsko Danska Danimarkë Данска Danmark Denmark เดนมาร์ก Danimarka Дания Данія Daniya Đan Mạch 丹麦 丹麥
DM دومينيكا Дамініка Доминика Dominica Dominika Dominica Dominika Dominica Dominica Ντομίνικα Dominica Dominiko Dominica Dominica Dominika دومینیکا Dominica Dominique Dominique Doiminice Doiminicea Dominica דומיניקה Dominika Dominika Dominica Dominika Dóminíka Dominica ドミニカ国 도미니카 Dominica Доминика Dominika Dominika ഡൊമിനിക്ക Доминика Dominica Dominica Dominica Dominica Dominika Dominica Dominica Dominica Доминика Dominika Dominika Dominikë Доминика Dominica Dominika โดมินิกา Dominika Доминика Домініка Dominika Dominica 多米尼克 多米尼克
DO جمهورية الدومينيكان Дамініканская Рэспубліка Доминиканска република Republik Dominikan Dominikanska Republika República Dominicana Dominikánská republika Den Dominikanske Republik Dominikanische Republik Δομινικανή Δημοκρατία Dominican Republic Domingo República Dominicana Dominikaani Vabariik Dominikar Errepublika جمهوری دومینیکن Dominikaaninen tasavalta République dominicaine République dominicaine an Phoblacht Dhoiminiceach A Phoblachd Dhoiminiceach República Dominicana הרפובליקה הדומיניקנית Dominikanska Republika Dominikai Köztársaság Republica Dominican Republik Dominika Dóminíska lýðveldið Repubblica Dominicana ドミニカ共和国 도미니카 공화국 Dominican Republic Доминика Республикасы Dominikos Respublika Dominikāna ഡൊമിനിക്കൻ റിപ്പബ്ലിക്ക് Бүгд Найрамдах Доминикан Улс Den dominikanske republikk Dominicaanse Republiek Den dominikanske republikken Dominican Republic Dominikana República Dominicana República Dominicana Republica Dominicană Доминиканская Республика Dominikánska republika Dominikanska republika Republika Dominikane Доминиканска Република Dominikanska republiken Jamhuri ya Dominika สาธารณรัฐโดมินิกัน Dominik Cumhuriyeti Доминикана Республикасы Домініканська Республіка Dominikan Respublikasi Cộng hòa Dominica 多米尼加共和国 多明尼加共和國
DZ الجزائر Алжыр Алжир Aljeria Alžir Algèria Alžírsko Algeriet Algerien Αλγερία Algeria Alĝerio Argelia Alžeeria Aljeria الجزایر Algeria Algérie Algérie an Ailgéir Aildiria Alxeria אלג׳יריה Alžir Algéria Algeria Aljazair Alsír Algeria アルジェリア 알제리 Algeria Алжир Alžyras Alžīrija അൾജീരിയ Алжир Algerie Algerije Algerie Algeria Algieria Argélia Argélia Algeria Алжир Alžírsko Alžirija Algjeri Алжир Algeriet Aljeria แอลจีเรีย Cezayir Алжир Алжир Jazoir Algeria 阿尔及利亚 阿爾及利亞
EA سيوتا وميليلا Сеута і Мелілья Сеута и Мелия Ceuta ha Melilla Seuta i Melilja Ceuta i Melilla Ceuta a Melilla Ceuta og Melilla Ceuta und Melilla Θέουτα και Μελίγια Ceuta & Melilla Ceuta & Melilla Ceuta y Melilla Ceuta ja Melilla Ceuta eta Melilla سبته و ملیله Ceuta ja Melilla Ceuta et Melilla Ceuta et Melilla Ceuta agus Melilla Ceuta agus Melilla Ceuta e Melilla סאוטה ומלייה Ceuta i Melilla Ceuta és Melilla Ceuta & Melilla Ceuta dan Melilla Ceuta og Melilla Ceuta e Melilla セウタ・メリリャ 세우타 및 멜리야 Ceuta & Melilla Сеута жана Мелилла Seuta ir Melila Seūta un Melilja സെയൂത്ത ആൻഡ് മെലിയ Сеута ба Мелилья Ceuta og Melilla Ceuta en Melilla Ceuta og Melilla Ceuta & Melilla Ceuta i Melilla Ceuta e Melilla Ceuta e Melilla Ceuta și Melilla Сеута и Мелилья Ceuta a Melilla Ceuta in Melilla Theuta e Melila Сеута и Мелиља Ceuta och Melilla Ceuta na Melilla เซวตาและเมลียา Ceuta ve Melilla Ceuta & Melilla Сеута і Мелілья Seuta va Melilya Ceuta và Melilla 休达及梅利利亚 休達與梅利利亞
EC الإكوادور Эквадор Еквадор Ecuador Ekvador Equador Ekvádor Ecuador Ecuador Ισημερινός Ecuador Ekvadoro Ecuador Ecuador Ekuador اکوادور Ecuador Équateur Équateur Eacuadór Eacuador Ecuador אקוודור Ekvador Ecuador Ecuador Ekuador Ekvador Ecuador エクアドル 에콰도르 Ecuador Эквадор Ekvadoras Ekvadora ഇക്വഡോർ Эквадор Ecuador Ecuador Ecuador Ecuador Ekwador Equador Equador Ecuador Эквадор Ekvádor Ekvador Ekuador Еквадор Ecuador Ecuador เอกวาดอร์ Ekvador Эквадор Еквадор Ekvador Ecuador 厄瓜多尔 厄瓜多
EE إستونيا Эстонія Естония Estonia Estonija Estònia Estonsko Estland Estland Εσθονία Estonia Estonujo Estonia Eesti Estonia استونی Viro Estonie Estonie an Eastóin An Eastoin Estonia אסטוניה Estonija Észtország Estonia Estonia Eistland Estonia エストニア 에스토니아 Estonia Эстония Estija Igaunija എസ്റ്റോണിയ‍ Эстони Estland Estland Estland Estonia Estonia Estônia Estônia Estonia Эстония Estónsko Estonija Estoni Естонија Estland Estonia เอสโตเนีย Estonya Эстония Естонія Estoniya Estonia 爱沙尼亚 愛沙尼亞
EG مصر Егіпет Египет Egipt Egipat Egipte Egypt Egypten Ägypten Αίγυπτος Egypt Egipto Egipto Egiptus Egipto مصر Egypti Égypte Égypte an Éigipt An Èiphit Exipto מצרים Egipat Egyiptom Egypto Mesir Egyptaland Egitto エジプト 이집트 Egypt Египет Egiptas Ēģipte ഈജിപ്ത് Египет Egypt Egypte Egypt Egypt Egipt Egito Egito Egipt Египет Egypt Egipt Egjipt Египат Egypten Misri อียิปต์ Mısır Мисыр Єгипет Misr Ai Cập 埃及 埃及
EH الصحراء الغربية Заходняя Сахара Западна Сахара Sahara ar Cʼhornôg Zapadna Sahara Sàhara Occidental Západní Sahara Vestsahara Westsahara Δυτική Σαχάρα Western Sahara Okcidenta Saharo Sáhara Occidental Lääne-Sahara Mendebaldeko Sahara صحرای غربی Länsi-Sahara Sahara occidental Sahara occidental an Sahára Thiar Sathara an Iar O Sáhara Occidental סהרה המערבית Zapadna Sahara Nyugat-Szahara Sahara occidental Sahara Barat Vestur-Sahara Sahara occidentale 西サハラ 서사하라 Western Sahara Батыш Сахара Vakarų Sachara Rietumsahāra പശ്ചിമ സഹാറ Баруун Сахар Vest-Sahara Westelijke Sahara Vest-Sahara Western Sahara Sahara Zachodnia Saara Ocidental Saara Ocidental Sahara Occidentală Западная Сахара Západná Sahara Zahodna Sahara Saharaja Perëndimore Западна Сахара Västsahara Sahara Magharibi ซาฮาราตะวันตก Batı Sahra Western Sahara Західна Сахара Garbiy Sahroi Kabir Tây Sahara 西撒哈拉 西撒哈拉
ER إريتريا Эрытрэя Еритрея Eritrea Eritreja Eritrea Eritrea Eritrea Eritrea Ερυθραία Eritrea Eritreo Eritrea Eritrea Eritrea اریتره Eritrea Érythrée Érythrée an Eiritré Eartra Eritrea אריתריאה Eritreja Eritrea Eritrea Eritrea Erítrea Eritrea エリトリア 에리트리아 Eritrea Эритрея Eritrėja Eritreja എറിത്രിയ Эритрей Eritrea Eritrea Eritrea Eritrea Erytrea Eritreia Eritreia Eritreea Эритрея Eritrea Eritreja Eritre Еритреја Eritrea Eritrea เอริเทรีย Eritre Эритрея Еритрея Eritreya Eritrea 厄立特里亚 厄利垂亞
ES إسبانيا Іспанія Испания Spagn Španija Espanya Španělsko Spanien Spanien Ισπανία Spain Hispanujo España Hispaania Espainia اسپانیا Espanja Espagne Espagne an Spáinn An Spàinnt España ספרד Španjolska Spanyolország Espania Spanyol Spánn Spagna スペイン 스페인 Spain Испания Ispanija Spānija സ്‌പെയിൻ Испани Spania Spanje Spania Spain Hiszpania Espanha Espanha Spania Испания Španielsko Španija Spanjë Шпанија Spanien Uhispania สเปน İspanya Испания Іспанія Ispaniya Tây Ban Nha 西班牙 西班牙
ET إثيوبيا Эфіопія Етиопия Etiopia Etiopija Etiòpia Etiopie Etiopien Äthiopien Αιθιοπία Ethiopia Etiopujo Etiopía Etioopia Etiopia اتیوپی Etiopia Éthiopie Éthiopie an Aetóip An Itiop Etiopía אתיופיה Etiopija Etiópia Ethiopia Etiopia Eþíópía Etiopia エチオピア 에티오피아 Ethiopia Эфиопия Etiopija Etiopija എത്യോപ്യ Этиоп Etiopia Ethiopië Etiopia Ethiopia Etiopia Etiópia Etiópia Etiopia Эфиопия Etiópia Etiopija Etiopi Етиопија Etiopien Ethiopia เอธิโอเปีย Etiyopya Эфиопия Ефіопія Efiopiya Ethiopia 埃塞俄比亚 衣索比亞
EU الاتحاد الأوروبي Еўрапейскі саюз Европейски съюз Unaniezh Europa Evropska unija Unió Europea Evropská unie Den Europæiske Union Europäische Union Ευρωπαϊκή Ένωση European Union European Union Unión Europea Euroopa Liit Europar Batasuna اتحادیهٔ اروپا Euroopan unioni Union européenne Union européenne an tAontas Eorpach An t-Aonadh Eòrpach Unión Europea האיחוד האירופי Europska unija Európai Unió Union Europee Uni Eropa Evrópusambandið Unione Europea 欧州連合 유럽 연합 Unyans Europek Европа Биримдиги Europos Sąjunga Eiropas Savienība യൂറോപ്യൻ യൂണിയൻ Европын Холбоо Den europeiske union Europese Unie European Union European Union Unia Europejska União Europeia União Europeia Uniunea Europeană Европейский союз Európska únia Evropska unija Bashkimi Evropian Европска унија Europeiska unionen Umoja wa Ulaya สหภาพยุโรป Avrupa Birliği European Union Європейський Союз Yevropa Ittifoqi Liên Minh Châu Âu 欧盟 歐盟
FI فنلندا Фінляндыя Финландия Finland Finska Finlàndia Finsko Finland Finnland Φινλανδία Finland Finnlando Finlandia Soome Finlandia فنلاند Suomi Finlande Finlande an Fhionlainn An Fhionnlann Finlandia פינלנד Finska Finnország Finlandia Finlandia Finnland Finlandia フィンランド 핀란드 Finland Финляндия Suomija Somija ഫിൻലാൻഡ് Финлянд Finland Finland Finland Finland Finlandia Finlândia Finlândia Finlanda Финляндия Fínsko Finska Finlandë Финска Finland Ufini ฟินแลนด์ Finlandiya Финляндия Фінляндія Finlandiya Phần Lan 芬兰 芬蘭
FJ فيجي Фіджы Фиджи Fidji Fidži Fiji Fidži Fiji Fidschi Φίτζι Fiji Fiĝoj Fiyi Fidži Fiji فیجی Fidži Fidji Fidji Fidsí Fìdi Fixi פיג׳י Fidži Fidzsi Fiji Fiji Fídjíeyjar Figi フィジー 피지 Fiji Фиджи Fidžis Fidži ഫിജി Фижи Fiji Fiji Fiji Fiji Fidżi Fiji Fiji Fiji Фиджи Fidži Fidži Fixhi Фиџи Fiji Fiji ฟิจิ Fiji Фиджи Фіджі Fiji Fiji 斐济 斐濟
FK جزر فوكلاند Фалклендскія астравы Фолкландски острови Inizi Falkland Folklandska ostrva Illes Malvines Falklandské ostrovy Falklandsøerne Falklandinseln Νήσοι Φόκλαντ Falkland Islands Falkland Islands Islas Malvinas Falklandi saared Falklandak جزایر فالکلند Falklandinsaaret Îles Malouines Îles Malouines Oileáin Fháclainne Na h-Eileanan Fàclannach Illas Malvinas איי פוקלנד Falklandski otoci Falkland-szigetek Falkland Islands Kepulauan Falkland Falklandseyjar Isole Falkland フォークランド諸島 포클랜드 제도 Falkland Islands Фолкленд аралдары Folklando Salos Folklenda salas ഫാക്ക്‌ലാന്റ് ദ്വീപുകൾ Фолклендийн арлууд Falklandsøyene Falklandeilanden Falklandsøyane Falkland Islands Falklandy Ilhas Malvinas Ilhas Malvinas Insulele Falkland Фолклендские о-ва Falklandy Falklandski otoki Ishujt Falkland Фокландска Острва Falklandsöarna Visiwa vya Falkland หมู่เกาะฟอล์กแลนด์ Falkland Adaları Фолкленд утраулары Фолклендські Острови Folklend orollari Quần đảo Falkland 福克兰群岛 福克蘭群島
FM ميكرونيزيا Мікранезія Микронезия Mikronezia Mikronezija Micronèsia Mikronésie Mikronesien Mikronesien Μικρονησία Micronesia Mikronezio Micronesia Mikroneesia Mikronesia میکرونزی Mikronesian liittovaltio États fédérés de Micronésie États fédérés de Micronésie an Mhicrinéis Na Meanbh-eileanan Micronesia מיקרונזיה Mikronezija Mikronézia Micronesia Mikronesia Míkrónesía Micronesia ミクロネシア連邦 미크로네시아 Micronesia Микронезия Mikronezija Mikronēzija മൈക്രോനേഷ്യ Микронези Mikronesiaføderasjonen Micronesia Mikronesiaføderasjonen Micronesia Mikronezja Micronésia Micronésia Micronezia Федеративные Штаты Микронезии Mikronézia Mikronezija Mikronezi Микронезија Mikronesien Micronesia ไมโครนีเซีย Mikronezya Микронезия Мікронезія Mikroneziya Micronesia 密克罗尼西亚 密克羅尼西亞
FO جزر فارو Фарэрскія астравы Фарьорски острови Inizi Faero Farska ostrva Illes Fèroe Faerské ostrovy Færøerne Färöer Νήσοι Φερόες Faroe Islands Ferooj Islas Feroe Fääri saared Faroe uharteak جزایر فارو Färsaaret Îles Féroé Îles Féroé Oileáin Fharó Na h-Eileanan Fàro Illas Feroe איי פארו Farski otoci Feröer szigetek Insulas Feroe Kepulauan Faroe Færeyjar Isole Fær Øer フェロー諸島 페로 제도 Faroe Islands Фарер аралдары Farerų Salos Fēru salas ഫറോ ദ്വീപുകൾ Фарерын арлууд Færøyene Faeröer Færøyane Faroe Islands Wyspy Owcze Ilhas Faroe Ilhas Faroe Insulele Feroe Фарерские о-ва Faerské ostrovy Ferski otoki Ishujt Faroe Фарска Острва Färöarna Visiwa vya Faroe หมู่เกาะแฟโร Faroe Adaları Фарер утраулары Фарерські Острови Farer orollari Quần đảo Faroe 法罗群岛 法羅群島
FR فرنسا Францыя Франция Frañs Francuska França Francie Frankrig Frankreich Γαλλία France Francujo Francia Prantsusmaa Frantzia فرانسه Ranska France France an Fhrainc An Fhraing Francia צרפת Francuska Franciaország Francia Prancis Frakkland Francia フランス 프랑스 Pow Frenk Франция Prancūzija Francija ഫ്രാൻസ് Франц Frankrike Frankrijk Frankrike Франц Francja França França Franța Франция Francúzsko Francija Francë Француска Frankrike Ufaransa ฝรั่งเศส Fransa Франция Франція Fransiya Pháp 法国 法國
GA الغابون Габон Габон Gabon Gabon Gabon Gabon Gabon Gabun Γκαμπόν Gabon Gabono Gabón Gabon Gabon گابن Gabon Gabon Gabon an Ghabúin Gabon Gabón גבון Gabon Gabon Gabon Gabon Gabon Gabon ガボン 가봉 Gabon Габон Gabonas Gabona ഗാബൺ Габон Gabon Gabon Gabon Gabon Gabon Gabão Gabão Gabon Габон Gabon Gabon Gabon Габон Gabon Gabon กาบอง Gabon Габон Габон Gabon Gabon 加蓬 加彭
GB المملكة المتحدة Вялікабрытанія Обединеното кралство Rouantelezh-Unanet Ujedinjeno Kraljevstvo Regne Unit Spojené království Storbritannien Vereinigtes Königreich Ηνωμένο Βασίλειο United Kingdom Unuiĝinta Reĝlando Reino Unido Suurbritannia Erresuma Batua بریتانیا Iso-Britannia Royaume-Uni Royaume-Uni an Ríocht Aontaithe An Rìoghachd Aonaichte O Reino Unido בריטניה Ujedinjeno Kraljevstvo Egyesült Királyság Regno Unite Inggris Raya Bretland Regno Unito イギリス 영국 Rywvaneth Unys Улуу Британия Jungtinė Karalystė Apvienotā Karaliste യുണൈറ്റഡ് കിംഗ്ഡം Их Британи Storbritannia Verenigd Koninkrijk Storbritannia Стыр Британи Wielka Brytania Reino Unido Reino Unido Regatul Unit Великобритания Spojené kráľovstvo Združeno kraljestvo Mbretëria e Bashkuar Уједињено Краљевство Storbritannien Ufalme wa Muungano สหราชอาณาจักร Birleşik Krallık Берләшкән Корольлек Велика Британія Buyuk Britaniya Vương quốc Anh 英国 英國
GD غرينادا Грэнада Гренада Grenada Grenada Grenada Grenada Grenada Grenada Γρενάδα Grenada Grenado Granada Grenada Grenada گرنادا Grenada Grenade Grenade Greanáda Greanàda Granada גרנדה Grenada Grenada Grenada Grenada Grenada Grenada グレナダ 그레나다 Grenada Гренада Grenada Grenāda ഗ്രനേഡ Гренада Grenada Grenada Grenada Grenada Grenada Granada Granada Grenada Гренада Grenada Grenada Granadë Гренада Grenada Grenada เกรเนดา Grenada Гренада Ґренада Grenada Grenada 格林纳达 格瑞那達
GE جورجيا Грузія Грузия Jorjia Gruzija Geòrgia Gruzie Georgien Georgien Γεωργία Georgia Kartvelujo Georgia Gruusia Georgia گرجستان Georgia Géorgie Géorgie an tSeoirsia A Chairtbheil Xeorxia גאורגיה Gruzija Grúzia Georgia Georgia Georgía Georgia ジョージア 조지아 Georgia Грузия Gruzija Gruzija ജോർജ്ജിയ Гүрж Georgia Georgië Georgia Гуырдзыстон Gruzja Geórgia Geórgia Georgia Грузия Gruzínsko Gruzija Gjeorgji Грузија Georgien Jojia จอร์เจีย Gürcistan Грузия Грузія Gruziya Georgia 格鲁吉亚 喬治亞
GF غويانا الفرنسية Французская Гвіяна Френска Гвиана Gwiana cʼhall Francuska Gvajana Guaiana Francesa Francouzská Guyana Fransk Guyana Französisch-Guayana Γαλλική Γουιάνα French Guiana Franca Gviano Guayana Francesa Prantsuse Guajaana Guyana Frantsesa گویان فرانسه Ranskan Guayana Guyane française Guyane française Guáin na Fraince Guidheàna na Frainge Güiana Francesa גיאנה הצרפתית Francuska Gijana Francia Guyana Guyana francese Guyana Prancis Franska Gvæjana Guyana francese 仏領ギアナ 프랑스령 기아나 French Guiana Француздук Гвиана Prancūzijos Gviana Francijas Gviāna ഫ്രഞ്ച് ഗയാന Францын Гвиана Fransk Guyana Frans-Guyana Fransk Guyana French Guiana Gujana Francuska Guiana Francesa Guiana Francesa Guyana Franceză Французская Гвиана Francúzska Guyana Francoska Gvajana Guajana Franceze Француска Гвајана Franska Guyana Guiana ya Ufaransa เฟรนช์เกียนา Fransız Guyanası Француз Гвианасы Французька Ґвіана Fransuz Gvianasi Guiana thuộc Pháp 法属圭亚那 法屬圭亞那
GG غيرنزي Гернсі Гърнзи Gwernenez Gernzi Guernsey Guernsey Guernsey Guernsey Γκέρνζι Guernsey Guernsey Guernsey Guernsey Guernesey گرنزی Guernsey Guernesey Guernesey Geansaí Geàrnsaidh Guernsey גרנזי Guernsey Guernsey Guernsey Guernsey Guernsey Guernsey ガーンジー 건지 Guernsey Гернси Gernsis Gērnsija ഗേൺസി Гернси Guernsey Guernsey Guernsey Guernsey Guernsey Guernsey Guernsey Guernsey Гернси Guernsey Guernsey Gernsej Гернзи Guernsey Guernsey เกิร์นซีย์ Guernsey Гернси Ґернсі Gernsi Guernsey 根西岛 根息
GH غانا Гана Гана Ghana Gana Ghana Ghana Ghana Ghana Γκάνα Ghana Ganao Ghana Ghana Ghana غنا Ghana Ghana Ghana Gána Gàna Ghana גאנה Gana Ghána Ghana Ghana Gana Ghana ガーナ 가나 Ghana Гана Gana Gana ഘാന Гана Ghana Ghana Ghana Ghana Ghana Gana Gana Ghana Гана Ghana Gana Ganë Гана Ghana Ghana กานา Gana Гана Гана Gana Ghana 加纳 迦納
GI جبل طارق Гібралтар Гибралтар Jibraltar Gibraltar Gibraltar Gibraltar Gibraltar Gibraltar Γιβραλτάρ Gibraltar Ĝibraltaro Gibraltar Gibraltar Gibraltar جبل‌الطارق Gibraltar Gibraltar Gibraltar Giobráltar Diobraltar Xibraltar גיברלטר Gibraltar Gibraltár Gibraltar Gibraltar Gíbraltar Gibilterra ジブラルタル 지브롤터 Gibraltar Гибралтар Gibraltaras Gibraltārs ജിബ്രാൾട്ടർ Гибралтар Gibraltar Gibraltar Gibraltar Gibraltar Gibraltar Gibraltar Gibraltar Gibraltar Гибралтар Gibraltár Gibraltar Gjibraltar Гибралтар Gibraltar Gibraltar ยิบรอลตาร์ Cebelitarık Гибралтар Ґібралтар Gibraltar Gibraltar 直布罗陀 直布羅陀
GL غرينلاند Грэнландыя Гренландия Greunland Grenland Groenlàndia Grónsko Grønland Grönland Γροιλανδία Greenland Gronlando Groenlandia Gröönimaa Groenlandia گرینلند Grönlanti Groenland Groenland an Ghraonlainn A Ghraonlann Groenlandia גרינלנד Grenland Grönland Groenlandia Grinlandia Grænland Groenlandia グリーンランド 그린란드 Greenland Гренландия Grenlandija Grenlande ഗ്രീൻലാൻറ് Гренланд Grønland Groenland Grønland Greenland Grenlandia Groenlândia Groenlândia Groenlanda Гренландия Grónsko Grenlandija Grënlandë Гренланд Grönland Greenland กรีนแลนด์ Grönland Гренландия Ґренландія Grenlandiya Greenland 格陵兰 格陵蘭
GM غامبيا Гамбія Гамбия Gambia Gambija Gàmbia Gambie Gambia Gambia Γκάμπια Gambia Gambio Gambia Gambia Gambia گامبیا Gambia Gambie Gambie an Ghaimbia A Ghaimbia Gambia גמביה Gambija Gambia Gambia Gambia Gambía Gambia ガンビア 감비아 Gambia Гамбия Gambija Gambija ഗാംബിയ Гамби Gambia Gambia Gambia Gambia Gambia Gâmbia Gâmbia Gambia Гамбия Gambia Gambija Gambi Гамбија Gambia Gambia แกมเบีย Gambiya Гамбия Гамбія Gambiya Gambia 冈比亚 甘比亞
GN غينيا Гвінея Гвинея Ginea Gvineja Guinea Guinea Guinea Guinea Γουινέα Guinea Gvineo Guinea Guinea Ginea گینه Guinea Guinée Guinée an Ghuine Gini Guinea גינאה Gvineja Guinea Guinea Guinea Gínea Guinea ギニア 기니 Guinea Гвинея Gvinėja Gvineja ഗിനിയ Гвиней Guinea Guinee Guinea Guinea Gwinea Guiné Guiné Guineea Гвинея Guinea Gvineja Guine Гвинеја Guinea Gine กินี Gine Гвинея Гвінея Gvineya Guinea 几内亚 幾內亞
GP غوادلوب Гвадэлупа Гваделупа Gwadeloup Gvadalupe Guadeloupe Guadeloupe Guadeloupe Guadeloupe Γουαδελούπη Guadeloupe Gvadelupo Guadalupe Guadeloupe Guadalupe گوادلوپ Guadeloupe Guadeloupe Guadeloupe Guadalúip Guadalup Guadalupe גוואדלופ Guadalupe Guadeloupe Guadeloupe Guadeloupe Gvadelúpeyjar Guadalupa グアドループ 과들루프 Guadeloupe Гваделупа Gvadelupa Gvadelupa ഗ്വാഡലൂപ്പ് Гваделуп Guadeloupe Guadeloupe Guadeloupe Guadeloupe Gwadelupa Guadalupe Guadalupe Guadelupa Гваделупа Guadeloupe Guadeloupe Guadelupë Гваделуп Guadeloupe Guadeloupe กวาเดอลูป Guadeloupe Гваделупа Ґваделупа Gvadelupe Guadeloupe 瓜德罗普 瓜地洛普
GQ غينيا الاستوائية Экватарыяльная Гвінея Екваториална Гвинея Ginea ar Cʼheheder Ekvatorijalna Gvineja Guinea Equatorial Rovníková Guinea Ækvatorialguinea Äquatorialguinea Ισημερινή Γουινέα Equatorial Guinea Ekvatora Gvineo Guinea Ecuatorial Ekvatoriaal-Guinea Ekuatore Ginea گینهٔ استوایی Päiväntasaajan Guinea Guinée équatoriale Guinée équatoriale an Ghuine Mheánchiorclach Gini Mheadhan-Chriosach Guinea Ecuatorial גינאה המשוונית Ekvatorska Gvineja Egyenlítői-Guinea Guinea equatorial Guinea Ekuatorial Miðbaugs-Gínea Guinea Equatoriale 赤道ギニア 적도 기니 Equatorial Guinea Экватордук Гвинея Pusiaujo Gvinėja Ekvatoriālā Gvineja ഇക്വറ്റോറിയൽ ഗിനിയ Экваторын Гвиней Ekvatorial-Guinea Equatoriaal-Guinea Ekvatorial-Guinea Equatorial Guinea Gwinea Równikowa Guiné Equatorial Guiné Equatorial Guineea Ecuatorială Экваториальная Гвинея Rovníková Guinea Ekvatorialna Gvineja Guineja Ekuatoriale Екваторијална Гвинеја Ekvatorialguinea Guinea ya Ikweta อิเควทอเรียลกินี Ekvator Ginesi Экваториаль Гвинея Екваторіальна Гвінея Ekvatorial Gvineya Guinea Xích Đạo 赤道几内亚 赤道幾內亞
GR اليونان Грэцыя Гърция Gres Grčka Grècia Řecko Grækenland Griechenland Ελλάδα Greece Grekujo Grecia Kreeka Grezia یونان Kreikka Grèce Grèce an Ghréig A Ghreug Grecia יוון Grčka Görögország Grecia Yunani Grikkland Grecia ギリシャ 그리스 Greece Греция Graikija Grieķija ഗ്രീസ് Грек Hellas Griekenland Hellas Greece Grecja Grécia Grécia Grecia Греция Grécko Grčija Greqi Грчка Grekland Ugiriki กรีซ Yunanistan Греция Греція Gretsiya Hy Lạp 希腊 希臘
GS جورجيا الجنوبية وجزر ساندويتش الجنوبية Паўднёвая Георгія і Паўднёвыя Сандвічавы астравы Южна Джорджия и Южни Сандвичеви острови Inizi Georgia ar Su hag Inizi Sandwich ar Su Južna Džordžija i Južna Sendvič ostrva Illes Geòrgia del Sud i Sandwich del Sud Jižní Georgie a Jižní Sandwichovy ostrovy South Georgia og De Sydlige Sandwichøer Südgeorgien und die Südlichen Sandwichinseln Νήσοι Νότια Γεωργία και Νότιες Σάντουιτς South Georgia & South Sandwich Islands Sud-Georgio kaj Sud-Sandviĉinsuloj Islas Georgia del Sur y Sandwich del Sur Lõuna-Georgia ja Lõuna-Sandwichi saared Hegoaldeko Georgia eta Hegoaldeko Sandwich uharteak جورجیای جنوبی و جزایر ساندویچ جنوبی Etelä-Georgia ja Eteläiset Sandwichsaaret Géorgie du Sud et îles Sandwich du Sud Géorgie du Sud et îles Sandwich du Sud an tSeoirsia Theas agus Oileáin Sandwich Theas Seòirsea a Deas is na h-Eileanan Sandwich a Deas Illas Xeorxia do Sur e Sandwich do Sur ג׳ורג׳יה הדרומית ואיי סנדוויץ׳ הדרומיים Južna Georgija i Južni Sendvički Otoci Déli-Georgia és Déli-Sandwich-szigetek South Georgia & South Sandwich Islands Georgia Selatan & Kep. Sandwich Selatan Suður-Georgía og Suður-Sandvíkureyjar Georgia del Sud e Sandwich australi サウスジョージア・サウスサンドウィッチ諸島 사우스조지아 사우스샌드위치 제도 South Georgia & South Sandwich Islands Түштүк Жоржия жана Түштүк Сэндвич аралдары Pietų Džordžija ir Pietų Sandvičo salos Dienviddžordžija un Dienvidsendviču salas ദക്ഷിണ ജോർജ്ജിയയും ദക്ഷിണ സാൻഡ്‌വിച്ച് ദ്വീപുകളും Өмнөд Жоржиа ба Өмнөд Сэндвичийн арлууд Sør-Georgia og Sør-Sandwichøyene Zuid-Georgia en Zuidelijke Sandwicheilanden Sør-Georgia og Sør-Sandwichøyene South Georgia & South Sandwich Islands Georgia Południowa i Sandwich Południowy Ilhas Geórgia do Sul e Sandwich do Sul Ilhas Geórgia do Sul e Sandwich do Sul Georgia de Sud și Insulele Sandwich de Sud Южная Георгия и Южные Сандвичевы о-ва Južná Georgia a Južné Sandwichove ostrovy Južna Georgia in Južni Sandwichevi otoki Xhorxha Jugore dhe Ishujt Senduiçë të Jugut Јужна Џорџија и Јужна Сендвичка Острва Sydgeorgien och Sydsandwichöarna Visiwa vya Georgia Kusini na Sandwich Kusini เกาะเซาท์จอร์เจียและหมู่เกาะเซาท์แซนด์วิช Güney Georgia ve Güney Sandwich Adaları Көньяк Георгия һәм Көньяк Сандвич утраулары Південна Джорджія та Південні Сандвічеві Острови Janubiy Georgiya va Janubiy Sendvich orollari Nam Georgia & Quần đảo Nam Sandwich 南乔治亚和南桑威奇群岛 南喬治亞與南三明治群島
GT غواتيمالا Гватэмала Гватемала Guatemala Gvatemala Guatemala Guatemala Guatemala Guatemala Γουατεμάλα Guatemala Gvatemalo Guatemala Guatemala Guatemala گواتمالا Guatemala Guatemala Guatemala Guatamala Guatamala Guatemala גואטמלה Gvatemala Guatemala Guatemala Guatemala Gvatemala Guatemala グアテマラ 과테말라 Guatemala Гватемала Gvatemala Gvatemala ഗ്വാട്ടിമാല Гватемал Guatemala Guatemala Guatemala Guatemala Gwatemala Guatemala Guatemala Guatemala Гватемала Guatemala Gvatemala Guatemalë Гватемала Guatemala Guatemala กัวเตมาลา Guatemala Гватемала Ґватемала Gvatemala Guatemala 危地马拉 瓜地馬拉
GU غوام Гуам Гуам Guam Guam Guam Guam Guam Guam Γκουάμ Guam Gvamo Guam Guam Guam گوام Guam Guam Guam Guam Guam Guam גואם Guam Guam Guam Guam Gvam Guam グアム 괌 Guam Гуам Guamas Guama ഗ്വാം Гуам Guam Guam Guam Guam Guam Guam Guam Guam Гуам Guam Guam Guam Гуам Guam Guam กวม Guam Гуам Ґуам Guam Guam 关岛 關島
GW غينيا بيساو Гвінея-Бісау Гвинея-Бисау Ginea-Bissau Gvineja-Bisao Guinea Bissau Guinea-Bissau Guinea-Bissau Guinea-Bissau Γουινέα Μπισάου Guinea-Bissau Gvineo-Bisaŭo Guinea-Bisáu Guinea-Bissau Ginea Bissau گینهٔ بیسائو Guinea-Bissau Guinée-Bissau Guinée-Bissau Guine Bissau Gini-Bioso A Guinea Bissau גינאה-ביסאו Gvineja Bisau Bissau-Guinea Guinea-Bissau Guinea-Bissau Gínea-Bissá Guinea-Bissau ギニアビサウ 기니비사우 Guinea-Bissau Гвинея-Бисау Bisau Gvinėja Gvineja-Bisava ഗിനിയ-ബിസൗ Гвиней-Бисау Guinea-Bissau Guinee-Bissau Guinea-Bissau Guinea-Bissau Gwinea Bissau Guiné-Bissau Guiné-Bissau Guineea-Bissau Гвинея-Бисау Guinea-Bissau Gvineja Bissau Guine-Bisau Гвинеја-Бисао Guinea-Bissau Ginebisau กินี-บิสเซา Gine-Bissau Гвинея-Бисау Гвінея-Бісау Gvineya-Bisau Guinea-Bissau 几内亚比绍 幾內亞比索
GY غيانا Гаяна Гаяна Guyana Gvajana Guyana Guyana Guyana Guyana Γουιάνα Guyana Gujano Guyana Guyana Guyana گویان Guyana Guyana Guyana an Ghuáin Guidheàna Güiana גיאנה Gvajana Guyana Guyana Guyana Gvæjana Guyana ガイアナ 가이아나 Guyana Гайана Gajana Gajāna ഗയാന Гайана Guyana Guyana Guyana Guyana Gujana Guiana Guiana Guyana Гайана Guyana Gvajana Guajanë Гвајана Guyana Guyana กายอานา Guyana Гайана Ґайана Gayana Guyana 圭亚那 蓋亞那
HK هونغ كونغ Ганконг Хонконг Hong Kong Hong Kong Hong Kong Hongkong Hongkong Hongkong Χονγκ Κονγκ Hong Kong Hong Kong Hong Kong Hongkong Hong Kong هنگ‌کنگ Hongkong Hong Kong Hong Kong Hong Cong Hong Kong Hong Kong הונג קונג Hong Kong Hongkong Hong Kong Hong Kong Hong Kong Hong Kong 香港 홍콩 Hong Kong Гонконг Honkongas Honkonga ഹോങ്കോങ് Хонг Конг Hongkong Hongkong Hongkong Hong Kong Hongkong Hong Kong Hong Kong Hong Kong Гонконг Hongkong Hongkong Hong-Kong Хонгконг Hong Kong Hong Kong ฮ่องกง Hong Kong Гонконг Гонконг Gonkong Hồng Kông 香港 香港
HM جزيرة هيرد وجزر ماكدونالد Астравы Херд і Макдональд острови Хърд и Макдоналд Inizi Heard ha McDonald Herd i arhipelag MekDonald Illa Heard i Illes McDonald Heardův ostrov a McDonaldovy ostrovy Heard Island og McDonald Islands Heard und McDonaldinseln Νήσοι Χερντ και Μακντόναλντ Heard & McDonald Islands Herda kaj Makdonaldaj Insuloj Islas Heard y McDonald Heardi ja McDonaldi saared Heard eta McDonald uharteak هرد و جزایر مک‌دونالد Heard ja McDonaldinsaaret Îles Heard et McDonald Îles Heard et McDonald Oileán Heard agus Oileáin McDonald Eilean Heard is MhicDhòmhnaill Illa Heard e Illas McDonald איי הרד ומקדונלד Otoci Heard i McDonald Heard-sziget és McDonald-szigetek Heard & McDonald Islands Pulau Heard dan Kepulauan McDonald Heard og McDonaldseyjar Isole Heard e McDonald ハード島・マクドナルド諸島 허드 맥도널드 제도 Heard & McDonald Islands Херд жана Макдональд аралдары Herdo ir Makdonaldo Salos Hērda sala un Makdonalda salas ഹിയേർഡും മക്‌ഡൊണാൾഡ് ദ്വീപുകളും Херд ба Макдональдийн арлууд Heard- og McDonaldøyene Heard en McDonaldeilanden Heardøya og McDonaldøyane Heard & McDonald Islands Wyspy Heard i McDonalda Ilhas Heard e McDonald Ilhas Heard e McDonald Insula Heard și Insulele McDonald о-ва Херд и Макдональд Heardov ostrov a Macdonaldove ostrovy Heardov otok in McDonaldovi otoki Ishujt Hërd e Mekdonald Острво Херд и Мекдоналдова острва Heardön och McDonaldöarna Kisiwa cha Heard na Visiwa vya McDonald เกาะเฮิร์ดและหมู่เกาะแมกดอนัลด์ Heard Adası ve McDonald Adaları Херд утравы һәм Макдональд утраулары Острови Герд і Макдоналд Xerd va Makdonald orollari Quần đảo Heard và McDonald 赫德岛和麦克唐纳群岛 赫德島及麥唐納群島
HN هندوراس Гандурас Хондурас Honduras Honduras Hondures Honduras Honduras Honduras Ονδούρα Honduras Honduro Honduras Honduras Honduras هندوراس Honduras Honduras Honduras Hondúras Hondùras Honduras הונדורס Honduras Honduras Honduras Honduras Hondúras Honduras ホンジュラス 온두라스 Honduras Гондурас Hondūras Hondurasa ഹോണ്ടുറാസ് Гондурас Honduras Honduras Honduras Honduras Honduras Honduras Honduras Honduras Гондурас Honduras Honduras Honduras Хондурас Honduras Honduras ฮอนดูรัส Honduras Гондурас Гондурас Gonduras Honduras 洪都拉斯 宏都拉斯
HR كرواتيا Харватыя Хърватия Kroatia Hrvatska Croàcia Chorvatsko Kroatien Kroatien Κροατία Croatia Kroatujo Croacia Horvaatia Kroazia کرواسی Kroatia Croatie Croatie an Chróit A Chròthais Croacia קרואטיה Hrvatska Horvátország Croatia Kroasia Króatía Croazia クロアチア 크로아티아 Croatia Хорватия Kroatija Horvātija ക്രൊയേഷ്യ Хорват Kroatia Kroatië Kroatia Croatia Chorwacja Croácia Croácia Croația Хорватия Chorvátsko Hrvaška Kroaci Хрватска Kroatien Croatia โครเอเชีย Hırvatistan Хорватия Хорватія Xorvatiya Croatia 克罗地亚 克羅埃西亞
HT هايتي Гаіці Хаити Haiti Haiti Haití Haiti Haiti Haiti Αϊτή Haiti Haitio Haití Haiti Haiti هائیتی Haiti Haïti Haïti Háítí Haidhti Haití האיטי Haiti Haiti Haiti Haiti Haítí Haiti ハイチ 아이티 Haiti Гаити Haitis Haiti ഹെയ്തി Гаити Haiti Haïti Haiti Haiti Haiti Haiti Haiti Haiti Гаити Haiti Haiti Haiti Хаити Haiti Haiti เฮติ Haiti Гаити Гаїті Gaiti Haiti 海地 海地
HU هنغاريا Венгрыя Унгария Hungaria Mađarska Hongria Maďarsko Ungarn Ungarn Ουγγαρία Hungary Hungarujo Hungría Ungari Hungaria مجارستان Unkari Hongrie Hongrie an Ungáir An Ungair Hungría הונגריה Mađarska Magyarország Hungaria Hungaria Ungverjaland Ungheria ハンガリー 헝가리 Hungary Венгрия Vengrija Ungārija ഹംഗറി Унгар Ungarn Hongarije Ungarn Hungary Węgry Hungria Hungria Ungaria Венгрия Maďarsko Madžarska Hungari Мађарска Ungern Hungaria ฮังการี Macaristan Венгрия Угорщина Vengriya Hungary 匈牙利 匈牙利
IC جزر الكناري Канарскія астравы Канарски острови Inizi Kanariez Kanarska ostrva Illes Canàries Kanárské ostrovy Kanariske øer Kanarische Inseln Κανάριοι Νήσοι Canary Islands Canary Islands Canarias Kanaari saared Kanariak جزایر قناری Kanariansaaret Îles Canaries Îles Canaries na hOileáin Chanáracha Na h-Eileanan Canàrach Illas Canarias האיים הקנריים Kanarski otoci Kanári-szigetek Canary Islands Kepulauan Canaria Kanaríeyjar Isole Canarie カナリア諸島 카나리아 제도 Canary Islands Канар аралдары Kanarų salos Kanāriju salas കാനറി ദ്വീപുകൾ Канарын арлууд Kanariøyene Canarische Eilanden Kanariøyane Canary Islands Wyspy Kanaryjskie Ilhas Canárias Ilhas Canárias Insulele Canare Канарские о-ва Kanárske ostrovy Kanarski otoki Ishujt Kanarie Канарска Острва Kanarieöarna Visiwa vya Kanari หมู่เกาะคานารี Kanarya Adaları Canary Islands Канарські Острови Kanar orollari Quần đảo Canary 加纳利群岛 加那利群島
ID إندونيسيا Інданезія Индонезия Indonezia Indonezija Indonèsia Indonésie Indonesien Indonesien Ινδονησία Indonesia Indonezio Indonesia Indoneesia Indonesia اندونزی Indonesia Indonésie Indonésie an Indinéis Na h-Innd-innse Indonesia אינדונזיה Indonezija Indonézia Indonesia Indonesia Indónesía Indonesia インドネシア 인도네시아 Indonesia Индонезия Indonezija Indonēzija ഇന്തോനേഷ്യ Индонез Indonesia Indonesië Indonesia Indonesia Indonezja Indonésia Indonésia Indonezia Индонезия Indonézia Indonezija Indonezi Индонезија Indonesien Indonesia อินโดนีเซีย Endonezya Индонезия Індонезія Indoneziya Indonesia 印度尼西亚 印尼
IE أيرلندا Ірландыя Ирландия Iwerzhon Irska Irlanda Irsko Irland Irland Ιρλανδία Ireland Irlando Irlanda Iirimaa Irlanda ایرلند Irlanti Irlande Irlande Éire Èirinn Irlanda אירלנד Irska Írország Irlanda Irlandia Írland Irlanda アイルランド 아일랜드 Ireland Ирландия Airija Īrija അയർലൻഡ് Ирланд Irland Ierland Irland Ireland Irlandia Irlanda Irlanda Irlanda Ирландия Írsko Irska Irlandë Ирска Irland Ayalandi ไอร์แลนด์ İrlanda Ирландия Ірландія Irlandiya Ireland 爱尔兰 愛爾蘭
IL إسرائيل Ізраіль Израел Israel Izrael Israel Izrael Israel Israel Ισραήλ Israel Israelo Israel Iisrael Israel اسرائیل Israel Israël Israël Iosrael Iosrael Israel ישראל Izrael Izrael Israel Israel Ísrael Israele イスラエル 이스라엘 Israel Израиль Izraelis Izraēla ഇസ്രായേൽ Израиль Israel Israël Israel Israel Izrael Israel Israel Israel Израиль Izrael Izrael Izrael Израел Israel Israeli อิสราเอล İsrail Израиль Ізраїль Isroil Israel 以色列 以色列
IM جزيرة مان Востраў Мэн остров Ман Enez Vanav Ostrvo Man Illa de Man Ostrov Man Isle of Man Isle of Man Νήσος του Μαν Isle of Man Isle of Man Isla de Man Mani saar Man uhartea جزیرهٔ من Mansaari Île de Man Île de Man Oileán Mhanann Eilean Mhanainn Illa de Man האי מאן Otok Man Man-sziget Insula de Man Pulau Man Mön Isola di Man マン島 맨 섬 Isle of Man Мэн аралы Meno Sala Mena ഐൽ ഓഫ് മാൻ Мэн Арал Man Isle of Man Man Isle of Man Wyspa Man Ilha de Man Ilha de Man Insula Man о-в Мэн Ostrov Man Otok Man Ishulli i Manit Острво Ман Isle of Man Kisiwa cha Man เกาะแมน Man Adası Мэн утравы Острів Мен Men oroli Đảo Man 马恩岛 曼島
IN الهند Індыя Индия India Indija Índia Indie Indien Indien Ινδία India Hindujo India India India هند Intia Inde Inde an India Na h-Innseachan A India הודו Indija India India India Indland India インド 인도 Eynda Индия Indija Indija ഇന്ത്യ Энэтхэг India India India Инди Indie Índia Índia India Индия India Indija Indi Индија Indien India อินเดีย Hindistan Индия Індія Hindiston Ấn Độ 印度 印度
IO الإقليم البريطاني في المحيط الهندي Брытанская тэрыторыя ў Індыйскім акіяне Британска територия в Индийския океан Tiriad breizhveurat Meurvor Indez Britanska Teritorija u Indijskom Okeanu Territori Britànic de lOceà Índic Britské indickooceánské území Det Britiske Territorium i Det Indiske Ocean Britisches Territorium im Indischen Ozean Βρετανικά Εδάφη Ινδικού Ωκεανού British Indian Ocean Territory Brita Hindoceana Teritorio Territorio Británico del Océano Índico Briti India ookeani ala Indiako Ozeanoko lurralde britainiarra قلمرو بریتانیا در اقیانوس هند Brittiläinen Intian valtameren alue Territoire britannique de locéan Indien Territoire britannique de locéan Indien Críoch Aigéan Indiach na Breataine Ranntair Breatannach Cuan nan Innseachan Territorio Británico do Océano Índico הטריטוריה הבריטית באוקיינוס ההודי Britanski Indijskooceanski teritorij Brit Indiai-óceáni Terület Territorio oceanic britanno-indian Wilayah Inggris di Samudra Hindia Bresku Indlandshafseyjar Territorio britannico dellOceano Indiano 英領インド洋地域 영국령 인도양 식민지 British Indian Ocean Territory Инди океанындагы Британ территориясы Indijos Vandenyno Britų Sritis Indijas okeāna Britu teritorija ബ്രിട്ടീഷ് ഇന്ത്യൻ മഹാസമുദ്ര പ്രദേശം Британийн харьяа Энэтхэгийн далай дахь нутаг дэвсгэр Det britiske territoriet i Indiahavet Brits Indische Oceaanterritorium Det britiske territoriet I Indiahavet British Indian Ocean Territory Brytyjskie Terytorium Oceanu Indyjskiego Território Britânico do Oceano Índico Território Britânico do Oceano Índico Teritoriul Britanic din Oceanul Indian Британская территория в Индийском океане Britské indickooceánske územie Britansko ozemlje v Indijskem oceanu Territori Britanik i Oqeanit Indian Британска територија Индијског океана Brittiska territoriet i Indiska oceanen Eneo la Uingereza katika Bahari Hindi บริติชอินเดียนโอเชียนเทร์ริทอรี Britanya Hint Okyanusu Toprakları Британиянең Һинд Океанындагы Территориясе Британська територія в Індійському Океані Britaniyaning Hind okeanidagi hududi Lãnh thổ Ấn Độ Dương thuộc Anh 英属印度洋领地 英屬印度洋領地
IQ العراق Ірак Ирак Iraq Irak Iraq Irák Irak Irak Ιράκ Iraq Irako Irak Iraak Irak عراق Irak Irak Irak an Iaráic Ioràc Iraq עיראק Irak Irak Irak Irak Írak Iraq イラク 이라크 Iraq Ирак Irakas Irāka ഇറാഖ് Ирак Irak Irak Irak Iraq Irak Iraque Iraque Irak Ирак Irak Irak Irak Ирак Irak Iraki อิรัก Irak Гыйрак Ірак Iroq Iraq 伊拉克 伊拉克
IR إيران Іран Иран Iran Iran Iran Írán Iran Iran Ιράν Iran Irano Irán Iraan Iran ایران Iran Iran Iran an Iaráin Ioràn Irán איראן Iran Irán Iran Iran Íran Iran イラン 이란 Iran Иран Iranas Irāna ഇറാൻ Иран Iran Iran Iran Iran Iran Irã Irã Iran Иран Irán Iran Iran Иран Iran Iran อิหร่าน İran Иран Іран Eron Iran 伊朗 伊朗
IS آيسلندا Ісландыя Исландия Island Island Islàndia Island Island Island Ισλανδία Iceland Islando Islandia Island Islandia ایسلند Islanti Islande Islande an Íoslainn Innis Tìle Islandia איסלנד Island Izland Islanda Islandia Ísland Islanda アイスランド 아이슬란드 Iceland Исландия Islandija Islande ഐസ്‌ലാന്റ് Исланд Island IJsland Island Iceland Islandia Islândia Islândia Islanda Исландия Island Islandija Islandë Исланд Island Aisilandi ไอซ์แลนด์ İzlanda Исландия Ісландія Islandiya Iceland 冰岛 冰島
IT إيطاليا Італія Италия Italia Italija Itàlia Itálie Italien Italien Ιταλία Italy Italujo Italia Itaalia Italia ایتالیا Italia Italie Italie an Iodáil An Eadailt Italia איטליה Italija Olaszország Italia Italia Ítalía Italia イタリア 이탈리아 Itali Италия Italija Itālija ഇറ്റലി Итали Italia Italië Italia Итали Włochy Itália Itália Italia Италия Taliansko Italija Itali Италија Italien Italia อิตาลี İtalya Италия Італія Italiya Italy 意大利 義大利
JE جيرسي Джэрсі Джърси Jerzenez Jersey Jersey Jersey Jersey Jersey Τζέρζι Jersey Jersey Jersey Jersey Jersey جرزی Jersey Jersey Jersey Geirsí Deàrsaidh Jersey ג׳רזי Jersey Jersey Jersey Jersey Jersey Jersey ジャージー 저지 Jersey Жерси Džersis Džērsija ജേഴ്സി Жерси Jersey Jersey Jersey Jersey Jersey Jersey Jersey Jersey Джерси Jersey Jersey Xhersej Џерзи Jersey Jersey เจอร์ซีย์ Jersey Джерси Джерсі Jersi Jersey 泽西岛 澤西島
JM جامايكا Ямайка Ямайка Jamaika Jamajka Jamaica Jamajka Jamaica Jamaika Τζαμάικα Jamaica Jamajko Jamaica Jamaica Jamaika جامائیکا Jamaika Jamaïque Jamaïque Iamáice Diameuga Xamaica ג׳מייקה Jamajka Jamaica Jamaica Jamaika Jamaíka Giamaica ジャマイカ 자메이카 Jamaica Ямайка Jamaika Jamaika ജമൈക്ക Ямайка Jamaica Jamaica Jamaica Jamaica Jamajka Jamaica Jamaica Jamaica Ямайка Jamajka Jamajka Xhamajkë Јамајка Jamaica Jamaika จาเมกา Jamaika Ямайка Ямайка Yamayka Jamaica 牙买加 牙買加
JO الأردن Іарданія Йордания Jordania Jordan Jordània Jordánsko Jordan Jordanien Ιορδανία Jordan Jordanio Jordania Jordaania Jordania اردن Jordania Jordanie Jordanie an Iordáin Iòrdan Xordania ירדן Jordan Jordánia Jordania Yordania Jórdanía Giordania ヨルダン 요르단 Jordan Иордания Jordanija Jordānija ജോർദ്ദാൻ Йордан Jordan Jordanië Jordan Jordan Jordania Jordânia Jordânia Iordania Иордания Jordánsko Jordanija Jordani Јордан Jordanien Jordan จอร์แดน Ürdün Иордания Йорданія Iordaniya Jordan 约旦 約旦
JP اليابان Японія Япония Japan Japan Japó Japonsko Japan Japan Ιαπωνία Japan Japanujo Japón Jaapan Japonia ژاپن Japani Japon Japon an tSeapáin An t-Seapan O Xapón יפן Japan Japán Japon Jepang Japan Giappone 日本 일본 Japan Япония Japonija Japāna ജപ്പാൻ Япон Japan Japan Japan Япон Japonia Japão Japão Japonia Япония Japonsko Japonska Japoni Јапан Japan Japani ญี่ปุ่น Japonya Япония Японія Yaponiya Nhật Bản 日本 日本
KE كينيا Кенія Кения Kenya Kenija Kenya Keňa Kenya Kenia Κένυα Kenya Kenjo Kenia Keenia Kenya کنیا Kenia Kenya Kenya an Chéinia Ceinia Kenya קניה Kenija Kenya Kenya Kenya Kenía Kenya ケニア 케냐 Kenya Кения Kenija Kenija കെനിയ Кени Kenya Kenia Kenya Kenya Kenia Quênia Quênia Kenya Кения Keňa Kenija Kenia Кенија Kenya Kenya เคนยา Kenya Кения Кенія Keniya Kenya 肯尼亚 肯亞
KG قيرغيزستان Кыргызстан Киргизстан Kyrgyzstan Kirgistan Kirguizistan Kyrgyzstán Kirgisistan Kirgisistan Κιργιστάν Kyrgyzstan Kirgizistano Kirguistán Kõrgõzstan Kirgizistan قرقیزستان Kirgisia Kirghizistan Kirghizistan an Chirgeastáin Cìorgastan Kirguizistán קירגיזסטן Kirgistan Kirgizisztán Kirghizistan Kirgistan Kirgistan Kirghizistan キルギス 키르기스스탄 Kyrgyzstan Кыргызстан Kirgizija Kirgizstāna കിർഗിസ്ഥാൻ Кыргызстан Kirgisistan Kirgizië Kirgisistan Kyrgyzstan Kirgistan Quirguistão Quirguistão Kârgâzstan Киргизия Kirgizsko Kirgizistan Kirgizi Киргистан Kirgizistan Kirigizistani คีร์กีซสถาน Kırgızistan Кыргызстан Киргизстан Qirgʻiziston Kyrgyzstan 吉尔吉斯斯坦 吉爾吉斯
KH كمبوديا Камбоджа Камбоджа Kambodja Kambodža Cambodja Kambodža Cambodja Kambodscha Καμπότζη Cambodia Kamboĝo Camboya Kambodža Kanbodia کامبوج Kambodža Cambodge Cambodge an Chambóid Cambuidea Camboxa קמבודיה Kambodža Kambodzsa Cambodgia Kamboja Kambódía Cambogia カンボジア 캄보디아 Cambodia Камбоджа Kambodža Kambodža കംബോഡിയ Камбож Kambodsja Cambodja Kambodsja Cambodia Kambodża Camboja Camboja Cambodgia Камбоджа Kambodža Kambodža Kamboxhia Камбоџа Kambodja Kambodia กัมพูชา Kamboçya Камбоджа Камбоджа Kambodja Campuchia 柬埔寨 柬埔寨
KI كيريباتي Кірыбаці Кирибати Kiribati Kiribati Kiribati Kiribati Kiribati Kiribati Κιριμπάτι Kiribati Kiribato Kiribati Kiribati Kiribati کیریباتی Kiribati Kiribati Kiribati Cireabaití Ciribeas Kiribati קיריבאטי Kiribati Kiribati Kiribati Kiribati Kíribatí Kiribati キリバス 키리바시 Kiribati Кирибати Kiribatis Kiribati കിരിബാട്ടി Кирибати Kiribati Kiribati Kiribati Kiribati Kiribati Quiribati Quiribati Kiribati Кирибати Kiribati Kiribati Kiribati Кирибати Kiribati Kiribati คิริบาส Kiribati Кирибати Кірібаті Kiribati Kiribati 基里巴斯 吉里巴斯
KM جزر القمر Каморскія астравы Коморски острови Komorez Komori Comores Komory Comorerne Komoren Κομόρες Comoros Komoroj Comoras Komoorid Komoreak کومور Komorit Comores Comores Oileáin Chomóra Comoros Comores קומורו Komori Comore-szigetek Comoros Komoro Kómoreyjar Comore コモロ 코모로 Comoros Коморос Komorai Komoru salas കോമൊറോസ് Коморын арлууд Komorene Comoren Komorane Comoros Komory Comores Comores Comore Коморы Komory Komori Komore Коморска Острва Komorerna Komoro คอโมโรส Komorlar Комор утраулары Комори Komor orollari Comoros 科摩罗 葛摩
KN سانت كيتس ونيفيس Сент-Кітс і Невіс Сейнт Китс и Невис Saint Kitts ha Nevis Sveti Kits i Nevis Saint Christopher i Nevis Svatý Kryštof a Nevis Saint Kitts og Nevis St. Kitts und Nevis Σεν Κιτς και Νέβις St. Kitts & Nevis Sent-Kristofo kaj Neviso San Cristóbal y Nieves Saint Kitts ja Nevis Saint Kitts eta Nevis سنت کیتس و نویس Saint Kitts ja Nevis Saint-Christophe-et-Niévès Saint-Christophe-et-Niévès San Críostóir-Nimheas Naomh Crìstean is Nibheis Saint Kitts e Nevis סנט קיטס ונוויס Sveti Kristofor i Nevis Saint Kitts és Nevis Sancte Christophoro e Nevis Saint Kitts dan Nevis Sankti Kitts og Nevis Saint Kitts e Nevis セントクリストファー・ネーヴィス 세인트키츠 네비스 St. Kitts & Nevis Сент-Китс жана Невис Sent Kitsas ir Nevis Sentkitsa un Nevisa സെന്റ് കിറ്റ്‌സും നെവിസും Сент-Киттс ба Невис Saint Kitts og Nevis Saint Kitts en Nevis Saint Kitts og Nevis St. Kitts & Nevis Saint Kitts i Nevis São Cristóvão e Névis São Cristóvão e Névis Saint Kitts și Nevis Сент-Китс и Невис Svätý Krištof a Nevis Saint Kitts in Nevis Shën-Kits dhe Nevis Сент Китс и Невис S:t Kitts och Nevis St. Kitts na Nevis เซนต์คิตส์และเนวิส Saint Kitts ve Nevis Сент-Китс һәм Невис Сент-Кітс і Невіс Sent-Kits va Nevis St. Kitts và Nevis 圣基茨和尼维斯 聖克里斯多福及尼維斯
KP كوريا الشمالية Паўночная Карэя Северна Корея Korea an Norzh Sjeverna Koreja Corea del Nord Severní Korea Nordkorea Nordkorea Βόρεια Κορέα North Korea Nord-Koreo Corea del Norte Põhja-Korea Ipar Korea کرهٔ شمالی Pohjois-Korea Corée du Nord Corée du Nord an Chóiré Thuaidh Coirèa a Tuath Corea do Norte קוריאה הצפונית Sjeverna Koreja Észak-Korea Corea del Nord Korea Utara Norður-Kórea Corea del Nord 北朝鮮 북한 North Korea Түндүк Корея Šiaurės Korėja Ziemeļkoreja ഉത്തരകൊറിയ Хойд Солонгос Nord-Korea Noord-Korea Nord-Korea North Korea Korea Północna Coreia do Norte Coreia do Norte Coreea de Nord КНДР Severná Kórea Severna Koreja Kore e Veriut Северна Кореја Nordkorea Korea Kaskazini เกาหลีเหนือ Kuzey Kore Төньяк Корея Північна Корея Shimoliy Koreya Triều Tiên 朝鲜 北韓
KR كوريا الجنوبية Паўднёвая Карэя Южна Корея Korea ar Su Južna Koreja Corea del Sud Jižní Korea Sydkorea Südkorea Νότια Κορέα South Korea Sud-Koreo Corea del Sur Lõuna-Korea Hego Korea کرهٔ جنوبی Etelä-Korea Corée du Sud Corée du Sud an Chóiré Theas Coirèa Corea do Sur קוריאה הדרומית Južna Koreja Dél-Korea Corea del Sud Korea Selatan Suður-Kórea Corea del Sud 韓国 대한민국 South Korea Түштүк Корея Pietų Korėja Dienvidkoreja ദക്ഷിണകൊറിയ Өмнөд Солонгос Sør-Korea Zuid-Korea Sør-Korea South Korea Korea Południowa Coreia do Sul Coreia do Sul Coreea de Sud Республика Корея Južná Kórea Južna Koreja Kore e Jugut Јужна Кореја Sydkorea Korea Kusini เกาหลีใต้ Güney Kore South Korea Південна Корея Janubiy Koreya Hàn Quốc 韩国 南韓
KW الكويت Кувейт Кувейт Koweit Kuvajt Kuwait Kuvajt Kuwait Kuwait Κουβέιτ Kuwait Kuvajto Kuwait Kuveit Kuwait کویت Kuwait Koweït Koweït Cuáit Cuibhèit Kuwait כווית Kuvajt Kuvait Kuwait Kuwait Kúveit Kuwait クウェート 쿠웨이트 Kuwait Кувейт Kuveitas Kuveita കുവൈറ്റ് Кувейт Kuwait Koeweit Kuwait Kuwait Kuwejt Kuwait Kuwait Kuweit Кувейт Kuvajt Kuvajt Kuvajt Кувајт Kuwait Kuwait คูเวต Kuveyt Күвәйт Кувейт Quvayt Kuwait 科威特 科威特
KY جزر كايمان Кайманавы астравы Кайманови острови Inizi Cayman Kajmanska ostrva Illes Caiman Kajmanské ostrovy Caymanøerne Kaimaninseln Νήσοι Κέιμαν Cayman Islands Kejmanoj Islas Caimán Kaimanisaared Kaiman uharteak جزایر کِیمن Caymansaaret Îles Caïmans Îles Caïmans Oileáin Cayman Na h-Eileanan Caimean Illas Caimán איי קיימן Kajmanski otoci Kajmán-szigetek Insulas de Caiman Kepulauan Cayman Caymaneyjar Isole Cayman ケイマン諸島 케이맨 제도 Cayman Islands Кайман аралдары Kaimanų Salos Kaimanu salas കേയ്മാൻ ദ്വീപുകൾ Кайманы арлууд Caymanøyene Kaaimaneilanden Caymanøyane Cayman Islands Kajmany Ilhas Cayman Ilhas Cayman Insulele Cayman Острова Кайман Kajmanie ostrovy Kajmanski otoki Ishujt Kajman Кајманска Острва Caymanöarna Visiwa vya Cayman หมู่เกาะเคย์แมน Cayman Adaları Кайман утраулары Кайманові Острови Kayman orollari Quần đảo Cayman 开曼群岛 開曼群島
KZ كازاخستان Казахстан Казахстан Kazakstan Kazahstan Kazakhstan Kazachstán Kasakhstan Kasachstan Καζακστάν Kazakhstan Kazaĥstano Kazajistán Kasahstan Kazakhstan قزاقستان Kazakstan Kazakhstan Kazakhstan an Chasacstáin Casachstàn Kazakistán קזחסטן Kazahstan Kazahsztán Kazakhstan Kazakstan Kasakstan Kazakistan カザフスタン 카자흐스탄 Kazakhstan Казакстан Kazachstanas Kazahstāna കസാഖിസ്ഥാൻ Казахстан Kasakhstan Kazachstan Kasakhstan Kazakhstan Kazachstan Cazaquistão Cazaquistão Kazahstan Казахстан Kazachstan Kazahstan Kazakistan Казахстан Kazakstan Kazakistani คาซัคสถาน Kazakistan Казахстан Казахстан Qozogʻiston Kazakhstan 哈萨克斯坦 哈薩克
LA لاوس Лаос Лаос Laos Laos Laos Laos Laos Laos Λάος Laos Laoso Laos Laos Laos لائوس Laos Laos Laos Laos Làthos Laos לאוס Laos Laosz Laos Laos Laos Laos ラオス 라오스 Laos Лаос Laosas Laosa ലാവോസ് Лаос Laos Laos Laos Laos Laos Laos Laos Laos Лаос Laos Laos Laos Лаос Laos Laos ลาว Laos Лаос Лаос Laos Lào 老挝 寮國
LB لبنان Ліван Ливан Liban Liban Líban Libanon Libanon Libanon Λίβανος Lebanon Libano Líbano Liibanon Libano لبنان Libanon Liban Liban an Liobáin Leabanon O Líbano לבנון Libanon Libanon Libano Lebanon Líbanon Libano レバノン 레바논 Lebanon Ливан Libanas Libāna ലെബനൻ Ливан Libanon Libanon Libanon Lebanon Liban Líbano Líbano Liban Ливан Libanon Libanon Liban Либан Libanon Lebanon เลบานอน Lübnan Ливан Ліван Livan Li-băng 黎巴嫩 黎巴嫩
LC سانت لوسيا Сент-Люсія Сейнт Лусия Saint Lucia Sveta Lucija Saint Lucia Svatá Lucie Saint Lucia St. Lucia Αγία Λουκία St. Lucia Sent-Lucio Santa Lucía Saint Lucia Santa Luzia سنت لوسیا Saint Lucia Sainte-Lucie Sainte-Lucie Saint Lucia Naomh Lùisea Santa Lucía סנט לוסיה Sveta Lucija Saint Lucia Sancte Lucia Saint Lucia Sankti Lúsía Saint Lucia セントルシア 세인트루시아 St. Lucia Сент-Люсия Sent Lusija Sentlūsija സെന്റ് ലൂസിയ Сент Люсиа St. Lucia Saint Lucia St. Lucia St. Lucia Saint Lucia Santa Lúcia Santa Lúcia Sfânta Lucia Сент-Люсия Svätá Lucia Saint Lucia Shën-Luçia Света Луција S:t Lucia St. Lucia เซนต์ลูเซีย Saint Lucia Сент-Люсия Сент-Люсія Sent-Lyusiya St. Lucia 圣卢西亚 聖露西亞
LI ليختنشتاين Ліхтэнштэйн Лихтенщайн Liechtenstein Lihtenštajn Liechtenstein Lichtenštejnsko Liechtenstein Liechtenstein Λιχτενστάιν Liechtenstein Liĥtenŝtejno Liechtenstein Liechtenstein Liechtenstein لیختن‌اشتاین Liechtenstein Liechtenstein Liechtenstein Lichtinstéin Lichtenstein Liechtenstein ליכטנשטיין Lihtenštajn Liechtenstein Liechtenstein Liechtenstein Liechtenstein Liechtenstein リヒテンシュタイン 리히텐슈타인 Liechtenstein Лихтенштейн Lichtenšteinas Lihtenšteina ലിച്ചൺസ്റ്റൈൻ Лихтенштейн Liechtenstein Liechtenstein Liechtenstein Liechtenstein Liechtenstein Liechtenstein Liechtenstein Liechtenstein Лихтенштейн Lichtenštajnsko Lihtenštajn Lihtenshtajn Лихтенштајн Liechtenstein Liechtenstein ลิกเตนสไตน์ Liechtenstein Лихтенштейн Ліхтенштейн Lixtenshteyn Liechtenstein 列支敦士登 列支敦斯登
LK سريلانكا Шры-Ланка Шри Ланка Sri Lanka Šri Lanka Sri Lanka Srí Lanka Sri Lanka Sri Lanka Σρι Λάνκα Sri Lanka Sri-Lanko Sri Lanka Sri Lanka Sri Lanka سری‌لانکا Sri Lanka Sri Lanka Sri Lanka Srí Lanca Sri Lanca Sri Lanka סרי לנקה Šri Lanka Srí Lanka Sri Lanka Sri Lanka Srí Lanka Sri Lanka スリランカ 스리랑카 Sri Lanka Шри-Ланка Šri Lanka Šrilanka ശ്രീലങ്ക Шри-Ланка Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Шри-Ланка Srí Lanka Šrilanka Sri-Lankë Шри Ланка Sri Lanka Sri Lanka ศรีลังกา Sri Lanka Шри-Ланка Шрі-Ланка Shri-Lanka Sri Lanka 斯里兰卡 斯里蘭卡
LR ليبيريا Ліберыя Либерия Liberia Liberija Libèria Libérie Liberia Liberia Λιβερία Liberia Liberio Liberia Libeeria Liberia لیبریا Liberia Libéria Libéria an Libéir Libèir Liberia ליבריה Liberija Libéria Liberia Liberia Líbería Liberia リベリア 라이베리아 Liberia Либерия Liberija Libērija ലൈബീരിയ Либери Liberia Liberia Liberia Liberia Liberia Libéria Libéria Liberia Либерия Libéria Liberija Liberi Либерија Liberia Liberia ไลบีเรีย Liberya Либерия Ліберія Liberiya Liberia 利比里亚 賴比瑞亞
LS ليسوتو Лесота Лесото Lesotho Lesoto Lesotho Lesotho Lesotho Lesotho Λεσότο Lesotho Lesoto Lesoto Lesotho Lesotho لسوتو Lesotho Lesotho Lesotho Leosóta Leasoto Lesotho לסוטו Lesoto Lesotho Lesotho Lesotho Lesótó Lesotho レソト 레소토 Lesotho Лесото Lesotas Lesoto ലെസോതോ Лесото Lesotho Lesotho Lesotho Lesotho Lesotho Lesoto Lesoto Lesotho Лесото Lesotho Lesoto Lesoto Лесото Lesotho Lesoto เลโซโท Lesotho Лесото Лесото Lesoto Lesotho 莱索托 賴索托
LT ليتوانيا Літва Литва Lituania Litvanija Lituània Litva Litauen Litauen Λιθουανία Lithuania Litovujo Lituania Leedu Lituania لیتوانی Liettua Lituanie Lituanie an Liotuáin An Liotuain Lituania ליטא Litva Litvánia Lituania Lituania Litháen Lituania リトアニア 리투아니아 Lithuania Литва Lietuva Lietuva ലിത്വാനിയ Литва Litauen Litouwen Litauen Lithuania Litwa Lituânia Lituânia Lituania Литва Litva Litva Lituani Литванија Litauen Lithuania ลิทัวเนีย Litvanya Литва Литва Litva Litva 立陶宛 立陶宛
LU لوكسمبورغ Люксембург Люксембург Luksembourg Luksemburg Luxemburg Lucembursko Luxembourg Luxemburg Λουξεμβούργο Luxembourg Luksemburgo Luxemburgo Luksemburg Luxenburgo لوکزامبورگ Luxemburg Luxembourg Luxembourg Lucsamburg Lugsamburg Luxemburgo לוקסמבורג Luksemburg Luxemburg Luxemburg Luksemburg Lúxemborg Lussemburgo ルクセンブルク 룩셈부르크 Luxembourg Люксембург Liuksemburgas Luksemburga ലക്സംബർഗ് Люксембург Luxemburg Luxemburg Luxembourg Luxembourg Luksemburg Luxemburgo Luxemburgo Luxemburg Люксембург Luxembursko Luksemburg Luksemburg Луксембург Luxemburg Luxembourg ลักเซมเบิร์ก Lüksemburg Люксембург Люксембурґ Lyuksemburg Luxembourg 卢森堡 盧森堡
LV لاتفيا Латвія Латвия Latvia Latvija Letònia Lotyšsko Letland Lettland Λετονία Latvia Latvujo Letonia Läti Letonia لتونی Latvia Lettonie Lettonie an Laitvia An Laitbhe Letonia לטביה Latvija Lettország Lettonia Latvia Lettland Lettonia ラトビア 라트비아 Latvia Латвия Latvija Latvija ലാറ്റ്വിയ Латви Latvia Letland Latvia Latvia Łotwa Letônia Letônia Letonia Латвия Lotyšsko Latvija Letoni Летонија Lettland Latvia ลัตเวีย Letonya Латвия Латвія Latviya Latvia 拉脱维亚 拉脫維亞
LY ليبيا Лівія Либия Libia Libija Líbia Libye Libyen Libyen Λιβύη Libya Libio Libia Liibüa Libia لیبی Libya Libye Libye an Libia Libia Libia לוב Libija Líbia Libya Libia Líbía Libia リビア 리비아 Libya Ливия Libija Lībija ലിബിയ Ливи Libya Libië Libya Libya Libia Líbia Líbia Libia Ливия Líbya Libija Libi Либија Libyen Libya ลิเบีย Libya Ливия Лівія Liviya Libya 利比亚 利比亞
MA المغرب Марока Мароко Maroko Maroko Marroc Maroko Marokko Marokko Μαρόκο Morocco Maroko Marruecos Maroko Maroko مراکش Marokko Maroc Maroc Maracó Moroco Marrocos מרוקו Maroko Marokkó Marocco Maroko Marokkó Marocco モロッコ 모로코 Morocco Марокко Marokas Maroka മൊറോക്കൊ Морокко Marokko Marokko Marokko Morocco Maroko Marrocos Marrocos Maroc Марокко Maroko Maroko Marok Мароко Marocko Morocco โมร็อกโก Fas Марокко Марокко Marokash Ma-rốc 摩洛哥 摩洛哥
MC موناكو Манака Монако Monaco Monako Mònaco Monako Monaco Monaco Μονακό Monaco Monako Mónaco Monaco Monako موناکو Monaco Monaco Monaco Monacó Monaco Mónaco מונקו Monako Monaco Monaco Monako Mónakó Monaco モナコ 모나코 Monaco Монако Monakas Monako മൊണാക്കോ Монако Monaco Monaco Monaco Monaco Monako Mônaco Mônaco Monaco Монако Monako Monako Monako Монако Monaco Monaco โมนาโก Monako Монако Монако Monako Monaco 摩纳哥 摩納哥
MD مولدوفا Малдова Молдова Moldova Moldavija Moldàvia Moldavsko Moldova Republik Moldau Μολδαβία Moldova Moldavujo Moldavia Moldova Moldavia مولداوی Moldova Moldavie Moldavie an Mholdóiv A Mholdobha Moldavia מולדובה Moldavija Moldova Moldavia Moldova Moldóva Moldavia モルドバ 몰도바 Moldova Молдова Moldova Moldova മൾഡോവ Молдова Moldova Moldavië Moldova Moldova Mołdawia Moldova Moldova Republica Moldova Молдова Moldavsko Moldavija Moldavi Молдавија Moldavien Moldova มอลโดวา Moldova Молдова Молдова Moldova Moldova 摩尔多瓦 摩爾多瓦
ME الجبل الأسود Чарнагорыя Черна гора Montenegro Crna Gora Montenegro Černá Hora Montenegro Montenegro Μαυροβούνιο Montenegro Montenegro Montenegro Montenegro Montenegro مونته‌نگرو Montenegro Monténégro Monténégro Montainéagró Am Monadh Neagrach Montenegro מונטנגרו Crna Gora Montenegró Montenegro Montenegro Svartfjallaland Montenegro モンテネグロ 몬테네그로 Montenegro Черногория Juodkalnija Melnkalne മോണ്ടെനെഗ്രോ Монтенегро Montenegro Montenegro Montenegro Montenegro Czarnogóra Montenegro Montenegro Muntenegru Черногория Čierna Hora Črna gora Mal i Zi Црна Гора Montenegro Montenegro มอนเตเนโกร Karadağ Черногория Чорногорія Chernogoriya Montenegro 黑山 蒙特內哥羅
MF سان مارتن Сен-Мартэн Сен Мартен Saint Martin Sveti Martin Saint Martin Svatý Martin (Francie) Saint Martin St. Martin Άγιος Μαρτίνος (Γαλλικό τμήμα) St. Martin St. Martin San Martín Saint-Martin San Martin سنت مارتین Saint-Martin Saint-Martin Saint-Martin Saint-Martin Naomh Màrtainn Saint Martin סן מרטן Saint Martin Saint Martin St. Martin Saint Martin Saint-Martin Saint Martin サン・マルタン 생마르탱 St. Martin Сент-Мартин Sen Martenas Senmartēna സെന്റ് മാർട്ടിൻ Сент-Мартин Saint-Martin Saint-Martin Saint Martin St. Martin Saint-Martin São Martinho São Martinho Sfântul Martin Сен-Мартен Svätý Martin (fr.) Saint Martin Sen-Marten Свети Мартин (Француска) Saint-Martin St. Martin เซนต์มาร์ติน Saint Martin Сент-Мартин Сен-Мартен Sent-Martin St. Martin 法属圣马丁 法屬聖馬丁
MG مدغشقر Мадагаскар Мадагаскар Madagaskar Madagaskar Madagascar Madagaskar Madagaskar Madagaskar Μαδαγασκάρη Madagascar Madagaskaro Madagascar Madagaskar Madagaskar ماداگاسکار Madagaskar Madagascar Madagascar Madagascar Madagasgar Madagascar מדגסקר Madagaskar Madagaszkár Madagascar Madagaskar Madagaskar Madagascar マダガスカル 마다가스카르 Madagascar Мадагаскар Madagaskaras Madagaskara മഡഗാസ്കർ Мадагаскар Madagaskar Madagaskar Madagaskar Madagascar Madagaskar Madagascar Madagascar Madagascar Мадагаскар Madagaskar Madagaskar Madagaskar Мадагаскар Madagaskar Madagaska มาดากัสการ์ Madagaskar Мадагаскар Мадагаскар Madagaskar Madagascar 马达加斯加 馬達加斯加
MH جزر مارشال Маршалавы астравы Маршалови острови Inizi Marshall Maršalova ostrva Illes Marshall Marshallovy ostrovy Marshalløerne Marshallinseln Νήσοι Μάρσαλ Marshall Islands Marŝaloj Islas Marshall Marshalli Saared Marshall Uharteak جزایر مارشال Marshallinsaaret Îles Marshall Îles Marshall Oileáin Marshall Eileanan Mharshall Illas Marshall איי מרשל Maršalovi Otoci Marshall-szigetek Insulas Marshall Kepulauan Marshall Marshalleyjar Isole Marshall マーシャル諸島 마셜 제도 Marshall Islands Маршалл аралдары Maršalo Salos Māršala salas മാർഷൽ ദ്വീപുകൾ Маршаллын арлууд Marshalløyene Marshalleilanden Marshalløyane Marshall Islands Wyspy Marshalla Ilhas Marshall Ilhas Marshall Insulele Marshall Маршалловы Острова Marshallove ostrovy Marshallovi otoki Ishujt Marshall Маршалска Острва Marshallöarna Visiwa vya Marshall หมู่เกาะมาร์แชลล์ Marshall Adaları Маршалл утраулары Маршаллові Острови Marshall orollari Quần đảo Marshall 马绍尔群岛 馬紹爾群島
MK مقدونيا الشمالية Паўночная Македонія Северна Македония Makedonia an Norzh Sjeverna Makedonija Macedònia del Nord Severní Makedonie Nordmakedonien Nordmazedonien Βόρεια Μακεδονία North Macedonia North Macedonia Macedonia del Norte Põhja-Makedoonia Ipar Mazedonia مقدونیهٔ شمالی Pohjois-Makedonia Macédoine du Nord Macédoine du Nord an Mhacadóin Thuaidh A Mhasadon a Tuath Macedonia do Norte מקדוניה הצפונית Sjeverna Makedonija Észak-Macedónia Macedonia Makedonia Utara Norður-Makedónía Macedonia del Nord 北マケドニア 북마케도니아 North Macedonia Түндүк Македония Šiaurės Makedonija Ziemeļmaķedonija നോർത്ത് മാസിഡോണിയ Хойд Македон Nord-Makedonia Noord-Macedonië Nord-Makedonia North Macedonia Macedonia Północna Macedônia do Norte Macedônia do Norte Macedonia de Nord Северная Македония Severné Macedónsko Severna Makedonija Maqedonia e Veriut Северна Македонија Nordmakedonien Masedonia ya Kaskazini มาซิโดเนียเหนือ Kuzey Makedonya Төньяк Македония Північна Македонія Shimoliy Makedoniya Bắc Macedonia 北马其顿 北馬其頓
ML مالي Малі Мали Mali Mali Mali Mali Mali Mali Μάλι Mali Malio Mali Mali Mali مالی Mali Mali Mali Mailí Màili Malí מאלי Mali Mali Mali Mali Malí Mali マリ 말리 Mali Мали Malis Mali മാലി Мали Mali Mali Mali Mali Mali Mali Mali Mali Мали Mali Mali Mali Мали Mali Mali มาลี Mali Мали Малі Mali Mali 马里 馬利
MM ميانمار (بورما) М’янма (Бірма) Мианмар (Бирма) Myanmar (Birmania) Mjanmar Myanmar (Birmània) Myanmar (Barma) Myanmar (Burma) Myanmar Μιανμάρ (Βιρμανία) Myanmar (Burma) Mjanmao Myanmar (Birmania) Myanmar (Birma) Myanmar (Birmania) میانمار (برمه) Myanmar (Burma) Myanmar (Birmanie) Myanmar (Birmanie) Maenmar (Burma) Miànmar Myanmar (Birmania) מיאנמר (בורמה) Mjanmar (Burma) Mianmar Birmania/Myanmar Myanmar (Burma) Mjanmar (Búrma) Myanmar (Birmania) ミャンマー (ビルマ) 미얀마 Myanmar (Burma) Мьянма (Бирма) Mianmaras (Birma) Mjanma (Birma) മ്യാൻമാർ (ബർമ്മ) Мьянмар Myanmar (Burma) Myanmar (Birma) Myanmar (Burma) Myanmar (Burma) Mjanma (Birma) Mianmar (Birmânia) Mianmar (Birmânia) Myanmar (Birmania) Мьянма (Бирма) Mjanmarsko Mjanmar (Burma) Mianmar (Burmë) Мијанмар (Бурма) Myanmar (Burma) Myanmar (Burma) เมียนมาร์ (พม่า) Myanmar (Burma) Myanmar (Burma) Мʼянма (Бірма) Myanma (Birma) Myanmar (Miến Điện) 缅甸 緬甸
MN منغوليا Манголія Монголия Mongolia Mongolija Mongòlia Mongolsko Mongoliet Mongolei Μογγολία Mongolia Mongolujo Mongolia Mongoolia Mongolia مغولستان Mongolia Mongolie Mongolie an Mhongóil Dùthaich nam Mongol Mongolia מונגוליה Mongolija Mongólia Mongolia Mongolia Mongólía Mongolia モンゴル 몽골 Mongolia Монголия Mongolija Mongolija മംഗോളിയ Монгол Mongolia Mongolië Mongolia Mongolia Mongolia Mongólia Mongólia Mongolia Монголия Mongolsko Mongolija Mongoli Монголија Mongoliet Mongolia มองโกเลีย Moğolistan Монголия Монголія Mongoliya Mông Cổ 蒙古 蒙古
MO مكاو Макаа Макао Macau Makao Macau Macao Macao Macau Μακάο Macao Macao Macao Macau Macau ماکائو Macao Macao Macao Macao Macàthu Macau מקאו Makao Makaó Macao Makau Makaó Macao マカオ 마카오 Macao Макау Makao Makao മക്കാവു Макао Macao Macau Macao Macao Makau Macau Macau Macao Макао Macao Macao Makao Макао Macao Makau มาเก๊า Makao Макао Макао Makao Macao 澳门 澳門
MP جزر ماريانا الشمالية Паўночныя Марыянскія астравы Северни Мариански острови Inizi Mariana an Norzh Sjeverna Marijanska ostrva Illes Mariannes del Nord Severní Mariany Nordmarianerne Nördliche Marianen Νήσοι Βόρειες Μαριάνες Northern Mariana Islands Nord-Marianoj Islas Marianas del Norte Põhja-Mariaanid Ipar Mariana uharteak جزایر ماریانای شمالی Pohjois-Mariaanit Îles Mariannes du Nord Îles Mariannes du Nord na hOileáin Mháirianacha Thuaidh Na h-Eileanan Mairianach a Tuath Illas Marianas do Norte איי מריאנה הצפוניים Sjevernomarijanski otoci Északi Mariana-szigetek Insulas Marianna del Nord Kepulauan Mariana Utara Norður-Maríanaeyjar Isole Marianne settentrionali 北マリアナ諸島 북마리아나제도 Northern Mariana Islands Түндүк Мариана аралдары Marianos Šiaurinės Salos Ziemeļu Marianas salas ഉത്തര മറിയാനാ ദ്വീപുകൾ Хойд Марианы арлууд Nord-Marianene Noordelijke Marianen Nord-Marianane Northern Mariana Islands Mariany Północne Ilhas Marianas do Norte Ilhas Marianas do Norte Insulele Mariane de Nord Северные Марианские о-ва Severné Mariány Severni Marianski otoki Ishujt e Marianës Veriore Северна Маријанска Острва Nordmarianerna Visiwa vya Mariana vya Kaskazini หมู่เกาะนอร์เทิร์นมาเรียนา Kuzey Mariana Adaları Төньяк Мариана утраулары Північні Маріанські Острови Shimoliy Mariana orollari Quần đảo Bắc Mariana 北马里亚纳群岛 北馬利安納群島
MQ جزر المارتينيك Марцініка Мартиника Martinik Martinik Martinica Martinik Martinique Martinique Μαρτινίκα Martinique Martiniko Martinica Martinique Martinika مارتینیک Martinique Martinique Martinique Martinique Mairtinic Martinica מרטיניק Martinique Martinique Martinique Martinik Martiník Martinica マルティニーク 마르티니크 Martinique Мартиника Martinika Martinika മാർട്ടിനിക്ക് Мартиник Martinique Martinique Martinique Martinique Martynika Martinica Martinica Martinica Мартиника Martinik Martinik Martinikë Мартиник Martinique Martinique มาร์ตินีก Martinik Мартиника Мартініка Martinika Martinique 马提尼克 馬丁尼克
MR موريتانيا Маўрытанія Мавритания Maouritania Mauritanija Mauritània Mauritánie Mauretanien Mauretanien Μαυριτανία Mauritania Maŭritanujo Mauritania Mauritaania Mauritania موریتانی Mauritania Mauritanie Mauritanie an Mháratáin Moratàinea Mauritania מאוריטניה Mauretanija Mauritánia Mauritania Mauritania Máritanía Mauritania モーリタニア 모리타니 Mauritania Мавритания Mauritanija Mauritānija മൗറിറ്റാനിയ Мавритани Mauritania Mauritanië Mauritania Mauritania Mauretania Mauritânia Mauritânia Mauritania Мавритания Mauritánia Mavretanija Mauritani Мауританија Mauretanien Moritania มอริเตเนีย Moritanya Мавритания Мавританія Mavritaniya Mauritania 毛里塔尼亚 茅利塔尼亞
MS مونتسرات Мантсерат Монтсерат Montserrat Monserat Montserrat Montserrat Montserrat Montserrat Μονσεράτ Montserrat Montserrat Montserrat Montserrat Montserrat مونت‌سرات Montserrat Montserrat Montserrat Montsarat Montsarat Montserrat מונסראט Montserrat Montserrat Montserrat Montserrat Montserrat Montserrat モントセラト 몬트세라트 Montserrat Монтсеррат Montseratas Montserrata മൊണ്ടെസരത്ത് Монтсеррат Montserrat Montserrat Montserrat Montserrat Montserrat Montserrat Montserrat Montserrat Монтсеррат Montserrat Montserrat Montserat Монсерат Montserrat Montserrat มอนต์เซอร์รัต Montserrat Монтсеррат Монтсеррат Montserrat Montserrat 蒙特塞拉特 蒙哲臘
MT مالطا Мальта Малта Malta Malta Malta Malta Malta Malta Μάλτα Malta Malto Malta Malta Malta مالت Malta Malte Malte Málta Malta Malta מלטה Malta Málta Malta Malta Malta Malta マルタ 몰타 Malta Мальта Malta Malta മാൾട്ട Мальта Malta Malta Malta Malta Malta Malta Malta Malta Мальта Malta Malta Maltë Малта Malta Malta มอลตา Malta Мальта Мальта Malta Malta 马耳他 馬爾他
MU موريشيوس Маўрыкій Мавриций Moris Mauricijus Maurici Mauricius Mauritius Mauritius Μαυρίκιος Mauritius Maŭricio Mauricio Mauritius Maurizio موریس Mauritius Maurice Maurice Oileán Mhuirís Na h-Eileanan Mhoiriseas Mauricio מאוריציוס Mauricijus Mauritius Mauritius Mauritius Máritíus Mauritius モーリシャス 모리셔스 Mauritius Маврикий Mauricijus Maurīcija മൗറീഷ്യസ് Маврикий Mauritius Mauritius Mauritius Mauritius Mauritius Maurício Maurício Mauritius Маврикий Maurícius Mauritius Mauritius Маурицијус Mauritius Morisi มอริเชียส Mauritius Маврикий Маврікій Mavrikiy Mauritius 毛里求斯 模里西斯
MV جزر المالديف Мальдывы Малдиви Maldivez Maldivi Maldives Maledivy Maldiverne Malediven Μαλδίβες Maldives Maldivoj Maldivas Maldiivid Maldivak مالدیو Malediivit Maldives Maldives Oileáin Mhaildíve Na h-Eileanan Mhaladaibh Maldivas האיים המלדיביים Maldivi Maldív-szigetek Maldives Maladewa Maldíveyjar Maldive モルディブ 몰디브 Maldives Мальдив Maldyvai Maldīvija മാലിദ്വീപ് Мальдив Maldivene Maldiven Maldivane Maldives Malediwy Maldivas Maldivas Maldive Мальдивы Maldivy Maldivi Maldive Малдиви Maldiverna Maldives มัลดีฟส์ Maldivler Мальдив утраулары Мальдіви Maldiv orollari Maldives 马尔代夫 馬爾地夫
MW ملاوي Малаві Малави Malawi Malavi Malawi Malawi Malawi Malawi Μαλάουι Malawi Malavio Malaui Malawi Malawi مالاوی Malawi Malawi Malawi an Mhaláiv Malabhaidh Malawi מלאווי Malavi Malawi Malawi Malawi Malaví Malawi マラウイ 말라위 Malawi Малави Malavis Malāvija മലാവി Малави Malawi Malawi Malawi Malawi Malawi Malaui Malaui Malawi Малави Malawi Malavi Malavi Малави Malawi Malawi มาลาวี Malavi Малави Малаві Malavi Malawi 马拉维 馬拉威
MX المكسيك Мексіка Мексико Mecʼhiko Meksiko Mèxic Mexiko Mexico Mexiko Μεξικό Mexico Meksiko México Mehhiko Mexiko مکزیک Meksiko Mexique Mexique Meicsiceo Meagsago México מקסיקו Meksiko Mexikó Mexico Meksiko Mexíkó Messico メキシコ 멕시코 Mexico Мексика Meksika Meksika മെക്സിക്കോ Мексик Mexico Mexico Mexico Mexico Meksyk México México Mexic Мексика Mexiko Mehika Meksikë Мексико Mexiko Meksiko เม็กซิโก Meksika Мексика Мексика Meksika Mexico 墨西哥 墨西哥
MY ماليزيا Малайзія Малайзия Malaysia Malezija Malàisia Malajsie Malaysia Malaysia Μαλαισία Malaysia Malajzio Malasia Malaisia Malaysia مالزی Malesia Malaisie Malaisie an Mhalaeisia Malaidhsea Malaisia מלזיה Malezija Malajzia Malaysia Malaysia Malasía Malaysia マレーシア 말레이시아 Malaysia Малайзия Malaizija Malaizija മലേഷ്യ Малайз Malaysia Maleisië Malaysia Malaysia Malezja Malásia Malásia Malaysia Малайзия Malajzia Malezija Malajzi Малезија Malaysia Malesia มาเลเซีย Malezya Малайзия Малайзія Malayziya Malaysia 马来西亚 馬來西亞
MZ موزمبيق Мазамбік Мозамбик Mozambik Mozambik Moçambic Mosambik Mozambique Mosambik Μοζαμβίκη Mozambique Mozambiko Mozambique Mosambiik Mozambike موزامبیک Mosambik Mozambique Mozambique Mósaimbíc Mòsaimbic Mozambique מוזמביק Mozambik Mozambik Mozambique Mozambik Mósambík Mozambico モザンビーク 모잠비크 Mozambique Мозамбик Mozambikas Mozambika മൊസാംബിക്ക് Мозамбик Mosambik Mozambique Mosambik Mozambique Mozambik Moçambique Moçambique Mozambic Мозамбик Mozambik Mozambik Mozambik Мозамбик Moçambique Msumbiji โมซัมบิก Mozambik Мозамбик Мозамбік Mozambik Mozambique 莫桑比克 莫三比克
NA ناميبيا Намібія Намибия Namibia Namibija Namíbia Namibie Namibia Namibia Ναμίμπια Namibia Namibio Namibia Namiibia Namibia نامیبیا Namibia Namibie Namibie an Namaib An Namaib Namibia נמיביה Namibija Namíbia Namibia Namibia Namibía Namibia ナミビア 나미비아 Namibia Намибия Namibija Namībija നമീബിയ Намиби Namibia Namibië Namibia Namibia Namibia Namíbia Namíbia Namibia Намибия Namíbia Namibija Namibi Намибија Namibia Namibia นามิเบีย Namibya Намибия Намібія Namibiya Namibia 纳米比亚 納米比亞
NC كاليدونيا الجديدة Новая Каледонія Нова Каледония Kaledonia Nevez Nova Kaledonija Nova Caledònia Nová Kaledonie Ny Kaledonien Neukaledonien Νέα Καληδονία New Caledonia Nov-Kaledonio Nueva Caledonia Uus-Kaledoonia Kaledonia Berria کالدونیای جدید Uusi-Kaledonia Nouvelle-Calédonie Nouvelle-Calédonie an Nua-Chaladóin Cailleann Nuadh Nova Caledonia קלדוניה החדשה Nova Kaledonija Új-Kaledónia Nove Caledonia Kaledonia Baru Nýja-Kaledónía Nuova Caledonia ニューカレドニア 뉴칼레도니아 New Caledonia Жаңы Каледония Naujoji Kaledonija Jaunkaledonija ന്യൂ കാലിഡോണിയ Шинэ Каледони Ny-Caledonia Nieuw-Caledonië Ny-Caledonia New Caledonia Nowa Kaledonia Nova Caledônia Nova Caledônia Noua Caledonie Новая Каледония Nová Kaledónia Nova Kaledonija Kaledoni e Re Нова Каледонија Nya Kaledonien New Caledonia นิวแคลิโดเนีย Yeni Kaledonya Яңа Каледония Нова Каледонія Yangi Kaledoniya New Caledonia 新喀里多尼亚 新喀里多尼亞
NE النيجر Нігер Нигер Niger Niger Níger Niger Niger Niger Νίγηρας Niger Niĝero Níger Niger Niger نیجر Niger Niger Niger an Nígir Nìgeir Níxer ניז׳ר Niger Niger Niger Niger Níger Niger ニジェール 니제르 Niger Нигер Nigeris Nigēra നൈജർ Нигер Niger Niger Niger Niger Niger Níger Níger Niger Нигер Niger Niger Niger Нигер Niger Niger ไนเจอร์ Nijer Нигер Нігер Niger Niger 尼日尔 尼日
NF جزيرة نورفولك Востраў Норфалк остров Норфолк Enez Norfolk Ostrvo Norfolk Norfolk Norfolk Norfolk Island Norfolkinsel Νήσος Νόρφολκ Norfolk Island Norfolkinsulo Isla Norfolk Norfolk Norfolk uhartea جزیرهٔ نورفولک Norfolkinsaari Île Norfolk Île Norfolk Oileán Norfolk Eilean Norfolk Illa Norfolk האי נורפוק Otok Norfolk Norfolk-sziget Insula Norfolk Kepulauan Norfolk Norfolkeyja Isola Norfolk ノーフォーク島 노퍽섬 Norfolk Island Норфолк аралы Norfolko sala Norfolkas sala നോർഫോക് ദ്വീപ് Норфолк арал Norfolkøya Norfolk Norfolkøya Norfolk Island Norfolk Ilha Norfolk Ilha Norfolk Insula Norfolk о-в Норфолк Norfolk Norfolški otok Ishulli Norfolk Острво Норфок Norfolkön Kisiwa cha Norfolk เกาะนอร์ฟอล์ก Norfolk Adası Норфолк утравы Острів Норфолк Norfolk oroli Đảo Norfolk 诺福克岛 諾福克島
NG نيجيريا Нігерыя Нигерия Nigeria Nigerija Nigèria Nigérie Nigeria Nigeria Νιγηρία Nigeria Niĝerio Nigeria Nigeeria Nigeria نیجریه Nigeria Nigéria Nigéria an Nigéir Nigèiria Nixeria ניגריה Nigerija Nigéria Nigeria Nigeria Nígería Nigeria ナイジェリア 나이지리아 Nigeria Нигерия Nigerija Nigērija നൈജീരിയ Нигери Nigeria Nigeria Nigeria Nigeria Nigeria Nigéria Nigéria Nigeria Нигерия Nigéria Nigerija Nigeri Нигерија Nigeria Nigeria ไนจีเรีย Nijerya Нигерия Нігерія Nigeriya Nigeria 尼日利亚 奈及利亞
NI نيكاراغوا Нікарагуа Никарагуа Nicaragua Nikaragva Nicaragua Nikaragua Nicaragua Nicaragua Νικαράγουα Nicaragua Nikaragvo Nicaragua Nicaragua Nikaragua نیکاراگوئه Nicaragua Nicaragua Nicaragua Nicearagua Niocaragua Nicaragua ניקרגואה Nikaragva Nicaragua Nicaragua Nikaragua Níkaragva Nicaragua ニカラグア 니카라과 Nicaragua Никарагуа Nikaragva Nikaragva നിക്കരാഗ്വ Никарагуа Nicaragua Nicaragua Nicaragua Nicaragua Nikaragua Nicarágua Nicarágua Nicaragua Никарагуа Nikaragua Nikaragva Nikaragua Никарагва Nicaragua Nikaragwa นิการากัว Nikaragua Никарагуа Нікараґуа Nikaragua Nicaragua 尼加拉瓜 尼加拉瓜
NL هولندا Нідэрланды Нидерландия Izelvroioù Holandija Països Baixos Nizozemsko Holland Niederlande Ολλανδία Netherlands Nederlando Países Bajos Holland Herbehereak هلند Alankomaat Pays-Bas Pays-Bas an Ísiltír Na Tìrean Ìsle Países Baixos הולנד Nizozemska Hollandia Nederlandia Belanda Holland Paesi Bassi オランダ 네덜란드 Netherlands Нидерланд Nyderlandai Nīderlande നെതർലാൻഡ്‌സ് Нидерланд Nederland Nederland Nederland Netherlands Holandia Países Baixos Países Baixos Țările de Jos Нидерланды Holandsko Nizozemska Holandë Холандија Nederländerna Uholanzi เนเธอร์แลนด์ Hollanda Нидерланд Нідерланди Niderlandiya Hà Lan 荷兰 荷蘭
NO النرويج Нарвегія Норвегия Norvegia Norveška Noruega Norsko Norge Norwegen Νορβηγία Norway Norvegujo Noruega Norra Norvegia نروژ Norja Norvège Norvège an Iorua Nirribhidh Noruega נורווגיה Norveška Norvégia Norvegia Norwegia Noregur Norvegia ノルウェー 노르웨이 Norway Норвегия Norvegija Norvēģija നോർവെ Норвеги Norge Noorwegen Noreg Norway Norwegia Noruega Noruega Norvegia Норвегия Nórsko Norveška Norvegji Норвешка Norge Norway นอร์เวย์ Norveç Норвегия Норвеґія Norvegiya Na Uy 挪威 挪威
NP نيبال Непал Непал Nepal Nepal Nepal Nepál Nepal Nepal Νεπάλ Nepal Nepalo Nepal Nepal Nepal نپال Nepal Népal Népal Neipeal Neapàl Nepal נפאל Nepal Nepál Nepal Nepal Nepal Nepal ネパール 네팔 Nepal Непал Nepalas Nepāla നേപ്പാൾ Балба Nepal Nepal Nepal Nepal Nepal Nepal Nepal Nepal Непал Nepál Nepal Nepal Непал Nepal Nepal เนปาล Nepal Непал Непал Nepal Nepal 尼泊尔 尼泊爾
NR ناورو Науру Науру Nauru Nauru Nauru Nauru Nauru Nauru Ναουρού Nauru Nauro Nauru Nauru Nauru نائورو Nauru Nauru Nauru Nárú Nabhru Nauru נאורו Nauru Nauru Nauru Nauru Nárú Nauru ナウル 나우루 Nauru Науру Nauru Nauru നൗറു Науру Nauru Nauru Nauru Nauru Nauru Nauru Nauru Nauru Науру Nauru Nauru Nauru Науру Nauru Nauru นาอูรู Nauru Науру Науру Nauru Nauru 瑙鲁 諾魯
NU نيوي Ніуэ Ниуе Niue Niue Niue Niue Niue Niue Νιούε Niue Niuo Niue Niue Niue نیوئه Niue Niue Niue Niue Niue Niue ניווה Niue Niue Niue Niue Niue Niue ニウエ 니우에 Niue Ниуэ Niujė Niue ന്യൂയി Ниуэ Niue Niue Niue Niue Niue Niue Niue Niue Ниуэ Niue Niue Niue Ниуе Niue Niue นีอูเอ Niue Ниуэ Ніуе Niue Niue 纽埃 紐埃島
NZ نيوزيلندا Новая Зеландыя Нова Зеландия Zeland-Nevez Novi Zeland Nova Zelanda Nový Zéland New Zealand Neuseeland Νέα Ζηλανδία New Zealand Nov-Zelando Nueva Zelanda Uus-Meremaa Zeelanda Berria نیوزیلند Uusi-Seelanti Nouvelle-Zélande Nouvelle-Zélande an Nua-Shéalainn Sealainn Nuadh Nova Zelandia ניו זילנד Novi Zeland Új-Zéland Nove Zelanda Selandia Baru Nýja-Sjáland Nuova Zelanda ニュージーランド 뉴질랜드 New Zealand Жаңы Зеландия Naujoji Zelandija Jaunzēlande ന്യൂസിലാൻറ് Шинэ Зеланд New Zealand Nieuw-Zeeland New Zealand New Zealand Nowa Zelandia Nova Zelândia Nova Zelândia Noua Zeelandă Новая Зеландия Nový Zéland Nova Zelandija Zelandë e Re Нови Зеланд Nya Zeeland Nyuzilandi นิวซีแลนด์ Yeni Zelanda Яңа Зеландия Нова Зеландія Yangi Zelandiya New Zealand 新西兰 紐西蘭
OM عُمان Аман Оман Oman Oman Oman Omán Oman Oman Ομάν Oman Omano Omán Omaan Oman عمان Oman Oman Oman Óman Omàn Omán עומאן Oman Omán Oman Oman Óman Oman オマーン 오만 Oman Оман Omanas Omāna ഒമാൻ Оман Oman Oman Oman Oman Oman Omã Omã Oman Оман Omán Oman Oman Оман Oman Oman โอมาน Umman Оман Оман Ummon Oman 阿曼 阿曼
PA بنما Панама Панама Panamá Panama Panamà Panama Panama Panama Παναμάς Panama Panamo Panamá Panama Panama پاناما Panama Panama Panama Panama Panama Panamá פנמה Panama Panama Panama Panama Panama Panamá パナマ 파나마 Panama Панама Panama Panama പനാമ Панам Panama Panama Panama Panama Panama Panamá Panamá Panama Панама Panama Panama Panama Панама Panama Panama ปานามา Panama Панама Панама Panama Panama 巴拿马 巴拿馬
PE بيرو Перу Перу Perou Peru Perú Peru Peru Peru Περού Peru Peruo Perú Peruu Peru پرو Peru Pérou Pérou Peiriú Pearù O Perú פרו Peru Peru Peru Peru Perú Perù ペルー 페루 Peru Перу Peru Peru പെറു Перу Peru Peru Peru Peru Peru Peru Peru Peru Перу Peru Peru Peru Перу Peru Peru เปรู Peru Перу Перу Peru Peru 秘鲁 秘魯
PF بولينيزيا الفرنسية Французская Палінезія Френска Полинезия Polinezia Cʼhall Francuska Polinezija Polinèsia Francesa Francouzská Polynésie Fransk Polynesien Französisch-Polynesien Γαλλική Πολυνησία French Polynesia Franca Polinezio Polinesia Francesa Prantsuse Polüneesia Polinesia Frantsesa پلی‌نزی فرانسه Ranskan Polynesia Polynésie française Polynésie française Polainéis na Fraince Poilinèis na Frainge A Polinesia Francesa פולינזיה הצרפתית Francuska Polinezija Francia Polinézia Polynesia francese Polinesia Prancis Franska Pólýnesía Polinesia francese 仏領ポリネシア 프랑스령 폴리네시아 French Polynesia Полинезия (франциялык) Prancūzijos Polinezija Francijas Polinēzija ഫ്രഞ്ച് പോളിനേഷ്യ Францын Полинез Fransk Polynesia Frans-Polynesië Fransk Polynesia French Polynesia Polinezja Francuska Polinésia Francesa Polinésia Francesa Polinezia Franceză Французская Полинезия Francúzska Polynézia Francoska Polinezija Polinezia Franceze Француска Полинезија Franska Polynesien Polynesia ya Ufaransa เฟรนช์โปลินีเซีย Fransız Polinezyası Француз Полинезиясе Французька Полінезія Fransuz Polineziyasi Polynesia thuộc Pháp 法属波利尼西亚 法屬玻里尼西亞
PG بابوا غينيا الجديدة Папуа-Новая Гвінея Папуа-Нова Гвинея Papoua Ginea-Nevez Papua Nova Gvineja Papua Nova Guinea Papua-Nová Guinea Papua Ny Guinea Papua-Neuguinea Παπούα Νέα Γουινέα Papua New Guinea Papuo-Nov-Gvineo Papúa Nueva Guinea Paapua Uus-Guinea Papua Ginea Berria پاپوا گینهٔ نو Papua-Uusi-Guinea Papouasie-Nouvelle-Guinée Papouasie-Nouvelle-Guinée Nua-Ghuine Phapua Gini Nuadh Phaputhach Papúa-Nova Guinea פפואה גינאה החדשה Papua Nova Gvineja Pápua Új-Guinea Papua Nove Guinea Papua Nugini Papúa Nýja-Gínea Papua Nuova Guinea パプアニューギニア 파푸아뉴기니 Papua New Guinea Папуа-Жаңы Гвинея Papua Naujoji Gvinėja Papua-Jaungvineja പാപ്പുവ ന്യൂ ഗിനിയ Папуа Шинэ Гвиней Papua Ny-Guinea Papoea-Nieuw-Guinea Papua Ny-Guinea Papua New Guinea Papua-Nowa Gwinea Papua-Nova Guiné Papua-Nova Guiné Papua-Noua Guinee Папуа — Новая Гвинея Papua-Nová Guinea Papua Nova Gvineja Guineja e Re-Papua Папуа Нова Гвинеја Papua Nya Guinea Papua New Guinea ปาปัวนิวกินี Papua Yeni Gine Папуа - Яңа Гвинея Папуа-Нова Ґвінея Papua Yangi Gvineya Papua New Guinea 巴布亚新几内亚 巴布亞紐幾內亞
PH الفلبين Філіпіны Филипини Filipinez Filipini Filipines Filipíny Filippinerne Philippinen Φιλιππίνες Philippines Filipinoj Filipinas Filipiinid Filipinak فیلیپین Filippiinit Philippines Philippines na hOileáin Fhilipíneacha Na h-Eileanan Filipineach Filipinas הפיליפינים Filipini Fülöp-szigetek Philippinas Filipina Filippseyjar Filippine フィリピン 필리핀 Philippines Филиппин Filipinai Filipīnas ഫിലിപ്പീൻസ് Филиппин Filippinene Filipijnen Filippinane Philippines Filipiny Filipinas Filipinas Filipine Филиппины Filipíny Filipini Filipine Филипини Filippinerna Ufilipino ฟิลิปปินส์ Filipinler Филиппин Філіппіни Filippin Philippines 菲律宾 菲律賓
PK باكستان Пакістан Пакистан Pakistan Pakistan Pakistan Pákistán Pakistan Pakistan Πακιστάν Pakistan Pakistano Pakistán Pakistan Pakistan پاکستان Pakistan Pakistan Pakistan an Phacastáin Pagastàn Paquistán פקיסטן Pakistan Pakisztán Pakistan Pakistan Pakistan Pakistan パキスタン 파키스탄 Pakistan Пакистан Pakistanas Pakistāna പാക്കിസ്ഥാൻ Пакистан Pakistan Pakistan Pakistan Pakistan Pakistan Paquistão Paquistão Pakistan Пакистан Pakistan Pakistan Pakistan Пакистан Pakistan Pakistani ปากีสถาน Pakistan Пакистан Пакистан Pokiston Pakistan 巴基斯坦 巴基斯坦
PL بولندا Польшча Полша Polonia Poljska Polònia Polsko Polen Polen Πολωνία Poland Pollando Polonia Poola Polonia لهستان Puola Pologne Pologne an Pholainn A Phòlainn Polonia פולין Poljska Lengyelország Polonia Polandia Pólland Polonia ポーランド 폴란드 Poland Польша Lenkija Polija പോളണ്ട് Польш Polen Polen Polen Poland Polska Polônia Polônia Polonia Польша Poľsko Poljska Poloni Пољска Polen Poland โปแลนด์ Polonya Польша Польща Polsha Ba Lan 波兰 波蘭
PM سان بيير ومكويلون Сен-П’ер і Мікелон Сен Пиер и Микелон Sant-Pêr-ha-Mikelon Sveti Petar i Mikelon Saint-Pierre-et-Miquelon Saint-Pierre a Miquelon Saint Pierre og Miquelon St. Pierre und Miquelon Σεν Πιερ και Μικελόν St. Pierre & Miquelon Sent-Piero kaj Mikelono San Pedro y Miquelón Saint-Pierre ja Miquelon Saint-Pierre eta Mikelune سن پیر و میکلن Saint-Pierre ja Miquelon Saint-Pierre-et-Miquelon Saint-Pierre-et-Miquelon San Pierre agus Miquelon Saint Pierre agus Miquelon Saint Pierre et Miquelon סנט פייר ומיקלון Saint-Pierre-et-Miquelon Saint-Pierre és Miquelon St. Pierre e Miquelon Saint Pierre dan Miquelon Sankti Pierre og Miquelon Saint-Pierre e Miquelon サンピエール島・ミクロン島 생피에르 미클롱 St. Pierre & Miquelon Сен-Пьер жана Микелон Sen Pjeras ir Mikelonas Senpjēra un Mikelona സെന്റ് പിയറി ആൻഡ് മിക്വലൻ Сент-Пьер ба Микело Saint-Pierre-et-Miquelon Saint-Pierre en Miquelon Saint-Pierre-et-Miquelon St. Pierre & Miquelon Saint-Pierre i Miquelon São Pedro e Miquelão São Pedro e Miquelão Saint-Pierre și Miquelon Сен-Пьер и Микелон Saint Pierre a Miquelon Saint Pierre in Miquelon Shën-Pier dhe Mikelon Сен Пјер и Микелон S:t Pierre och Miquelon Santapierre na Miquelon แซงปีแยร์และมีเกอลง Saint Pierre ve Miquelon Сен-Пьер һәм Микелон Сен-Пʼєр і Мікелон Sen-Pyer va Mikelon Saint Pierre và Miquelon 圣皮埃尔和密克隆群岛 聖皮埃與密克隆群島
PN جزر بيتكيرن Астравы Піткэрн Острови Питкерн Enez Pitcairn Pitkernska Ostrva Illes Pitcairn Pitcairnovy ostrovy Pitcairn Pitcairninseln Νήσοι Πίτκερν Pitcairn Islands Pitkarna Insulo Islas Pitcairn Pitcairni saared Pitcairn uharteak جزایر پیت‌کرن Pitcairn Îles Pitcairn Îles Pitcairn Oileáin Pitcairn Eileanan Pheit a Chàirn Illas Pitcairn איי פיטקרן Otoci Pitcairn Pitcairn-szigetek Pitcairn Islands Kepulauan Pitcairn Pitcairn-eyjar Isole Pitcairn ピトケアン諸島 핏케언 섬 Pitcairn Islands Питкэрн аралдары Pitkerno salos Pitkērnas salas പിറ്റ്‌കെയ്‌ൻ ദ്വീപുകൾ Питкэрн арлууд Pitcairnøyene Pitcairneilanden Pitcairn Pitcairn Islands Pitcairn Ilhas Pitcairn Ilhas Pitcairn Insulele Pitcairn о-ва Питкэрн Pitcairnove ostrovy Pitcairn Ishujt Pitkern Питкерн Pitcairnöarna Visiwa vya Pitcairn หมู่เกาะพิตแคร์น Pitcairn Adaları Питкэрн утраулары Острови Піткерн Pitkern orollari Quần đảo Pitcairn 皮特凯恩群岛 皮特肯群島
PR بورتوريكو Пуэрта-Рыка Пуерто Рико Puerto Rico Porto Riko Puerto Rico Portoriko Puerto Rico Puerto Rico Πουέρτο Ρίκο Puerto Rico Puerto-Riko Puerto Rico Puerto Rico Puerto Rico پورتوریکو Puerto Rico Porto Rico Porto Rico Pórtó Ríce Porto Rìceo Porto Rico פוארטו ריקו Portoriko Puerto Rico Puerto Rico Puerto Riko Púertó Ríkó Portorico プエルトリコ 푸에르토리코 Puerto Rico Пуэрто-Рико Puerto Rikas Puertoriko പോർട്ടോ റിക്കോ Пуэрто-Рико Puerto Rico Puerto Rico Puerto Rico Puerto Rico Portoryko Porto Rico Porto Rico Puerto Rico Пуэрто-Рико Portoriko Portoriko Porto-Riko Порторико Puerto Rico Puerto Rico เปอร์โตริโก Porto Riko Пуэрто-Рико Пуерто-Ріко Puerto-Riko Puerto Rico 波多黎各 波多黎各
PS فلسطين Палесціна Палестина Palestina Palestina Palestina Palestina Palæstina Palästina Παλαιστίνη Palestine Palestine Palestina Palestiina Palestina فلسطین Palestiina Palestine Palestine an Phalaistín Palastain Palestina פלסטין Palestina Palesztina Palestine Palestina Palestína Palestina パレスチナ 팔레스타인 Palestine Палестина Palestina Palestine പലസ്‌തീൻ Палестин Palestina Palestina Palestina Palestine Palestyna Palestina Palestina Palestina Палестина Palestínska samospráva Palestina Palestinë Палестина Palestina Palestina ปาเลสไตน์ Filistin Palestine Палестина Falastin Palestine 巴勒斯坦 巴勒斯坦
PT البرتغال Партугалія Португалия Portugal Portugal Portugal Portugalsko Portugal Portugal Πορτογαλία Portugal Portugalujo Portugal Portugal Portugal پرتغال Portugali Portugal Portugal an Phortaingéil A Phortagail Portugal פורטוגל Portugal Portugália Portugal Portugal Portúgal Portogallo ポルトガル 포르투갈 Portugal Португалия Portugalija Portugāle പോർച്ചുഗൽ Португал Portugal Portugal Portugal Portugal Portugalia Portugal Portugal Portugalia Португалия Portugalsko Portugalska Portugali Португалија Portugal Ureno โปรตุเกส Portekiz Португалия Портуґалія Portugaliya Bồ Đào Nha 葡萄牙 葡萄牙
PW بالاو Палау Палау Palau Palau Palau Palau Palau Palau Παλάου Palau Belaŭo Palaos Belau Palau پالائو Palau Palaos Palaos Oileáin Palau Palabh Palau פלאו Palau Palau Palau Palau Palá Palau パラオ 팔라우 Palau Палау Palau Palau പലാവു Палау Palau Palau Palau Palau Palau Palau Palau Palau Палау Palau Palau Palau Палау Palau Palau ปาเลา Palau Палау Палау Palau Palau 帕劳 帛琉
PY باراغواي Парагвай Парагвай Paraguay Paragvaj Paraguai Paraguay Paraguay Paraguay Παραγουάη Paraguay Paragvajo Paraguay Paraguay Paraguai پاراگوئه Paraguay Paraguay Paraguay Paragua Paraguaidh O Paraguai פרגוואי Paragvaj Paraguay Paraguay Paraguay Paragvæ Paraguay パラグアイ 파라과이 Paraguay Парагвай Paragvajus Paragvaja പരാഗ്വേ Парагвай Paraguay Paraguay Paraguay Paraguay Paragwaj Paraguai Paraguai Paraguay Парагвай Paraguaj Paragvaj Paraguai Парагвај Paraguay Paraguay ปารากวัย Paraguay Парагвай Параґвай Paragvay Paraguay 巴拉圭 巴拉圭
QA قطر Катар Катар Qatar Katar Qatar Katar Qatar Katar Κατάρ Qatar Kataro Catar Katar Qatar قطر Qatar Qatar Qatar Catar Catar Qatar קטאר Katar Katar Qatar Qatar Katar Qatar カタール 카타르 Qatar Катар Kataras Katara ഖത്തർ Катар Qatar Qatar Qatar Qatar Katar Catar Catar Qatar Катар Katar Katar Katar Катар Qatar Qatar กาตาร์ Katar Катар Катар Qatar Qatar 卡塔尔 卡達
QO أوقيانوسيا النائية Аддаленыя тэрыторыі Акіяніі Отдалечени острови на Океания Oseania diabell Vanjska Okeanija Territoris allunyats dOceania vnější Oceánie Ydre Oceanien Äußeres Ozeanien Περιφερειακή Ωκεανία Outlying Oceania Outlying Oceania Territorios alejados de Oceanía Okeaania hajasaared Mugaz kanpoko Ozeania بخش‌های دورافتادهٔ اقیانوسیه ulkomeri régions éloignées de lOcéanie régions éloignées de lOcéanie an Aigéine Imeallach Roinn Iomallach a Chuain Sèimh Territorios afastados de Oceanía טריטוריות באוקיאניה Vanjska područja Oceanije Külső-Óceánia Oceania remote Oseania Luar Ytri Eyjaálfa Oceania lontana オセアニア周辺地域 오세아니아 외곽 Outlying Oceania Алыскы Океания Nuošali Okeanija Okeānijas attālās salas ദ്വീപസമൂഹം Номхон далайг тойрсон улс орнууд Ytre Oseania overig Oceanië Ytre Oseania Outlying Oceania Oceania — wyspy dalekie Oceania Remota Oceania Remota Oceania Periferică Внешняя Океания ostatné Tichomorie Ostala oceanija Oqeania e Largët (Lindja e Largët) Океанија (удаљена острва) yttre öar i Oceanien Oceania ya Nje เอาต์ไลอิงโอเชียเนีย Uzak Okyanusya Outlying Oceania Віддалена Океанія Tashqi Okeaniya Vùng xa xôi thuộc Châu Đại Dương 大洋洲边远群岛 大洋洲邊疆群島
RE روينيون Рэюньён Реюнион Ar Reünion Reunion Illa de la Reunió Réunion Réunion Réunion Ρεϊνιόν Réunion Reunio Reunión Réunion Reunion رئونیون Réunion La Réunion La Réunion Réunion Réunion Reunión ראוניון Réunion Réunion Réunion Réunion Réunion Riunione レユニオン 리유니온 Réunion Реюньон Reunjonas Reinjona റീയൂണിയൻ Реюнион Réunion Réunion Réunion Réunion Reunion Reunião Reunião Réunion Реюньон Réunion Reunion Reunion Реинион Réunion Reunion เรอูนียง Reunion Реюньон Реюньйон Reyunion Réunion 留尼汪 留尼旺
RO رومانيا Румынія Румъния Roumania Rumunija Romania Rumunsko Rumænien Rumänien Ρουμανία Romania Rumanujo Rumanía Rumeenia Errumania رومانی Romania Roumanie Roumanie an Rómáin Romàinia Romanía רומניה Rumunjska Románia Romania Rumania Rúmenía Romania ルーマニア 루마니아 Romania Румыния Rumunija Rumānija റൊമാനിയ Румын Romania Roemenië Romania Romania Rumunia Romênia Romênia România Румыния Rumunsko Romunija Rumani Румунија Rumänien Romania โรมาเนีย Romanya Румыния Румунія Ruminiya Romania 罗马尼亚 羅馬尼亞
RS صربيا Сербія Сърбия Serbia Srbija Sèrbia Srbsko Serbien Serbien Σερβία Serbia Serbia Serbia Serbia Serbia صربستان Serbia Serbie Serbie an tSeirbia An t-Sèirb Serbia סרביה Srbija Szerbia Serbia Serbia Serbía Serbia セルビア 세르비아 Serbia Сербия Serbija Serbija സെർബിയ Серби Serbia Servië Serbia Serbia Serbia Sérvia Sérvia Serbia Сербия Srbsko Srbija Serbi Србија Serbien Serbia เซอร์เบีย Sırbistan Сербия Сербія Serbiya Serbia 塞尔维亚 塞爾維亞
RU روسيا Расія Русия Rusia Rusija Rússia Rusko Rusland Russland Ρωσία Russia Rusujo Rusia Venemaa Errusia روسیه Venäjä Russie Russie an Rúis An Ruis Rusia רוסיה Rusija Oroszország Russia Rusia Rússland Russia ロシア 러시아 Russi Россия Rusija Krievija റഷ്യ Орос Russland Rusland Russland Уӕрӕсе Rosja Rússia Rússia Rusia Россия Rusko Rusija Rusi Русија Ryssland Urusi รัสเซีย Rusya Россия Росія Rossiya Nga 俄罗斯 俄羅斯
RW رواندا Руанда Руанда Rwanda Ruanda Ruanda Rwanda Rwanda Ruanda Ρουάντα Rwanda Ruando Ruanda Rwanda Ruanda رواندا Ruanda Rwanda Rwanda Ruanda Rubhanda Ruanda רואנדה Ruanda Ruanda Ruanda Rwanda Rúanda Ruanda ルワンダ 르완다 Rwanda Руанда Ruanda Ruanda റുവാണ്ട Руанда Rwanda Rwanda Rwanda Rwanda Rwanda Ruanda Ruanda Rwanda Руанда Rwanda Ruanda Ruandë Руанда Rwanda Rwanda รวันดา Ruanda Руанда Руанда Ruanda Rwanda 卢旺达 盧安達
SA المملكة العربية السعودية Саудаўская Аравія Саудитска Арабия Arabia Saoudat Saudijska Arabija Aràbia Saudita Saúdská Arábie Saudi-Arabien Saudi-Arabien Σαουδική Αραβία Saudi Arabia Saŭda Arabujo Arabia Saudí Saudi Araabia Saudi Arabia عربستان سعودی Saudi-Arabia Arabie saoudite Arabie saoudite an Araib Shádach Aràibia nan Sabhd Arabia Saudita ערב הסעודית Saudijska Arabija Szaúd-Arábia Arabia Saudita Arab Saudi Sádi-Arabía Arabia Saudita サウジアラビア 사우디아라비아 Saudi Arabia Сауд Арабиясы Saudo Arabija Saūda Arābija സൗദി അറേബ്യ Саудын Араб Saudi-Arabia Saoedi-Arabië Saudi-Arabia Saudi Arabia Arabia Saudyjska Arábia Saudita Arábia Saudita Arabia Saudită Саудовская Аравия Saudská Arábia Saudova Arabija Arabi Saudite Саудијска Арабија Saudiarabien Saudia ซาอุดีอาระเบีย Suudi Arabistan Согуд Гарәбстаны Саудівська Аравія Saudiya Arabistoni Ả Rập Xê-út 沙特阿拉伯 沙烏地阿拉伯
SB جزر سليمان Саламонавы астравы Соломонови острови Inizi Salomon Solomonska Ostrva Illes Salomó Šalamounovy ostrovy Salomonøerne Salomonen Νήσοι Σολομώντος Solomon Islands Salomonoj Islas Salomón Saalomoni Saared Salomon Uharteak جزایر سلیمان Salomonsaaret Îles Salomon Îles Salomon Oileáin Sholomón Eileanan Sholaimh Illas Salomón איי שלמה Salomonski Otoci Salamon-szigetek Insulas Solomon Kepulauan Solomon Salómonseyjar Isole Salomone ソロモン諸島 솔로몬 제도 Solomon Islands Соломон аралдары Saliamono Salos Zālamana salas സോളമൻ ദ്വീപുകൾ Соломоны арлууд Salomonøyene Salomonseilanden Salomonøyane Solomon Islands Wyspy Salomona Ilhas Salomão Ilhas Salomão Insulele Solomon Соломоновы Острова Šalamúnove ostrovy Salomonovi otoki Ishujt Solomon Соломонска Острва Salomonöarna Visiwa vya Solomon หมู่เกาะโซโลมอน Solomon Adaları Сөләйман утраулары Соломонові Острови Solomon orollari Quần đảo Solomon 所罗门群岛 索羅門群島
SC سيشل Сейшэльскія астравы Сейшели Sechelez Sejšeli Seychelles Seychely Seychellerne Seychellen Σεϋχέλλες Seychelles Sejŝeloj Seychelles Seišellid Seychelleak سیشل Seychellit Seychelles Seychelles na Séiséil Na h-Eileanan Sheiseall Seychelles איי סיישל Sejšeli Seychelle-szigetek Seychelles Seychelles Seychelles-eyjar Seychelles セーシェル 세이셸 Seychelles Сейшел аралдары Seišeliai Seišelu salas സീഷെൽസ് Сейшелийн арлууд Seychellene Seychellen Seychellane Seychelles Seszele Seicheles Seicheles Seychelles Сейшельские Острова Seychely Sejšeli Sejshelle Сејшели Seychellerna Ushelisheli เซเชลส์ Seyşeller Сейшел утраулары Сейшельські Острови Seyshel orollari Seychelles 塞舌尔 塞席爾
SD السودان Судан Судан Soudan Sudan Sudan Súdán Sudan Sudan Σουδάν Sudan Sudano Sudán Sudaan Sudan سودان Sudan Soudan Soudan an tSúdáin Sudàn O Sudán סודן Sudan Szudán Sudan Sudan Súdan Sudan スーダン 수단 Sudan Судан Sudanas Sudāna സുഡാൻ Судан Sudan Soedan Sudan Sudan Sudan Sudão Sudão Sudan Судан Sudán Sudan Sudan Судан Sudan Sudan ซูดาน Sudan Судан Судан Sudan Sudan 苏丹 蘇丹
SE السويد Швецыя Швеция Sveden Švedska Suècia Švédsko Sverige Schweden Σουηδία Sweden Svedujo Suecia Rootsi Suedia سوئد Ruotsi Suède Suède an tSualainn An t-Suain Suecia שוודיה Švedska Svédország Svedia Swedia Svíþjóð Svezia スウェーデン 스웨덴 Sweden Швеция Švedija Zviedrija സ്വീഡൻ Швед Sverige Zweden Sverige Sweden Szwecja Suécia Suécia Suedia Швеция Švédsko Švedska Suedi Шведска Sverige Uswidi สวีเดน İsveç Швеция Швеція Shvetsiya Thụy Điển 瑞典 瑞典
SG سنغافورة Сінгапур Сингапур Singapour Singapur Singapur Singapur Singapore Singapur Σιγκαπούρη Singapore Singapuro Singapur Singapur Singapur سنگاپور Singapore Singapour Singapour Singeapór Singeapòr Singapur סינגפור Singapur Szingapúr Singapore Singapura Singapúr Singapore シンガポール 싱가포르 Singapore Сингапур Singapūras Singapūra സിംഗപ്പൂർ Сингапур Singapore Singapore Singapore Singapore Singapur Singapura Singapura Singapore Сингапур Singapur Singapur Singapor Сингапур Singapore Singapore สิงคโปร์ Singapur Сингапур Сінгапур Singapur Singapore 新加坡 新加坡
SH سانت هيلينا Востраў Святой Алены Света Елена Saint-Helena Sveta Helena Saint Helena Svatá Helena St. Helena St. Helena Αγία Ελένη St. Helena Sent-Heleno Santa Elena Saint Helena Santa Helena سنت هلن Saint Helena Sainte-Hélène Sainte-Hélène San Héilin Eilean Naomh Eilidh Santa Helena סנט הלנה Sveta Helena Szent Ilona St. Helena Saint Helena Sankti Helena SantElena セントヘレナ 세인트헬레나 St. Helena Ыйык Елена Šv. Elenos Sala Sv.Helēnas sala സെന്റ് ഹെലീന Сент Хелена St. Helena Sint-Helena Saint Helena St. Helena Wyspa Świętej Heleny Santa Helena Santa Helena Sfânta Elena о-в Св. Елены Svätá Helena Sveta Helena Shën-Elenë Света Јелена S:t Helena St. Helena เซนต์เฮเลนา Saint Helena St. Helena Острів Святої Єлени Muqaddas Yelena oroli St. Helena 圣赫勒拿 聖赫勒拿島
SI سلوفينيا Славенія Словения Slovenia Slovenija Eslovènia Slovinsko Slovenien Slowenien Σλοβενία Slovenia Slovenujo Eslovenia Sloveenia Eslovenia اسلوونی Slovenia Slovénie Slovénie an tSlóivéin An t-Slòbhain Eslovenia סלובניה Slovenija Szlovénia Slovenia Slovenia Slóvenía Slovenia スロベニア 슬로베니아 Slovenia Словения Slovėnija Slovēnija സ്ലോവേനിയ Словени Slovenia Slovenië Slovenia Slovenia Słowenia Eslovênia Eslovênia Slovenia Словения Slovinsko Slovenija Slloveni Словенија Slovenien Slovenia สโลวีเนีย Slovenya Словения Словенія Sloveniya Slovenia 斯洛文尼亚 斯洛維尼亞
SJ سفالبارد وجان ماين Шпіцберген і Ян-Маен Свалбард и Ян Майен Svalbard Svalbard i Jan Majen Svalbard i Jan Mayen Špicberky a Jan Mayen Svalbard og Jan Mayen Spitzbergen und Jan Mayen Σβάλμπαρντ και Γιαν Μαγιέν Svalbard & Jan Mayen Svalbardo kaj Jan-Majen-insulo Svalbard y Jan Mayen Svalbard ja Jan Mayen Svalbard eta Jan Mayen uharteak سوالبارد و یان ماین Huippuvuoret ja Jan Mayen Svalbard et Jan Mayen Svalbard et Jan Mayen Svalbard agus Jan Mayen Svalbard agus Jan Mayen Svalbard e Jan Mayen סבאלברד ויאן מאיין Svalbard i Jan Mayen Svalbard és Jan Mayen Svalbard e Jan Mayen Kepulauan Svalbard dan Jan Mayen Svalbarði og Jan Mayen Svalbard e Jan Mayen スバールバル諸島・ヤンマイエン島 스발바르제도-얀마웬섬 Svalbard & Jan Mayen Шпицберген жана Ян-Майен Svalbardas ir Janas Majenas Svalbāra un Jana Majena sala സ്വാൽബാഡും ജാൻ മായേനും Свалбард ба Ян Майен Svalbard og Jan Mayen Spitsbergen en Jan Mayen Svalbard og Jan Mayen Svalbard & Jan Mayen Svalbard i Jan Mayen Svalbard e Jan Mayen Svalbard e Jan Mayen Svalbard și Jan Mayen Шпицберген и Ян-Майен Svalbard a Jan Mayen Svalbard in Jan Mayen Svalbard e Jan-Majen Свалбард и Јан Мајен Svalbard och Jan Mayen Svalbard na Jan Mayen สฟาลบาร์และยานไมเอน Svalbard ve Jan Mayen Шпицберген һәм Ян-Майен Шпіцберген та Ян-Маєн Shpitsbergen va Yan-Mayen Svalbard và Jan Mayen 斯瓦尔巴和扬马延 挪威屬斯瓦巴及尖棉
SK سلوفاكيا Славакія Словакия Slovakia Slovačka Eslovàquia Slovensko Slovakiet Slowakei Σλοβακία Slovakia Slovakujo Eslovaquia Slovakkia Eslovakia اسلواکی Slovakia Slovaquie Slovaquie an tSlóvaic An t-Slòbhac Eslovaquia סלובקיה Slovačka Szlovákia Slovachia Slovakia Slóvakía Slovacchia スロバキア 슬로바키아 Slovakia Словакия Slovakija Slovākija സ്ലോവാക്യ Словак Slovakia Slowakije Slovakia Slovakia Słowacja Eslováquia Eslováquia Slovacia Словакия Slovensko Slovaška Sllovaki Словачка Slovakien Slovakia สโลวะเกีย Slovakya Словакия Словаччина Slovakiya Slovakia 斯洛伐克 斯洛伐克
SL سيراليون Сьера-Леонэ Сиера Леоне Sierra Leone Sijera Leone Sierra Leone Sierra Leone Sierra Leone Sierra Leone Σιέρα Λεόνε Sierra Leone Siera-Leono Sierra Leona Sierra Leone Sierra Leona سیرالئون Sierra Leone Sierra Leone Sierra Leone Siarra Leon Siarra Leòmhann Serra Leoa סיירה לאונה Sijera Leone Sierra Leone Sierra Leone Sierra Leone Síerra Leóne Sierra Leone シエラレオネ 시에라리온 Sierra Leone Сьерра-Леоне Siera Leonė Sjerraleone സിയെറ ലിയോൺ Сьерра-Леоне Sierra Leone Sierra Leone Sierra Leone Sierra Leone Sierra Leone Serra Leoa Serra Leoa Sierra Leone Сьерра-Леоне Sierra Leone Sierra Leone Sierra-Leone Сијера Леоне Sierra Leone Siera Leoni เซียร์ราลีโอน Sierra Leone Сьерра-Леоне Сьєрра-Леоне Syerra-Leone Sierra Leone 塞拉利昂 獅子山
SM سان مارينو Сан-Марына Сан Марино San Marino San Marino San Marino San Marino San Marino San Marino Άγιος Μαρίνος San Marino San-Marino San Marino San Marino San Marino سان‌مارینو San Marino Saint-Marin Saint-Marin San Mairíne San Marino San Marino סן מרינו San Marino San Marino San Marino San Marino San Marínó San Marino サンマリノ 산마리노 San Marino Сан Марино San Marinas Sanmarīno സാൻ മറിനോ Сан-Марино San Marino San Marino San Marino San Marino San Marino San Marino San Marino San Marino Сан-Марино San Maríno San Marino San-Marino Сан Марино San Marino San Marino ซานมาริโน San Marino Сан-Марино Сан-Маріно San-Marino San Marino 圣马力诺 聖馬利諾
SN السنغال Сенегал Сенегал Senegal Senegal Senegal Senegal Senegal Senegal Σενεγάλη Senegal Senegalo Senegal Senegal Senegal سنگال Senegal Sénégal Sénégal an tSeineagáil Seanagal Senegal סנגל Senegal Szenegál Senegal Senegal Senegal Senegal セネガル 세네갈 Senegal Сенегал Senegalas Senegāla സെനഗൽ Сенегал Senegal Senegal Senegal Senegal Senegal Senegal Senegal Senegal Сенегал Senegal Senegal Senegal Сенегал Senegal Senegali เซเนกัล Senegal Сенегал Сенегал Senegal Senegal 塞内加尔 塞內加爾
SO الصومال Самалі Сомалия Somalia Somalija Somàlia Somálsko Somalia Somalia Σομαλία Somalia Somalujo Somalia Somaalia Somalia سومالی Somalia Somalie Somalie an tSomáil Somàilia Somalia סומליה Somalija Szomália Somalia Somalia Sómalía Somalia ソマリア 소말리아 Somalia Сомали Somalis Somālija സോമാലിയ Сомали Somalia Somalië Somalia Somalia Somalia Somália Somália Somalia Сомали Somálsko Somalija Somali Сомалија Somalia Somalia โซมาเลีย Somali Сомали Сомалі Somali Somalia 索马里 索馬利亞
SR سورينام Сурынам Суринам Surinam Surinam Surinam Surinam Surinam Suriname Σουρινάμ Suriname Surinamo Surinam Suriname Surinam سورینام Suriname Suriname Suriname Suranam Suranam Suriname סורינאם Surinam Suriname Suriname Suriname Súrínam Suriname スリナム 수리남 Suriname Суринам Surinamas Surinama സുരിനാം Суринам Surinam Suriname Surinam Suriname Surinam Suriname Suriname Suriname Суринам Surinam Surinam Surinami Суринам Surinam Suriname ซูรินาเม Surinam Суринам Сурінам Surinam Suriname 苏里南 蘇利南
SS جنوب السودان Паўднёвы Судан Южен Судан Susoudan Južni Sudan Sudan del Sud Jižní Súdán Sydsudan Südsudan Νότιο Σουδάν South Sudan Sud-Sudano Sudán del Sur Lõuna-Sudaan Hego Sudan سودان جنوبی Etelä-Sudan Soudan du Sud Soudan du Sud an tSúdáin Theas Sudàn a Deas O Sudán do Sur דרום סודן Južni Sudan Dél-Szudán Sudan del Sud Sudan Selatan Suður-Súdan Sud Sudan 南スーダン 남수단 South Sudan Түштүк Судан Pietų Sudanas Dienvidsudāna ദക്ഷിണ സുഡാൻ Өмнөд Судан Sør-Sudan Zuid-Soedan Sør-Sudan South Sudan Sudan Południowy Sudão do Sul Sudão do Sul Sudanul de Sud Южный Судан Južný Sudán Južni Sudan Sudani i Jugut Јужни Судан Sydsudan Sudan Kusini ซูดานใต้ Güney Sudan Көньяк Судан Південний Судан Janubiy Sudan Nam Sudan 南苏丹 南蘇丹
ST ساو تومي وبرينسيبي Сан-Тамэ і Прынсіпі Сао Томе и Принсипи São Tomé ha Príncipe Sao Tome i Principe São Tomé i Príncipe Svatý Tomáš a Princův ostrov São Tomé og Príncipe São Tomé und Príncipe Σάο Τομέ και Πρίνσιπε São Tomé & Príncipe Sao-Tomeo kaj Principeo Santo Tomé y Príncipe São Tomé ja Príncipe Sao Tome eta Principe سائوتومه و پرینسیپ São Tomé ja Príncipe Sao Tomé-et-Principe Sao Tomé-et-Principe São Tomé agus Príncipe São Tomé agus Príncipe San Tomé e Príncipe סאו טומה ופרינסיפה Sveti Toma i Princip São Tomé és Príncipe São Tomé & Príncipe Sao Tome dan Principe Saó Tóme og Prinsípe São Tomé e Príncipe サントメ・プリンシペ 상투메 프린시페 São Tomé & Príncipe Сан-Томе жана Принсипи San Tomė ir Prinsipė Santome un Prinsipi സാവോ ടോമും പ്രിൻസിപെയും Сан-Томе ба Принсипи São Tomé og Príncipe Sao Tomé en Principe São Tomé og Príncipe São Tomé & Príncipe Wyspy Świętego Tomasza i Książęca São Tomé e Príncipe São Tomé e Príncipe São Tomé și Príncipe Сан-Томе и Принсипи Svätý Tomáš a Princov ostrov Sao Tome in Principe Sao-Tome e Principe Сао Томе и Принципе São Tomé och Príncipe São Tomé na Príncipe เซาตูเมและปรินซิปี Sao Tome ve Principe Сан-Томе һәм Принсипи Сан-Томе і Прінсіпі San-Tome va Prinsipi São Tomé và Príncipe 圣多美和普林西比 聖多美普林西比
SV السلفادور Сальвадор Салвадор Salvador Salvador El Salvador Salvador El Salvador El Salvador Ελ Σαλβαδόρ El Salvador Salvadoro El Salvador El Salvador El Salvador السالوادور El Salvador Salvador Salvador an tSalvadóir An Salbhador O Salvador אל סלבדור Salvador Salvador El Salvador El Salvador El Salvador El Salvador エルサルバドル 엘살바도르 El Salvador Эль-Сальвадор Salvadoras Salvadora എൽ സാൽവദോർ Эль Сальвадор El Salvador El Salvador El Salvador El Salvador Salwador El Salvador El Salvador El Salvador Сальвадор Salvádor Salvador Salvador Салвадор El Salvador El Salvador เอลซัลวาดอร์ El Salvador Сальвадор Сальвадор Salvador El Salvador 萨尔瓦多 薩爾瓦多
SX سانت مارتن Сінт-Мартэн Синт Мартен Sint Maarten Sint Marten Sint Maarten Svatý Martin (Nizozemsko) Sint Maarten Sint Maarten Άγιος Μαρτίνος (Ολλανδικό τμήμα) Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sint Maarten سنت مارتن Sint Maarten Saint-Martin (partie néerlandaise) Saint-Martin (partie néerlandaise) Sint Maarten Sint Maarten Sint Maarten סנט מארטן Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sankti Martin Sint Maarten シント・マールテン 신트마르턴 Sint Maarten Синт-Мартен Sint Martenas Sintmārtena സിന്റ് മാർട്ടെൻ Синт Мартен Sint Maarten Sint-Maarten Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sint-Maarten Синт-Мартен Svätý Martin (hol.) Sint Maarten Sint-Marten Свети Мартин (Холандија) Sint Maarten Sint Maarten ซินต์มาร์เทน Sint Maarten Синт-Мартен Сінт-Мартен Sint-Marten Sint Maarten 荷属圣马丁 荷屬聖馬丁
SY سوريا Сірыя Сирия Siria Sirija Síria Sýrie Syrien Syrien Συρία Syria Sirio Siria Süüria Siria سوریه Syyria Syrie Syrie an tSiria Siridhea Siria סוריה Sirija Szíria Syria Suriah Sýrland Siria シリア 시리아 Syria Сирия Sirija Sīrija സിറിയ Сири Syria Syrië Syria Syria Syria Síria Síria Siria Сирия Sýria Sirija Siri Сирија Syrien Syria ซีเรีย Suriye Сүрия Сирія Suriya Syria 叙利亚 敘利亞
SZ إسواتيني Эсватыні Есватини Eswatini Esvatini eSwatini Svazijsko Eswatini Eswatini Σουαζιλάνδη Eswatini Svazilando Esuatini Svaasimaa Swazilandia اسواتینی Swazimaa Eswatini Eswatini eSuaitíní eSwatini Eswatini אסוואטיני Esvatini Szváziföld Swazilandia eSwatini Svasíland Swaziland エスワティニ 에스와티니 Eswatini Свазиленд Svazilandas Svatini സ്വാസിലാന്റ് Эсватини Eswatini eSwatini Swaziland Eswatini Eswatini Essuatíni Essuatíni eSwatini Эсватини Eswatini Esvatini Esvatini Свазиленд Swaziland Uswazi เอสวาตีนี Esvatini Свазиленд Есватіні Svazilend Swaziland 斯威士兰 史瓦帝尼
TA تريستان دا كونا Трыстан-да-Кунья Тристан да Куня Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Τριστάν ντα Κούνια Tristan da Cunha Tristan da Cunha Tristán de Acuña Tristan da Cunha Tristan da Cunha تریستان دا کونا Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristán da Cunha טריסטן דה קונה Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha トリスタン・ダ・クーニャ 트리스탄다쿠나 Tristan da Cunha Тристан-да-Кунья Tristanas da Kunja Tristana da Kuņas salas ട്രിസ്റ്റൻ ഡ കൂന Тристан да Кунъя Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristão da Cunha Tristão da Cunha Tristan da Cunha Тристан-да-Кунья Tristan da Cunha Tristan da Cunha Tristan-da-Kuna Тристан да Куња Tristan da Cunha Tristan da Cunha ทริสตันดาคูนา Tristan da Cunha Tristan da Cunha Трістан-да-Кунья Tristan-da-Kunya Tristan da Cunha 特里斯坦-达库尼亚群岛 特里斯坦達庫尼亞群島
TC جزر توركس وكايكوس Астравы Цёркс і Кайкас острови Търкс и Кайкос Inizi Turks ha Caicos Ostrva Turks i Kaikos Illes Turks i Caicos Turks a Caicos Turks- og Caicosøerne Turks- und Caicosinseln Νήσοι Τερκς και Κάικος Turks & Caicos Islands Turks & Caicos Islands Islas Turcas y Caicos Turks ja Caicos Turk eta Caico uharteak جزایر تورکس و کایکوس Turks- ja Caicossaaret Îles Turques-et-Caïques Îles Turques-et-Caïques Oileáin na dTurcach agus Caicos Na h-Eileanan Turcach is Caiceo Illas Turks e Caicos איי טרקס וקייקוס Otoci Turks i Caicos Turks- és Caicos-szigetek Insulas Turcos e Caicos Kepulauan Turks dan Caicos Turks- og Caicoseyjar Isole Turks e Caicos タークス・カイコス諸島 터크스 케이커스 제도 Turks & Caicos Islands Түркс жана Кайкос аралдары Terkso ir Kaikoso Salos Tērksas un Kaikosas salas ടർക്ക്‌സും കെയ്‌ക്കോ ദ്വീപുകളും Турк ба Кайкосын Арлууд Turks- og Caicosøyene Turks- en Caicoseilanden Turks- og Caicosøyane Turks & Caicos Islands Turks i Caicos Ilhas Turcas e Caicos Ilhas Turcas e Caicos Insulele Turks și Caicos о-ва Тёркс и Кайкос Turks a Caicos Otoki Turks in Caicos Ishujt Turks dhe Kaikos Острва Туркс и Каикос Turks- och Caicosöarna Visiwa vya Turks na Caicos หมู่เกาะเติกส์และหมู่เกาะเคคอส Turks ve Caicos Adaları Теркс һәм Кайкос утраулары Острови Теркс і Кайкос Turks va Kaykos orollari Quần đảo Turks và Caicos 特克斯和凯科斯群岛 土克斯及開科斯群島
TD تشاد Чад Чад Tchad Čad Txad Čad Tchad Tschad Τσαντ Chad Ĉado Chad Tšaad Txad چاد Tšad Tchad Tchad Sead An t-Seàd Chad צ׳אד Čad Csád Tchad Cad Tsjad Ciad チャド 차드 Chad Чад Čadas Čada ഛാഡ് Чад Tsjad Tsjaad Tsjad Chad Czad Chade Chade Ciad Чад Čad Čad Çad Чад Tchad Chad ชาด Çad Чад Чад Chad Chad 乍得 查德
TF الأقاليم الجنوبية الفرنسية Французскія паўднёвыя тэрыторыі Френски южни територии Douaroù aostral Frañs Francuske Južne Teritorije Territoris Australs Francesos Francouzská jižní území De Franske Besiddelser i Det Sydlige Indiske Ocean og Antarktis Französische Süd- und Antarktisgebiete Γαλλικά Νότια Εδάφη French Southern Territories French Southern Territories Territorios Australes Franceses Prantsuse Lõunaalad Hegoaldeko lurralde frantsesak سرزمین‌های جنوب فرانسه Ranskan eteläiset alueet Terres australes françaises Terres australes françaises Críocha Francacha Dheisceart an Domhain Ranntairean a Deas na Frainge Territorios Austrais Franceses הטריטוריות הדרומיות של צרפת Francuski južni i antarktički teritoriji Francia Déli Területek Territorios meridional francese Wilayah Selatan Perancis Frönsku suðlægu landsvæðin Terre australi francesi 仏領極南諸島 프랑스 남부 지방 French Southern Territories Франциянын Түштүктөгү аймактары Prancūzijos Pietų sritys Francijas Dienvidjūru teritorija ഫ്രഞ്ച് ദക്ഷിണ ഭൂപ്രദേശം Францын өмнөд газар нутаг De franske sørterritorier Franse Gebieden in de zuidelijke Indische Oceaan Dei franske sørterritoria French Southern Territories Francuskie Terytoria Południowe i Antarktyczne Territórios Franceses do Sul Territórios Franceses do Sul Teritoriile Australe și Antarctice Franceze Французские Южные территории Francúzske južné a antarktické územia Francosko južno ozemlje Territoret Jugore Franceze Француске Јужне Територије Franska sydterritorierna Himaya za Kusini za Kifaranza เฟรนช์เซาเทิร์นเทร์ริทอรีส์ Fransız Güney Toprakları Франциянең Көньяк Территорияләре Французькі Південні Території Fransuz Janubiy hududlari Lãnh thổ phía Nam Thuộc Pháp 法属南部领地 法屬南部屬地
TG توغو Тога Того Togo Togo Togo Togo Togo Togo Τόγκο Togo Togolo Togo Togo Togo توگو Togo Togo Togo Tóga Togo Togo טוגו Togo Togo Togo Togo Tógó Togo トーゴ 토고 Togo Того Togas Togo ടോഗോ Того Togo Togo Togo Togo Togo Togo Togo Togo Того Togo Togo Togo Того Togo Togo โตโก Togo Того Того Togo Togo 多哥 多哥
TH تايلاند Тайланд Тайланд Thailand Tajland Tailàndia Thajsko Thailand Thailand Ταϊλάνδη Thailand Tajlando Tailandia Tai Thailandia تایلند Thaimaa Thaïlande Thaïlande an Téalainn Dùthaich nan Tàidh Tailandia תאילנד Tajland Thaiföld Thailandia Thailand Taíland Thailandia タイ 태국 Thailand Тайланд Tailandas Taizeme തായ്‌ലാൻഡ് Тайланд Thailand Thailand Thailand Thailand Tajlandia Tailândia Tailândia Thailanda Таиланд Thajsko Tajska Tajlandë Тајланд Thailand Tailandi ไทย Tayland Тайланд Таїланд Tailand Thái Lan 泰国 泰國
TJ طاجيكستان Таджыкістан Таджикистан Tadjikistan Tadžikistan Tadjikistan Tádžikistán Tadsjikistan Tadschikistan Τατζικιστάν Tajikistan Taĝikujo Tayikistán Tadžikistan Tajikistan تاجیکستان Tadžikistan Tadjikistan Tadjikistan an Táidsíceastáin Taidigeastàn Taxiquistán טג׳יקיסטן Tadžikistan Tádzsikisztán Tadzhikistan Tajikistan Tadsjikistan Tagikistan タジキスタン 타지키스탄 Tajikistan Тажикстан Tadžikija Tadžikistāna താജിക്കിസ്ഥാൻ Тажикистан Tadsjikistan Tadzjikistan Tadsjikistan Tajikistan Tadżykistan Tadjiquistão Tadjiquistão Tadjikistan Таджикистан Tadžikistan Tadžikistan Taxhikistan Таџикистан Tadzjikistan Tajikistani ทาจิกิสถาน Tacikistan Таҗикстан Таджикистан Tojikiston Tajikistan 塔吉克斯坦 塔吉克
TK توكيلو Такелау Токелау Tokelau Tokelau Tokelau Tokelau Tokelau Tokelau Τοκελάου Tokelau Tokelau Tokelau Tokelau Tokelau توکلائو Tokelau Tokelau Tokelau Tócalá Tokelau Tokelau טוקלאו Tokelau Tokelau Tokelau Tokelau Tókelá Tokelau トケラウ 토켈라우 Tokelau Токелау Tokelau Tokelau ടോക്കെലൂ Токелау Tokelau Tokelau Tokelau Tokelau Tokelau Tokelau Tokelau Tokelau Токелау Tokelau Tokelau Tokelau Токелау Tokelau Tokelau โตเกเลา Tokelau Токелау Токелау Tokelau Tokelau 托克劳 托克勞群島
TL تيمور - ليشتي Тымор-Лешці Източен Тимор Timor-Leste Istočni Timor Timor Oriental Východní Timor Timor-Leste Timor-Leste Τιμόρ-Λέστε Timor-Leste Timor-Leste Timor-Leste Ida-Timor Ekialdeko Timor تیمور-لسته Itä-Timor Timor oriental Timor oriental Tíomór Thoir Timor-Leste Timor Leste טימור-לסטה Timor-Leste Kelet-Timor Timor del Est Timor Leste Tímor-Leste Timor Est 東ティモール 동티모르 Timor-Leste Тимор-Лесте Rytų Timoras Austrumtimora തിമോർ-ലെസ്റ്റെ Тимор-Лесте Øst-Timor Oost-Timor Timor-Leste (Aust-Timor) Timor-Leste Timor Wschodni Timor-Leste Timor-Leste Timor-Leste Восточный Тимор Východný Timor Timor-Leste Timor-Leste Тимор-Лесте (Источни Тимор) Östtimor Timor-Leste ติมอร์-เลสเต Timor-Leste Тимор-Лесте Тімор-Лешті Timor-Leste Timor-Leste 东帝汶 東帝汶
TM تركمانستان Туркменістан Туркменистан Turkmenistan Turkmenistan Turkmenistan Turkmenistán Turkmenistan Turkmenistan Τουρκμενιστάν Turkmenistan Turkmenujo Turkmenistán Türkmenistan Turkmenistan ترکمنستان Turkmenistan Turkménistan Turkménistan an Tuircméanastáin Turcmanastàn Turkmenistán טורקמניסטן Turkmenistan Türkmenisztán Turkmenistan Turkimenistan Túrkmenistan Turkmenistan トルクメニスタン 투르크메니스탄 Turkmenistan Түркмөнстан Turkmėnistanas Turkmenistāna തുർക്ക്മെനിസ്ഥാൻ Туркменистан Turkmenistan Turkmenistan Turkmenistan Turkmenistan Turkmenistan Turcomenistão Turcomenistão Turkmenistan Туркменистан Turkménsko Turkmenistan Turkmenistan Туркменистан Turkmenistan Turkmenistan เติร์กเมนิสถาน Türkmenistan Төркмәнстан Туркменістан Turkmaniston Turkmenistan 土库曼斯坦 土庫曼
TN تونس Туніс Тунис Tunizia Tunis Tunísia Tunisko Tunesien Tunesien Τυνησία Tunisia Tunizio Túnez Tuneesia Tunisia تونس Tunisia Tunisie Tunisie an Túinéis Tuinisea Tunisia תוניסיה Tunis Tunézia Tunisia Tunisia Túnis Tunisia チュニジア 튀니지 Tunisia Тунис Tunisas Tunisija ടുണീഷ്യ Тунис Tunisia Tunesië Tunisia Tunisia Tunezja Tunísia Tunísia Tunisia Тунис Tunisko Tunizija Tunizi Тунис Tunisien Tunisia ตูนิเซีย Tunus Тунис Туніс Tunis Tunisia 突尼斯 突尼西亞
TO تونغا Тонга Тонга Tonga Tonga Tonga Tonga Tonga Tonga Τόνγκα Tonga Tongo Tonga Tonga Tonga تونگا Tonga Tonga Tonga Tonga Tonga Tonga טונגה Tonga Tonga Tonga Tonga Tonga Tonga トンガ 통가 Tonga Тонга Tonga Tonga ടോംഗ Тонга Tonga Tonga Tonga Tonga Tonga Tonga Tonga Tonga Тонга Tonga Tonga Tonga Тонга Tonga Tonga ตองกา Tonga Тонга Тонґа Tonga Tonga 汤加 東加
TR تركيا Турцыя Турция Turkia Turska Turquia Turecko Tyrkiet Türkei Τουρκία Turkey Turkujo Turquía Türgi Turkia ترکیه Turkki Turquie Turquie an Tuirc An Tuirc Turquía טורקיה Turska Törökország Turchia Turki Tyrkland Turchia トルコ 터키 Turkey Түркия Turkija Turcija തുർക്കി Турк Tyrkia Turkije Tyrkia Turkey Turcja Turquia Turquia Turcia Турция Turecko Turčija Turqi Турска Turkiet Uturuki ตุรกี Türkiye Төркия Туреччина Turkiya Thổ Nhĩ Kỳ 土耳其 土耳其
TT ترينيداد وتوباغو Трынідад і Табага Тринидад и Тобаго Trinidad ha Tobago Trinidad i Tobago Trinitat i Tobago Trinidad a Tobago Trinidad og Tobago Trinidad und Tobago Τρινιντάντ και Τομπάγκο Trinidad & Tobago Trinidado kaj Tobago Trinidad y Tobago Trinidad ja Tobago Trinidad eta Tobago ترینیداد و توباگو Trinidad ja Tobago Trinité-et-Tobago Trinité-et-Tobago Oileán na Tríonóide agus Tobága Trianaid agus Tobago Trinidad e Tobago טרינידד וטובגו Trinidad i Tobago Trinidad és Tobago Trinidad e Tobago Trinidad dan Tobago Trínidad og Tóbagó Trinidad e Tobago トリニダード・トバゴ 트리니다드 토바고 Trinidad & Tobago Тринидад жана Тобаго Trinidadas ir Tobagas Trinidāda un Tobāgo ട്രിനിഡാഡും ടുബാഗോയും Тринидад ба Тобаго Trinidad og Tobago Trinidad en Tobago Trinidad og Tobago Trinidad & Tobago Trynidad i Tobago Trinidad e Tobago Trinidad e Tobago Trinidad și Tobago Тринидад и Тобаго Trinidad a Tobago Trinidad in Tobago Trinidad e Tobago Тринидад и Тобаго Trinidad och Tobago Trinidad na Tobago ตรินิแดดและโตเบโก Trinidad ve Tobago Тринидад һәм Тобаго Трінідад і Тобаґо Trinidad va Tobago Trinidad và Tobago 特立尼达和多巴哥 千里達及托巴哥
TV توفالو Тувалу Тувалу Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Τουβαλού Tuvalu Tuvalo Tuvalu Tuvalu Tuvalu تووالو Tuvalu Tuvalu Tuvalu Tuvalu Tubhalu Tuvalu טובאלו Tuvalu Tuvalu Tuvalu Tuvalu Túvalú Tuvalu ツバル 투발루 Tuvalu Тувалу Tuvalu Tuvalu ടുവാലു Тувалу Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Тувалу Tuvalu Tuvalu Tuvalu Тувалу Tuvalu Tuvalu ตูวาลู Tuvalu Тувалу Тувалу Tuvalu Tuvalu 图瓦卢 吐瓦魯
TW تايوان Тайвань Тайван Taiwan Tajvan Taiwan Tchaj-wan Taiwan Taiwan Ταϊβάν Taiwan Tajvano Taiwán Taiwan Taiwan تایوان Taiwan Taïwan Taïwan an Téaváin Taidh-Bhàn Taiwán טייוואן Tajvan Tajvan Taiwan Taiwan Taívan Taiwan 台湾 대만 Taiwan Тайвань Taivanas Taivāna തായ്‌വാൻ Тайвань Taiwan Taiwan Taiwan Taiwan Tajwan Taiwan Taiwan Taiwan Тайвань Taiwan Tajvan Tajvan Тајван Taiwan Taiwan ไต้หวัน Tayvan Тайвань Тайвань Tayvan Đài Loan 台湾 台灣
TZ تنزانيا Танзанія Танзания Tanzania Tanzanija Tanzània Tanzanie Tanzania Tansania Τανζανία Tanzania Tanzanio Tanzania Tansaania Tanzania تانزانیا Tansania Tanzanie Tanzanie an Tansáin An Tansan Tanzania טנזניה Tanzanija Tanzánia Tanzania Tanzania Tansanía Tanzania タンザニア 탄자니아 Tanzania Танзания Tanzanija Tanzānija ടാൻസാനിയ Танзани Tanzania Tanzania Tanzania Tanzania Tanzania Tanzânia Tanzânia Tanzania Танзания Tanzánia Tanzanija Tanzani Танзанија Tanzania Tanzania แทนซาเนีย Tanzanya Танзания Танзанія Tanzaniya Tanzania 坦桑尼亚 坦尚尼亞
UA أوكرانيا Украіна Украйна Ukraina Ukrajina Ucraïna Ukrajina Ukraine Ukraine Ουκρανία Ukraine Ukrajno Ucrania Ukraina Ukraina اوکراین Ukraina Ukraine Ukraine an Úcráin An Ucràin Ucraína אוקראינה Ukrajina Ukrajna Ukraina Ukraina Úkraína Ucraina ウクライナ 우크라이나 Ukraine Украина Ukraina Ukraina ഉക്രെയ്‌ൻ Украин Ukraina Oekraïne Ukraina Ukraine Ukraina Ucrânia Ucrânia Ucraina Украина Ukrajina Ukrajina Ukrainë Украјина Ukraina Ukraine ยูเครน Ukrayna Украина Україна Ukraina Ukraina 乌克兰 烏克蘭
UG أوغندا Уганда Уганда Ouganda Uganda Uganda Uganda Uganda Uganda Ουγκάντα Uganda Ugando Uganda Uganda Uganda اوگاندا Uganda Ouganda Ouganda Uganda Uganda Uganda אוגנדה Uganda Uganda Uganda Uganda Úganda Uganda ウガンダ 우간다 Uganda Уганда Uganda Uganda ഉഗാണ്ട Уганда Uganda Oeganda Uganda Uganda Uganda Uganda Uganda Uganda Уганда Uganda Uganda Ugandë Уганда Uganda Uganda ยูกันดา Uganda Уганда Уганда Uganda Uganda 乌干达 烏干達
UM جزر الولايات المتحدة النائية Малыя Аддаленыя астравы ЗША Отдалечени острови на САЩ Inizi diabell ar Stadoù-Unanet Američka Vanjska Ostrva Illes Perifèriques Menors dels EUA Menší odlehlé ostrovy USA Amerikanske oversøiske øer Amerikanische Überseeinseln Απομακρυσμένες Νησίδες ΗΠΑ U.S. Outlying Islands Usonaj malgrandaj insuloj Islas menores alejadas de EE. UU. Ühendriikide hajasaared Ameriketako Estatu Batuetako Kanpoaldeko Uharte Txikiak جزایر دورافتادهٔ ایالات متحده Yhdysvaltain erillissaaret Îles mineures éloignées des États-Unis Îles mineures éloignées des États-Unis Oileáin Imeallacha S.A.M. Meanbh-Eileanan Iomallach nan SA Illas Menores Distantes dos Estados Unidos האיים המרוחקים הקטנים של ארה״ב Mali udaljeni otoci SAD-a Az USA lakatlan külbirtokai U.S. Outlying Islands Kepulauan Terluar A.S. Smáeyjar Bandaríkjanna Altre isole americane del Pacifico 合衆国領有小離島 미국령 해외 제도 U.S. Outlying Islands АКШнын сырткы аралдары Jungtinių Valstijų Mažosios Tolimosios Salos ASV Mazās Aizjūras salas യു.എസ്. ദ്വീപസമൂഹങ്ങൾ Америкийн Нэгдсэн Улсын бага арлууд USAs ytre øyer Kleine afgelegen eilanden van de Verenigde Staten USAs ytre småøyar U.S. Outlying Islands Dalekie Wyspy Mniejsze Stanów Zjednoczonych Ilhas Menores Distantes dos EUA Ilhas Menores Distantes dos EUA Insulele Îndepărtate ale S.U.A. Внешние малые о-ва (США) Menšie odľahlé ostrovy USA Stranski zunanji otoki Združenih držav Ishujt Periferikë të SHBA-së Удаљена острва САД USA:s yttre öar Visiwa Vidogo vya Nje vya Marekani หมู่เกาะรอบนอกของสหรัฐอเมริกา ABD Küçük Harici Adaları АКШ Кече Читтәге утраулары Віддалені острови США AQSH yondosh orollari Các tiểu đảo xa của Hoa Kỳ 美国本土外小岛屿 美國本土外小島嶼
US الولايات المتحدة Злучаныя Штаты Съединени щати Stadoù-Unanet Sjedinjene Države Estats Units Spojené státy USA Vereinigte Staaten Ηνωμένες Πολιτείες United States Usono Estados Unidos Ameerika Ühendriigid Ameriketako Estatu Batuak ایالات متحده Yhdysvallat États-Unis États-Unis Stáit Aontaithe Mheiriceá Na Stàitean Aonaichte Os Estados Unidos ארצות הברית Sjedinjene Američke Države Egyesült Államok Statos Unite Amerika Serikat Bandaríkin Stati Uniti アメリカ合衆国 미국 Statys Unys Кошмо Штаттар Jungtinės Valstijos Amerikas Savienotās Valstis അമേരിക്കൻ ഐക്യനാടുകൾ Америкийн Нэгдсэн Улс USA Verenigde Staten USA АИШ Stany Zjednoczone Estados Unidos Estados Unidos Statele Unite ale Americii Соединенные Штаты Spojené štáty Združene države Amerike SHBA Сједињене Државе USA Marekani สหรัฐอเมริกา Amerika Birleşik Devletleri АКШ Сполучені Штати Amerika Qoshma Shtatlari Hoa Kỳ 美国 美國
UY أورغواي Уругвай Уругвай Uruguay Urugvaj Uruguai Uruguay Uruguay Uruguay Ουρουγουάη Uruguay Urugvajo Uruguay Uruguay Uruguai اروگوئه Uruguay Uruguay Uruguay Uragua Uruguaidh O Uruguai אורוגוואי Urugvaj Uruguay Uruguay Uruguay Úrúgvæ Uruguay ウルグアイ 우루과이 Uruguay Уругвай Urugvajus Urugvaja ഉറുഗ്വേ Уругвай Uruguay Uruguay Uruguay Uruguay Urugwaj Uruguai Uruguai Uruguay Уругвай Uruguaj Urugvaj Uruguai Уругвај Uruguay Uruguay อุรุกวัย Uruguay Уругвай Уруґвай Urugvay Uruguay 乌拉圭 烏拉圭
UZ أوزبكستان Узбекістан Узбекистан Ouzbekistan Uzbekistan Uzbekistan Uzbekistán Usbekistan Usbekistan Ουζμπεκιστάν Uzbekistan Uzbekujo Uzbekistán Usbekistan Uzbekistan ازبکستان Uzbekistan Ouzbékistan Ouzbékistan an Úisbéiceastáin Usbagastàn Uzbekistán אוזבקיסטן Uzbekistan Üzbegisztán Uzbekistan Uzbekistan Úsbekistan Uzbekistan ウズベキスタン 우즈베키스탄 Uzbekistan Өзбекстан Uzbekistanas Uzbekistāna ഉസ്‌ബെക്കിസ്ഥാൻ Узбекистан Usbekistan Oezbekistan Usbekistan Uzbekistan Uzbekistan Uzbequistão Uzbequistão Uzbekistan Узбекистан Uzbekistan Uzbekistan Uzbekistan Узбекистан Uzbekistan Uzibekistani อุซเบกิสถาน Özbekistan Үзбәкстан Узбекистан Oʻzbekiston Uzbekistan 乌兹别克斯坦 烏茲別克
VA الفاتيكان Ватыкан Ватикан Vatikan Vatikan Ciutat del Vaticà Vatikán Vatikanstaten Vatikanstadt Βατικανό Vatican City Vatikano Ciudad del Vaticano Vatikan Vatikano Hiria واتیکان Vatikaani État de la Cité du Vatican État de la Cité du Vatican Cathair na Vatacáine Cathair na Bhatacain Cidade do Vaticano הוותיקן Vatikanski Grad Vatikán Citate del Vaticano Vatikan Vatíkanið Città del Vaticano バチカン市国 바티칸 시국 Vatican City Ватикан Vatikano Miesto Valstybė Vatikāns വത്തിക്കാൻ Ватикан хот улс Vatikanstaten Vaticaanstad Vatikanstaten Vatican City Watykan Cidade do Vaticano Cidade do Vaticano Statul Cetății Vaticanului Ватикан Vatikán Vatikan Vatikan Ватикан Vatikanstaten Mji wa Vatican นครวาติกัน Vatikan Vatican City Ватикан Vatikan Thành Vatican 梵蒂冈 梵蒂岡
VC سانت فنسنت وجزر غرينادين Сент-Вінсент і Грэнадзіны Сейнт Винсънт и Гренадини Sant Visant hag ar Grenadinez Sveti Vinsent i Grenadin Saint Vincent i les Grenadines Svatý Vincenc a Grenadiny Saint Vincent og Grenadinerne St. Vincent und die Grenadinen Άγιος Βικέντιος και Γρεναδίνες St. Vincent & Grenadines Sent-Vincento kaj la Grenadinoj San Vicente y las Granadinas Saint Vincent ja Grenadiinid Saint Vincent eta Grenadinak سنت وینسنت و گرنادین Saint Vincent ja Grenadiinit Saint-Vincent-et-les-Grenadines Saint-Vincent-et-les-Grenadines San Uinseann agus na Greanáidíní Naomh Bhionsant agus Eileanan Greanadach San Vicente e As Granadinas סנט וינסנט והגרנדינים Sveti Vincent i Grenadini Saint Vincent és a Grenadine-szigetek Sancte Vincente e le Grenadinas Saint Vincent dan Grenadine Sankti Vinsent og Grenadíneyjar Saint Vincent e Grenadine セントビンセント及びグレナディーン諸島 세인트빈센트그레나딘 St. Vincent & Grenadines Сент-Винсент жана Гренадиндер Šventasis Vincentas ir Grenadinai Sentvinsenta un Grenadīnas സെന്റ് വിൻസെന്റും ഗ്രനെഡൈൻസും Сент-Винсент ба Гренадин St. Vincent og Grenadinene Saint Vincent en de Grenadines St. Vincent og Grenadinane St. Vincent & Grenadines Saint Vincent i Grenadyny São Vicente e Granadinas São Vicente e Granadinas Saint Vincent și Grenadinele Сент-Винсент и Гренадины Svätý Vincent a Grenadíny Saint Vincent in Grenadine Shën-Vincent dhe Grenadine Сент Винсент и Гренадини S:t Vincent och Grenadinerna St. Vincent na Grenadines เซนต์วินเซนต์และเกรนาดีนส์ Saint Vincent ve Grenadinler Сент-Винсент һәм Гренадин Сент-Вінсент і Ґренадіни Sent-Vinsent va Grenadin St. Vincent và Grenadines 圣文森特和格林纳丁斯 聖文森及格瑞那丁
VE فنزويلا Венесуэла Венецуела Venezuela Venecuela Veneçuela Venezuela Venezuela Venezuela Βενεζουέλα Venezuela Venezuelo Venezuela Venezuela Venezuela ونزوئلا Venezuela Venezuela Venezuela Veiniséala A Bheiniseala Venezuela ונצואלה Venezuela Venezuela Venezuela Venezuela Venesúela Venezuela ベネズエラ 베네수엘라 Venezuela Венесуэла Venesuela Venecuēla വെനിസ്വേല Венесуэл Venezuela Venezuela Venezuela Venezuela Wenezuela Venezuela Venezuela Venezuela Венесуэла Venezuela Venezuela Venezuelë Венецуела Venezuela Venezuela เวเนซุเอลา Venezuela Венесуэла Венесуела Venesuela Venezuela 委内瑞拉 委內瑞拉
VG جزر فيرجن البريطانية Брытанскія Віргінскія астравы Британски Вирджински острови Inizi Gwercʼh Breizh-Veur Britanska Djevičanska ostrva Illes Verges Britàniques Britské Panenské ostrovy De Britiske Jomfruøer Britische Jungferninseln Βρετανικές Παρθένες Νήσοι British Virgin Islands Britaj Virgulininsuloj Islas Vírgenes Británicas Briti Neitsisaared Birjina uharte britainiarrak جزایر ویرجین بریتانیا Brittiläiset Neitsytsaaret Îles Vierges britanniques Îles Vierges britanniques Oileáin Bhriotanacha na Maighdean Eileanan Breatannach na Maighdinn Illas Virxes Británicas איי הבתולה הבריטיים Britanski Djevičanski otoci Brit Virgin-szigetek British Virgin Islands Kepulauan Virgin Britania Raya Bresku Jómfrúaeyjar Isole Vergini Britanniche 英領ヴァージン諸島 영국령 버진아일랜드 British Virgin Islands Виргин аралдары (Британия) Didžiosios Britanijos Mergelių Salos Britu Virdžīnas ബ്രിട്ടീഷ് വെർജിൻ ദ്വീപുകൾ Британийн Виржиний арлууд De britiske jomfruøyene Britse Maagdeneilanden Dei britiske Jomfruøyane British Virgin Islands Brytyjskie Wyspy Dziewicze Ilhas Virgens Britânicas Ilhas Virgens Britânicas Insulele Virgine Britanice Виргинские о-ва (Великобритания) Britské Panenské ostrovy Britanski Deviški otoki Ishujt e Virgjër Britanikë Британска Девичанска Острва Brittiska Jungfruöarna Visiwa vya Virgin, Uingereza หมู่เกาะบริติชเวอร์จิน Britanya Virjin Adaları Британия Виргин утраулары Британські Віргінські острови Britaniya Virgin orollari Quần đảo Virgin thuộc Anh 英属维尔京群岛 英屬維京群島
VI جزر فيرجن التابعة للولايات المتحدة Амерыканскія Віргінскія астравы Американски Вирджински острови Inizi Gwercʼh ar Stadoù-Unanet Američka Djevičanska ostrva Illes Verges Nord-americanes Americké Panenské ostrovy De Amerikanske Jomfruøer Amerikanische Jungferninseln Αμερικανικές Παρθένες Νήσοι U.S. Virgin Islands Usonaj Virgulininsuloj Islas Vírgenes de EE. UU. USA Neitsisaared Birjina uharte amerikarrak جزایر ویرجین ایالات متحده Yhdysvaltain Neitsytsaaret Îles Vierges des États-Unis Îles Vierges des États-Unis Oileáin Mheiriceánacha na Maighdean Eileanan na Maighdinn aig na SA Illas Virxes Estadounidenses איי הבתולה של ארצות הברית Američki Djevičanski otoci Amerikai Virgin-szigetek U.S. Virgin Islands Kepulauan Virgin Amerika Serikat Bandarísku Jómfrúaeyjar Isole Vergini Americane 米領ヴァージン諸島 미국령 버진아일랜드 U.S. Virgin Islands Виргин аралдары (АКШ) Jungtinių Valstijų Mergelių Salos ASV Virdžīnas യു.എസ്. വെർജിൻ ദ്വീപുകൾ АНУ-ын Виржиний арлууд De amerikanske jomfruøyene Amerikaanse Maagdeneilanden Dei amerikanske Jomfruøyane U.S. Virgin Islands Wyspy Dziewicze Stanów Zjednoczonych Ilhas Virgens Americanas Ilhas Virgens Americanas Insulele Virgine Americane Виргинские о-ва (США) Americké Panenské ostrovy Ameriški Deviški otoki Ishujt e Virgjër të SHBA-së Америчка Девичанска Острва Amerikanska Jungfruöarna Visiwa vya Virgin, Marekani หมู่เกาะเวอร์จินของสหรัฐอเมริกา ABD Virjin Adaları АКШ Виргин утраулары Віргінські острови, США AQSH Virgin orollari Quần đảo Virgin thuộc Mỹ 美属维尔京群岛 美屬維京群島
VN فيتنام В’етнам Виетнам Viêt Nam Vijetnam Vietnam Vietnam Vietnam Vietnam Βιετνάμ Vietnam Vjetnamo Vietnam Vietnam Vietnam ویتنام Vietnam Vietnam Vietnam Vítneam Bhiet-Nam Vietnam וייטנאם Vijetnam Vietnám Vietnam Vietnam Víetnam Vietnam ベトナム 베트남 Vietnam Вьетнам Vietnamas Vjetnama വിയറ്റ്നാം Вьетнам Vietnam Vietnam Vietnam Vietnam Wietnam Vietnã Vietnã Vietnam Вьетнам Vietnam Vietnam Vietnam Вијетнам Vietnam Vietnam เวียดนาม Vietnam Вьетнам Вʼєтнам Vyetnam Việt Nam 越南 越南
VU فانواتو Вануату Вануату Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Βανουάτου Vanuatu Vanuatuo Vanuatu Vanuatu Vanuatu وانواتو Vanuatu Vanuatu Vanuatu Vanuatú Vanuatu Vanuatu ונואטו Vanuatu Vanuatu Vanuatu Vanuatu Vanúatú Vanuatu バヌアツ 바누아투 Vanuatu Вануату Vanuatu Vanuatu വന്വാതു Вануату Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Вануату Vanuatu Vanuatu Vanuatu Вануату Vanuatu Vanuatu วานูอาตู Vanuatu Вануату Вануату Vanuatu Vanuatu 瓦努阿图 萬那杜
WF جزر والس وفوتونا Уоліс і Футуна Уолис и Футуна Wallis ha Futuna Ostrva Valis i Futuna Wallis i Futuna Wallis a Futuna Wallis og Futuna Wallis und Futuna Γουάλις και Φουτούνα Wallis & Futuna Valiso kaj Futuno Wallis y Futuna Wallis ja Futuna Wallis eta Futuna والیس و فوتونا Wallis ja Futuna Wallis-et-Futuna Wallis-et-Futuna Vailís agus Futúna Uallas agus Futuna Wallis e Futuna איי ווליס ופוטונה Wallis i Futuna Wallis és Futuna Wallis & Futuna Kepulauan Wallis dan Futuna Wallis- og Fútúnaeyjar Wallis e Futuna ウォリス・フツナ 왈리스-푸투나 제도 Wallis & Futuna Уоллис жана Футуна Volisas ir Futūna Volisa un Futunas salas വാലിസ് ആന്റ് ഫ്യൂച്യുന Уоллис ба Футуна Wallis og Futuna Wallis en Futuna Wallis og Futuna Wallis & Futuna Wallis i Futuna Wallis e Futuna Wallis e Futuna Wallis și Futuna Уоллис и Футуна Wallis a Futuna Wallis in Futuna Uollis e Futuna Валис и Футуна Wallis- och Futunaöarna Wallis na Futuna วาลลิสและฟุตูนา Wallis ve Futuna Уоллис һәм Футуна Уолліс і Футуна Uollis va Futuna Wallis và Futuna 瓦利斯和富图纳 瓦利斯群島和富圖那群島
WS ساموا Самоа Самоа Samoa Samoa Samoa Samoa Samoa Samoa Σαμόα Samoa Samoo Samoa Samoa Samoa ساموآ Samoa Samoa Samoa Samó Samotha Samoa סמואה Samoa Szamoa Samoa Samoa Samóa Samoa サモア 사모아 Samoa Самоа Samoa Samoa സമോവ Самоа Samoa Samoa Samoa Samoa Samoa Samoa Samoa Samoa Самоа Samoa Samoa Samoa Самоа Samoa Samoa ซามัว Samoa Самоа Самоа Samoa Samoa 萨摩亚 薩摩亞
XK كوسوفو Косава Косово Kosovo Kosovo Kosovo Kosovo Kosovo Kosovo Κοσσυφοπέδιο Kosovo Kosovo Kosovo Kosovo Kosovo کوزوو Kosovo Kosovo Kosovo an Chosaiv A Chosobho Kosovo קוסובו Kosovo Koszovó Kosovo Kosovo Kósóvó Kosovo コソボ 코소보 Kosovo Косово Kosovas Kosova കൊസോവൊ Косово Kosovo Kosovo Kosovo Kosovo Kosowo Kosovo Kosovo Kosovo Косово Kosovo Kosovo Kosovë Косово Kosovo Kosovo โคโซโว Kosova Косово Косово Kosovo Kosovo 科索沃 科索沃
YE اليمن Емен Йемен Yemen Jemen Iemen Jemen Yemen Jemen Υεμένη Yemen Jemeno Yemen Jeemen Yemen یمن Jemen Yémen Yémen Éimin An Eaman O Iemen תימן Jemen Jemen Yemen Yaman Jemen Yemen イエメン 예멘 Yemen Йемен Jemenas Jemena യെമൻ Йемен Jemen Jemen Jemen Yemen Jemen Iêmen Iêmen Yemen Йемен Jemen Jemen Jemen Јемен Jemen Yemeni เยเมน Yemen Йәмән Ємен Yaman Yemen 也门 葉門
YT مايوت Маёта Майот Mayotte Majote Mayotte Mayotte Mayotte Mayotte Μαγιότ Mayotte Majoto Mayotte Mayotte Mayotte مایوت Mayotte Mayotte Mayotte Mayotte Mayotte Mayotte מאיוט Mayotte Mayotte Mayotte Mayotte Mayotte Mayotte マヨット 마요트 Mayotte Майотта Majotas Majota മയോട്ടി Майотта Mayotte Mayotte Mayotte Mayotte Majotta Mayotte Mayotte Mayotte Майотта Mayotte Mayotte Majotë Мајот Mayotte Mayotte มายอต Mayotte Майотта Майотта Mayotta Mayotte 马约特 馬約特島
ZA جنوب أفريقيا Паўднёва-Афрыканская Рэспубліка Южна Африка Suafrika Južnoafrička Republika República de Sud-àfrica Jihoafrická republika Sydafrika Südafrika Νότια Αφρική South Africa Sud-Afriko Sudáfrica Lõuna-Aafrika Vabariik Hegoafrika افریقای جنوبی Etelä-Afrikka Afrique du Sud Afrique du Sud an Afraic Theas Afraga a Deas Suráfrica דרום אפריקה Južnoafrička Republika Dél-afrikai Köztársaság Sudafrica Afrika Selatan Suður-Afríka Sudafrica 南アフリカ 남아프리카 South Africa Түштүк-Африка Республикасы Pietų Afrika Dienvidāfrikas Republika ദക്ഷിണാഫ്രിക്ക Өмнөд Африк Sør-Afrika Zuid-Afrika Sør-Afrika South Africa Republika Południowej Afryki África do Sul África do Sul Africa de Sud Южно-Африканская Республика Južná Afrika Južnoafriška republika Afrika e Jugut Јужноафричка Република Sydafrika Afrika Kusini แอฟริกาใต้ Güney Afrika Көньяк Африка Південно-Африканська Республіка Janubiy Afrika Respublikasi Nam Phi 南非 南非
ZM زامبيا Замбія Замбия Zambia Zambija Zàmbia Zambie Zambia Sambia Ζάμπια Zambia Zambio Zambia Sambia Zambia زامبیا Sambia Zambie Zambie an tSaimbia Sàimbia Zambia זמביה Zambija Zambia Zambia Zambia Sambía Zambia ザンビア 잠비아 Zambia Замбия Zambija Zambija സാംബിയ Замби Zambia Zambia Zambia Zambia Zambia Zâmbia Zâmbia Zambia Замбия Zambia Zambija Zambi Замбија Zambia Zambia แซมเบีย Zambiya Замбия Замбія Zambiya Zambia 赞比亚 尚比亞
ZW زيمبابوي Зімбабвэ Зимбабве Zimbabwe Zimbabve Zimbàbue Zimbabwe Zimbabwe Simbabwe Ζιμπάμπουε Zimbabwe Zimbabvo Zimbabue Zimbabwe Zimbabwe زیمبابوه Zimbabwe Zimbabwe Zimbabwe an tSiombáib An t-Sìombab Zimbabwe זימבבואה Zimbabve Zimbabwe Zimbabwe Zimbabwe Simbabve Zimbabwe ジンバブエ 짐바브웨 Zimbabwe Зимбабве Zimbabvė Zimbabve സിംബാബ്‌വേ Зимбабве Zimbabwe Zimbabwe Zimbabwe Zimbabwe Zimbabwe Zimbábue Zimbábue Zimbabwe Зимбабве Zimbabwe Zimbabve Zimbabve Зимбабве Zimbabwe Zimbabwe ซิมบับเว Zimbabve Зимбабве Зімбабве Zimbabve Zimbabwe 津巴布韦 辛巴威
1 country_code ar be bg br bs ca cs da de el en eo es et eu fa fi fr fr-CA ga gd gl he hr hu ia id is it ja ko kw ky lt lv ml mn-MN nb nl nn os pl pt pt-BR ro ru sk sl sq sr sv sw th tr tt uk uz vi zh-CN zh-TW
2 AC جزيرة أسينشيون Востраў Узнясення остров Възнесение Enez Ascension Ostrvo Ascension Illa de l’Ascensió Ascension Ascensionøen Ascension Νήσος Ασενσιόν Ascension Island Ascension Island Isla de la Ascensión Ascensioni saar Ascension uhartea جزایر آسنسیون Ascension-saari Île de l’Ascension Île de l’Ascension Oileán na Deascabhála Eilean na Deasgabhalach Illa de Ascensión האי אסנשן Otok Ascension Ascension-sziget Ascension Island Pulau Ascension Ascension-eyja Isola Ascensione アセンション島 어센션 섬 Ascension Island Вознесение аралы Dangun Žengimo sala Debesbraukšanas sala അസൻഷൻ ദ്വീപ് Асенсион арал Ascension Ascension Ascension Ascension Island Wyspa Wniebowstąpienia Ilha de Ascensão Ilha de Ascensão Insula Ascension о-в Вознесения Ascension Otok Ascension Ishulli Asenshion Острво Асенсион Ascension Kisiwa cha Ascension เกาะแอสเซนชัน Ascension Adası Ascension Island Острів Вознесіння Me’roj oroli Đảo Ascension 阿森松岛 阿森松島
3 AD أندورا Андора Андора Andorra Andora Andorra Andorra Andorra Andorra Ανδόρα Andorra Andoro Andorra Andorra Andorra آندورا Andorra Andorre Andorre Andóra Andorra Andorra אנדורה Andora Andorra Andorra Andorra Andorra Andorra アンドラ 안도라 Andorra Андорра Andora Andora അൻഡോറ Андорра Andorra Andorra Andorra Andorra Andora Andorra Andorra Andorra Андорра Andorra Andora Andorrë Андора Andorra Andorra อันดอร์รา Andorra Андорра Андорра Andorra Andorra 安道尔 安道爾
4 AE الإمارات العربية المتحدة Аб’яднаныя Арабскія Эміраты Обединени арабски емирства Emirelezhioù Arab Unanet Ujedinjeni Arapski Emirati Emirats Àrabs Units Spojené arabské emiráty De Forenede Arabiske Emirater Vereinigte Arabische Emirate Ηνωμένα Αραβικά Εμιράτα United Arab Emirates Unuiĝintaj Arabaj Emirlandoj Emiratos Árabes Unidos Araabia Ühendemiraadid Arabiar Emirerri Batuak امارات متحدهٔ عربی Arabiemiirikunnat Émirats arabes unis Émirats arabes unis Aontas na nÉimíríochtaí Arabacha Na h-Iomaratan Arabach Aonaichte Os Emiratos Árabes Unidos איחוד האמירויות הערביות Ujedinjeni Arapski Emirati Egyesült Arab Emírségek Emiratos Arabe Unite Uni Emirat Arab Sameinuðu arabísku furstadæmin Emirati Arabi Uniti アラブ首長国連邦 아랍에미리트 United Arab Emirates Бириккен Араб Эмираттары Jungtiniai Arabų Emyratai Apvienotie Arābu Emirāti യുണൈറ്റഡ് അറബ് എമിറൈറ്റ്‌സ് Арабын Нэгдсэн Эмирт Улс De forente arabiske emirater Verenigde Arabische Emiraten Dei sameinte arabiske emirata United Arab Emirates Zjednoczone Emiraty Arabskie Emirados Árabes Unidos Emirados Árabes Unidos Emiratele Arabe Unite ОАЭ Spojené arabské emiráty Združeni arabski emirati Emiratet e Bashkuara Arabe Уједињени Арапски Емирати Förenade Arabemiraten Falme za Kiarabu สหรัฐอาหรับเอมิเรตส์ Birleşik Arap Emirlikleri Берләшкән Гарәп Әмирлекләре Обʼєднані Арабські Емірати Birlashgan Arab Amirliklari Các Tiểu Vương quốc Ả Rập Thống nhất 阿拉伯联合酋长国 阿拉伯聯合大公國
5 AF أفغانستان Афганістан Афганистан Afghanistan Afganistan Afganistan Afghánistán Afghanistan Afghanistan Αφγανιστάν Afghanistan Afganujo Afganistán Afganistan Afganistan افغانستان Afganistan Afghanistan Afghanistan an Afganastáin Afghanastàn Afganistán אפגניסטן Afganistan Afganisztán Afghanistan Afganistan Afganistan Afghanistan アフガニスタン 아프가니스탄 Afghanistan Афганистан Afganistanas Afganistāna അഫ്‌ഗാനിസ്ഥാൻ Афганистан Afghanistan Afghanistan Afghanistan Afghanistan Afganistan Afeganistão Afeganistão Afganistan Афганистан Afganistan Afganistan Afganistan Авганистан Afghanistan Afghanistan อัฟกานิสถาน Afganistan Әфганстан Афганістан Afgʻoniston Afghanistan 阿富汗 阿富汗
6 AG أنتيغوا وبربودا Антыгуа і Барбуда Антигуа и Барбуда Antigua ha Barbuda Antigva i Barbuda Antigua i Barbuda Antigua a Barbuda Antigua og Barbuda Antigua und Barbuda Αντίγκουα και Μπαρμπούντα Antigua & Barbuda Antigvo-Barbudo Antigua y Barbuda Antigua ja Barbuda Antigua eta Barbuda آنتیگوا و باربودا Antigua ja Barbuda Antigua-et-Barbuda Antigua-et-Barbuda Antigua agus Barbúda Aintìoga is Barbuda Antigua e Barbuda אנטיגואה וברבודה Antigva i Barbuda Antigua és Barbuda Antigua e Barbuda Antigua dan Barbuda Antígva og Barbúda Antigua e Barbuda アンティグア・バーブーダ 앤티가 바부다 Antigua & Barbuda Антигуа жана Барбуда Antigva ir Barbuda Antigva un Barbuda ആൻറിഗ്വയും ബർബുഡയും Антигуа ба Барбуда Antigua og Barbuda Antigua en Barbuda Antigua og Barbuda Antigua & Barbuda Antigua i Barbuda Antígua e Barbuda Antígua e Barbuda Antigua și Barbuda Антигуа и Барбуда Antigua a Barbuda Antigva in Barbuda Antigua e Barbuda Антигва и Барбуда Antigua och Barbuda Antigua na Barbuda แอนติกาและบาร์บูดา Antigua ve Barbuda Антигуа һәм Барбуда Антиґуа і Барбуда Antigua va Barbuda Antigua và Barbuda 安提瓜和巴布达 安地卡及巴布達
7 AI أنغويلا Ангілья Ангуила Anguilla Angvila Anguilla Anguilla Anguilla Anguilla Ανγκουίλα Anguilla Angvilo Anguila Anguilla Aingira آنگویلا Anguilla Anguilla Anguilla Angaíle Anguillia Anguila אנגווילה Angvila Anguilla Anguilla Anguilla Angvilla Anguilla アンギラ 앵귈라 Anguilla Ангилья Angilija Angilja ആൻഗ്വില്ല Ангилья Anguilla Anguilla Anguilla Anguilla Anguilla Anguila Anguila Anguilla Ангилья Anguilla Angvila Anguilë Ангвила Anguilla Anguilla แองกวิลลา Anguilla Ангилья Анґілья Angilya Anguilla 安圭拉 安奎拉
8 AL ألبانيا Албанія Албания Albania Albanija Albània Albánie Albanien Albanien Αλβανία Albania Albanujo Albania Albaania Albania آلبانی Albania Albanie Albanie an Albáin Albàinia Albania אלבניה Albanija Albánia Albania Albania Albanía Albania アルバニア 알바니아 Albania Албания Albanija Albānija അൽബേനിയ Албани Albania Albanië Albania Albania Albania Albânia Albânia Albania Албания Albánsko Albanija Shqipëri Албанија Albanien Albania แอลเบเนีย Arnavutluk Албания Албанія Albaniya Albania 阿尔巴尼亚 阿爾巴尼亞
9 AM أرمينيا Арменія Армения Armenia Armenija Armènia Arménie Armenien Armenien Αρμενία Armenia Armenujo Armenia Armeenia Armenia ارمنستان Armenia Arménie Arménie an Airméin Airmeinea Armenia ארמניה Armenija Örményország Armenia Armenia Armenía Armenia アルメニア 아르메니아 Armenia Армения Armėnija Armēnija അർമേനിയ Армени Armenia Armenië Armenia Armenia Armenia Armênia Armênia Armenia Армения Arménsko Armenija Armeni Јерменија Armenien Armenia อาร์เมเนีย Ermenistan Әрмәнстан Вірменія Armaniston Armenia 亚美尼亚 亞美尼亞
10 AO أنغولا Ангола Ангола Angola Angola Angola Angola Angola Angola Αγκόλα Angola Angolo Angola Angola Angola آنگولا Angola Angola Angola Angóla Angòla Angola אנגולה Angola Angola Angola Angola Angóla Angola アンゴラ 앙골라 Angola Ангола Angola Angola അംഗോള Ангол Angola Angola Angola Angola Angola Angola Angola Angola Ангола Angola Angola Angolë Ангола Angola Angola แองโกลา Angola Ангола Ангола Angola Angola 安哥拉 安哥拉
11 AQ أنتاركتيكا Антарктыка Антарктика Antarktika Antarktika Antàrtida Antarktida Antarktis Antarktis Ανταρκτική Antarctica Antarkto Antártida Antarktika Antartika جنوبگان Antarktis Antarctique Antarctique an Antartaice An Antartaig A Antártida אנטארקטיקה Antarktika Antarktisz Antarctica Antarktika Suðurskautslandið Antartide 南極 남극 대륙 Antarctica Антарктида Antarktida Antarktika അന്റാർട്ടിക്ക Антарктид Antarktis Antarctica Antarktis Antarctica Antarktyda Antártida Antártida Antarctica Антарктида Antarktída Antarktika Antarktikë Антарктик Antarktis Antaktiki แอนตาร์กติกา Antarktika Антарктика Антарктика Antarktida Nam Cực 南极洲 南極洲
12 AR الأرجنتين Аргенціна Аржентина Arcʼhantina Argentina Argentina Argentina Argentina Argentinien Αργεντινή Argentina Argentino Argentina Argentina Argentina آرژانتین Argentiina Argentine Argentine an Airgintín An Argantain A Arxentina ארגנטינה Argentina Argentína Argentina Argentina Argentína Argentina アルゼンチン 아르헨티나 Argentina Аргентина Argentina Argentīna അർജന്റീന Аргентин Argentina Argentinië Argentina Argentina Argentyna Argentina Argentina Argentina Аргентина Argentína Argentina Argjentinë Аргентина Argentina Ajentina อาร์เจนตินา Arjantin Аргентина Аргентина Argentina Argentina 阿根廷 阿根廷
13 AS ساموا الأمريكية Амерыканскае Самоа Американска Самоа Samoa Amerikan Američka Samoa Samoa Nord-americana Americká Samoa Amerikansk Samoa Amerikanisch-Samoa Αμερικανική Σαμόα American Samoa American Samoa Samoa Americana Ameerika Samoa Samoa Estatubatuarra ساموآی امریکا Amerikan Samoa Samoa américaines Samoa américaines Samó Mheiriceá Samotha na h-Aimeireaga Samoa Americana סמואה האמריקנית Američka Samoa Amerikai Szamoa Samoa american Samoa Amerika Bandaríska Samóa Samoa americane 米領サモア 아메리칸 사모아 American Samoa Америкалык Самоа Amerikos Samoa ASV Samoa അമേരിക്കൻ സമോവ Америкийн Самоа Amerikansk Samoa Amerikaans-Samoa Amerikansk Samoa American Samoa Samoa Amerykańskie Samoa Americana Samoa Americana Samoa Americană Американское Самоа Americká Samoa Ameriška Samoa Samoa Amerikane Америчка Самоа Amerikanska Samoa Samoa ya Marekani อเมริกันซามัว Amerikan Samoası Америка Самоасы Американське Самоа Amerika Samoasi Samoa thuộc Mỹ 美属萨摩亚 美屬薩摩亞
14 AT النمسا Аўстрыя Австрия Aostria Austrija Àustria Rakousko Østrig Österreich Αυστρία Austria Aŭstrujo Austria Austria Austria اتریش Itävalta Autriche Autriche an Ostair An Ostair Austria אוסטריה Austrija Ausztria Austria Austria Austurríki Austria オーストリア 오스트리아 Austria Австрия Austrija Austrija ഓസ്ട്രിയ Австри Østerrike Oostenrijk Austerrike Austria Austria Áustria Áustria Austria Австрия Rakúsko Avstrija Austri Аустрија Österrike Austria ออสเตรีย Avusturya Австрия Австрія Avstriya Áo 奥地利 奧地利
15 AU أستراليا Аўстралія Австралия Aostralia Australija Austràlia Austrálie Australien Australien Αυστραλία Australia Aŭstralio Australia Austraalia Australia استرالیا Australia Australie Australie an Astráil Astràilia Australia אוסטרליה Australija Ausztrália Australia Australia Ástralía Australia オーストラリア 오스트레일리아 Australia Австралия Australija Austrālija ഓസ്‌ട്രേലിയ Австрали Australia Australië Australia Australia Australia Austrália Austrália Australia Австралия Austrália Avstralija Australi Аустралија Australien Australia ออสเตรเลีย Avustralya Австралия Австралія Avstraliya Australia 澳大利亚 澳洲
16 AW أروبا Аруба Аруба Aruba Aruba Aruba Aruba Aruba Aruba Αρούμπα Aruba Arubo Aruba Aruba Aruba آروبا Aruba Aruba Aruba Arúba Arùba Aruba ארובה Aruba Aruba Aruba Aruba Arúba Aruba アルバ 아루바 Aruba Аруба Aruba Aruba അറൂബ Аруба Aruba Aruba Aruba Aruba Aruba Aruba Aruba Aruba Аруба Aruba Aruba Arubë Аруба Aruba Aruba อารูบา Aruba Аруба Аруба Aruba Aruba 阿鲁巴 荷屬阿魯巴
17 AX جزر آلاند Аландскія астравы Оландски острови Inizi Åland Olandska ostrva Illes Åland Ålandy Åland Ålandinseln Νήσοι Όλαντ Åland Islands Åland Islands Islas Åland Ahvenamaa Åland جزایر آلاند Ahvenanmaa Îles Åland Îles Åland Oileáin Åland Na h-Eileanan Åland Illas Åland איי אולנד Ålandski otoci Åland-szigetek Insulas Åland Kepulauan Aland Álandseyjar Isole Åland オーランド諸島 올란드 제도 Åland Islands Аланд аралдары Alandų Salos Olandes salas അലൻഡ് ദ്വീപുകൾ Аландын арлууд Åland Åland Åland Åland Islands Wyspy Alandzkie Ilhas Aland Ilhas Aland Insulele Åland Аландские о-ва Alandy Ålandski otoki Ishujt Alandë Оландска Острва Åland Visiwa vya Aland หมู่เกาะโอลันด์ Åland Adaları Аланд утраулары Аландські Острови Aland orollari Quần đảo Åland 奥兰群岛 奧蘭群島
18 AZ أذربيجان Азербайджан Азербайджан Azerbaidjan Azerbejdžan Azerbaidjan Ázerbájdžán Aserbajdsjan Aserbaidschan Αζερμπαϊτζάν Azerbaijan Azerbajĝano Azerbaiyán Aserbaidžaan Azerbaijan جمهوری آذربایجان Azerbaidžan Azerbaïdjan Azerbaïdjan an Asarbaiseáin Asarbaideàn Acerbaixán אזרבייג׳ן Azerbajdžan Azerbajdzsán Azerbaidzhan Azerbaijan Aserbaídsjan Azerbaigian アゼルバイジャン 아제르바이잔 Azerbaijan Азербайжан Azerbaidžanas Azerbaidžāna അസർബൈജാൻ Азербайжан Aserbajdsjan Azerbeidzjan Aserbajdsjan Azerbaijan Azerbejdżan Azerbaijão Azerbaijão Azerbaidjan Азербайджан Azerbajdžan Azerbajdžan Azerbajxhan Азербејџан Azerbajdzjan Azerbaijani อาเซอร์ไบจาน Azerbaycan Әзәрбайҗан Азербайджан Ozarbayjon Azerbaijan 阿塞拜疆 亞塞拜然
19 BA البوسنة والهرسك Боснія і Герцагавіна Босна и Херцеговина Bosnia ha Herzegovina Bosna i Hercegovina Bòsnia i Hercegovina Bosna a Hercegovina Bosnien-Hercegovina Bosnien und Herzegowina Βοσνία - Ερζεγοβίνη Bosnia & Herzegovina Bosnio-Hercegovino Bosnia y Herzegovina Bosnia ja Hertsegoviina Bosnia-Herzegovina بوسنی و هرزگوین Bosnia ja Hertsegovina Bosnie-Herzégovine Bosnie-Herzégovine an Bhoisnia agus an Heirseagaivéin Bosna is Hearsagobhana Bosnia e Hercegovina בוסניה והרצגובינה Bosna i Hercegovina Bosznia-Hercegovina Bosnia e Herzegovina Bosnia dan Herzegovina Bosnía og Hersegóvína Bosnia ed Erzegovina ボスニア・ヘルツェゴビナ 보스니아 헤르체고비나 Bosnia & Herzegovina Босния жана Герцеговина Bosnija ir Hercegovina Bosnija un Hercegovina ബോസ്നിയയും ഹെർസഗോവിനയും Босни-Герцеговин Bosnia-Hercegovina Bosnië en Herzegovina Bosnia-Hercegovina Bosnia & Herzegovina Bośnia i Hercegowina Bósnia e Herzegovina Bósnia e Herzegovina Bosnia și Herțegovina Босния и Герцеговина Bosna a Hercegovina Bosna in Hercegovina Bosnjë-Hercegovinë Босна и Херцеговина Bosnien och Hercegovina Bosnia na Hezegovina บอสเนียและเฮอร์เซโกวีนา Bosna-Hersek Босния һәм Герцеговина Боснія і Герцеґовина Bosniya va Gertsegovina Bosnia và Herzegovina 波斯尼亚和黑塞哥维那 波士尼亞與赫塞哥維納
20 BB بربادوس Барбадас Барбадос Barbados Barbados Barbados Barbados Barbados Barbados Μπαρμπέιντος Barbados Barbado Barbados Barbados Barbados باربادوس Barbados Barbade Barbade Barbadós Barbados Barbados ברבדוס Barbados Barbados Barbados Barbados Barbados Barbados バルバドス 바베이도스 Barbados Барбадос Barbadosas Barbadosa ബാർബഡോസ് Барбадос Barbados Barbados Barbados Barbados Barbados Barbados Barbados Barbados Барбадос Barbados Barbados Barbados Барбадос Barbados Babadosi บาร์เบโดส Barbados Барбадос Барбадос Barbados Barbados 巴巴多斯 巴貝多
21 BD بنغلاديش Бангладэш Бангладеш Bangladesh Bangladeš Bangladesh Bangladéš Bangladesh Bangladesch Μπανγκλαντές Bangladesh Bangladeŝo Bangladés Bangladesh Bangladesh بنگلادش Bangladesh Bangladesh Bangladesh an Bhanglaidéis Bangladais Bangladesh בנגלדש Bangladeš Banglades Bangladesh Bangladesh Bangladess Bangladesh バングラデシュ 방글라데시 Bangladesh Бангладеш Bangladešas Bangladeša ബംഗ്ലാദേശ് Бангладеш Bangladesh Bangladesh Bangladesh Bangladesh Bangladesz Bangladesh Bangladesh Bangladesh Бангладеш Bangladéš Bangladeš Bangladesh Бангладеш Bangladesh Bangladeshi บังกลาเทศ Bangladeş Бангладеш Бангладеш Bangladesh Bangladesh 孟加拉国 孟加拉
22 BE بلجيكا Бельгія Белгия Belgia Belgija Bèlgica Belgie Belgien Belgien Βέλγιο Belgium Belgujo Bélgica Belgia Belgika بلژیک Belgia Belgique Belgique an Bheilg A’ Bheilg Bélxica בלגיה Belgija Belgium Belgica Belgia Belgía Belgio ベルギー 벨기에 Belgium Бельгия Belgija Beļģija ബെൽജിയം Бельги Belgia België Belgia Belgium Belgia Bélgica Bélgica Belgia Бельгия Belgicko Belgija Belgjikë Белгија Belgien Ubelgiji เบลเยียม Belçika Бельгия Бельґія Belgiya Bỉ 比利时 比利時
23 BF بوركينا فاسو Буркіна-Фасо Буркина Фасо Burkina Faso Burkina Faso Burkina Faso Burkina Faso Burkina Faso Burkina Faso Μπουρκίνα Φάσο Burkina Faso Burkino Burkina Faso Burkina Faso Burkina Faso بورکینافاسو Burkina Faso Burkina Faso Burkina Faso Buircíne Fasó Buirciona Faso Burkina Faso בורקינה פאסו Burkina Faso Burkina Faso Burkina Faso Burkina Faso Búrkína Fasó Burkina Faso ブルキナファソ 부르키나파소 Burkina Faso Буркина-Фасо Burkina Fasas Burkinafaso ബർക്കിന ഫാസോ Буркина Фасо Burkina Faso Burkina Faso Burkina Faso Burkina Faso Burkina Faso Burquina Faso Burquina Faso Burkina Faso Буркина-Фасо Burkina Faso Burkina Faso Burkina-Faso Буркина Фасо Burkina Faso Bukinafaso บูร์กินาฟาโซ Burkina Faso Буркина-Фасо Буркіна-Фасо Burkina-Faso Burkina Faso 布基纳法索 布吉納法索
24 BG بلغاريا Балгарыя България Bulgaria Bugarska Bulgària Bulharsko Bulgarien Bulgarien Βουλγαρία Bulgaria Bulgarujo Bulgaria Bulgaaria Bulgaria بلغارستان Bulgaria Bulgarie Bulgarie an Bhulgáir A’ Bhulgair Bulgaria בולגריה Bugarska Bulgária Bulgaria Bulgaria Búlgaría Bulgaria ブルガリア 불가리아 Bulgaria Болгария Bulgarija Bulgārija ബൾഗേറിയ Болгар Bulgaria Bulgarije Bulgaria Bulgaria Bułgaria Bulgária Bulgária Bulgaria Болгария Bulharsko Bolgarija Bullgari Бугарска Bulgarien Bulgaria บัลแกเรีย Bulgaristan Болгария Болгарія Bolgariya Bulgaria 保加利亚 保加利亞
25 BH البحرين Бахрэйн Бахрейн Bahrein Bahrein Bahrain Bahrajn Bahrain Bahrain Μπαχρέιν Bahrain Barejno Baréin Bahrein Bahrain بحرین Bahrain Bahreïn Bahreïn Bairéin Bachrain Bahrain בחריין Bahrein Bahrein Bahrain Bahrain Barein Bahrein バーレーン 바레인 Bahrain Бахрейн Bahreinas Bahreina ബഹ്റിൻ Бахрейн Bahrain Bahrein Bahrain Bahrain Bahrajn Bahrein Bahrein Bahrain Бахрейн Bahrajn Bahrajn Bahrejn Бахреин Bahrain Bahareni บาห์เรน Bahreyn Бәхрәйн Бахрейн Bahrayn Bahrain 巴林 巴林
26 BI بوروندي Бурундзі Бурунди Burundi Burundi Burundi Burundi Burundi Burundi Μπουρούντι Burundi Burundo Burundi Burundi Burundi بوروندی Burundi Burundi Burundi an Bhurúin Burundaidh Burundi בורונדי Burundi Burundi Burundi Burundi Búrúndí Burundi ブルンジ 부룬디 Burundi Бурунди Burundis Burundija ബറുണ്ടി Бурунди Burundi Burundi Burundi Burundi Burundi Burundi Burundi Burundi Бурунди Burundi Burundi Burundi Бурунди Burundi Burundi บุรุนดี Burundi Бурунди Бурунді Burundi Burundi 布隆迪 蒲隆地
27 BJ بنين Бенін Бенин Benin Benin Benín Benin Benin Benin Μπενίν Benin Benino Benín Benin Benin بنین Benin Bénin Bénin Beinin Beinin Benín בנין Benin Benin Benin Benin Benín Benin ベナン 베냉 Benin Бенин Beninas Benina ബെനിൻ Бенин Benin Benin Benin Benin Benin Benin Benin Benin Бенин Benin Benin Benin Бенин Benin Benin เบนิน Benin Бенин Бенін Benin Benin 贝宁 貝南
28 BL سان بارتليمي Сен-Бартэльмі Сен Бартелеми Saint Barthélemy Sveti Bartolomej Saint Barthélemy Svatý Bartoloměj Saint Barthélemy St. Barthélemy Άγιος Βαρθολομαίος St. Barthélemy St. Barthélemy San Bartolomé Saint-Barthélemy Saint Barthélemy سن بارتلمی Saint-Barthélemy Saint-Barthélemy Saint-Barthélemy Saint Barthélemy Saint Barthélemy Saint Barthélemy סנט ברתולומיאו Saint Barthélemy Saint-Barthélemy St. Barthélemy Saint Barthélemy Sankti Bartólómeusareyjar Saint-Barthélemy サン・バルテルミー 생바르텔레미 St. Barthélemy Сент Бартелеми Sen Bartelemi Senbartelmī സെന്റ് ബാർത്തലമി Сент-Бартельми Saint-Barthélemy Saint-Barthélemy Saint Barthélemy St. Barthélemy Saint-Barthélemy São Bartolomeu São Bartolomeu Saint-Barthélemy Сен-Бартелеми Svätý Bartolomej Saint Barthélemy Sen-Bartelemi Свети Бартоломеј S:t Barthélemy St. Barthelemy เซนต์บาร์เธเลมี Saint Barthelemy Сен-Бартельми Сен-Бартельмі Sen-Bartelemi St. Barthélemy 圣巴泰勒米 聖巴瑟米
29 BM برمودا Бермудскія астравы Бермудски острови Bermuda Bermuda Bermudes Bermudy Bermuda Bermuda Βερμούδες Bermuda Bermudoj Bermudas Bermuda Bermuda برمودا Bermuda Bermudes Bermudes Beirmiúda Bearmùda Illas Bermudas ברמודה Bermudi Bermuda Bermuda Bermuda Bermúdaeyjar Bermuda バミューダ 버뮤다 Bermuda Бермуд аралдары Bermuda Bermudu salas ബർമുഡ Бермуда Bermuda Bermuda Bermuda Bermuda Bermudy Bermudas Bermudas Bermuda Бермудские о-ва Bermudy Bermudi Bermude Бермуда Bermuda Bermuda เบอร์มิวดา Bermuda Бермуд утраулары Бермудські Острови Bermuda orollari Bermuda 百慕大 百慕達
30 BN بروناي Бруней Бруней Даруссалам Brunei Brunej Brunei Brunej Brunei Brunei Darussalam Μπρουνέι Brunei Brunejo Brunéi Brunei Brunei برونئی Brunei Brunéi Darussalam Brunéi Darussalam Brúiné Brùnaigh Brunei ברוניי Brunej Brunei Brunei Brunei Brúnei Brunei ブルネイ 브루나이 Brunei Бруней Brunėjus Bruneja ബ്രൂണൈ Бруней Brunei Brunei Brunei Brunei Brunei Brunei Brunei Brunei Бруней-Даруссалам Brunej Brunej Brunei Брунеј Brunei Brunei บรูไน Brunei Бруней Бруней Bruney Brunei 文莱 汶萊
31 BO بوليفيا Балівія Боливия Bolivia Bolivija Bolívia Bolívie Bolivia Bolivien Βολιβία Bolivia Bolivio Bolivia Boliivia Bolivia بولیوی Bolivia Bolivie Bolivie an Bholaiv Boilibhia Bolivia בוליביה Bolivija Bolívia Bolivia Bolivia Bólivía Bolivia ボリビア 볼리비아 Bolivia Боливия Bolivija Bolīvija ബൊളീവിയ Боливи Bolivia Bolivia Bolivia Bolivia Boliwia Bolívia Bolívia Bolivia Боливия Bolívia Bolivija Bolivi Боливија Bolivia Bolivia โบลิเวีย Bolivya Боливия Болівія Boliviya Bolivia 玻利维亚 玻利維亞
32 BQ هولندا الكاريبية Карыбскія Нідэрланды Карибска Нидерландия Karib Nederlandat Karipska Holandija Carib Neerlandès Karibské Nizozemsko De tidligere Nederlandske Antiller Bonaire, Sint Eustatius und Saba Ολλανδία Καραϊβικής Caribbean Netherlands Caribbean Netherlands Caribe neerlandés Hollandi Kariibi mere saared Karibeko Herbehereak جزایر کارائیب هلند Karibian Alankomaat Pays-Bas caribéens Pays-Bas caribéens an Ísiltír Chairibeach Na Tìrean Ìsle Caraibeach Caribe Neerlandés האיים הקריביים ההולנדיים Karipski otoci Nizozemske Holland Karib-térség Caribbean Netherlands Belanda Karibia Karíbahafshluti Hollands Caraibi olandesi オランダ領カリブ 네덜란드령 카리브 Caribbean Netherlands Кариб Нидерланддары Karibų Nyderlandai Nīderlandes Karību salas കരീബിയൻ നെതർലാൻഡ്സ് Карибын Нидерланд Karibisk Nederland Caribisch Nederland Karibisk Nederland Caribbean Netherlands Niderlandy Karaibskie Países Baixos Caribenhos Países Baixos Caribenhos Insulele Caraibe Olandeze Бонэйр, Синт-Эстатиус и Саба Karibské Holandsko Nizozemski Karibi Karaibet holandeze Карипска Холандија Karibiska Nederländerna Uholanzi ya Karibiani เนเธอร์แลนด์แคริบเบียน Karayip Hollandası Caribbean Netherlands Нідерландські Карибські острови Boneyr, Sint-Estatius va Saba Ca-ri-bê Hà Lan 荷属加勒比区 荷蘭加勒比區
33 BR البرازيل Бразілія Бразилия Brazil Brazil Brasil Brazílie Brasilien Brasilien Βραζιλία Brazil Brazilo Brasil Brasiilia Brasil برزیل Brasilia Brésil Brésil an Bhrasaíl Braisil O Brasil ברזיל Brazil Brazília Brasil Brasil Brasilía Brasile ブラジル 브라질 Brasil Бразилия Brazilija Brazīlija ബ്രസീൽ Бразил Brasil Brazilië Brasil Бразили Brazylia Brasil Brasil Brazilia Бразилия Brazília Brazilija Brazil Бразил Brasilien Brazil บราซิล Brezilya Бразилия Бразілія Braziliya Brazil 巴西 巴西
34 BS جزر البهاما Багамскія астравы Бахамски острови Bahamas Bahami Bahames Bahamy Bahamas Bahamas Μπαχάμες Bahamas Bahamoj Bahamas Bahama Bahamak باهاما Bahama Bahamas Bahamas na Bahámaí Na h-Eileanan Bhathama Bahamas איי בהאמה Bahami Bahama-szigetek Bahamas Bahama Bahamaeyjar Bahamas バハマ 바하마 Bahamas Багама аралдары Bahamos Bahamu salas ബഹാമാസ് Багамын арлууд Bahamas Bahama’s Bahamas Bahamas Bahamy Bahamas Bahamas Bahamas Багамы Bahamy Bahami Bahama Бахами Bahamas Bahama บาฮามาส Bahamalar Багам утраулары Багамські Острови Bagama orollari Bahamas 巴哈马 巴哈馬
35 BT بوتان Бутан Бутан Bhoutan Butan Bhutan Bhútán Bhutan Bhutan Μπουτάν Bhutan Butano Bután Bhutan Bhutan بوتان Bhutan Bhoutan Bhoutan an Bhútáin Butàn Bután בהוטן Butan Bhután Bhutan Bhutan Bútan Bhutan ブータン 부탄 Bhutan Бутан Butanas Butāna ഭൂട്ടാൻ Бутан Bhutan Bhutan Bhutan Bhutan Bhutan Butão Butão Bhutan Бутан Bhután Butan Butan Бутан Bhutan Bhutan ภูฏาน Butan Бутан Бутан Butan Bhutan 不丹 不丹
36 BV جزيرة بوفيه Востраў Бувэ остров Буве Enez Bouvet Ostrvo Buve Bouvet Bouvetův ostrov Bouvetøen Bouvetinsel Νήσος Μπουβέ Bouvet Island Bouvet Island Isla Bouvet Bouvet’ saar Bouvet uhartea جزیرهٔ بووه Bouvet’nsaari Île Bouvet Île Bouvet Oileán Bouvet Eilean Bouvet Illa Bouvet האי בובה Otok Bouvet Bouvet-sziget Insula de Bouvet Pulau Bouvet Bouveteyja Isola Bouvet ブーベ島 부베섬 Bouvet Island Буве аралы Buvė Sala Buvē sala ബൗവെട്ട് ദ്വീപ് Буве арал Bouvetøya Bouveteiland Bouvetøya Bouvet Island Wyspa Bouveta Ilha Bouvet Ilha Bouvet Insula Bouvet о-в Буве Bouvetov ostrov Bouvetov otok Ishulli Bove Острво Буве Bouvetön Kisiwa cha Bouvet เกาะบูเว Bouvet Adası Буве утравы Острів Буве Buve oroli Đảo Bouvet 布韦岛 布威島
37 BW بوتسوانا Батсвана Ботсвана Botswana Bocvana Botswana Botswana Botswana Botsuana Μποτσουάνα Botswana Bocvano Botsuana Botswana Botswana بوتسوانا Botswana Botswana Botswana an Bhotsuáin Botsuana Botswana בוצוואנה Bocvana Botswana Botswana Botswana Botsvana Botswana ボツワナ 보츠와나 Botswana Ботсвана Botsvana Botsvāna ബോട്സ്വാന Ботсван Botswana Botswana Botswana Botswana Botswana Botsuana Botsuana Botswana Ботсвана Botswana Bocvana Botsvanë Боцвана Botswana Botswana บอตสวานา Botsvana Ботсвана Ботсвана Botsvana Botswana 博茨瓦纳 波札那
38 BY بيلاروس Беларусь Беларус Belarus Bjelorusija Belarús Bělorusko Hviderusland Belarus Λευκορωσία Belarus Belorusujo Bielorrusia Valgevene Bielorrusia بلاروس Valko-Venäjä Biélorussie Biélorussie an Bhealarúis A’ Bhealaruis Belarús בלארוס Bjelorusija Belarusz Bielorussia Belarus Hvíta-Rússland Bielorussia ベラルーシ 벨라루스 Belarus Беларусь Baltarusija Baltkrievija ബെലറൂസ് Беларусь Hviterussland Belarus Kviterussland Belarus Białoruś Bielorrússia Bielorrússia Belarus Беларусь Bielorusko Belorusija Bjellorusi Белорусија Vitryssland Belarus เบลารุส Belarus Беларусь Білорусь Belarus Belarus 白俄罗斯 白俄羅斯
39 BZ بليز Беліз Белиз Belize Belize Belize Belize Belize Belize Μπελίζ Belize Belizo Belice Belize Belize بلیز Belize Belize Belize an Bheilís A’ Bheilìs Belize בליז Belize Belize Belize Belize Belís Belize ベリーズ 벨리즈 Belize Белиз Belizas Beliza ബെലീസ് Белизе Belize Belize Belize Belize Belize Belize Belize Belize Белиз Belize Belize Belizë Белизе Belize Belize เบลีซ Belize Белиз Беліз Beliz Belize 伯利兹 貝里斯
40 CA كندا Канада Канада Kanada Kanada Canadà Kanada Canada Kanada Καναδάς Canada Kanado Canadá Kanada Kanada کانادا Kanada Canada Canada Ceanada Canada O Canadá קנדה Kanada Kanada Canada Kanada Kanada Canada カナダ 캐나다 Canada Канада Kanada Kanāda കാനഡ Канад Canada Canada Canada Canada Kanada Canadá Canadá Canada Канада Kanada Kanada Kanada Канада Kanada Kanada แคนาดา Kanada Канада Канада Kanada Canada 加拿大 加拿大
41 CC جزر كوكوس (كيلينغ) Какосавыя (Кілінг) астравы Кокосови острови (острови Кийлинг) Inizi Kokoz Kokosova (Keelingova) ostrva Illes Cocos Kokosové ostrovy Cocosøerne Kokosinseln Νήσοι Κόκος (Κίλινγκ) Cocos (Keeling) Islands Cocos (Keeling) Islands Islas Cocos Kookossaared Cocos (Keeling) uharteak جزایر کوکوس Kookossaaret (Keelingsaaret) Îles Cocos Îles Cocos Oileáin Cocos (Keeling) Na h-Eileanan Chocos (Keeling) Illas Cocos (Keeling) איי קוקוס (קילינג) Kokosovi (Keelingovi) otoci Kókusz (Keeling)-szigetek Cocos (Keeling) Islands Kepulauan Cocos (Keeling) Kókoseyjar (Keeling) Isole Cocos (Keeling) ココス(キーリング)諸島 코코스 제도 Cocos (Keeling) Islands Кокос (Килинг) аралдары Kokosų (Kilingo) Salos Kokosu (Kīlinga) salas കോക്കസ് (കീലിംഗ്) ദ്വീപുകൾ Кокос (Кийлинг) арлууд Kokosøyene Cocoseilanden Kokosøyane Cocos (Keeling) Islands Wyspy Kokosowe Ilhas Cocos (Keeling) Ilhas Cocos (Keeling) Insulele Cocos (Keeling) Кокосовые о-ва Kokosové ostrovy Kokosovi otoki Ishujt Kokos Кокосова (Килингова) Острва Kokosöarna Visiwa vya Cocos (Keeling) หมู่เกาะโคโคส (คีลิง) Cocos (Keeling) Adaları Кокос (Килинг) утраулары Кокосові (Кілінґ) Острови Kokos (Kiling) orollari Quần đảo Cocos (Keeling) 科科斯(基林)群岛 科克斯(基靈)群島
42 CD الكونغو - كينشاسا Конга (Кіншаса) Конго (Киншаса) Kongo - Kinshasa Demokratska Republika Kongo Congo - Kinshasa Kongo – Kinshasa Congo-Kinshasa Kongo-Kinshasa Κονγκό - Κινσάσα Congo - Kinshasa Congo - Kinshasa República Democrática del Congo Kongo DV Kongoko Errepublika Demokratikoa کنگو - کینشاسا Kongon demokraattinen tasavalta Congo-Kinshasa Congo-Kinshasa Poblacht Dhaonlathach an Chongó Congo - Kinshasa República Democrática do Congo קונגו - קינשאסה Kongo - Kinshasa Kongó - Kinshasa Congo - Kinshasa Kongo - Kinshasa Kongó-Kinshasa Congo - Kinshasa コンゴ民主共和国(キンシャサ) 콩고-킨샤사 Congo - Kinshasa Конго-Киншаса Kongas-Kinšasa Kongo (Kinšasa) കോംഗോ - കിൻഷാസ Конго-Киншаса Kongo-Kinshasa Congo-Kinshasa Kongo-Kinshasa Congo - Kinshasa Demokratyczna Republika Konga Congo - Kinshasa Congo - Kinshasa Congo - Kinshasa Конго - Киншаса Konžská demokratická republika Demokratična republika Kongo Kongo-Kinshasa Конго - Киншаса Kongo-Kinshasa Jamhuri ya Kidemokrasia ya Kongo คองโก - กินชาซา Kongo - Kinşasa Congo - Kinshasa Конго – Кіншаса Kongo – Kinshasa Congo - Kinshasa 刚果(金) 剛果(金夏沙)
43 CF جمهورية أفريقيا الوسطى Цэнтральна-Афрыканская Рэспубліка Централноафриканска република Republik Kreizafrikan Centralnoafrička Republika República Centreafricana Středoafrická republika Den Centralafrikanske Republik Zentralafrikanische Republik Κεντροαφρικανική Δημοκρατία Central African Republic Centr-Afrika Respubliko República Centroafricana Kesk-Aafrika Vabariik Afrika Erdiko Errepublika جمهوری افریقای مرکزی Keski-Afrikan tasavalta République centrafricaine République centrafricaine Poblacht na hAfraice Láir Poblachd Meadhan Afraga República Centroafricana הרפובליקה המרכז-אפריקאית Srednjoafrička Republika Közép-afrikai Köztársaság Republica African Central Republik Afrika Tengah Mið-Afríkulýðveldið Repubblica Centrafricana 中央アフリカ共和国 중앙 아프리카 공화국 Central African Republic Борбордук Африка Республикасы Centrinės Afrikos Respublika Centrālāfrikas Republika സെൻട്രൽ ആഫ്രിക്കൻ റിപ്പബ്ലിക്ക് Төв Африкийн Бүгд Найрамдах Улс Den sentralafrikanske republikk Centraal-Afrikaanse Republiek Den sentralafrikanske republikken Central African Republic Republika Środkowoafrykańska República Centro-Africana República Centro-Africana Republica Centrafricană Центрально-Африканская Республика Stredoafrická republika Centralnoafriška republika Republika e Afrikës Qendrore Централноафричка Република Centralafrikanska republiken Jamhuri ya Afrika ya Kati สาธารณรัฐแอฟริกากลาง Orta Afrika Cumhuriyeti Үзәк Африка Республикасы Центральноафриканська Республіка Markaziy Afrika Respublikasi Cộng hòa Trung Phi 中非共和国 中非共和國
44 CG الكونغو - برازافيل Конга - Бразавіль Конго (Бразавил) Kongo - Brazzaville Kongo Congo - Brazzaville Kongo – Brazzaville Congo-Brazzaville Kongo-Brazzaville Κονγκό - Μπραζαβίλ Congo - Brazzaville Kongolo Congo Kongo Vabariik Kongo کنگو - برازویل Kongon tasavalta Congo-Brazzaville Congo-Brazzaville an Congó A’ Chongo - Brazzaville República do Congo קונגו - ברזאויל Kongo - Brazzaville Kongó - Brazzaville Congo Kongo - Brazzaville Kongó-Brazzaville Congo-Brazzaville コンゴ共和国(ブラザビル) 콩고-브라자빌 Congo - Brazzaville Конго-Браззавил Kongas-Brazavilis Kongo (Brazavila) കോംഗോ - ബ്രാസവില്ലി Конго-Браззавиль Kongo-Brazzaville Congo-Brazzaville Kongo-Brazzaville Congo - Brazzaville Kongo República do Congo República do Congo Congo - Brazzaville Конго - Браззавиль Konžská republika Kongo - Brazzaville Kongo-Brazavilë Конго - Бразавил Kongo-Brazzaville Kongo - Brazzaville คองโก - บราซซาวิล Kongo - Brazavil Congo - Brazzaville Конго – Браззавіль Kongo – Brazzavil Congo - Brazzaville 刚果(布) 剛果(布拉薩)
45 CH سويسرا Швейцарыя Швейцария Suis Švicarska Suïssa Švýcarsko Schweiz Schweiz Ελβετία Switzerland Svisujo Suiza Šveits Suitza سوئیس Sveitsi Suisse Suisse an Eilvéis An Eilbheis Suíza שווייץ Švicarska Svájc Suissa Swiss Sviss Svizzera スイス 스위스 Switzerland Швейцария Šveicarija Šveice സ്വിറ്റ്സർലാൻഡ് Швейцарь Sveits Zwitserland Sveits Switzerland Szwajcaria Suíça Suíça Elveția Швейцария Švajčiarsko Švica Zvicër Швајцарска Schweiz Uswisi สวิตเซอร์แลนด์ İsviçre Швейцария Швейцарія Shveytsariya Thụy Sĩ 瑞士 瑞士
46 CI ساحل العاج Кот-д’Івуар Кот д’Ивоар Aod an Olifant Obala Slonovače Côte d’Ivoire Pobřeží slonoviny Elfenbenskysten Côte d’Ivoire Ακτή Ελεφαντοστού Côte d’Ivoire Ebur-Bordo Côte d’Ivoire Côte d’Ivoire Boli Kosta ساحل عاج Norsunluurannikko Côte d’Ivoire Côte d’Ivoire an Cósta Eabhair Côte d’Ivoire Côte d’Ivoire חוף השנהב Obala Bjelokosti Elefántcsontpart Côte d’Ivoire Côte d’Ivoire Fílabeinsströndin Costa d’Avorio コートジボワール 코트디부아르 Côte d’Ivoire Кот-д’Ивуар Dramblio Kaulo Krantas Kotdivuāra കോട്ട് ഡി വാർ Кот-д’Ивуар Elfenbenskysten Ivoorkust Elfenbeinskysten Côte d’Ivoire Côte d’Ivoire Costa do Marfim Costa do Marfim Côte d’Ivoire Кот-д’Ивуар Pobrežie Slonoviny Slonokoščena obala Côte d’Ivoire Обала Слоноваче (Кот д’Ивоар) Côte d’Ivoire Cote d’Ivoire โกตดิวัวร์ Côte d’Ivoire Кот-д’Ивуар Кот-дʼІвуар Kot-d’Ivuar Côte d’Ivoire 科特迪瓦 象牙海岸
47 CK جزر كوك Астравы Кука острови Кук Inizi Cook Kukova ostrva Illes Cook Cookovy ostrovy Cookøerne Cookinseln Νήσοι Κουκ Cook Islands Kukinsuloj Islas Cook Cooki saared Cook uharteak جزایر کوک Cookinsaaret Îles Cook Îles Cook Oileáin Cook Eileanan Cook Illas Cook איי קוק Cookovi Otoci Cook-szigetek Insulas Cook Kepulauan Cook Cooks-eyjar Isole Cook クック諸島 쿡 제도 Cook Islands Кук аралдары Kuko Salos Kuka salas കുക്ക് ദ്വീപുകൾ Күүкийн арлууд Cookøyene Cookeilanden Cookøyane Cook Islands Wyspy Cooka Ilhas Cook Ilhas Cook Insulele Cook Острова Кука Cookove ostrovy Cookovi otoki Ishujt Kuk Кукова Острва Cooköarna Visiwa vya Cook หมู่เกาะคุก Cook Adaları Кук утраулары Острови Кука Kuk orollari Quần đảo Cook 库克群岛 庫克群島
48 CL تشيلي Чылі Чили Chile Čile Xile Chile Chile Chile Χιλή Chile Ĉilio Chile Tšiili Txile شیلی Chile Chili Chili an tSile An t-Sile Chile צ׳ילה Čile Chile Chile Cile Síle Cile チリ 칠레 Chile Чили Čilė Čīle ചിലി Чили Chile Chili Chile Chile Chile Chile Chile Chile Чили Čile Čile Kili Чиле Chile Chile ชิลี Şili Чили Чілі Chili Chile 智利 智利
49 CM الكاميرون Камерун Камерун Kameroun Kamerun Camerun Kamerun Cameroun Kamerun Καμερούν Cameroon Kameruno Camerún Kamerun Kamerun کامرون Kamerun Cameroun Cameroun Camarún Camarun Camerún קמרון Kamerun Kamerun Camerun Kamerun Kamerún Camerun カメルーン 카메룬 Cameroon Камерун Kamerūnas Kamerūna കാമറൂൺ Камерун Kamerun Kameroen Kamerun Cameroon Kamerun Camarões Camarões Camerun Камерун Kamerun Kamerun Kamerun Камерун Kamerun Kameruni แคเมอรูน Kamerun Камерун Камерун Kamerun Cameroon 喀麦隆 喀麥隆
50 CN الصين Кітай Китай Sina Kina Xina Čína Kina China Κίνα China Ĉinujo China Hiina Txina چین Kiina Chine Chine an tSín An t-Sìn A China סין Kina Kína China Tiongkok Kína Cina 中国 중국 China Кытай Kinija Ķīna ചൈന Хятад Kina China Kina Китай Chiny China China China Китай Čína Kitajska Kinë Кина Kina Uchina จีน Çin Кытай Китай Xitoy Trung Quốc 中国 中國
51 CO كولومبيا Калумбія Колумбия Kolombia Kolumbija Colòmbia Kolumbie Colombia Kolumbien Κολομβία Colombia Kolombio Colombia Colombia Kolonbia کلمبیا Kolumbia Colombie Colombie an Cholóim Coloimbia Colombia קולומביה Kolumbija Kolumbia Colombia Kolombia Kólumbía Colombia コロンビア 콜롬비아 Colombia Колумбия Kolumbija Kolumbija കൊളംബിയ Колумби Colombia Colombia Colombia Colombia Kolumbia Colômbia Colômbia Columbia Колумбия Kolumbia Kolumbija Kolumbi Колумбија Colombia Kolombia โคลอมเบีย Kolombiya Колумбия Колумбія Kolumbiya Colombia 哥伦比亚 哥倫比亞
52 CP جزيرة كليبيرتون Востраў Кліпертан остров Клипертон Enez Clipperton Ostrvo Kliperton Illa Clipperton Clippertonův ostrov Clippertonøen Clipperton-Insel Νήσος Κλίπερτον Clipperton Island Clipperton Island Isla Clipperton Clippertoni saar Clipperton uhartea جزایر کلیپرتون Clippertoninsaari Île Clipperton Île Clipperton Oileán Clipperton Eilean Clipperton Illa Clipperton האי קליפרטון Otok Clipperton Clipperton-sziget Clipperton Island Pulau Clipperton Clipperton-eyja Isola di Clipperton クリッパートン島 클립퍼튼 섬 Clipperton Island Клиппертон аралы Klipertono sala Klipertona sala ക്ലിപ്പെർട്ടൻ ദ്വീപ് Клиппертон арал Clippertonøya Clipperton Clippertonøya Clipperton Island Wyspa Clippertona Ilha de Clipperton Ilha de Clipperton Insula Clipperton о-в Клиппертон Clipperton Otok Clipperton Ishulli Klipërton Острво Клипертон Clippertonön Kisiwa cha Clipperton เกาะคลิปเปอร์ตัน Clipperton Adası Clipperton Island Острів Кліппертон Klipperton oroli Đảo Clipperton 克利珀顿岛 克里派頓島
53 CR كوستاريكا Коста-Рыка Коста Рика Costa Rica Kostarika Costa Rica Kostarika Costa Rica Costa Rica Κόστα Ρίκα Costa Rica Kostariko Costa Rica Costa Rica Costa Rica کاستاریکا Costa Rica Costa Rica Costa Rica Cósta Ríce Costa Rìcea Costa Rica קוסטה ריקה Kostarika Costa Rica Costa Rica Kosta Rika Kostaríka Costa Rica コスタリカ 코스타리카 Costa Rica Коста-Рика Kosta Rika Kostarika കോസ്റ്ററിക്ക Коста-Рика Costa Rica Costa Rica Costa Rica Costa Rica Kostaryka Costa Rica Costa Rica Costa Rica Коста-Рика Kostarika Kostarika Kosta-Rikë Костарика Costa Rica Kostarika คอสตาริกา Kosta Rika Коста-Рика Коста-Ріка Kosta-Rika Costa Rica 哥斯达黎加 哥斯大黎加
54 CU كوبا Куба Куба Kuba Kuba Cuba Kuba Cuba Kuba Κούβα Cuba Kubo Cuba Kuuba Kuba کوبا Kuuba Cuba Cuba Cúba Cùba Cuba קובה Kuba Kuba Cuba Kuba Kúba Cuba キューバ 쿠바 Cuba Куба Kuba Kuba ക്യൂബ Куба Cuba Cuba Cuba Cuba Kuba Cuba Cuba Cuba Куба Kuba Kuba Kubë Куба Kuba Cuba คิวบา Küba Куба Куба Kuba Cuba 古巴 古巴
55 CV الرأس الأخضر Каба-Вердэ Кабо Верде Kab-Glas Kape Verde Cap Verd Kapverdy Kap Verde Cabo Verde Πράσινο Ακρωτήριο Cape Verde Kabo-Verdo Cabo Verde Roheneemesaared Cabo Verde کیپ‌ورد Kap Verde Cap-Vert Cap-Vert Rinn Verde An Ceap Uaine Cabo Verde כף ורדה Zelenortska Republika Zöld-foki Köztársaság Cape Verde Tanjung Verde Grænhöfðaeyjar Capo Verde カーボベルデ 카보베르데 Cape Verde Кабо-Верде Žaliasis Kyšulys Kaboverde കേപ്പ് വേർഡ് Кабо-Верде Kapp Verde Kaapverdië Kapp Verde Cape Verde Republika Zielonego Przylądka Cabo Verde Cabo Verde Capul Verde Кабо-Верде Kapverdy Zelenortski otoki Kepi i Gjelbër Зеленортска Острва Kap Verde Cape Verde เคปเวิร์ด Cape Verde Кабо-Верде Кабо-Верде Kabo-Verde Cape Verde 佛得角 維德角
56 CW كوراساو Кюрасаа Кюрасао Curaçao Kurasao Curaçao Curaçao Curaçao Curaçao Κουρασάο Curaçao Curaçao Curazao Curaçao Curaçao کوراسائو Curaçao Curaçao Curaçao Curaçao Curaçao Curaçao קוראסאו Curaçao Curaçao Curaçao Curaçao Curacao Curaçao キュラソー 퀴라소 Curaçao Кюрасао Kiurasao Kirasao കുറാകാവോ Кюрасао Curaçao Curaçao Curaçao Curaçao Curaçao Curaçao Curaçao Curaçao Кюрасао Curaçao Curaçao Kurasao Курасао Curaçao Curacao คูราเซา Curaçao Кюрасао Кюрасао Kyurasao Curaçao 库拉索 庫拉索
57 CX جزيرة كريسماس Востраў Каляд остров Рождество Enez Christmas Božićno ostrvo Illa Christmas Vánoční ostrov Juleøen Weihnachtsinsel Νήσος των Χριστουγέννων Christmas Island Christmas Island Isla de Navidad Jõulusaar Christmas uhartea جزیرهٔ کریسمس Joulusaari Île Christmas Île Christmas Oileán na Nollag Eilean na Nollaig Illa Christmas אי חג המולד Božićni otok Karácsony-sziget Insula de Natal Pulau Natal Jólaey Isola Christmas クリスマス島 크리스마스섬 Christmas Island Рождество аралы Kalėdų Sala Ziemsvētku sala ക്രിസ്മസ് ദ്വീപ് Зул сарын арал Christmasøya Christmaseiland Christmasøya Christmas Island Wyspa Bożego Narodzenia Ilha Christmas Ilha Christmas Insula Christmas о-в Рождества Vianočný ostrov Božični otok Ishulli i Krishtlindjes Божићно Острво Julön Kisiwa cha Krismasi เกาะคริสต์มาส Christmas Adası Раштуа утравы Острів Різдва Rojdestvo oroli Đảo Giáng Sinh 圣诞岛 聖誕島
58 CY قبرص Кіпр Кипър Kiprenez Kipar Xipre Kypr Cypern Zypern Κύπρος Cyprus Kipro Chipre Küpros Zipre قبرس Kypros Chypre Chypre an Chipir Cìopras Chipre קפריסין Cipar Ciprus Cypro Siprus Kýpur Cipro キプロス 키프로스 Cyprus Кипр Kipras Kipra സൈപ്രസ് Кипр Kypros Cyprus Kypros Cyprus Cypr Chipre Chipre Cipru Кипр Cyprus Ciper Qipro Кипар Cypern Cyprus ไซปรัส Kıbrıs Кипр Кіпр Kipr Síp 塞浦路斯 賽普勒斯
59 CZ التشيك Чэхія Чехия Tchekia Češka Txèquia Česko Tjekkiet Tschechien Τσεχία Czechia Ĉeĥujo Chequia Tšehhi Txekia چک Tšekki Tchéquie Tchéquie an tSeicia An t-Seic Chequia צ׳כיה Češka Csehország Chechia Ceko Tékkland Cechia チェコ 체코 Czechia Чехия Čekija Čehija ചെക്കിയ Чех Tsjekkia Tsjechië Tsjekkia Czechia Czechy Tchéquia Tchéquia Cehia Чехия Česko Češka Çeki Чешка Tjeckien Chechia เช็ก Çekya Чехия Республикасы Чехія Chexiya Séc 捷克 捷克
60 DE ألمانيا Германія Германия Alamagn Njemačka Alemanya Německo Tyskland Deutschland Γερμανία Germany Germanujo Alemania Saksamaa Alemania آلمان Saksa Allemagne Allemagne an Ghearmáin A’ Ghearmailt Alemaña גרמניה Njemačka Németország Germania Jerman Þýskaland Germania ドイツ 독일 Almayn Германия Vokietija Vācija ജർമ്മനി Герман Tyskland Duitsland Tyskland Герман Niemcy Alemanha Alemanha Germania Германия Nemecko Nemčija Gjermani Немачка Tyskland Ujerumani เยอรมนี Almanya Германия Німеччина Germaniya Đức 德国 德國
61 DG دييغو غارسيا Востраў Дыега-Гарсія Диего Гарсия Diego Garcia Dijego Garsija Diego Garcia Diego García Diego Garcia Diego Garcia Ντιέγκο Γκαρσία Diego Garcia Diego Garcia Diego García Diego Garcia Diego García دیه‌گو گارسیا Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego García דייגו גרסיה Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia ディエゴガルシア島 디에고 가르시아 Diego Garcia Диего Гарсия Diego Garsija Djego Garsijas atols ഡീഗോ ഗ്രാഷ്യ Диего Гарсиа Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Diego Garcia Диего-Гарсия Diego Garcia Diego Garcia Diego-Garsia Дијего Гарсија Diego Garcia Diego Garcia ดิเอโกการ์เซีย Diego Garcia Diego Garcia Дієго-Гарсія Diyego-Garsiya Diego Garcia 迪戈加西亚岛 迪亞哥加西亞島
62 DJ جيبوتي Джыбуці Джибути Djibouti Džibuti Djibouti Džibutsko Djibouti Dschibuti Τζιμπουτί Djibouti Ĝibutio Yibuti Djibouti Djibuti جیبوتی Djibouti Djibouti Djibouti Djibouti Diobùtaidh Djibuti ג׳יבוטי Džibuti Dzsibuti Djibouti Jibuti Djíbútí Gibuti ジブチ 지부티 Djibouti Джибути Džibutis Džibutija ജിബൂത്തി Джибути Djibouti Djibouti Djibouti Djibouti Dżibuti Djibuti Djibuti Djibouti Джибути Džibutsko Džibuti Xhibuti Џибути Djibouti Jibuti จิบูตี Cibuti Җибүти Джибуті Jibuti Djibouti 吉布提 吉布地
63 DK الدانمرك Данія Дания Danmark Danska Dinamarca Dánsko Danmark Dänemark Δανία Denmark Danujo Dinamarca Taani Danimarka دانمارک Tanska Danemark Danemark an Danmhairg An Danmhairg Dinamarca דנמרק Danska Dánia Danmark Denmark Danmörk Danimarca デンマーク 덴마크 Denmark Дания Danija Dānija ഡെൻമാർക്ക് Дани Danmark Denemarken Danmark Denmark Dania Dinamarca Dinamarca Danemarca Дания Dánsko Danska Danimarkë Данска Danmark Denmark เดนมาร์ก Danimarka Дания Данія Daniya Đan Mạch 丹麦 丹麥
64 DM دومينيكا Дамініка Доминика Dominica Dominika Dominica Dominika Dominica Dominica Ντομίνικα Dominica Dominiko Dominica Dominica Dominika دومینیکا Dominica Dominique Dominique Doiminice Doiminicea Dominica דומיניקה Dominika Dominika Dominica Dominika Dóminíka Dominica ドミニカ国 도미니카 Dominica Доминика Dominika Dominika ഡൊമിനിക്ക Доминика Dominica Dominica Dominica Dominica Dominika Dominica Dominica Dominica Доминика Dominika Dominika Dominikë Доминика Dominica Dominika โดมินิกา Dominika Доминика Домініка Dominika Dominica 多米尼克 多米尼克
65 DO جمهورية الدومينيكان Дамініканская Рэспубліка Доминиканска република Republik Dominikan Dominikanska Republika República Dominicana Dominikánská republika Den Dominikanske Republik Dominikanische Republik Δομινικανή Δημοκρατία Dominican Republic Domingo República Dominicana Dominikaani Vabariik Dominikar Errepublika جمهوری دومینیکن Dominikaaninen tasavalta République dominicaine République dominicaine an Phoblacht Dhoiminiceach A’ Phoblachd Dhoiminiceach República Dominicana הרפובליקה הדומיניקנית Dominikanska Republika Dominikai Köztársaság Republica Dominican Republik Dominika Dóminíska lýðveldið Repubblica Dominicana ドミニカ共和国 도미니카 공화국 Dominican Republic Доминика Республикасы Dominikos Respublika Dominikāna ഡൊമിനിക്കൻ റിപ്പബ്ലിക്ക് Бүгд Найрамдах Доминикан Улс Den dominikanske republikk Dominicaanse Republiek Den dominikanske republikken Dominican Republic Dominikana República Dominicana República Dominicana Republica Dominicană Доминиканская Республика Dominikánska republika Dominikanska republika Republika Dominikane Доминиканска Република Dominikanska republiken Jamhuri ya Dominika สาธารณรัฐโดมินิกัน Dominik Cumhuriyeti Доминикана Республикасы Домініканська Республіка Dominikan Respublikasi Cộng hòa Dominica 多米尼加共和国 多明尼加共和國
66 DZ الجزائر Алжыр Алжир Aljeria Alžir Algèria Alžírsko Algeriet Algerien Αλγερία Algeria Alĝerio Argelia Alžeeria Aljeria الجزایر Algeria Algérie Algérie an Ailgéir Aildiria Alxeria אלג׳יריה Alžir Algéria Algeria Aljazair Alsír Algeria アルジェリア 알제리 Algeria Алжир Alžyras Alžīrija അൾജീരിയ Алжир Algerie Algerije Algerie Algeria Algieria Argélia Argélia Algeria Алжир Alžírsko Alžirija Algjeri Алжир Algeriet Aljeria แอลจีเรีย Cezayir Алжир Алжир Jazoir Algeria 阿尔及利亚 阿爾及利亞
67 EA سيوتا وميليلا Сеута і Мелілья Сеута и Мелия Ceuta ha Melilla Seuta i Melilja Ceuta i Melilla Ceuta a Melilla Ceuta og Melilla Ceuta und Melilla Θέουτα και Μελίγια Ceuta & Melilla Ceuta & Melilla Ceuta y Melilla Ceuta ja Melilla Ceuta eta Melilla سبته و ملیله Ceuta ja Melilla Ceuta et Melilla Ceuta et Melilla Ceuta agus Melilla Ceuta agus Melilla Ceuta e Melilla סאוטה ומלייה Ceuta i Melilla Ceuta és Melilla Ceuta & Melilla Ceuta dan Melilla Ceuta og Melilla Ceuta e Melilla セウタ・メリリャ 세우타 및 멜리야 Ceuta & Melilla Сеута жана Мелилла Seuta ir Melila Seūta un Melilja സെയൂത്ത ആൻഡ് മെലിയ Сеута ба Мелилья Ceuta og Melilla Ceuta en Melilla Ceuta og Melilla Ceuta & Melilla Ceuta i Melilla Ceuta e Melilla Ceuta e Melilla Ceuta și Melilla Сеута и Мелилья Ceuta a Melilla Ceuta in Melilla Theuta e Melila Сеута и Мелиља Ceuta och Melilla Ceuta na Melilla เซวตาและเมลียา Ceuta ve Melilla Ceuta & Melilla Сеута і Мелілья Seuta va Melilya Ceuta và Melilla 休达及梅利利亚 休達與梅利利亞
68 EC الإكوادور Эквадор Еквадор Ecuador Ekvador Equador Ekvádor Ecuador Ecuador Ισημερινός Ecuador Ekvadoro Ecuador Ecuador Ekuador اکوادور Ecuador Équateur Équateur Eacuadór Eacuador Ecuador אקוודור Ekvador Ecuador Ecuador Ekuador Ekvador Ecuador エクアドル 에콰도르 Ecuador Эквадор Ekvadoras Ekvadora ഇക്വഡോർ Эквадор Ecuador Ecuador Ecuador Ecuador Ekwador Equador Equador Ecuador Эквадор Ekvádor Ekvador Ekuador Еквадор Ecuador Ecuador เอกวาดอร์ Ekvador Эквадор Еквадор Ekvador Ecuador 厄瓜多尔 厄瓜多
69 EE إستونيا Эстонія Естония Estonia Estonija Estònia Estonsko Estland Estland Εσθονία Estonia Estonujo Estonia Eesti Estonia استونی Viro Estonie Estonie an Eastóin An Eastoin Estonia אסטוניה Estonija Észtország Estonia Estonia Eistland Estonia エストニア 에스토니아 Estonia Эстония Estija Igaunija എസ്റ്റോണിയ‍ Эстони Estland Estland Estland Estonia Estonia Estônia Estônia Estonia Эстония Estónsko Estonija Estoni Естонија Estland Estonia เอสโตเนีย Estonya Эстония Естонія Estoniya Estonia 爱沙尼亚 愛沙尼亞
70 EG مصر Егіпет Египет Egipt Egipat Egipte Egypt Egypten Ägypten Αίγυπτος Egypt Egipto Egipto Egiptus Egipto مصر Egypti Égypte Égypte an Éigipt An Èiphit Exipto מצרים Egipat Egyiptom Egypto Mesir Egyptaland Egitto エジプト 이집트 Egypt Египет Egiptas Ēģipte ഈജിപ്ത് Египет Egypt Egypte Egypt Egypt Egipt Egito Egito Egipt Египет Egypt Egipt Egjipt Египат Egypten Misri อียิปต์ Mısır Мисыр Єгипет Misr Ai Cập 埃及 埃及
71 EH الصحراء الغربية Заходняя Сахара Западна Сахара Sahara ar Cʼhornôg Zapadna Sahara Sàhara Occidental Západní Sahara Vestsahara Westsahara Δυτική Σαχάρα Western Sahara Okcidenta Saharo Sáhara Occidental Lääne-Sahara Mendebaldeko Sahara صحرای غربی Länsi-Sahara Sahara occidental Sahara occidental an Sahára Thiar Sathara an Iar O Sáhara Occidental סהרה המערבית Zapadna Sahara Nyugat-Szahara Sahara occidental Sahara Barat Vestur-Sahara Sahara occidentale 西サハラ 서사하라 Western Sahara Батыш Сахара Vakarų Sachara Rietumsahāra പശ്ചിമ സഹാറ Баруун Сахар Vest-Sahara Westelijke Sahara Vest-Sahara Western Sahara Sahara Zachodnia Saara Ocidental Saara Ocidental Sahara Occidentală Западная Сахара Západná Sahara Zahodna Sahara Saharaja Perëndimore Западна Сахара Västsahara Sahara Magharibi ซาฮาราตะวันตก Batı Sahra Western Sahara Західна Сахара G‘arbiy Sahroi Kabir Tây Sahara 西撒哈拉 西撒哈拉
72 ER إريتريا Эрытрэя Еритрея Eritrea Eritreja Eritrea Eritrea Eritrea Eritrea Ερυθραία Eritrea Eritreo Eritrea Eritrea Eritrea اریتره Eritrea Érythrée Érythrée an Eiritré Eartra Eritrea אריתריאה Eritreja Eritrea Eritrea Eritrea Erítrea Eritrea エリトリア 에리트리아 Eritrea Эритрея Eritrėja Eritreja എറിത്രിയ Эритрей Eritrea Eritrea Eritrea Eritrea Erytrea Eritreia Eritreia Eritreea Эритрея Eritrea Eritreja Eritre Еритреја Eritrea Eritrea เอริเทรีย Eritre Эритрея Еритрея Eritreya Eritrea 厄立特里亚 厄利垂亞
73 ES إسبانيا Іспанія Испания Spagn Španija Espanya Španělsko Spanien Spanien Ισπανία Spain Hispanujo España Hispaania Espainia اسپانیا Espanja Espagne Espagne an Spáinn An Spàinnt España ספרד Španjolska Spanyolország Espania Spanyol Spánn Spagna スペイン 스페인 Spain Испания Ispanija Spānija സ്‌പെയിൻ Испани Spania Spanje Spania Spain Hiszpania Espanha Espanha Spania Испания Španielsko Španija Spanjë Шпанија Spanien Uhispania สเปน İspanya Испания Іспанія Ispaniya Tây Ban Nha 西班牙 西班牙
74 ET إثيوبيا Эфіопія Етиопия Etiopia Etiopija Etiòpia Etiopie Etiopien Äthiopien Αιθιοπία Ethiopia Etiopujo Etiopía Etioopia Etiopia اتیوپی Etiopia Éthiopie Éthiopie an Aetóip An Itiop Etiopía אתיופיה Etiopija Etiópia Ethiopia Etiopia Eþíópía Etiopia エチオピア 에티오피아 Ethiopia Эфиопия Etiopija Etiopija എത്യോപ്യ Этиоп Etiopia Ethiopië Etiopia Ethiopia Etiopia Etiópia Etiópia Etiopia Эфиопия Etiópia Etiopija Etiopi Етиопија Etiopien Ethiopia เอธิโอเปีย Etiyopya Эфиопия Ефіопія Efiopiya Ethiopia 埃塞俄比亚 衣索比亞
75 EU الاتحاد الأوروبي Еўрапейскі саюз Европейски съюз Unaniezh Europa Evropska unija Unió Europea Evropská unie Den Europæiske Union Europäische Union Ευρωπαϊκή Ένωση European Union European Union Unión Europea Euroopa Liit Europar Batasuna اتحادیهٔ اروپا Euroopan unioni Union européenne Union européenne an tAontas Eorpach An t-Aonadh Eòrpach Unión Europea האיחוד האירופי Europska unija Európai Unió Union Europee Uni Eropa Evrópusambandið Unione Europea 欧州連合 유럽 연합 Unyans Europek Европа Биримдиги Europos Sąjunga Eiropas Savienība യൂറോപ്യൻ യൂണിയൻ Европын Холбоо Den europeiske union Europese Unie European Union European Union Unia Europejska União Europeia União Europeia Uniunea Europeană Европейский союз Európska únia Evropska unija Bashkimi Evropian Европска унија Europeiska unionen Umoja wa Ulaya สหภาพยุโรป Avrupa Birliği European Union Європейський Союз Yevropa Ittifoqi Liên Minh Châu Âu 欧盟 歐盟
76 FI فنلندا Фінляндыя Финландия Finland Finska Finlàndia Finsko Finland Finnland Φινλανδία Finland Finnlando Finlandia Soome Finlandia فنلاند Suomi Finlande Finlande an Fhionlainn An Fhionnlann Finlandia פינלנד Finska Finnország Finlandia Finlandia Finnland Finlandia フィンランド 핀란드 Finland Финляндия Suomija Somija ഫിൻലാൻഡ് Финлянд Finland Finland Finland Finland Finlandia Finlândia Finlândia Finlanda Финляндия Fínsko Finska Finlandë Финска Finland Ufini ฟินแลนด์ Finlandiya Финляндия Фінляндія Finlandiya Phần Lan 芬兰 芬蘭
77 FJ فيجي Фіджы Фиджи Fidji Fidži Fiji Fidži Fiji Fidschi Φίτζι Fiji Fiĝoj Fiyi Fidži Fiji فیجی Fidži Fidji Fidji Fidsí Fìdi Fixi פיג׳י Fidži Fidzsi Fiji Fiji Fídjíeyjar Figi フィジー 피지 Fiji Фиджи Fidžis Fidži ഫിജി Фижи Fiji Fiji Fiji Fiji Fidżi Fiji Fiji Fiji Фиджи Fidži Fidži Fixhi Фиџи Fiji Fiji ฟิจิ Fiji Фиджи Фіджі Fiji Fiji 斐济 斐濟
78 FK جزر فوكلاند Фалклендскія астравы Фолкландски острови Inizi Falkland Folklandska ostrva Illes Malvines Falklandské ostrovy Falklandsøerne Falklandinseln Νήσοι Φόκλαντ Falkland Islands Falkland Islands Islas Malvinas Falklandi saared Falklandak جزایر فالکلند Falklandinsaaret Îles Malouines Îles Malouines Oileáin Fháclainne Na h-Eileanan Fàclannach Illas Malvinas איי פוקלנד Falklandski otoci Falkland-szigetek Falkland Islands Kepulauan Falkland Falklandseyjar Isole Falkland フォークランド諸島 포클랜드 제도 Falkland Islands Фолкленд аралдары Folklando Salos Folklenda salas ഫാക്ക്‌ലാന്റ് ദ്വീപുകൾ Фолклендийн арлууд Falklandsøyene Falklandeilanden Falklandsøyane Falkland Islands Falklandy Ilhas Malvinas Ilhas Malvinas Insulele Falkland Фолклендские о-ва Falklandy Falklandski otoki Ishujt Falkland Фокландска Острва Falklandsöarna Visiwa vya Falkland หมู่เกาะฟอล์กแลนด์ Falkland Adaları Фолкленд утраулары Фолклендські Острови Folklend orollari Quần đảo Falkland 福克兰群岛 福克蘭群島
79 FM ميكرونيزيا Мікранезія Микронезия Mikronezia Mikronezija Micronèsia Mikronésie Mikronesien Mikronesien Μικρονησία Micronesia Mikronezio Micronesia Mikroneesia Mikronesia میکرونزی Mikronesian liittovaltio États fédérés de Micronésie États fédérés de Micronésie an Mhicrinéis Na Meanbh-eileanan Micronesia מיקרונזיה Mikronezija Mikronézia Micronesia Mikronesia Míkrónesía Micronesia ミクロネシア連邦 미크로네시아 Micronesia Микронезия Mikronezija Mikronēzija മൈക്രോനേഷ്യ Микронези Mikronesiaføderasjonen Micronesia Mikronesiaføderasjonen Micronesia Mikronezja Micronésia Micronésia Micronezia Федеративные Штаты Микронезии Mikronézia Mikronezija Mikronezi Микронезија Mikronesien Micronesia ไมโครนีเซีย Mikronezya Микронезия Мікронезія Mikroneziya Micronesia 密克罗尼西亚 密克羅尼西亞
80 FO جزر فارو Фарэрскія астравы Фарьорски острови Inizi Faero Farska ostrva Illes Fèroe Faerské ostrovy Færøerne Färöer Νήσοι Φερόες Faroe Islands Ferooj Islas Feroe Fääri saared Faroe uharteak جزایر فارو Färsaaret Îles Féroé Îles Féroé Oileáin Fharó Na h-Eileanan Fàro Illas Feroe איי פארו Farski otoci Feröer szigetek Insulas Feroe Kepulauan Faroe Færeyjar Isole Fær Øer フェロー諸島 페로 제도 Faroe Islands Фарер аралдары Farerų Salos Fēru salas ഫറോ ദ്വീപുകൾ Фарерын арлууд Færøyene Faeröer Færøyane Faroe Islands Wyspy Owcze Ilhas Faroe Ilhas Faroe Insulele Feroe Фарерские о-ва Faerské ostrovy Ferski otoki Ishujt Faroe Фарска Острва Färöarna Visiwa vya Faroe หมู่เกาะแฟโร Faroe Adaları Фарер утраулары Фарерські Острови Farer orollari Quần đảo Faroe 法罗群岛 法羅群島
81 FR فرنسا Францыя Франция Frañs Francuska França Francie Frankrig Frankreich Γαλλία France Francujo Francia Prantsusmaa Frantzia فرانسه Ranska France France an Fhrainc An Fhraing Francia צרפת Francuska Franciaország Francia Prancis Frakkland Francia フランス 프랑스 Pow Frenk Франция Prancūzija Francija ഫ്രാൻസ് Франц Frankrike Frankrijk Frankrike Франц Francja França França Franța Франция Francúzsko Francija Francë Француска Frankrike Ufaransa ฝรั่งเศส Fransa Франция Франція Fransiya Pháp 法国 法國
82 GA الغابون Габон Габон Gabon Gabon Gabon Gabon Gabon Gabun Γκαμπόν Gabon Gabono Gabón Gabon Gabon گابن Gabon Gabon Gabon an Ghabúin Gabon Gabón גבון Gabon Gabon Gabon Gabon Gabon Gabon ガボン 가봉 Gabon Габон Gabonas Gabona ഗാബൺ Габон Gabon Gabon Gabon Gabon Gabon Gabão Gabão Gabon Габон Gabon Gabon Gabon Габон Gabon Gabon กาบอง Gabon Габон Габон Gabon Gabon 加蓬 加彭
83 GB المملكة المتحدة Вялікабрытанія Обединеното кралство Rouantelezh-Unanet Ujedinjeno Kraljevstvo Regne Unit Spojené království Storbritannien Vereinigtes Königreich Ηνωμένο Βασίλειο United Kingdom Unuiĝinta Reĝlando Reino Unido Suurbritannia Erresuma Batua بریتانیا Iso-Britannia Royaume-Uni Royaume-Uni an Ríocht Aontaithe An Rìoghachd Aonaichte O Reino Unido בריטניה Ujedinjeno Kraljevstvo Egyesült Királyság Regno Unite Inggris Raya Bretland Regno Unito イギリス 영국 Rywvaneth Unys Улуу Британия Jungtinė Karalystė Apvienotā Karaliste യുണൈറ്റഡ് കിംഗ്ഡം Их Британи Storbritannia Verenigd Koninkrijk Storbritannia Стыр Британи Wielka Brytania Reino Unido Reino Unido Regatul Unit Великобритания Spojené kráľovstvo Združeno kraljestvo Mbretëria e Bashkuar Уједињено Краљевство Storbritannien Ufalme wa Muungano สหราชอาณาจักร Birleşik Krallık Берләшкән Корольлек Велика Британія Buyuk Britaniya Vương quốc Anh 英国 英國
84 GD غرينادا Грэнада Гренада Grenada Grenada Grenada Grenada Grenada Grenada Γρενάδα Grenada Grenado Granada Grenada Grenada گرنادا Grenada Grenade Grenade Greanáda Greanàda Granada גרנדה Grenada Grenada Grenada Grenada Grenada Grenada グレナダ 그레나다 Grenada Гренада Grenada Grenāda ഗ്രനേഡ Гренада Grenada Grenada Grenada Grenada Grenada Granada Granada Grenada Гренада Grenada Grenada Granadë Гренада Grenada Grenada เกรเนดา Grenada Гренада Ґренада Grenada Grenada 格林纳达 格瑞那達
85 GE جورجيا Грузія Грузия Jorjia Gruzija Geòrgia Gruzie Georgien Georgien Γεωργία Georgia Kartvelujo Georgia Gruusia Georgia گرجستان Georgia Géorgie Géorgie an tSeoirsia A’ Chairtbheil Xeorxia גאורגיה Gruzija Grúzia Georgia Georgia Georgía Georgia ジョージア 조지아 Georgia Грузия Gruzija Gruzija ജോർജ്ജിയ Гүрж Georgia Georgië Georgia Гуырдзыстон Gruzja Geórgia Geórgia Georgia Грузия Gruzínsko Gruzija Gjeorgji Грузија Georgien Jojia จอร์เจีย Gürcistan Грузия Грузія Gruziya Georgia 格鲁吉亚 喬治亞
86 GF غويانا الفرنسية Французская Гвіяна Френска Гвиана Gwiana cʼhall Francuska Gvajana Guaiana Francesa Francouzská Guyana Fransk Guyana Französisch-Guayana Γαλλική Γουιάνα French Guiana Franca Gviano Guayana Francesa Prantsuse Guajaana Guyana Frantsesa گویان فرانسه Ranskan Guayana Guyane française Guyane française Guáin na Fraince Guidheàna na Frainge Güiana Francesa גיאנה הצרפתית Francuska Gijana Francia Guyana Guyana francese Guyana Prancis Franska Gvæjana Guyana francese 仏領ギアナ 프랑스령 기아나 French Guiana Француздук Гвиана Prancūzijos Gviana Francijas Gviāna ഫ്രഞ്ച് ഗയാന Францын Гвиана Fransk Guyana Frans-Guyana Fransk Guyana French Guiana Gujana Francuska Guiana Francesa Guiana Francesa Guyana Franceză Французская Гвиана Francúzska Guyana Francoska Gvajana Guajana Franceze Француска Гвајана Franska Guyana Guiana ya Ufaransa เฟรนช์เกียนา Fransız Guyanası Француз Гвианасы Французька Ґвіана Fransuz Gvianasi Guiana thuộc Pháp 法属圭亚那 法屬圭亞那
87 GG غيرنزي Гернсі Гърнзи Gwernenez Gernzi Guernsey Guernsey Guernsey Guernsey Γκέρνζι Guernsey Guernsey Guernsey Guernsey Guernesey گرنزی Guernsey Guernesey Guernesey Geansaí Geàrnsaidh Guernsey גרנזי Guernsey Guernsey Guernsey Guernsey Guernsey Guernsey ガーンジー 건지 Guernsey Гернси Gernsis Gērnsija ഗേൺസി Гернси Guernsey Guernsey Guernsey Guernsey Guernsey Guernsey Guernsey Guernsey Гернси Guernsey Guernsey Gernsej Гернзи Guernsey Guernsey เกิร์นซีย์ Guernsey Гернси Ґернсі Gernsi Guernsey 根西岛 根息
88 GH غانا Гана Гана Ghana Gana Ghana Ghana Ghana Ghana Γκάνα Ghana Ganao Ghana Ghana Ghana غنا Ghana Ghana Ghana Gána Gàna Ghana גאנה Gana Ghána Ghana Ghana Gana Ghana ガーナ 가나 Ghana Гана Gana Gana ഘാന Гана Ghana Ghana Ghana Ghana Ghana Gana Gana Ghana Гана Ghana Gana Ganë Гана Ghana Ghana กานา Gana Гана Гана Gana Ghana 加纳 迦納
89 GI جبل طارق Гібралтар Гибралтар Jibraltar Gibraltar Gibraltar Gibraltar Gibraltar Gibraltar Γιβραλτάρ Gibraltar Ĝibraltaro Gibraltar Gibraltar Gibraltar جبل‌الطارق Gibraltar Gibraltar Gibraltar Giobráltar Diobraltar Xibraltar גיברלטר Gibraltar Gibraltár Gibraltar Gibraltar Gíbraltar Gibilterra ジブラルタル 지브롤터 Gibraltar Гибралтар Gibraltaras Gibraltārs ജിബ്രാൾട്ടർ Гибралтар Gibraltar Gibraltar Gibraltar Gibraltar Gibraltar Gibraltar Gibraltar Gibraltar Гибралтар Gibraltár Gibraltar Gjibraltar Гибралтар Gibraltar Gibraltar ยิบรอลตาร์ Cebelitarık Гибралтар Ґібралтар Gibraltar Gibraltar 直布罗陀 直布羅陀
90 GL غرينلاند Грэнландыя Гренландия Greunland Grenland Groenlàndia Grónsko Grønland Grönland Γροιλανδία Greenland Gronlando Groenlandia Gröönimaa Groenlandia گرینلند Grönlanti Groenland Groenland an Ghraonlainn A’ Ghraonlann Groenlandia גרינלנד Grenland Grönland Groenlandia Grinlandia Grænland Groenlandia グリーンランド 그린란드 Greenland Гренландия Grenlandija Grenlande ഗ്രീൻലാൻറ് Гренланд Grønland Groenland Grønland Greenland Grenlandia Groenlândia Groenlândia Groenlanda Гренландия Grónsko Grenlandija Grënlandë Гренланд Grönland Greenland กรีนแลนด์ Grönland Гренландия Ґренландія Grenlandiya Greenland 格陵兰 格陵蘭
91 GM غامبيا Гамбія Гамбия Gambia Gambija Gàmbia Gambie Gambia Gambia Γκάμπια Gambia Gambio Gambia Gambia Gambia گامبیا Gambia Gambie Gambie an Ghaimbia A’ Ghaimbia Gambia גמביה Gambija Gambia Gambia Gambia Gambía Gambia ガンビア 감비아 Gambia Гамбия Gambija Gambija ഗാംബിയ Гамби Gambia Gambia Gambia Gambia Gambia Gâmbia Gâmbia Gambia Гамбия Gambia Gambija Gambi Гамбија Gambia Gambia แกมเบีย Gambiya Гамбия Гамбія Gambiya Gambia 冈比亚 甘比亞
92 GN غينيا Гвінея Гвинея Ginea Gvineja Guinea Guinea Guinea Guinea Γουινέα Guinea Gvineo Guinea Guinea Ginea گینه Guinea Guinée Guinée an Ghuine Gini Guinea גינאה Gvineja Guinea Guinea Guinea Gínea Guinea ギニア 기니 Guinea Гвинея Gvinėja Gvineja ഗിനിയ Гвиней Guinea Guinee Guinea Guinea Gwinea Guiné Guiné Guineea Гвинея Guinea Gvineja Guine Гвинеја Guinea Gine กินี Gine Гвинея Гвінея Gvineya Guinea 几内亚 幾內亞
93 GP غوادلوب Гвадэлупа Гваделупа Gwadeloup Gvadalupe Guadeloupe Guadeloupe Guadeloupe Guadeloupe Γουαδελούπη Guadeloupe Gvadelupo Guadalupe Guadeloupe Guadalupe گوادلوپ Guadeloupe Guadeloupe Guadeloupe Guadalúip Guadalup Guadalupe גוואדלופ Guadalupe Guadeloupe Guadeloupe Guadeloupe Gvadelúpeyjar Guadalupa グアドループ 과들루프 Guadeloupe Гваделупа Gvadelupa Gvadelupa ഗ്വാഡലൂപ്പ് Гваделуп Guadeloupe Guadeloupe Guadeloupe Guadeloupe Gwadelupa Guadalupe Guadalupe Guadelupa Гваделупа Guadeloupe Guadeloupe Guadelupë Гваделуп Guadeloupe Guadeloupe กวาเดอลูป Guadeloupe Гваделупа Ґваделупа Gvadelupe Guadeloupe 瓜德罗普 瓜地洛普
94 GQ غينيا الاستوائية Экватарыяльная Гвінея Екваториална Гвинея Ginea ar Cʼheheder Ekvatorijalna Gvineja Guinea Equatorial Rovníková Guinea Ækvatorialguinea Äquatorialguinea Ισημερινή Γουινέα Equatorial Guinea Ekvatora Gvineo Guinea Ecuatorial Ekvatoriaal-Guinea Ekuatore Ginea گینهٔ استوایی Päiväntasaajan Guinea Guinée équatoriale Guinée équatoriale an Ghuine Mheánchiorclach Gini Mheadhan-Chriosach Guinea Ecuatorial גינאה המשוונית Ekvatorska Gvineja Egyenlítői-Guinea Guinea equatorial Guinea Ekuatorial Miðbaugs-Gínea Guinea Equatoriale 赤道ギニア 적도 기니 Equatorial Guinea Экватордук Гвинея Pusiaujo Gvinėja Ekvatoriālā Gvineja ഇക്വറ്റോറിയൽ ഗിനിയ Экваторын Гвиней Ekvatorial-Guinea Equatoriaal-Guinea Ekvatorial-Guinea Equatorial Guinea Gwinea Równikowa Guiné Equatorial Guiné Equatorial Guineea Ecuatorială Экваториальная Гвинея Rovníková Guinea Ekvatorialna Gvineja Guineja Ekuatoriale Екваторијална Гвинеја Ekvatorialguinea Guinea ya Ikweta อิเควทอเรียลกินี Ekvator Ginesi Экваториаль Гвинея Екваторіальна Гвінея Ekvatorial Gvineya Guinea Xích Đạo 赤道几内亚 赤道幾內亞
95 GR اليونان Грэцыя Гърция Gres Grčka Grècia Řecko Grækenland Griechenland Ελλάδα Greece Grekujo Grecia Kreeka Grezia یونان Kreikka Grèce Grèce an Ghréig A’ Ghreug Grecia יוון Grčka Görögország Grecia Yunani Grikkland Grecia ギリシャ 그리스 Greece Греция Graikija Grieķija ഗ്രീസ് Грек Hellas Griekenland Hellas Greece Grecja Grécia Grécia Grecia Греция Grécko Grčija Greqi Грчка Grekland Ugiriki กรีซ Yunanistan Греция Греція Gretsiya Hy Lạp 希腊 希臘
96 GS جورجيا الجنوبية وجزر ساندويتش الجنوبية Паўднёвая Георгія і Паўднёвыя Сандвічавы астравы Южна Джорджия и Южни Сандвичеви острови Inizi Georgia ar Su hag Inizi Sandwich ar Su Južna Džordžija i Južna Sendvič ostrva Illes Geòrgia del Sud i Sandwich del Sud Jižní Georgie a Jižní Sandwichovy ostrovy South Georgia og De Sydlige Sandwichøer Südgeorgien und die Südlichen Sandwichinseln Νήσοι Νότια Γεωργία και Νότιες Σάντουιτς South Georgia & South Sandwich Islands Sud-Georgio kaj Sud-Sandviĉinsuloj Islas Georgia del Sur y Sandwich del Sur Lõuna-Georgia ja Lõuna-Sandwichi saared Hegoaldeko Georgia eta Hegoaldeko Sandwich uharteak جورجیای جنوبی و جزایر ساندویچ جنوبی Etelä-Georgia ja Eteläiset Sandwichsaaret Géorgie du Sud et îles Sandwich du Sud Géorgie du Sud et îles Sandwich du Sud an tSeoirsia Theas agus Oileáin Sandwich Theas Seòirsea a Deas is na h-Eileanan Sandwich a Deas Illas Xeorxia do Sur e Sandwich do Sur ג׳ורג׳יה הדרומית ואיי סנדוויץ׳ הדרומיים Južna Georgija i Južni Sendvički Otoci Déli-Georgia és Déli-Sandwich-szigetek South Georgia & South Sandwich Islands Georgia Selatan & Kep. Sandwich Selatan Suður-Georgía og Suður-Sandvíkureyjar Georgia del Sud e Sandwich australi サウスジョージア・サウスサンドウィッチ諸島 사우스조지아 사우스샌드위치 제도 South Georgia & South Sandwich Islands Түштүк Жоржия жана Түштүк Сэндвич аралдары Pietų Džordžija ir Pietų Sandvičo salos Dienviddžordžija un Dienvidsendviču salas ദക്ഷിണ ജോർജ്ജിയയും ദക്ഷിണ സാൻഡ്‌വിച്ച് ദ്വീപുകളും Өмнөд Жоржиа ба Өмнөд Сэндвичийн арлууд Sør-Georgia og Sør-Sandwichøyene Zuid-Georgia en Zuidelijke Sandwicheilanden Sør-Georgia og Sør-Sandwichøyene South Georgia & South Sandwich Islands Georgia Południowa i Sandwich Południowy Ilhas Geórgia do Sul e Sandwich do Sul Ilhas Geórgia do Sul e Sandwich do Sul Georgia de Sud și Insulele Sandwich de Sud Южная Георгия и Южные Сандвичевы о-ва Južná Georgia a Južné Sandwichove ostrovy Južna Georgia in Južni Sandwichevi otoki Xhorxha Jugore dhe Ishujt Senduiçë të Jugut Јужна Џорџија и Јужна Сендвичка Острва Sydgeorgien och Sydsandwichöarna Visiwa vya Georgia Kusini na Sandwich Kusini เกาะเซาท์จอร์เจียและหมู่เกาะเซาท์แซนด์วิช Güney Georgia ve Güney Sandwich Adaları Көньяк Георгия һәм Көньяк Сандвич утраулары Південна Джорджія та Південні Сандвічеві Острови Janubiy Georgiya va Janubiy Sendvich orollari Nam Georgia & Quần đảo Nam Sandwich 南乔治亚和南桑威奇群岛 南喬治亞與南三明治群島
97 GT غواتيمالا Гватэмала Гватемала Guatemala Gvatemala Guatemala Guatemala Guatemala Guatemala Γουατεμάλα Guatemala Gvatemalo Guatemala Guatemala Guatemala گواتمالا Guatemala Guatemala Guatemala Guatamala Guatamala Guatemala גואטמלה Gvatemala Guatemala Guatemala Guatemala Gvatemala Guatemala グアテマラ 과테말라 Guatemala Гватемала Gvatemala Gvatemala ഗ്വാട്ടിമാല Гватемал Guatemala Guatemala Guatemala Guatemala Gwatemala Guatemala Guatemala Guatemala Гватемала Guatemala Gvatemala Guatemalë Гватемала Guatemala Guatemala กัวเตมาลา Guatemala Гватемала Ґватемала Gvatemala Guatemala 危地马拉 瓜地馬拉
98 GU غوام Гуам Гуам Guam Guam Guam Guam Guam Guam Γκουάμ Guam Gvamo Guam Guam Guam گوام Guam Guam Guam Guam Guam Guam גואם Guam Guam Guam Guam Gvam Guam グアム Guam Гуам Guamas Guama ഗ്വാം Гуам Guam Guam Guam Guam Guam Guam Guam Guam Гуам Guam Guam Guam Гуам Guam Guam กวม Guam Гуам Ґуам Guam Guam 关岛 關島
99 GW غينيا بيساو Гвінея-Бісау Гвинея-Бисау Ginea-Bissau Gvineja-Bisao Guinea Bissau Guinea-Bissau Guinea-Bissau Guinea-Bissau Γουινέα Μπισάου Guinea-Bissau Gvineo-Bisaŭo Guinea-Bisáu Guinea-Bissau Ginea Bissau گینهٔ بیسائو Guinea-Bissau Guinée-Bissau Guinée-Bissau Guine Bissau Gini-Bioso A Guinea Bissau גינאה-ביסאו Gvineja Bisau Bissau-Guinea Guinea-Bissau Guinea-Bissau Gínea-Bissá Guinea-Bissau ギニアビサウ 기니비사우 Guinea-Bissau Гвинея-Бисау Bisau Gvinėja Gvineja-Bisava ഗിനിയ-ബിസൗ Гвиней-Бисау Guinea-Bissau Guinee-Bissau Guinea-Bissau Guinea-Bissau Gwinea Bissau Guiné-Bissau Guiné-Bissau Guineea-Bissau Гвинея-Бисау Guinea-Bissau Gvineja Bissau Guine-Bisau Гвинеја-Бисао Guinea-Bissau Ginebisau กินี-บิสเซา Gine-Bissau Гвинея-Бисау Гвінея-Бісау Gvineya-Bisau Guinea-Bissau 几内亚比绍 幾內亞比索
100 GY غيانا Гаяна Гаяна Guyana Gvajana Guyana Guyana Guyana Guyana Γουιάνα Guyana Gujano Guyana Guyana Guyana گویان Guyana Guyana Guyana an Ghuáin Guidheàna Güiana גיאנה Gvajana Guyana Guyana Guyana Gvæjana Guyana ガイアナ 가이아나 Guyana Гайана Gajana Gajāna ഗയാന Гайана Guyana Guyana Guyana Guyana Gujana Guiana Guiana Guyana Гайана Guyana Gvajana Guajanë Гвајана Guyana Guyana กายอานา Guyana Гайана Ґайана Gayana Guyana 圭亚那 蓋亞那
101 HK هونغ كونغ Ганконг Хонконг Hong Kong Hong Kong Hong Kong Hongkong Hongkong Hongkong Χονγκ Κονγκ Hong Kong Hong Kong Hong Kong Hongkong Hong Kong هنگ‌کنگ Hongkong Hong Kong Hong Kong Hong Cong Hong Kong Hong Kong הונג קונג Hong Kong Hongkong Hong Kong Hong Kong Hong Kong Hong Kong 香港 홍콩 Hong Kong Гонконг Honkongas Honkonga ഹോങ്കോങ് Хонг Конг Hongkong Hongkong Hongkong Hong Kong Hongkong Hong Kong Hong Kong Hong Kong Гонконг Hongkong Hongkong Hong-Kong Хонгконг Hong Kong Hong Kong ฮ่องกง Hong Kong Гонконг Гонконг Gonkong Hồng Kông 香港 香港
102 HM جزيرة هيرد وجزر ماكدونالد Астравы Херд і Макдональд острови Хърд и Макдоналд Inizi Heard ha McDonald Herd i arhipelag MekDonald Illa Heard i Illes McDonald Heardův ostrov a McDonaldovy ostrovy Heard Island og McDonald Islands Heard und McDonaldinseln Νήσοι Χερντ και Μακντόναλντ Heard & McDonald Islands Herda kaj Makdonaldaj Insuloj Islas Heard y McDonald Heardi ja McDonaldi saared Heard eta McDonald uharteak هرد و جزایر مک‌دونالد Heard ja McDonaldinsaaret Îles Heard et McDonald Îles Heard et McDonald Oileán Heard agus Oileáin McDonald Eilean Heard is MhicDhòmhnaill Illa Heard e Illas McDonald איי הרד ומקדונלד Otoci Heard i McDonald Heard-sziget és McDonald-szigetek Heard & McDonald Islands Pulau Heard dan Kepulauan McDonald Heard og McDonaldseyjar Isole Heard e McDonald ハード島・マクドナルド諸島 허드 맥도널드 제도 Heard & McDonald Islands Херд жана Макдональд аралдары Herdo ir Makdonaldo Salos Hērda sala un Makdonalda salas ഹിയേർഡും മക്‌ഡൊണാൾഡ് ദ്വീപുകളും Херд ба Макдональдийн арлууд Heard- og McDonaldøyene Heard en McDonaldeilanden Heardøya og McDonaldøyane Heard & McDonald Islands Wyspy Heard i McDonalda Ilhas Heard e McDonald Ilhas Heard e McDonald Insula Heard și Insulele McDonald о-ва Херд и Макдональд Heardov ostrov a Macdonaldove ostrovy Heardov otok in McDonaldovi otoki Ishujt Hërd e Mekdonald Острво Херд и Мекдоналдова острва Heardön och McDonaldöarna Kisiwa cha Heard na Visiwa vya McDonald เกาะเฮิร์ดและหมู่เกาะแมกดอนัลด์ Heard Adası ve McDonald Adaları Херд утравы һәм Макдональд утраулары Острови Герд і Макдоналд Xerd va Makdonald orollari Quần đảo Heard và McDonald 赫德岛和麦克唐纳群岛 赫德島及麥唐納群島
103 HN هندوراس Гандурас Хондурас Honduras Honduras Hondures Honduras Honduras Honduras Ονδούρα Honduras Honduro Honduras Honduras Honduras هندوراس Honduras Honduras Honduras Hondúras Hondùras Honduras הונדורס Honduras Honduras Honduras Honduras Hondúras Honduras ホンジュラス 온두라스 Honduras Гондурас Hondūras Hondurasa ഹോണ്ടുറാസ് Гондурас Honduras Honduras Honduras Honduras Honduras Honduras Honduras Honduras Гондурас Honduras Honduras Honduras Хондурас Honduras Honduras ฮอนดูรัส Honduras Гондурас Гондурас Gonduras Honduras 洪都拉斯 宏都拉斯
104 HR كرواتيا Харватыя Хърватия Kroatia Hrvatska Croàcia Chorvatsko Kroatien Kroatien Κροατία Croatia Kroatujo Croacia Horvaatia Kroazia کرواسی Kroatia Croatie Croatie an Chróit A’ Chròthais Croacia קרואטיה Hrvatska Horvátország Croatia Kroasia Króatía Croazia クロアチア 크로아티아 Croatia Хорватия Kroatija Horvātija ക്രൊയേഷ്യ Хорват Kroatia Kroatië Kroatia Croatia Chorwacja Croácia Croácia Croația Хорватия Chorvátsko Hrvaška Kroaci Хрватска Kroatien Croatia โครเอเชีย Hırvatistan Хорватия Хорватія Xorvatiya Croatia 克罗地亚 克羅埃西亞
105 HT هايتي Гаіці Хаити Haiti Haiti Haití Haiti Haiti Haiti Αϊτή Haiti Haitio Haití Haiti Haiti هائیتی Haiti Haïti Haïti Háítí Haidhti Haití האיטי Haiti Haiti Haiti Haiti Haítí Haiti ハイチ 아이티 Haiti Гаити Haitis Haiti ഹെയ്തി Гаити Haiti Haïti Haiti Haiti Haiti Haiti Haiti Haiti Гаити Haiti Haiti Haiti Хаити Haiti Haiti เฮติ Haiti Гаити Гаїті Gaiti Haiti 海地 海地
106 HU هنغاريا Венгрыя Унгария Hungaria Mađarska Hongria Maďarsko Ungarn Ungarn Ουγγαρία Hungary Hungarujo Hungría Ungari Hungaria مجارستان Unkari Hongrie Hongrie an Ungáir An Ungair Hungría הונגריה Mađarska Magyarország Hungaria Hungaria Ungverjaland Ungheria ハンガリー 헝가리 Hungary Венгрия Vengrija Ungārija ഹംഗറി Унгар Ungarn Hongarije Ungarn Hungary Węgry Hungria Hungria Ungaria Венгрия Maďarsko Madžarska Hungari Мађарска Ungern Hungaria ฮังการี Macaristan Венгрия Угорщина Vengriya Hungary 匈牙利 匈牙利
107 IC جزر الكناري Канарскія астравы Канарски острови Inizi Kanariez Kanarska ostrva Illes Canàries Kanárské ostrovy Kanariske øer Kanarische Inseln Κανάριοι Νήσοι Canary Islands Canary Islands Canarias Kanaari saared Kanariak جزایر قناری Kanariansaaret Îles Canaries Îles Canaries na hOileáin Chanáracha Na h-Eileanan Canàrach Illas Canarias האיים הקנריים Kanarski otoci Kanári-szigetek Canary Islands Kepulauan Canaria Kanaríeyjar Isole Canarie カナリア諸島 카나리아 제도 Canary Islands Канар аралдары Kanarų salos Kanāriju salas കാനറി ദ്വീപുകൾ Канарын арлууд Kanariøyene Canarische Eilanden Kanariøyane Canary Islands Wyspy Kanaryjskie Ilhas Canárias Ilhas Canárias Insulele Canare Канарские о-ва Kanárske ostrovy Kanarski otoki Ishujt Kanarie Канарска Острва Kanarieöarna Visiwa vya Kanari หมู่เกาะคานารี Kanarya Adaları Canary Islands Канарські Острови Kanar orollari Quần đảo Canary 加纳利群岛 加那利群島
108 ID إندونيسيا Інданезія Индонезия Indonezia Indonezija Indonèsia Indonésie Indonesien Indonesien Ινδονησία Indonesia Indonezio Indonesia Indoneesia Indonesia اندونزی Indonesia Indonésie Indonésie an Indinéis Na h-Innd-innse Indonesia אינדונזיה Indonezija Indonézia Indonesia Indonesia Indónesía Indonesia インドネシア 인도네시아 Indonesia Индонезия Indonezija Indonēzija ഇന്തോനേഷ്യ Индонез Indonesia Indonesië Indonesia Indonesia Indonezja Indonésia Indonésia Indonezia Индонезия Indonézia Indonezija Indonezi Индонезија Indonesien Indonesia อินโดนีเซีย Endonezya Индонезия Індонезія Indoneziya Indonesia 印度尼西亚 印尼
109 IE أيرلندا Ірландыя Ирландия Iwerzhon Irska Irlanda Irsko Irland Irland Ιρλανδία Ireland Irlando Irlanda Iirimaa Irlanda ایرلند Irlanti Irlande Irlande Éire Èirinn Irlanda אירלנד Irska Írország Irlanda Irlandia Írland Irlanda アイルランド 아일랜드 Ireland Ирландия Airija Īrija അയർലൻഡ് Ирланд Irland Ierland Irland Ireland Irlandia Irlanda Irlanda Irlanda Ирландия Írsko Irska Irlandë Ирска Irland Ayalandi ไอร์แลนด์ İrlanda Ирландия Ірландія Irlandiya Ireland 爱尔兰 愛爾蘭
110 IL إسرائيل Ізраіль Израел Israel Izrael Israel Izrael Israel Israel Ισραήλ Israel Israelo Israel Iisrael Israel اسرائیل Israel Israël Israël Iosrael Iosrael Israel ישראל Izrael Izrael Israel Israel Ísrael Israele イスラエル 이스라엘 Israel Израиль Izraelis Izraēla ഇസ്രായേൽ Израиль Israel Israël Israel Israel Izrael Israel Israel Israel Израиль Izrael Izrael Izrael Израел Israel Israeli อิสราเอล İsrail Израиль Ізраїль Isroil Israel 以色列 以色列
111 IM جزيرة مان Востраў Мэн остров Ман Enez Vanav Ostrvo Man Illa de Man Ostrov Man Isle of Man Isle of Man Νήσος του Μαν Isle of Man Isle of Man Isla de Man Mani saar Man uhartea جزیرهٔ من Mansaari Île de Man Île de Man Oileán Mhanann Eilean Mhanainn Illa de Man האי מאן Otok Man Man-sziget Insula de Man Pulau Man Mön Isola di Man マン島 맨 섬 Isle of Man Мэн аралы Meno Sala Mena ഐൽ ഓഫ് മാൻ Мэн Арал Man Isle of Man Man Isle of Man Wyspa Man Ilha de Man Ilha de Man Insula Man о-в Мэн Ostrov Man Otok Man Ishulli i Manit Острво Ман Isle of Man Kisiwa cha Man เกาะแมน Man Adası Мэн утравы Острів Мен Men oroli Đảo Man 马恩岛 曼島
112 IN الهند Індыя Индия India Indija Índia Indie Indien Indien Ινδία India Hindujo India India India هند Intia Inde Inde an India Na h-Innseachan A India הודו Indija India India India Indland India インド 인도 Eynda Индия Indija Indija ഇന്ത്യ Энэтхэг India India India Инди Indie Índia Índia India Индия India Indija Indi Индија Indien India อินเดีย Hindistan Индия Індія Hindiston Ấn Độ 印度 印度
113 IO الإقليم البريطاني في المحيط الهندي Брытанская тэрыторыя ў Індыйскім акіяне Британска територия в Индийския океан Tiriad breizhveurat Meurvor Indez Britanska Teritorija u Indijskom Okeanu Territori Britànic de l’Oceà Índic Britské indickooceánské území Det Britiske Territorium i Det Indiske Ocean Britisches Territorium im Indischen Ozean Βρετανικά Εδάφη Ινδικού Ωκεανού British Indian Ocean Territory Brita Hindoceana Teritorio Territorio Británico del Océano Índico Briti India ookeani ala Indiako Ozeanoko lurralde britainiarra قلمرو بریتانیا در اقیانوس هند Brittiläinen Intian valtameren alue Territoire britannique de l’océan Indien Territoire britannique de l’océan Indien Críoch Aigéan Indiach na Breataine Ranntair Breatannach Cuan nan Innseachan Territorio Británico do Océano Índico הטריטוריה הבריטית באוקיינוס ההודי Britanski Indijskooceanski teritorij Brit Indiai-óceáni Terület Territorio oceanic britanno-indian Wilayah Inggris di Samudra Hindia Bresku Indlandshafseyjar Territorio britannico dell’Oceano Indiano 英領インド洋地域 영국령 인도양 식민지 British Indian Ocean Territory Инди океанындагы Британ территориясы Indijos Vandenyno Britų Sritis Indijas okeāna Britu teritorija ബ്രിട്ടീഷ് ഇന്ത്യൻ മഹാസമുദ്ര പ്രദേശം Британийн харьяа Энэтхэгийн далай дахь нутаг дэвсгэр Det britiske territoriet i Indiahavet Brits Indische Oceaanterritorium Det britiske territoriet I Indiahavet British Indian Ocean Territory Brytyjskie Terytorium Oceanu Indyjskiego Território Britânico do Oceano Índico Território Britânico do Oceano Índico Teritoriul Britanic din Oceanul Indian Британская территория в Индийском океане Britské indickooceánske územie Britansko ozemlje v Indijskem oceanu Territori Britanik i Oqeanit Indian Британска територија Индијског океана Brittiska territoriet i Indiska oceanen Eneo la Uingereza katika Bahari Hindi บริติชอินเดียนโอเชียนเทร์ริทอรี Britanya Hint Okyanusu Toprakları Британиянең Һинд Океанындагы Территориясе Британська територія в Індійському Океані Britaniyaning Hind okeanidagi hududi Lãnh thổ Ấn Độ Dương thuộc Anh 英属印度洋领地 英屬印度洋領地
114 IQ العراق Ірак Ирак Iraq Irak Iraq Irák Irak Irak Ιράκ Iraq Irako Irak Iraak Irak عراق Irak Irak Irak an Iaráic Ioràc Iraq עיראק Irak Irak Irak Irak Írak Iraq イラク 이라크 Iraq Ирак Irakas Irāka ഇറാഖ് Ирак Irak Irak Irak Iraq Irak Iraque Iraque Irak Ирак Irak Irak Irak Ирак Irak Iraki อิรัก Irak Гыйрак Ірак Iroq Iraq 伊拉克 伊拉克
115 IR إيران Іран Иран Iran Iran Iran Írán Iran Iran Ιράν Iran Irano Irán Iraan Iran ایران Iran Iran Iran an Iaráin Ioràn Irán איראן Iran Irán Iran Iran Íran Iran イラン 이란 Iran Иран Iranas Irāna ഇറാൻ Иран Iran Iran Iran Iran Iran Irã Irã Iran Иран Irán Iran Iran Иран Iran Iran อิหร่าน İran Иран Іран Eron Iran 伊朗 伊朗
116 IS آيسلندا Ісландыя Исландия Island Island Islàndia Island Island Island Ισλανδία Iceland Islando Islandia Island Islandia ایسلند Islanti Islande Islande an Íoslainn Innis Tìle Islandia איסלנד Island Izland Islanda Islandia Ísland Islanda アイスランド 아이슬란드 Iceland Исландия Islandija Islande ഐസ്‌ലാന്റ് Исланд Island IJsland Island Iceland Islandia Islândia Islândia Islanda Исландия Island Islandija Islandë Исланд Island Aisilandi ไอซ์แลนด์ İzlanda Исландия Ісландія Islandiya Iceland 冰岛 冰島
117 IT إيطاليا Італія Италия Italia Italija Itàlia Itálie Italien Italien Ιταλία Italy Italujo Italia Itaalia Italia ایتالیا Italia Italie Italie an Iodáil An Eadailt Italia איטליה Italija Olaszország Italia Italia Ítalía Italia イタリア 이탈리아 Itali Италия Italija Itālija ഇറ്റലി Итали Italia Italië Italia Итали Włochy Itália Itália Italia Италия Taliansko Italija Itali Италија Italien Italia อิตาลี İtalya Италия Італія Italiya Italy 意大利 義大利
118 JE جيرسي Джэрсі Джърси Jerzenez Jersey Jersey Jersey Jersey Jersey Τζέρζι Jersey Jersey Jersey Jersey Jersey جرزی Jersey Jersey Jersey Geirsí Deàrsaidh Jersey ג׳רזי Jersey Jersey Jersey Jersey Jersey Jersey ジャージー 저지 Jersey Жерси Džersis Džērsija ജേഴ്സി Жерси Jersey Jersey Jersey Jersey Jersey Jersey Jersey Jersey Джерси Jersey Jersey Xhersej Џерзи Jersey Jersey เจอร์ซีย์ Jersey Джерси Джерсі Jersi Jersey 泽西岛 澤西島
119 JM جامايكا Ямайка Ямайка Jamaika Jamajka Jamaica Jamajka Jamaica Jamaika Τζαμάικα Jamaica Jamajko Jamaica Jamaica Jamaika جامائیکا Jamaika Jamaïque Jamaïque Iamáice Diameuga Xamaica ג׳מייקה Jamajka Jamaica Jamaica Jamaika Jamaíka Giamaica ジャマイカ 자메이카 Jamaica Ямайка Jamaika Jamaika ജമൈക്ക Ямайка Jamaica Jamaica Jamaica Jamaica Jamajka Jamaica Jamaica Jamaica Ямайка Jamajka Jamajka Xhamajkë Јамајка Jamaica Jamaika จาเมกา Jamaika Ямайка Ямайка Yamayka Jamaica 牙买加 牙買加
120 JO الأردن Іарданія Йордания Jordania Jordan Jordània Jordánsko Jordan Jordanien Ιορδανία Jordan Jordanio Jordania Jordaania Jordania اردن Jordania Jordanie Jordanie an Iordáin Iòrdan Xordania ירדן Jordan Jordánia Jordania Yordania Jórdanía Giordania ヨルダン 요르단 Jordan Иордания Jordanija Jordānija ജോർദ്ദാൻ Йордан Jordan Jordanië Jordan Jordan Jordania Jordânia Jordânia Iordania Иордания Jordánsko Jordanija Jordani Јордан Jordanien Jordan จอร์แดน Ürdün Иордания Йорданія Iordaniya Jordan 约旦 約旦
121 JP اليابان Японія Япония Japan Japan Japó Japonsko Japan Japan Ιαπωνία Japan Japanujo Japón Jaapan Japonia ژاپن Japani Japon Japon an tSeapáin An t-Seapan O Xapón יפן Japan Japán Japon Jepang Japan Giappone 日本 일본 Japan Япония Japonija Japāna ജപ്പാൻ Япон Japan Japan Japan Япон Japonia Japão Japão Japonia Япония Japonsko Japonska Japoni Јапан Japan Japani ญี่ปุ่น Japonya Япония Японія Yaponiya Nhật Bản 日本 日本
122 KE كينيا Кенія Кения Kenya Kenija Kenya Keňa Kenya Kenia Κένυα Kenya Kenjo Kenia Keenia Kenya کنیا Kenia Kenya Kenya an Chéinia Ceinia Kenya קניה Kenija Kenya Kenya Kenya Kenía Kenya ケニア 케냐 Kenya Кения Kenija Kenija കെനിയ Кени Kenya Kenia Kenya Kenya Kenia Quênia Quênia Kenya Кения Keňa Kenija Kenia Кенија Kenya Kenya เคนยา Kenya Кения Кенія Keniya Kenya 肯尼亚 肯亞
123 KG قيرغيزستان Кыргызстан Киргизстан Kyrgyzstan Kirgistan Kirguizistan Kyrgyzstán Kirgisistan Kirgisistan Κιργιστάν Kyrgyzstan Kirgizistano Kirguistán Kõrgõzstan Kirgizistan قرقیزستان Kirgisia Kirghizistan Kirghizistan an Chirgeastáin Cìorgastan Kirguizistán קירגיזסטן Kirgistan Kirgizisztán Kirghizistan Kirgistan Kirgistan Kirghizistan キルギス 키르기스스탄 Kyrgyzstan Кыргызстан Kirgizija Kirgizstāna കിർഗിസ്ഥാൻ Кыргызстан Kirgisistan Kirgizië Kirgisistan Kyrgyzstan Kirgistan Quirguistão Quirguistão Kârgâzstan Киргизия Kirgizsko Kirgizistan Kirgizi Киргистан Kirgizistan Kirigizistani คีร์กีซสถาน Kırgızistan Кыргызстан Киргизстан Qirgʻiziston Kyrgyzstan 吉尔吉斯斯坦 吉爾吉斯
124 KH كمبوديا Камбоджа Камбоджа Kambodja Kambodža Cambodja Kambodža Cambodja Kambodscha Καμπότζη Cambodia Kamboĝo Camboya Kambodža Kanbodia کامبوج Kambodža Cambodge Cambodge an Chambóid Cambuidea Camboxa קמבודיה Kambodža Kambodzsa Cambodgia Kamboja Kambódía Cambogia カンボジア 캄보디아 Cambodia Камбоджа Kambodža Kambodža കംബോഡിയ Камбож Kambodsja Cambodja Kambodsja Cambodia Kambodża Camboja Camboja Cambodgia Камбоджа Kambodža Kambodža Kamboxhia Камбоџа Kambodja Kambodia กัมพูชา Kamboçya Камбоджа Камбоджа Kambodja Campuchia 柬埔寨 柬埔寨
125 KI كيريباتي Кірыбаці Кирибати Kiribati Kiribati Kiribati Kiribati Kiribati Kiribati Κιριμπάτι Kiribati Kiribato Kiribati Kiribati Kiribati کیریباتی Kiribati Kiribati Kiribati Cireabaití Ciribeas Kiribati קיריבאטי Kiribati Kiribati Kiribati Kiribati Kíribatí Kiribati キリバス 키리바시 Kiribati Кирибати Kiribatis Kiribati കിരിബാട്ടി Кирибати Kiribati Kiribati Kiribati Kiribati Kiribati Quiribati Quiribati Kiribati Кирибати Kiribati Kiribati Kiribati Кирибати Kiribati Kiribati คิริบาส Kiribati Кирибати Кірібаті Kiribati Kiribati 基里巴斯 吉里巴斯
126 KM جزر القمر Каморскія астравы Коморски острови Komorez Komori Comores Komory Comorerne Komoren Κομόρες Comoros Komoroj Comoras Komoorid Komoreak کومور Komorit Comores Comores Oileáin Chomóra Comoros Comores קומורו Komori Comore-szigetek Comoros Komoro Kómoreyjar Comore コモロ 코모로 Comoros Коморос Komorai Komoru salas കോമൊറോസ് Коморын арлууд Komorene Comoren Komorane Comoros Komory Comores Comores Comore Коморы Komory Komori Komore Коморска Острва Komorerna Komoro คอโมโรส Komorlar Комор утраулары Комори Komor orollari Comoros 科摩罗 葛摩
127 KN سانت كيتس ونيفيس Сент-Кітс і Невіс Сейнт Китс и Невис Saint Kitts ha Nevis Sveti Kits i Nevis Saint Christopher i Nevis Svatý Kryštof a Nevis Saint Kitts og Nevis St. Kitts und Nevis Σεν Κιτς και Νέβις St. Kitts & Nevis Sent-Kristofo kaj Neviso San Cristóbal y Nieves Saint Kitts ja Nevis Saint Kitts eta Nevis سنت کیتس و نویس Saint Kitts ja Nevis Saint-Christophe-et-Niévès Saint-Christophe-et-Niévès San Críostóir-Nimheas Naomh Crìstean is Nibheis Saint Kitts e Nevis סנט קיטס ונוויס Sveti Kristofor i Nevis Saint Kitts és Nevis Sancte Christophoro e Nevis Saint Kitts dan Nevis Sankti Kitts og Nevis Saint Kitts e Nevis セントクリストファー・ネーヴィス 세인트키츠 네비스 St. Kitts & Nevis Сент-Китс жана Невис Sent Kitsas ir Nevis Sentkitsa un Nevisa സെന്റ് കിറ്റ്‌സും നെവിസും Сент-Киттс ба Невис Saint Kitts og Nevis Saint Kitts en Nevis Saint Kitts og Nevis St. Kitts & Nevis Saint Kitts i Nevis São Cristóvão e Névis São Cristóvão e Névis Saint Kitts și Nevis Сент-Китс и Невис Svätý Krištof a Nevis Saint Kitts in Nevis Shën-Kits dhe Nevis Сент Китс и Невис S:t Kitts och Nevis St. Kitts na Nevis เซนต์คิตส์และเนวิส Saint Kitts ve Nevis Сент-Китс һәм Невис Сент-Кітс і Невіс Sent-Kits va Nevis St. Kitts và Nevis 圣基茨和尼维斯 聖克里斯多福及尼維斯
128 KP كوريا الشمالية Паўночная Карэя Северна Корея Korea an Norzh Sjeverna Koreja Corea del Nord Severní Korea Nordkorea Nordkorea Βόρεια Κορέα North Korea Nord-Koreo Corea del Norte Põhja-Korea Ipar Korea کرهٔ شمالی Pohjois-Korea Corée du Nord Corée du Nord an Chóiré Thuaidh Coirèa a Tuath Corea do Norte קוריאה הצפונית Sjeverna Koreja Észak-Korea Corea del Nord Korea Utara Norður-Kórea Corea del Nord 北朝鮮 북한 North Korea Түндүк Корея Šiaurės Korėja Ziemeļkoreja ഉത്തരകൊറിയ Хойд Солонгос Nord-Korea Noord-Korea Nord-Korea North Korea Korea Północna Coreia do Norte Coreia do Norte Coreea de Nord КНДР Severná Kórea Severna Koreja Kore e Veriut Северна Кореја Nordkorea Korea Kaskazini เกาหลีเหนือ Kuzey Kore Төньяк Корея Північна Корея Shimoliy Koreya Triều Tiên 朝鲜 北韓
129 KR كوريا الجنوبية Паўднёвая Карэя Южна Корея Korea ar Su Južna Koreja Corea del Sud Jižní Korea Sydkorea Südkorea Νότια Κορέα South Korea Sud-Koreo Corea del Sur Lõuna-Korea Hego Korea کرهٔ جنوبی Etelä-Korea Corée du Sud Corée du Sud an Chóiré Theas Coirèa Corea do Sur קוריאה הדרומית Južna Koreja Dél-Korea Corea del Sud Korea Selatan Suður-Kórea Corea del Sud 韓国 대한민국 South Korea Түштүк Корея Pietų Korėja Dienvidkoreja ദക്ഷിണകൊറിയ Өмнөд Солонгос Sør-Korea Zuid-Korea Sør-Korea South Korea Korea Południowa Coreia do Sul Coreia do Sul Coreea de Sud Республика Корея Južná Kórea Južna Koreja Kore e Jugut Јужна Кореја Sydkorea Korea Kusini เกาหลีใต้ Güney Kore South Korea Південна Корея Janubiy Koreya Hàn Quốc 韩国 南韓
130 KW الكويت Кувейт Кувейт Koweit Kuvajt Kuwait Kuvajt Kuwait Kuwait Κουβέιτ Kuwait Kuvajto Kuwait Kuveit Kuwait کویت Kuwait Koweït Koweït Cuáit Cuibhèit Kuwait כווית Kuvajt Kuvait Kuwait Kuwait Kúveit Kuwait クウェート 쿠웨이트 Kuwait Кувейт Kuveitas Kuveita കുവൈറ്റ് Кувейт Kuwait Koeweit Kuwait Kuwait Kuwejt Kuwait Kuwait Kuweit Кувейт Kuvajt Kuvajt Kuvajt Кувајт Kuwait Kuwait คูเวต Kuveyt Күвәйт Кувейт Quvayt Kuwait 科威特 科威特
131 KY جزر كايمان Кайманавы астравы Кайманови острови Inizi Cayman Kajmanska ostrva Illes Caiman Kajmanské ostrovy Caymanøerne Kaimaninseln Νήσοι Κέιμαν Cayman Islands Kejmanoj Islas Caimán Kaimanisaared Kaiman uharteak جزایر کِیمن Caymansaaret Îles Caïmans Îles Caïmans Oileáin Cayman Na h-Eileanan Caimean Illas Caimán איי קיימן Kajmanski otoci Kajmán-szigetek Insulas de Caiman Kepulauan Cayman Caymaneyjar Isole Cayman ケイマン諸島 케이맨 제도 Cayman Islands Кайман аралдары Kaimanų Salos Kaimanu salas കേയ്മാൻ ദ്വീപുകൾ Кайманы арлууд Caymanøyene Kaaimaneilanden Caymanøyane Cayman Islands Kajmany Ilhas Cayman Ilhas Cayman Insulele Cayman Острова Кайман Kajmanie ostrovy Kajmanski otoki Ishujt Kajman Кајманска Острва Caymanöarna Visiwa vya Cayman หมู่เกาะเคย์แมน Cayman Adaları Кайман утраулары Кайманові Острови Kayman orollari Quần đảo Cayman 开曼群岛 開曼群島
132 KZ كازاخستان Казахстан Казахстан Kazakstan Kazahstan Kazakhstan Kazachstán Kasakhstan Kasachstan Καζακστάν Kazakhstan Kazaĥstano Kazajistán Kasahstan Kazakhstan قزاقستان Kazakstan Kazakhstan Kazakhstan an Chasacstáin Casachstàn Kazakistán קזחסטן Kazahstan Kazahsztán Kazakhstan Kazakstan Kasakstan Kazakistan カザフスタン 카자흐스탄 Kazakhstan Казакстан Kazachstanas Kazahstāna കസാഖിസ്ഥാൻ Казахстан Kasakhstan Kazachstan Kasakhstan Kazakhstan Kazachstan Cazaquistão Cazaquistão Kazahstan Казахстан Kazachstan Kazahstan Kazakistan Казахстан Kazakstan Kazakistani คาซัคสถาน Kazakistan Казахстан Казахстан Qozogʻiston Kazakhstan 哈萨克斯坦 哈薩克
133 LA لاوس Лаос Лаос Laos Laos Laos Laos Laos Laos Λάος Laos Laoso Laos Laos Laos لائوس Laos Laos Laos Laos Làthos Laos לאוס Laos Laosz Laos Laos Laos Laos ラオス 라오스 Laos Лаос Laosas Laosa ലാവോസ് Лаос Laos Laos Laos Laos Laos Laos Laos Laos Лаос Laos Laos Laos Лаос Laos Laos ลาว Laos Лаос Лаос Laos Lào 老挝 寮國
134 LB لبنان Ліван Ливан Liban Liban Líban Libanon Libanon Libanon Λίβανος Lebanon Libano Líbano Liibanon Libano لبنان Libanon Liban Liban an Liobáin Leabanon O Líbano לבנון Libanon Libanon Libano Lebanon Líbanon Libano レバノン 레바논 Lebanon Ливан Libanas Libāna ലെബനൻ Ливан Libanon Libanon Libanon Lebanon Liban Líbano Líbano Liban Ливан Libanon Libanon Liban Либан Libanon Lebanon เลบานอน Lübnan Ливан Ліван Livan Li-băng 黎巴嫩 黎巴嫩
135 LC سانت لوسيا Сент-Люсія Сейнт Лусия Saint Lucia Sveta Lucija Saint Lucia Svatá Lucie Saint Lucia St. Lucia Αγία Λουκία St. Lucia Sent-Lucio Santa Lucía Saint Lucia Santa Luzia سنت لوسیا Saint Lucia Sainte-Lucie Sainte-Lucie Saint Lucia Naomh Lùisea Santa Lucía סנט לוסיה Sveta Lucija Saint Lucia Sancte Lucia Saint Lucia Sankti Lúsía Saint Lucia セントルシア 세인트루시아 St. Lucia Сент-Люсия Sent Lusija Sentlūsija സെന്റ് ലൂസിയ Сент Люсиа St. Lucia Saint Lucia St. Lucia St. Lucia Saint Lucia Santa Lúcia Santa Lúcia Sfânta Lucia Сент-Люсия Svätá Lucia Saint Lucia Shën-Luçia Света Луција S:t Lucia St. Lucia เซนต์ลูเซีย Saint Lucia Сент-Люсия Сент-Люсія Sent-Lyusiya St. Lucia 圣卢西亚 聖露西亞
136 LI ليختنشتاين Ліхтэнштэйн Лихтенщайн Liechtenstein Lihtenštajn Liechtenstein Lichtenštejnsko Liechtenstein Liechtenstein Λιχτενστάιν Liechtenstein Liĥtenŝtejno Liechtenstein Liechtenstein Liechtenstein لیختن‌اشتاین Liechtenstein Liechtenstein Liechtenstein Lichtinstéin Lichtenstein Liechtenstein ליכטנשטיין Lihtenštajn Liechtenstein Liechtenstein Liechtenstein Liechtenstein Liechtenstein リヒテンシュタイン 리히텐슈타인 Liechtenstein Лихтенштейн Lichtenšteinas Lihtenšteina ലിച്ചൺസ്റ്റൈൻ Лихтенштейн Liechtenstein Liechtenstein Liechtenstein Liechtenstein Liechtenstein Liechtenstein Liechtenstein Liechtenstein Лихтенштейн Lichtenštajnsko Lihtenštajn Lihtenshtajn Лихтенштајн Liechtenstein Liechtenstein ลิกเตนสไตน์ Liechtenstein Лихтенштейн Ліхтенштейн Lixtenshteyn Liechtenstein 列支敦士登 列支敦斯登
137 LK سريلانكا Шры-Ланка Шри Ланка Sri Lanka Šri Lanka Sri Lanka Srí Lanka Sri Lanka Sri Lanka Σρι Λάνκα Sri Lanka Sri-Lanko Sri Lanka Sri Lanka Sri Lanka سری‌لانکا Sri Lanka Sri Lanka Sri Lanka Srí Lanca Sri Lanca Sri Lanka סרי לנקה Šri Lanka Srí Lanka Sri Lanka Sri Lanka Srí Lanka Sri Lanka スリランカ 스리랑카 Sri Lanka Шри-Ланка Šri Lanka Šrilanka ശ്രീലങ്ക Шри-Ланка Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Sri Lanka Шри-Ланка Srí Lanka Šrilanka Sri-Lankë Шри Ланка Sri Lanka Sri Lanka ศรีลังกา Sri Lanka Шри-Ланка Шрі-Ланка Shri-Lanka Sri Lanka 斯里兰卡 斯里蘭卡
138 LR ليبيريا Ліберыя Либерия Liberia Liberija Libèria Libérie Liberia Liberia Λιβερία Liberia Liberio Liberia Libeeria Liberia لیبریا Liberia Libéria Libéria an Libéir Libèir Liberia ליבריה Liberija Libéria Liberia Liberia Líbería Liberia リベリア 라이베리아 Liberia Либерия Liberija Libērija ലൈബീരിയ Либери Liberia Liberia Liberia Liberia Liberia Libéria Libéria Liberia Либерия Libéria Liberija Liberi Либерија Liberia Liberia ไลบีเรีย Liberya Либерия Ліберія Liberiya Liberia 利比里亚 賴比瑞亞
139 LS ليسوتو Лесота Лесото Lesotho Lesoto Lesotho Lesotho Lesotho Lesotho Λεσότο Lesotho Lesoto Lesoto Lesotho Lesotho لسوتو Lesotho Lesotho Lesotho Leosóta Leasoto Lesotho לסוטו Lesoto Lesotho Lesotho Lesotho Lesótó Lesotho レソト 레소토 Lesotho Лесото Lesotas Lesoto ലെസോതോ Лесото Lesotho Lesotho Lesotho Lesotho Lesotho Lesoto Lesoto Lesotho Лесото Lesotho Lesoto Lesoto Лесото Lesotho Lesoto เลโซโท Lesotho Лесото Лесото Lesoto Lesotho 莱索托 賴索托
140 LT ليتوانيا Літва Литва Lituania Litvanija Lituània Litva Litauen Litauen Λιθουανία Lithuania Litovujo Lituania Leedu Lituania لیتوانی Liettua Lituanie Lituanie an Liotuáin An Liotuain Lituania ליטא Litva Litvánia Lituania Lituania Litháen Lituania リトアニア 리투아니아 Lithuania Литва Lietuva Lietuva ലിത്വാനിയ Литва Litauen Litouwen Litauen Lithuania Litwa Lituânia Lituânia Lituania Литва Litva Litva Lituani Литванија Litauen Lithuania ลิทัวเนีย Litvanya Литва Литва Litva Litva 立陶宛 立陶宛
141 LU لوكسمبورغ Люксембург Люксембург Luksembourg Luksemburg Luxemburg Lucembursko Luxembourg Luxemburg Λουξεμβούργο Luxembourg Luksemburgo Luxemburgo Luksemburg Luxenburgo لوکزامبورگ Luxemburg Luxembourg Luxembourg Lucsamburg Lugsamburg Luxemburgo לוקסמבורג Luksemburg Luxemburg Luxemburg Luksemburg Lúxemborg Lussemburgo ルクセンブルク 룩셈부르크 Luxembourg Люксембург Liuksemburgas Luksemburga ലക്സംബർഗ് Люксембург Luxemburg Luxemburg Luxembourg Luxembourg Luksemburg Luxemburgo Luxemburgo Luxemburg Люксембург Luxembursko Luksemburg Luksemburg Луксембург Luxemburg Luxembourg ลักเซมเบิร์ก Lüksemburg Люксембург Люксембурґ Lyuksemburg Luxembourg 卢森堡 盧森堡
142 LV لاتفيا Латвія Латвия Latvia Latvija Letònia Lotyšsko Letland Lettland Λετονία Latvia Latvujo Letonia Läti Letonia لتونی Latvia Lettonie Lettonie an Laitvia An Laitbhe Letonia לטביה Latvija Lettország Lettonia Latvia Lettland Lettonia ラトビア 라트비아 Latvia Латвия Latvija Latvija ലാറ്റ്വിയ Латви Latvia Letland Latvia Latvia Łotwa Letônia Letônia Letonia Латвия Lotyšsko Latvija Letoni Летонија Lettland Latvia ลัตเวีย Letonya Латвия Латвія Latviya Latvia 拉脱维亚 拉脫維亞
143 LY ليبيا Лівія Либия Libia Libija Líbia Libye Libyen Libyen Λιβύη Libya Libio Libia Liibüa Libia لیبی Libya Libye Libye an Libia Libia Libia לוב Libija Líbia Libya Libia Líbía Libia リビア 리비아 Libya Ливия Libija Lībija ലിബിയ Ливи Libya Libië Libya Libya Libia Líbia Líbia Libia Ливия Líbya Libija Libi Либија Libyen Libya ลิเบีย Libya Ливия Лівія Liviya Libya 利比亚 利比亞
144 MA المغرب Марока Мароко Maroko Maroko Marroc Maroko Marokko Marokko Μαρόκο Morocco Maroko Marruecos Maroko Maroko مراکش Marokko Maroc Maroc Maracó Moroco Marrocos מרוקו Maroko Marokkó Marocco Maroko Marokkó Marocco モロッコ 모로코 Morocco Марокко Marokas Maroka മൊറോക്കൊ Морокко Marokko Marokko Marokko Morocco Maroko Marrocos Marrocos Maroc Марокко Maroko Maroko Marok Мароко Marocko Morocco โมร็อกโก Fas Марокко Марокко Marokash Ma-rốc 摩洛哥 摩洛哥
145 MC موناكو Манака Монако Monaco Monako Mònaco Monako Monaco Monaco Μονακό Monaco Monako Mónaco Monaco Monako موناکو Monaco Monaco Monaco Monacó Monaco Mónaco מונקו Monako Monaco Monaco Monako Mónakó Monaco モナコ 모나코 Monaco Монако Monakas Monako മൊണാക്കോ Монако Monaco Monaco Monaco Monaco Monako Mônaco Mônaco Monaco Монако Monako Monako Monako Монако Monaco Monaco โมนาโก Monako Монако Монако Monako Monaco 摩纳哥 摩納哥
146 MD مولدوفا Малдова Молдова Moldova Moldavija Moldàvia Moldavsko Moldova Republik Moldau Μολδαβία Moldova Moldavujo Moldavia Moldova Moldavia مولداوی Moldova Moldavie Moldavie an Mholdóiv A’ Mholdobha Moldavia מולדובה Moldavija Moldova Moldavia Moldova Moldóva Moldavia モルドバ 몰도바 Moldova Молдова Moldova Moldova മൾഡോവ Молдова Moldova Moldavië Moldova Moldova Mołdawia Moldova Moldova Republica Moldova Молдова Moldavsko Moldavija Moldavi Молдавија Moldavien Moldova มอลโดวา Moldova Молдова Молдова Moldova Moldova 摩尔多瓦 摩爾多瓦
147 ME الجبل الأسود Чарнагорыя Черна гора Montenegro Crna Gora Montenegro Černá Hora Montenegro Montenegro Μαυροβούνιο Montenegro Montenegro Montenegro Montenegro Montenegro مونته‌نگرو Montenegro Monténégro Monténégro Montainéagró Am Monadh Neagrach Montenegro מונטנגרו Crna Gora Montenegró Montenegro Montenegro Svartfjallaland Montenegro モンテネグロ 몬테네그로 Montenegro Черногория Juodkalnija Melnkalne മോണ്ടെനെഗ്രോ Монтенегро Montenegro Montenegro Montenegro Montenegro Czarnogóra Montenegro Montenegro Muntenegru Черногория Čierna Hora Črna gora Mal i Zi Црна Гора Montenegro Montenegro มอนเตเนโกร Karadağ Черногория Чорногорія Chernogoriya Montenegro 黑山 蒙特內哥羅
148 MF سان مارتن Сен-Мартэн Сен Мартен Saint Martin Sveti Martin Saint Martin Svatý Martin (Francie) Saint Martin St. Martin Άγιος Μαρτίνος (Γαλλικό τμήμα) St. Martin St. Martin San Martín Saint-Martin San Martin سنت مارتین Saint-Martin Saint-Martin Saint-Martin Saint-Martin Naomh Màrtainn Saint Martin סן מרטן Saint Martin Saint Martin St. Martin Saint Martin Saint-Martin Saint Martin サン・マルタン 생마르탱 St. Martin Сент-Мартин Sen Martenas Senmartēna സെന്റ് മാർട്ടിൻ Сент-Мартин Saint-Martin Saint-Martin Saint Martin St. Martin Saint-Martin São Martinho São Martinho Sfântul Martin Сен-Мартен Svätý Martin (fr.) Saint Martin Sen-Marten Свети Мартин (Француска) Saint-Martin St. Martin เซนต์มาร์ติน Saint Martin Сент-Мартин Сен-Мартен Sent-Martin St. Martin 法属圣马丁 法屬聖馬丁
149 MG مدغشقر Мадагаскар Мадагаскар Madagaskar Madagaskar Madagascar Madagaskar Madagaskar Madagaskar Μαδαγασκάρη Madagascar Madagaskaro Madagascar Madagaskar Madagaskar ماداگاسکار Madagaskar Madagascar Madagascar Madagascar Madagasgar Madagascar מדגסקר Madagaskar Madagaszkár Madagascar Madagaskar Madagaskar Madagascar マダガスカル 마다가스카르 Madagascar Мадагаскар Madagaskaras Madagaskara മഡഗാസ്കർ Мадагаскар Madagaskar Madagaskar Madagaskar Madagascar Madagaskar Madagascar Madagascar Madagascar Мадагаскар Madagaskar Madagaskar Madagaskar Мадагаскар Madagaskar Madagaska มาดากัสการ์ Madagaskar Мадагаскар Мадагаскар Madagaskar Madagascar 马达加斯加 馬達加斯加
150 MH جزر مارشال Маршалавы астравы Маршалови острови Inizi Marshall Maršalova ostrva Illes Marshall Marshallovy ostrovy Marshalløerne Marshallinseln Νήσοι Μάρσαλ Marshall Islands Marŝaloj Islas Marshall Marshalli Saared Marshall Uharteak جزایر مارشال Marshallinsaaret Îles Marshall Îles Marshall Oileáin Marshall Eileanan Mharshall Illas Marshall איי מרשל Maršalovi Otoci Marshall-szigetek Insulas Marshall Kepulauan Marshall Marshalleyjar Isole Marshall マーシャル諸島 마셜 제도 Marshall Islands Маршалл аралдары Maršalo Salos Māršala salas മാർഷൽ ദ്വീപുകൾ Маршаллын арлууд Marshalløyene Marshalleilanden Marshalløyane Marshall Islands Wyspy Marshalla Ilhas Marshall Ilhas Marshall Insulele Marshall Маршалловы Острова Marshallove ostrovy Marshallovi otoki Ishujt Marshall Маршалска Острва Marshallöarna Visiwa vya Marshall หมู่เกาะมาร์แชลล์ Marshall Adaları Маршалл утраулары Маршаллові Острови Marshall orollari Quần đảo Marshall 马绍尔群岛 馬紹爾群島
151 MK مقدونيا الشمالية Паўночная Македонія Северна Македония Makedonia an Norzh Sjeverna Makedonija Macedònia del Nord Severní Makedonie Nordmakedonien Nordmazedonien Βόρεια Μακεδονία North Macedonia North Macedonia Macedonia del Norte Põhja-Makedoonia Ipar Mazedonia مقدونیهٔ شمالی Pohjois-Makedonia Macédoine du Nord Macédoine du Nord an Mhacadóin Thuaidh A’ Mhasadon a Tuath Macedonia do Norte מקדוניה הצפונית Sjeverna Makedonija Észak-Macedónia Macedonia Makedonia Utara Norður-Makedónía Macedonia del Nord 北マケドニア 북마케도니아 North Macedonia Түндүк Македония Šiaurės Makedonija Ziemeļmaķedonija നോർത്ത് മാസിഡോണിയ Хойд Македон Nord-Makedonia Noord-Macedonië Nord-Makedonia North Macedonia Macedonia Północna Macedônia do Norte Macedônia do Norte Macedonia de Nord Северная Македония Severné Macedónsko Severna Makedonija Maqedonia e Veriut Северна Македонија Nordmakedonien Masedonia ya Kaskazini มาซิโดเนียเหนือ Kuzey Makedonya Төньяк Македония Північна Македонія Shimoliy Makedoniya Bắc Macedonia 北马其顿 北馬其頓
152 ML مالي Малі Мали Mali Mali Mali Mali Mali Mali Μάλι Mali Malio Mali Mali Mali مالی Mali Mali Mali Mailí Màili Malí מאלי Mali Mali Mali Mali Malí Mali マリ 말리 Mali Мали Malis Mali മാലി Мали Mali Mali Mali Mali Mali Mali Mali Mali Мали Mali Mali Mali Мали Mali Mali มาลี Mali Мали Малі Mali Mali 马里 馬利
153 MM ميانمار (بورما) М’янма (Бірма) Мианмар (Бирма) Myanmar (Birmania) Mjanmar Myanmar (Birmània) Myanmar (Barma) Myanmar (Burma) Myanmar Μιανμάρ (Βιρμανία) Myanmar (Burma) Mjanmao Myanmar (Birmania) Myanmar (Birma) Myanmar (Birmania) میانمار (برمه) Myanmar (Burma) Myanmar (Birmanie) Myanmar (Birmanie) Maenmar (Burma) Miànmar Myanmar (Birmania) מיאנמר (בורמה) Mjanmar (Burma) Mianmar Birmania/Myanmar Myanmar (Burma) Mjanmar (Búrma) Myanmar (Birmania) ミャンマー (ビルマ) 미얀마 Myanmar (Burma) Мьянма (Бирма) Mianmaras (Birma) Mjanma (Birma) മ്യാൻമാർ (ബർമ്മ) Мьянмар Myanmar (Burma) Myanmar (Birma) Myanmar (Burma) Myanmar (Burma) Mjanma (Birma) Mianmar (Birmânia) Mianmar (Birmânia) Myanmar (Birmania) Мьянма (Бирма) Mjanmarsko Mjanmar (Burma) Mianmar (Burmë) Мијанмар (Бурма) Myanmar (Burma) Myanmar (Burma) เมียนมาร์ (พม่า) Myanmar (Burma) Myanmar (Burma) Мʼянма (Бірма) Myanma (Birma) Myanmar (Miến Điện) 缅甸 緬甸
154 MN منغوليا Манголія Монголия Mongolia Mongolija Mongòlia Mongolsko Mongoliet Mongolei Μογγολία Mongolia Mongolujo Mongolia Mongoolia Mongolia مغولستان Mongolia Mongolie Mongolie an Mhongóil Dùthaich nam Mongol Mongolia מונגוליה Mongolija Mongólia Mongolia Mongolia Mongólía Mongolia モンゴル 몽골 Mongolia Монголия Mongolija Mongolija മംഗോളിയ Монгол Mongolia Mongolië Mongolia Mongolia Mongolia Mongólia Mongólia Mongolia Монголия Mongolsko Mongolija Mongoli Монголија Mongoliet Mongolia มองโกเลีย Moğolistan Монголия Монголія Mongoliya Mông Cổ 蒙古 蒙古
155 MO مكاو Макаа Макао Macau Makao Macau Macao Macao Macau Μακάο Macao Macao Macao Macau Macau ماکائو Macao Macao Macao Macao Macàthu Macau מקאו Makao Makaó Macao Makau Makaó Macao マカオ 마카오 Macao Макау Makao Makao മക്കാവു Макао Macao Macau Macao Macao Makau Macau Macau Macao Макао Macao Macao Makao Макао Macao Makau มาเก๊า Makao Макао Макао Makao Macao 澳门 澳門
156 MP جزر ماريانا الشمالية Паўночныя Марыянскія астравы Северни Мариански острови Inizi Mariana an Norzh Sjeverna Marijanska ostrva Illes Mariannes del Nord Severní Mariany Nordmarianerne Nördliche Marianen Νήσοι Βόρειες Μαριάνες Northern Mariana Islands Nord-Marianoj Islas Marianas del Norte Põhja-Mariaanid Ipar Mariana uharteak جزایر ماریانای شمالی Pohjois-Mariaanit Îles Mariannes du Nord Îles Mariannes du Nord na hOileáin Mháirianacha Thuaidh Na h-Eileanan Mairianach a Tuath Illas Marianas do Norte איי מריאנה הצפוניים Sjevernomarijanski otoci Északi Mariana-szigetek Insulas Marianna del Nord Kepulauan Mariana Utara Norður-Maríanaeyjar Isole Marianne settentrionali 北マリアナ諸島 북마리아나제도 Northern Mariana Islands Түндүк Мариана аралдары Marianos Šiaurinės Salos Ziemeļu Marianas salas ഉത്തര മറിയാനാ ദ്വീപുകൾ Хойд Марианы арлууд Nord-Marianene Noordelijke Marianen Nord-Marianane Northern Mariana Islands Mariany Północne Ilhas Marianas do Norte Ilhas Marianas do Norte Insulele Mariane de Nord Северные Марианские о-ва Severné Mariány Severni Marianski otoki Ishujt e Marianës Veriore Северна Маријанска Острва Nordmarianerna Visiwa vya Mariana vya Kaskazini หมู่เกาะนอร์เทิร์นมาเรียนา Kuzey Mariana Adaları Төньяк Мариана утраулары Північні Маріанські Острови Shimoliy Mariana orollari Quần đảo Bắc Mariana 北马里亚纳群岛 北馬利安納群島
157 MQ جزر المارتينيك Марцініка Мартиника Martinik Martinik Martinica Martinik Martinique Martinique Μαρτινίκα Martinique Martiniko Martinica Martinique Martinika مارتینیک Martinique Martinique Martinique Martinique Mairtinic Martinica מרטיניק Martinique Martinique Martinique Martinik Martiník Martinica マルティニーク 마르티니크 Martinique Мартиника Martinika Martinika മാർട്ടിനിക്ക് Мартиник Martinique Martinique Martinique Martinique Martynika Martinica Martinica Martinica Мартиника Martinik Martinik Martinikë Мартиник Martinique Martinique มาร์ตินีก Martinik Мартиника Мартініка Martinika Martinique 马提尼克 馬丁尼克
158 MR موريتانيا Маўрытанія Мавритания Maouritania Mauritanija Mauritània Mauritánie Mauretanien Mauretanien Μαυριτανία Mauritania Maŭritanujo Mauritania Mauritaania Mauritania موریتانی Mauritania Mauritanie Mauritanie an Mháratáin Moratàinea Mauritania מאוריטניה Mauretanija Mauritánia Mauritania Mauritania Máritanía Mauritania モーリタニア 모리타니 Mauritania Мавритания Mauritanija Mauritānija മൗറിറ്റാനിയ Мавритани Mauritania Mauritanië Mauritania Mauritania Mauretania Mauritânia Mauritânia Mauritania Мавритания Mauritánia Mavretanija Mauritani Мауританија Mauretanien Moritania มอริเตเนีย Moritanya Мавритания Мавританія Mavritaniya Mauritania 毛里塔尼亚 茅利塔尼亞
159 MS مونتسرات Мантсерат Монтсерат Montserrat Monserat Montserrat Montserrat Montserrat Montserrat Μονσεράτ Montserrat Montserrat Montserrat Montserrat Montserrat مونت‌سرات Montserrat Montserrat Montserrat Montsarat Montsarat Montserrat מונסראט Montserrat Montserrat Montserrat Montserrat Montserrat Montserrat モントセラト 몬트세라트 Montserrat Монтсеррат Montseratas Montserrata മൊണ്ടെസരത്ത് Монтсеррат Montserrat Montserrat Montserrat Montserrat Montserrat Montserrat Montserrat Montserrat Монтсеррат Montserrat Montserrat Montserat Монсерат Montserrat Montserrat มอนต์เซอร์รัต Montserrat Монтсеррат Монтсеррат Montserrat Montserrat 蒙特塞拉特 蒙哲臘
160 MT مالطا Мальта Малта Malta Malta Malta Malta Malta Malta Μάλτα Malta Malto Malta Malta Malta مالت Malta Malte Malte Málta Malta Malta מלטה Malta Málta Malta Malta Malta Malta マルタ 몰타 Malta Мальта Malta Malta മാൾട്ട Мальта Malta Malta Malta Malta Malta Malta Malta Malta Мальта Malta Malta Maltë Малта Malta Malta มอลตา Malta Мальта Мальта Malta Malta 马耳他 馬爾他
161 MU موريشيوس Маўрыкій Мавриций Moris Mauricijus Maurici Mauricius Mauritius Mauritius Μαυρίκιος Mauritius Maŭricio Mauricio Mauritius Maurizio موریس Mauritius Maurice Maurice Oileán Mhuirís Na h-Eileanan Mhoiriseas Mauricio מאוריציוס Mauricijus Mauritius Mauritius Mauritius Máritíus Mauritius モーリシャス 모리셔스 Mauritius Маврикий Mauricijus Maurīcija മൗറീഷ്യസ് Маврикий Mauritius Mauritius Mauritius Mauritius Mauritius Maurício Maurício Mauritius Маврикий Maurícius Mauritius Mauritius Маурицијус Mauritius Morisi มอริเชียส Mauritius Маврикий Маврікій Mavrikiy Mauritius 毛里求斯 模里西斯
162 MV جزر المالديف Мальдывы Малдиви Maldivez Maldivi Maldives Maledivy Maldiverne Malediven Μαλδίβες Maldives Maldivoj Maldivas Maldiivid Maldivak مالدیو Malediivit Maldives Maldives Oileáin Mhaildíve Na h-Eileanan Mhaladaibh Maldivas האיים המלדיביים Maldivi Maldív-szigetek Maldives Maladewa Maldíveyjar Maldive モルディブ 몰디브 Maldives Мальдив Maldyvai Maldīvija മാലിദ്വീപ് Мальдив Maldivene Maldiven Maldivane Maldives Malediwy Maldivas Maldivas Maldive Мальдивы Maldivy Maldivi Maldive Малдиви Maldiverna Maldives มัลดีฟส์ Maldivler Мальдив утраулары Мальдіви Maldiv orollari Maldives 马尔代夫 馬爾地夫
163 MW ملاوي Малаві Малави Malawi Malavi Malawi Malawi Malawi Malawi Μαλάουι Malawi Malavio Malaui Malawi Malawi مالاوی Malawi Malawi Malawi an Mhaláiv Malabhaidh Malawi מלאווי Malavi Malawi Malawi Malawi Malaví Malawi マラウイ 말라위 Malawi Малави Malavis Malāvija മലാവി Малави Malawi Malawi Malawi Malawi Malawi Malaui Malaui Malawi Малави Malawi Malavi Malavi Малави Malawi Malawi มาลาวี Malavi Малави Малаві Malavi Malawi 马拉维 馬拉威
164 MX المكسيك Мексіка Мексико Mecʼhiko Meksiko Mèxic Mexiko Mexico Mexiko Μεξικό Mexico Meksiko México Mehhiko Mexiko مکزیک Meksiko Mexique Mexique Meicsiceo Meagsago México מקסיקו Meksiko Mexikó Mexico Meksiko Mexíkó Messico メキシコ 멕시코 Mexico Мексика Meksika Meksika മെക്സിക്കോ Мексик Mexico Mexico Mexico Mexico Meksyk México México Mexic Мексика Mexiko Mehika Meksikë Мексико Mexiko Meksiko เม็กซิโก Meksika Мексика Мексика Meksika Mexico 墨西哥 墨西哥
165 MY ماليزيا Малайзія Малайзия Malaysia Malezija Malàisia Malajsie Malaysia Malaysia Μαλαισία Malaysia Malajzio Malasia Malaisia Malaysia مالزی Malesia Malaisie Malaisie an Mhalaeisia Malaidhsea Malaisia מלזיה Malezija Malajzia Malaysia Malaysia Malasía Malaysia マレーシア 말레이시아 Malaysia Малайзия Malaizija Malaizija മലേഷ്യ Малайз Malaysia Maleisië Malaysia Malaysia Malezja Malásia Malásia Malaysia Малайзия Malajzia Malezija Malajzi Малезија Malaysia Malesia มาเลเซีย Malezya Малайзия Малайзія Malayziya Malaysia 马来西亚 馬來西亞
166 MZ موزمبيق Мазамбік Мозамбик Mozambik Mozambik Moçambic Mosambik Mozambique Mosambik Μοζαμβίκη Mozambique Mozambiko Mozambique Mosambiik Mozambike موزامبیک Mosambik Mozambique Mozambique Mósaimbíc Mòsaimbic Mozambique מוזמביק Mozambik Mozambik Mozambique Mozambik Mósambík Mozambico モザンビーク 모잠비크 Mozambique Мозамбик Mozambikas Mozambika മൊസാംബിക്ക് Мозамбик Mosambik Mozambique Mosambik Mozambique Mozambik Moçambique Moçambique Mozambic Мозамбик Mozambik Mozambik Mozambik Мозамбик Moçambique Msumbiji โมซัมบิก Mozambik Мозамбик Мозамбік Mozambik Mozambique 莫桑比克 莫三比克
167 NA ناميبيا Намібія Намибия Namibia Namibija Namíbia Namibie Namibia Namibia Ναμίμπια Namibia Namibio Namibia Namiibia Namibia نامیبیا Namibia Namibie Namibie an Namaib An Namaib Namibia נמיביה Namibija Namíbia Namibia Namibia Namibía Namibia ナミビア 나미비아 Namibia Намибия Namibija Namībija നമീബിയ Намиби Namibia Namibië Namibia Namibia Namibia Namíbia Namíbia Namibia Намибия Namíbia Namibija Namibi Намибија Namibia Namibia นามิเบีย Namibya Намибия Намібія Namibiya Namibia 纳米比亚 納米比亞
168 NC كاليدونيا الجديدة Новая Каледонія Нова Каледония Kaledonia Nevez Nova Kaledonija Nova Caledònia Nová Kaledonie Ny Kaledonien Neukaledonien Νέα Καληδονία New Caledonia Nov-Kaledonio Nueva Caledonia Uus-Kaledoonia Kaledonia Berria کالدونیای جدید Uusi-Kaledonia Nouvelle-Calédonie Nouvelle-Calédonie an Nua-Chaladóin Cailleann Nuadh Nova Caledonia קלדוניה החדשה Nova Kaledonija Új-Kaledónia Nove Caledonia Kaledonia Baru Nýja-Kaledónía Nuova Caledonia ニューカレドニア 뉴칼레도니아 New Caledonia Жаңы Каледония Naujoji Kaledonija Jaunkaledonija ന്യൂ കാലിഡോണിയ Шинэ Каледони Ny-Caledonia Nieuw-Caledonië Ny-Caledonia New Caledonia Nowa Kaledonia Nova Caledônia Nova Caledônia Noua Caledonie Новая Каледония Nová Kaledónia Nova Kaledonija Kaledoni e Re Нова Каледонија Nya Kaledonien New Caledonia นิวแคลิโดเนีย Yeni Kaledonya Яңа Каледония Нова Каледонія Yangi Kaledoniya New Caledonia 新喀里多尼亚 新喀里多尼亞
169 NE النيجر Нігер Нигер Niger Niger Níger Niger Niger Niger Νίγηρας Niger Niĝero Níger Niger Niger نیجر Niger Niger Niger an Nígir Nìgeir Níxer ניז׳ר Niger Niger Niger Niger Níger Niger ニジェール 니제르 Niger Нигер Nigeris Nigēra നൈജർ Нигер Niger Niger Niger Niger Niger Níger Níger Niger Нигер Niger Niger Niger Нигер Niger Niger ไนเจอร์ Nijer Нигер Нігер Niger Niger 尼日尔 尼日
170 NF جزيرة نورفولك Востраў Норфалк остров Норфолк Enez Norfolk Ostrvo Norfolk Norfolk Norfolk Norfolk Island Norfolkinsel Νήσος Νόρφολκ Norfolk Island Norfolkinsulo Isla Norfolk Norfolk Norfolk uhartea جزیرهٔ نورفولک Norfolkinsaari Île Norfolk Île Norfolk Oileán Norfolk Eilean Norfolk Illa Norfolk האי נורפוק Otok Norfolk Norfolk-sziget Insula Norfolk Kepulauan Norfolk Norfolkeyja Isola Norfolk ノーフォーク島 노퍽섬 Norfolk Island Норфолк аралы Norfolko sala Norfolkas sala നോർഫോക് ദ്വീപ് Норфолк арал Norfolkøya Norfolk Norfolkøya Norfolk Island Norfolk Ilha Norfolk Ilha Norfolk Insula Norfolk о-в Норфолк Norfolk Norfolški otok Ishulli Norfolk Острво Норфок Norfolkön Kisiwa cha Norfolk เกาะนอร์ฟอล์ก Norfolk Adası Норфолк утравы Острів Норфолк Norfolk oroli Đảo Norfolk 诺福克岛 諾福克島
171 NG نيجيريا Нігерыя Нигерия Nigeria Nigerija Nigèria Nigérie Nigeria Nigeria Νιγηρία Nigeria Niĝerio Nigeria Nigeeria Nigeria نیجریه Nigeria Nigéria Nigéria an Nigéir Nigèiria Nixeria ניגריה Nigerija Nigéria Nigeria Nigeria Nígería Nigeria ナイジェリア 나이지리아 Nigeria Нигерия Nigerija Nigērija നൈജീരിയ Нигери Nigeria Nigeria Nigeria Nigeria Nigeria Nigéria Nigéria Nigeria Нигерия Nigéria Nigerija Nigeri Нигерија Nigeria Nigeria ไนจีเรีย Nijerya Нигерия Нігерія Nigeriya Nigeria 尼日利亚 奈及利亞
172 NI نيكاراغوا Нікарагуа Никарагуа Nicaragua Nikaragva Nicaragua Nikaragua Nicaragua Nicaragua Νικαράγουα Nicaragua Nikaragvo Nicaragua Nicaragua Nikaragua نیکاراگوئه Nicaragua Nicaragua Nicaragua Nicearagua Niocaragua Nicaragua ניקרגואה Nikaragva Nicaragua Nicaragua Nikaragua Níkaragva Nicaragua ニカラグア 니카라과 Nicaragua Никарагуа Nikaragva Nikaragva നിക്കരാഗ്വ Никарагуа Nicaragua Nicaragua Nicaragua Nicaragua Nikaragua Nicarágua Nicarágua Nicaragua Никарагуа Nikaragua Nikaragva Nikaragua Никарагва Nicaragua Nikaragwa นิการากัว Nikaragua Никарагуа Нікараґуа Nikaragua Nicaragua 尼加拉瓜 尼加拉瓜
173 NL هولندا Нідэрланды Нидерландия Izelvroioù Holandija Països Baixos Nizozemsko Holland Niederlande Ολλανδία Netherlands Nederlando Países Bajos Holland Herbehereak هلند Alankomaat Pays-Bas Pays-Bas an Ísiltír Na Tìrean Ìsle Países Baixos הולנד Nizozemska Hollandia Nederlandia Belanda Holland Paesi Bassi オランダ 네덜란드 Netherlands Нидерланд Nyderlandai Nīderlande നെതർലാൻഡ്‌സ് Нидерланд Nederland Nederland Nederland Netherlands Holandia Países Baixos Países Baixos Țările de Jos Нидерланды Holandsko Nizozemska Holandë Холандија Nederländerna Uholanzi เนเธอร์แลนด์ Hollanda Нидерланд Нідерланди Niderlandiya Hà Lan 荷兰 荷蘭
174 NO النرويج Нарвегія Норвегия Norvegia Norveška Noruega Norsko Norge Norwegen Νορβηγία Norway Norvegujo Noruega Norra Norvegia نروژ Norja Norvège Norvège an Iorua Nirribhidh Noruega נורווגיה Norveška Norvégia Norvegia Norwegia Noregur Norvegia ノルウェー 노르웨이 Norway Норвегия Norvegija Norvēģija നോർവെ Норвеги Norge Noorwegen Noreg Norway Norwegia Noruega Noruega Norvegia Норвегия Nórsko Norveška Norvegji Норвешка Norge Norway นอร์เวย์ Norveç Норвегия Норвеґія Norvegiya Na Uy 挪威 挪威
175 NP نيبال Непал Непал Nepal Nepal Nepal Nepál Nepal Nepal Νεπάλ Nepal Nepalo Nepal Nepal Nepal نپال Nepal Népal Népal Neipeal Neapàl Nepal נפאל Nepal Nepál Nepal Nepal Nepal Nepal ネパール 네팔 Nepal Непал Nepalas Nepāla നേപ്പാൾ Балба Nepal Nepal Nepal Nepal Nepal Nepal Nepal Nepal Непал Nepál Nepal Nepal Непал Nepal Nepal เนปาล Nepal Непал Непал Nepal Nepal 尼泊尔 尼泊爾
176 NR ناورو Науру Науру Nauru Nauru Nauru Nauru Nauru Nauru Ναουρού Nauru Nauro Nauru Nauru Nauru نائورو Nauru Nauru Nauru Nárú Nabhru Nauru נאורו Nauru Nauru Nauru Nauru Nárú Nauru ナウル 나우루 Nauru Науру Nauru Nauru നൗറു Науру Nauru Nauru Nauru Nauru Nauru Nauru Nauru Nauru Науру Nauru Nauru Nauru Науру Nauru Nauru นาอูรู Nauru Науру Науру Nauru Nauru 瑙鲁 諾魯
177 NU نيوي Ніуэ Ниуе Niue Niue Niue Niue Niue Niue Νιούε Niue Niuo Niue Niue Niue نیوئه Niue Niue Niue Niue Niue Niue ניווה Niue Niue Niue Niue Niue Niue ニウエ 니우에 Niue Ниуэ Niujė Niue ന്യൂയി Ниуэ Niue Niue Niue Niue Niue Niue Niue Niue Ниуэ Niue Niue Niue Ниуе Niue Niue นีอูเอ Niue Ниуэ Ніуе Niue Niue 纽埃 紐埃島
178 NZ نيوزيلندا Новая Зеландыя Нова Зеландия Zeland-Nevez Novi Zeland Nova Zelanda Nový Zéland New Zealand Neuseeland Νέα Ζηλανδία New Zealand Nov-Zelando Nueva Zelanda Uus-Meremaa Zeelanda Berria نیوزیلند Uusi-Seelanti Nouvelle-Zélande Nouvelle-Zélande an Nua-Shéalainn Sealainn Nuadh Nova Zelandia ניו זילנד Novi Zeland Új-Zéland Nove Zelanda Selandia Baru Nýja-Sjáland Nuova Zelanda ニュージーランド 뉴질랜드 New Zealand Жаңы Зеландия Naujoji Zelandija Jaunzēlande ന്യൂസിലാൻറ് Шинэ Зеланд New Zealand Nieuw-Zeeland New Zealand New Zealand Nowa Zelandia Nova Zelândia Nova Zelândia Noua Zeelandă Новая Зеландия Nový Zéland Nova Zelandija Zelandë e Re Нови Зеланд Nya Zeeland Nyuzilandi นิวซีแลนด์ Yeni Zelanda Яңа Зеландия Нова Зеландія Yangi Zelandiya New Zealand 新西兰 紐西蘭
179 OM عُمان Аман Оман Oman Oman Oman Omán Oman Oman Ομάν Oman Omano Omán Omaan Oman عمان Oman Oman Oman Óman Omàn Omán עומאן Oman Omán Oman Oman Óman Oman オマーン 오만 Oman Оман Omanas Omāna ഒമാൻ Оман Oman Oman Oman Oman Oman Omã Omã Oman Оман Omán Oman Oman Оман Oman Oman โอมาน Umman Оман Оман Ummon Oman 阿曼 阿曼
180 PA بنما Панама Панама Panamá Panama Panamà Panama Panama Panama Παναμάς Panama Panamo Panamá Panama Panama پاناما Panama Panama Panama Panama Panama Panamá פנמה Panama Panama Panama Panama Panama Panamá パナマ 파나마 Panama Панама Panama Panama പനാമ Панам Panama Panama Panama Panama Panama Panamá Panamá Panama Панама Panama Panama Panama Панама Panama Panama ปานามา Panama Панама Панама Panama Panama 巴拿马 巴拿馬
181 PE بيرو Перу Перу Perou Peru Perú Peru Peru Peru Περού Peru Peruo Perú Peruu Peru پرو Peru Pérou Pérou Peiriú Pearù O Perú פרו Peru Peru Peru Peru Perú Perù ペルー 페루 Peru Перу Peru Peru പെറു Перу Peru Peru Peru Peru Peru Peru Peru Peru Перу Peru Peru Peru Перу Peru Peru เปรู Peru Перу Перу Peru Peru 秘鲁 秘魯
182 PF بولينيزيا الفرنسية Французская Палінезія Френска Полинезия Polinezia Cʼhall Francuska Polinezija Polinèsia Francesa Francouzská Polynésie Fransk Polynesien Französisch-Polynesien Γαλλική Πολυνησία French Polynesia Franca Polinezio Polinesia Francesa Prantsuse Polüneesia Polinesia Frantsesa پلی‌نزی فرانسه Ranskan Polynesia Polynésie française Polynésie française Polainéis na Fraince Poilinèis na Frainge A Polinesia Francesa פולינזיה הצרפתית Francuska Polinezija Francia Polinézia Polynesia francese Polinesia Prancis Franska Pólýnesía Polinesia francese 仏領ポリネシア 프랑스령 폴리네시아 French Polynesia Полинезия (франциялык) Prancūzijos Polinezija Francijas Polinēzija ഫ്രഞ്ച് പോളിനേഷ്യ Францын Полинез Fransk Polynesia Frans-Polynesië Fransk Polynesia French Polynesia Polinezja Francuska Polinésia Francesa Polinésia Francesa Polinezia Franceză Французская Полинезия Francúzska Polynézia Francoska Polinezija Polinezia Franceze Француска Полинезија Franska Polynesien Polynesia ya Ufaransa เฟรนช์โปลินีเซีย Fransız Polinezyası Француз Полинезиясе Французька Полінезія Fransuz Polineziyasi Polynesia thuộc Pháp 法属波利尼西亚 法屬玻里尼西亞
183 PG بابوا غينيا الجديدة Папуа-Новая Гвінея Папуа-Нова Гвинея Papoua Ginea-Nevez Papua Nova Gvineja Papua Nova Guinea Papua-Nová Guinea Papua Ny Guinea Papua-Neuguinea Παπούα Νέα Γουινέα Papua New Guinea Papuo-Nov-Gvineo Papúa Nueva Guinea Paapua Uus-Guinea Papua Ginea Berria پاپوا گینهٔ نو Papua-Uusi-Guinea Papouasie-Nouvelle-Guinée Papouasie-Nouvelle-Guinée Nua-Ghuine Phapua Gini Nuadh Phaputhach Papúa-Nova Guinea פפואה גינאה החדשה Papua Nova Gvineja Pápua Új-Guinea Papua Nove Guinea Papua Nugini Papúa Nýja-Gínea Papua Nuova Guinea パプアニューギニア 파푸아뉴기니 Papua New Guinea Папуа-Жаңы Гвинея Papua Naujoji Gvinėja Papua-Jaungvineja പാപ്പുവ ന്യൂ ഗിനിയ Папуа Шинэ Гвиней Papua Ny-Guinea Papoea-Nieuw-Guinea Papua Ny-Guinea Papua New Guinea Papua-Nowa Gwinea Papua-Nova Guiné Papua-Nova Guiné Papua-Noua Guinee Папуа — Новая Гвинея Papua-Nová Guinea Papua Nova Gvineja Guineja e Re-Papua Папуа Нова Гвинеја Papua Nya Guinea Papua New Guinea ปาปัวนิวกินี Papua Yeni Gine Папуа - Яңа Гвинея Папуа-Нова Ґвінея Papua – Yangi Gvineya Papua New Guinea 巴布亚新几内亚 巴布亞紐幾內亞
184 PH الفلبين Філіпіны Филипини Filipinez Filipini Filipines Filipíny Filippinerne Philippinen Φιλιππίνες Philippines Filipinoj Filipinas Filipiinid Filipinak فیلیپین Filippiinit Philippines Philippines na hOileáin Fhilipíneacha Na h-Eileanan Filipineach Filipinas הפיליפינים Filipini Fülöp-szigetek Philippinas Filipina Filippseyjar Filippine フィリピン 필리핀 Philippines Филиппин Filipinai Filipīnas ഫിലിപ്പീൻസ് Филиппин Filippinene Filipijnen Filippinane Philippines Filipiny Filipinas Filipinas Filipine Филиппины Filipíny Filipini Filipine Филипини Filippinerna Ufilipino ฟิลิปปินส์ Filipinler Филиппин Філіппіни Filippin Philippines 菲律宾 菲律賓
185 PK باكستان Пакістан Пакистан Pakistan Pakistan Pakistan Pákistán Pakistan Pakistan Πακιστάν Pakistan Pakistano Pakistán Pakistan Pakistan پاکستان Pakistan Pakistan Pakistan an Phacastáin Pagastàn Paquistán פקיסטן Pakistan Pakisztán Pakistan Pakistan Pakistan Pakistan パキスタン 파키스탄 Pakistan Пакистан Pakistanas Pakistāna പാക്കിസ്ഥാൻ Пакистан Pakistan Pakistan Pakistan Pakistan Pakistan Paquistão Paquistão Pakistan Пакистан Pakistan Pakistan Pakistan Пакистан Pakistan Pakistani ปากีสถาน Pakistan Пакистан Пакистан Pokiston Pakistan 巴基斯坦 巴基斯坦
186 PL بولندا Польшча Полша Polonia Poljska Polònia Polsko Polen Polen Πολωνία Poland Pollando Polonia Poola Polonia لهستان Puola Pologne Pologne an Pholainn A’ Phòlainn Polonia פולין Poljska Lengyelország Polonia Polandia Pólland Polonia ポーランド 폴란드 Poland Польша Lenkija Polija പോളണ്ട് Польш Polen Polen Polen Poland Polska Polônia Polônia Polonia Польша Poľsko Poljska Poloni Пољска Polen Poland โปแลนด์ Polonya Польша Польща Polsha Ba Lan 波兰 波蘭
187 PM سان بيير ومكويلون Сен-П’ер і Мікелон Сен Пиер и Микелон Sant-Pêr-ha-Mikelon Sveti Petar i Mikelon Saint-Pierre-et-Miquelon Saint-Pierre a Miquelon Saint Pierre og Miquelon St. Pierre und Miquelon Σεν Πιερ και Μικελόν St. Pierre & Miquelon Sent-Piero kaj Mikelono San Pedro y Miquelón Saint-Pierre ja Miquelon Saint-Pierre eta Mikelune سن پیر و میکلن Saint-Pierre ja Miquelon Saint-Pierre-et-Miquelon Saint-Pierre-et-Miquelon San Pierre agus Miquelon Saint Pierre agus Miquelon Saint Pierre et Miquelon סנט פייר ומיקלון Saint-Pierre-et-Miquelon Saint-Pierre és Miquelon St. Pierre e Miquelon Saint Pierre dan Miquelon Sankti Pierre og Miquelon Saint-Pierre e Miquelon サンピエール島・ミクロン島 생피에르 미클롱 St. Pierre & Miquelon Сен-Пьер жана Микелон Sen Pjeras ir Mikelonas Senpjēra un Mikelona സെന്റ് പിയറി ആൻഡ് മിക്വലൻ Сент-Пьер ба Микело Saint-Pierre-et-Miquelon Saint-Pierre en Miquelon Saint-Pierre-et-Miquelon St. Pierre & Miquelon Saint-Pierre i Miquelon São Pedro e Miquelão São Pedro e Miquelão Saint-Pierre și Miquelon Сен-Пьер и Микелон Saint Pierre a Miquelon Saint Pierre in Miquelon Shën-Pier dhe Mikelon Сен Пјер и Микелон S:t Pierre och Miquelon Santapierre na Miquelon แซงปีแยร์และมีเกอลง Saint Pierre ve Miquelon Сен-Пьер һәм Микелон Сен-Пʼєр і Мікелон Sen-Pyer va Mikelon Saint Pierre và Miquelon 圣皮埃尔和密克隆群岛 聖皮埃與密克隆群島
188 PN جزر بيتكيرن Астравы Піткэрн Острови Питкерн Enez Pitcairn Pitkernska Ostrva Illes Pitcairn Pitcairnovy ostrovy Pitcairn Pitcairninseln Νήσοι Πίτκερν Pitcairn Islands Pitkarna Insulo Islas Pitcairn Pitcairni saared Pitcairn uharteak جزایر پیت‌کرن Pitcairn Îles Pitcairn Îles Pitcairn Oileáin Pitcairn Eileanan Pheit a’ Chàirn Illas Pitcairn איי פיטקרן Otoci Pitcairn Pitcairn-szigetek Pitcairn Islands Kepulauan Pitcairn Pitcairn-eyjar Isole Pitcairn ピトケアン諸島 핏케언 섬 Pitcairn Islands Питкэрн аралдары Pitkerno salos Pitkērnas salas പിറ്റ്‌കെയ്‌ൻ ദ്വീപുകൾ Питкэрн арлууд Pitcairnøyene Pitcairneilanden Pitcairn Pitcairn Islands Pitcairn Ilhas Pitcairn Ilhas Pitcairn Insulele Pitcairn о-ва Питкэрн Pitcairnove ostrovy Pitcairn Ishujt Pitkern Питкерн Pitcairnöarna Visiwa vya Pitcairn หมู่เกาะพิตแคร์น Pitcairn Adaları Питкэрн утраулары Острови Піткерн Pitkern orollari Quần đảo Pitcairn 皮特凯恩群岛 皮特肯群島
189 PR بورتوريكو Пуэрта-Рыка Пуерто Рико Puerto Rico Porto Riko Puerto Rico Portoriko Puerto Rico Puerto Rico Πουέρτο Ρίκο Puerto Rico Puerto-Riko Puerto Rico Puerto Rico Puerto Rico پورتوریکو Puerto Rico Porto Rico Porto Rico Pórtó Ríce Porto Rìceo Porto Rico פוארטו ריקו Portoriko Puerto Rico Puerto Rico Puerto Riko Púertó Ríkó Portorico プエルトリコ 푸에르토리코 Puerto Rico Пуэрто-Рико Puerto Rikas Puertoriko പോർട്ടോ റിക്കോ Пуэрто-Рико Puerto Rico Puerto Rico Puerto Rico Puerto Rico Portoryko Porto Rico Porto Rico Puerto Rico Пуэрто-Рико Portoriko Portoriko Porto-Riko Порторико Puerto Rico Puerto Rico เปอร์โตริโก Porto Riko Пуэрто-Рико Пуерто-Ріко Puerto-Riko Puerto Rico 波多黎各 波多黎各
190 PS فلسطين Палесціна Палестина Palestina Palestina Palestina Palestina Palæstina Palästina Παλαιστίνη Palestine Palestine Palestina Palestiina Palestina فلسطین Palestiina Palestine Palestine an Phalaistín Palastain Palestina פלסטין Palestina Palesztina Palestine Palestina Palestína Palestina パレスチナ 팔레스타인 Palestine Палестина Palestina Palestine പലസ്‌തീൻ Палестин Palestina Palestina Palestina Palestine Palestyna Palestina Palestina Palestina Палестина Palestínska samospráva Palestina Palestinë Палестина Palestina Palestina ปาเลสไตน์ Filistin Palestine Палестина Falastin Palestine 巴勒斯坦 巴勒斯坦
191 PT البرتغال Партугалія Португалия Portugal Portugal Portugal Portugalsko Portugal Portugal Πορτογαλία Portugal Portugalujo Portugal Portugal Portugal پرتغال Portugali Portugal Portugal an Phortaingéil A’ Phortagail Portugal פורטוגל Portugal Portugália Portugal Portugal Portúgal Portogallo ポルトガル 포르투갈 Portugal Португалия Portugalija Portugāle പോർച്ചുഗൽ Португал Portugal Portugal Portugal Portugal Portugalia Portugal Portugal Portugalia Португалия Portugalsko Portugalska Portugali Португалија Portugal Ureno โปรตุเกส Portekiz Португалия Портуґалія Portugaliya Bồ Đào Nha 葡萄牙 葡萄牙
192 PW بالاو Палау Палау Palau Palau Palau Palau Palau Palau Παλάου Palau Belaŭo Palaos Belau Palau پالائو Palau Palaos Palaos Oileáin Palau Palabh Palau פלאו Palau Palau Palau Palau Palá Palau パラオ 팔라우 Palau Палау Palau Palau പലാവു Палау Palau Palau Palau Palau Palau Palau Palau Palau Палау Palau Palau Palau Палау Palau Palau ปาเลา Palau Палау Палау Palau Palau 帕劳 帛琉
193 PY باراغواي Парагвай Парагвай Paraguay Paragvaj Paraguai Paraguay Paraguay Paraguay Παραγουάη Paraguay Paragvajo Paraguay Paraguay Paraguai پاراگوئه Paraguay Paraguay Paraguay Paragua Paraguaidh O Paraguai פרגוואי Paragvaj Paraguay Paraguay Paraguay Paragvæ Paraguay パラグアイ 파라과이 Paraguay Парагвай Paragvajus Paragvaja പരാഗ്വേ Парагвай Paraguay Paraguay Paraguay Paraguay Paragwaj Paraguai Paraguai Paraguay Парагвай Paraguaj Paragvaj Paraguai Парагвај Paraguay Paraguay ปารากวัย Paraguay Парагвай Параґвай Paragvay Paraguay 巴拉圭 巴拉圭
194 QA قطر Катар Катар Qatar Katar Qatar Katar Qatar Katar Κατάρ Qatar Kataro Catar Katar Qatar قطر Qatar Qatar Qatar Catar Catar Qatar קטאר Katar Katar Qatar Qatar Katar Qatar カタール 카타르 Qatar Катар Kataras Katara ഖത്തർ Катар Qatar Qatar Qatar Qatar Katar Catar Catar Qatar Катар Katar Katar Katar Катар Qatar Qatar กาตาร์ Katar Катар Катар Qatar Qatar 卡塔尔 卡達
195 QO أوقيانوسيا النائية Аддаленыя тэрыторыі Акіяніі Отдалечени острови на Океания Oseania diabell Vanjska Okeanija Territoris allunyats d’Oceania vnější Oceánie Ydre Oceanien Äußeres Ozeanien Περιφερειακή Ωκεανία Outlying Oceania Outlying Oceania Territorios alejados de Oceanía Okeaania hajasaared Mugaz kanpoko Ozeania بخش‌های دورافتادهٔ اقیانوسیه ulkomeri régions éloignées de l’Océanie régions éloignées de l’Océanie an Aigéine Imeallach Roinn Iomallach a’ Chuain Sèimh Territorios afastados de Oceanía טריטוריות באוקיאניה Vanjska područja Oceanije Külső-Óceánia Oceania remote Oseania Luar Ytri Eyjaálfa Oceania lontana オセアニア周辺地域 오세아니아 외곽 Outlying Oceania Алыскы Океания Nuošali Okeanija Okeānijas attālās salas ദ്വീപസമൂഹം Номхон далайг тойрсон улс орнууд Ytre Oseania overig Oceanië Ytre Oseania Outlying Oceania Oceania — wyspy dalekie Oceania Remota Oceania Remota Oceania Periferică Внешняя Океания ostatné Tichomorie Ostala oceanija Oqeania e Largët (Lindja e Largët) Океанија (удаљена острва) yttre öar i Oceanien Oceania ya Nje เอาต์ไลอิงโอเชียเนีย Uzak Okyanusya Outlying Oceania Віддалена Океанія Tashqi Okeaniya Vùng xa xôi thuộc Châu Đại Dương 大洋洲边远群岛 大洋洲邊疆群島
196 RE روينيون Рэюньён Реюнион Ar Reünion Reunion Illa de la Reunió Réunion Réunion Réunion Ρεϊνιόν Réunion Reunio Reunión Réunion Reunion رئونیون Réunion La Réunion La Réunion Réunion Réunion Reunión ראוניון Réunion Réunion Réunion Réunion Réunion Riunione レユニオン 리유니온 Réunion Реюньон Reunjonas Reinjona റീയൂണിയൻ Реюнион Réunion Réunion Réunion Réunion Reunion Reunião Reunião Réunion Реюньон Réunion Reunion Reunion Реинион Réunion Reunion เรอูนียง Reunion Реюньон Реюньйон Reyunion Réunion 留尼汪 留尼旺
197 RO رومانيا Румынія Румъния Roumania Rumunija Romania Rumunsko Rumænien Rumänien Ρουμανία Romania Rumanujo Rumanía Rumeenia Errumania رومانی Romania Roumanie Roumanie an Rómáin Romàinia Romanía רומניה Rumunjska Románia Romania Rumania Rúmenía Romania ルーマニア 루마니아 Romania Румыния Rumunija Rumānija റൊമാനിയ Румын Romania Roemenië Romania Romania Rumunia Romênia Romênia România Румыния Rumunsko Romunija Rumani Румунија Rumänien Romania โรมาเนีย Romanya Румыния Румунія Ruminiya Romania 罗马尼亚 羅馬尼亞
198 RS صربيا Сербія Сърбия Serbia Srbija Sèrbia Srbsko Serbien Serbien Σερβία Serbia Serbia Serbia Serbia Serbia صربستان Serbia Serbie Serbie an tSeirbia An t-Sèirb Serbia סרביה Srbija Szerbia Serbia Serbia Serbía Serbia セルビア 세르비아 Serbia Сербия Serbija Serbija സെർബിയ Серби Serbia Servië Serbia Serbia Serbia Sérvia Sérvia Serbia Сербия Srbsko Srbija Serbi Србија Serbien Serbia เซอร์เบีย Sırbistan Сербия Сербія Serbiya Serbia 塞尔维亚 塞爾維亞
199 RU روسيا Расія Русия Rusia Rusija Rússia Rusko Rusland Russland Ρωσία Russia Rusujo Rusia Venemaa Errusia روسیه Venäjä Russie Russie an Rúis An Ruis Rusia רוסיה Rusija Oroszország Russia Rusia Rússland Russia ロシア 러시아 Russi Россия Rusija Krievija റഷ്യ Орос Russland Rusland Russland Уӕрӕсе Rosja Rússia Rússia Rusia Россия Rusko Rusija Rusi Русија Ryssland Urusi รัสเซีย Rusya Россия Росія Rossiya Nga 俄罗斯 俄羅斯
200 RW رواندا Руанда Руанда Rwanda Ruanda Ruanda Rwanda Rwanda Ruanda Ρουάντα Rwanda Ruando Ruanda Rwanda Ruanda رواندا Ruanda Rwanda Rwanda Ruanda Rubhanda Ruanda רואנדה Ruanda Ruanda Ruanda Rwanda Rúanda Ruanda ルワンダ 르완다 Rwanda Руанда Ruanda Ruanda റുവാണ്ട Руанда Rwanda Rwanda Rwanda Rwanda Rwanda Ruanda Ruanda Rwanda Руанда Rwanda Ruanda Ruandë Руанда Rwanda Rwanda รวันดา Ruanda Руанда Руанда Ruanda Rwanda 卢旺达 盧安達
201 SA المملكة العربية السعودية Саудаўская Аравія Саудитска Арабия Arabia Saoudat Saudijska Arabija Aràbia Saudita Saúdská Arábie Saudi-Arabien Saudi-Arabien Σαουδική Αραβία Saudi Arabia Saŭda Arabujo Arabia Saudí Saudi Araabia Saudi Arabia عربستان سعودی Saudi-Arabia Arabie saoudite Arabie saoudite an Araib Shádach Aràibia nan Sabhd Arabia Saudita ערב הסעודית Saudijska Arabija Szaúd-Arábia Arabia Saudita Arab Saudi Sádi-Arabía Arabia Saudita サウジアラビア 사우디아라비아 Saudi Arabia Сауд Арабиясы Saudo Arabija Saūda Arābija സൗദി അറേബ്യ Саудын Араб Saudi-Arabia Saoedi-Arabië Saudi-Arabia Saudi Arabia Arabia Saudyjska Arábia Saudita Arábia Saudita Arabia Saudită Саудовская Аравия Saudská Arábia Saudova Arabija Arabi Saudite Саудијска Арабија Saudiarabien Saudia ซาอุดีอาระเบีย Suudi Arabistan Согуд Гарәбстаны Саудівська Аравія Saudiya Arabistoni Ả Rập Xê-út 沙特阿拉伯 沙烏地阿拉伯
202 SB جزر سليمان Саламонавы астравы Соломонови острови Inizi Salomon Solomonska Ostrva Illes Salomó Šalamounovy ostrovy Salomonøerne Salomonen Νήσοι Σολομώντος Solomon Islands Salomonoj Islas Salomón Saalomoni Saared Salomon Uharteak جزایر سلیمان Salomonsaaret Îles Salomon Îles Salomon Oileáin Sholomón Eileanan Sholaimh Illas Salomón איי שלמה Salomonski Otoci Salamon-szigetek Insulas Solomon Kepulauan Solomon Salómonseyjar Isole Salomone ソロモン諸島 솔로몬 제도 Solomon Islands Соломон аралдары Saliamono Salos Zālamana salas സോളമൻ ദ്വീപുകൾ Соломоны арлууд Salomonøyene Salomonseilanden Salomonøyane Solomon Islands Wyspy Salomona Ilhas Salomão Ilhas Salomão Insulele Solomon Соломоновы Острова Šalamúnove ostrovy Salomonovi otoki Ishujt Solomon Соломонска Острва Salomonöarna Visiwa vya Solomon หมู่เกาะโซโลมอน Solomon Adaları Сөләйман утраулары Соломонові Острови Solomon orollari Quần đảo Solomon 所罗门群岛 索羅門群島
203 SC سيشل Сейшэльскія астравы Сейшели Sechelez Sejšeli Seychelles Seychely Seychellerne Seychellen Σεϋχέλλες Seychelles Sejŝeloj Seychelles Seišellid Seychelleak سیشل Seychellit Seychelles Seychelles na Séiséil Na h-Eileanan Sheiseall Seychelles איי סיישל Sejšeli Seychelle-szigetek Seychelles Seychelles Seychelles-eyjar Seychelles セーシェル 세이셸 Seychelles Сейшел аралдары Seišeliai Seišelu salas സീഷെൽസ് Сейшелийн арлууд Seychellene Seychellen Seychellane Seychelles Seszele Seicheles Seicheles Seychelles Сейшельские Острова Seychely Sejšeli Sejshelle Сејшели Seychellerna Ushelisheli เซเชลส์ Seyşeller Сейшел утраулары Сейшельські Острови Seyshel orollari Seychelles 塞舌尔 塞席爾
204 SD السودان Судан Судан Soudan Sudan Sudan Súdán Sudan Sudan Σουδάν Sudan Sudano Sudán Sudaan Sudan سودان Sudan Soudan Soudan an tSúdáin Sudàn O Sudán סודן Sudan Szudán Sudan Sudan Súdan Sudan スーダン 수단 Sudan Судан Sudanas Sudāna സുഡാൻ Судан Sudan Soedan Sudan Sudan Sudan Sudão Sudão Sudan Судан Sudán Sudan Sudan Судан Sudan Sudan ซูดาน Sudan Судан Судан Sudan Sudan 苏丹 蘇丹
205 SE السويد Швецыя Швеция Sveden Švedska Suècia Švédsko Sverige Schweden Σουηδία Sweden Svedujo Suecia Rootsi Suedia سوئد Ruotsi Suède Suède an tSualainn An t-Suain Suecia שוודיה Švedska Svédország Svedia Swedia Svíþjóð Svezia スウェーデン 스웨덴 Sweden Швеция Švedija Zviedrija സ്വീഡൻ Швед Sverige Zweden Sverige Sweden Szwecja Suécia Suécia Suedia Швеция Švédsko Švedska Suedi Шведска Sverige Uswidi สวีเดน İsveç Швеция Швеція Shvetsiya Thụy Điển 瑞典 瑞典
206 SG سنغافورة Сінгапур Сингапур Singapour Singapur Singapur Singapur Singapore Singapur Σιγκαπούρη Singapore Singapuro Singapur Singapur Singapur سنگاپور Singapore Singapour Singapour Singeapór Singeapòr Singapur סינגפור Singapur Szingapúr Singapore Singapura Singapúr Singapore シンガポール 싱가포르 Singapore Сингапур Singapūras Singapūra സിംഗപ്പൂർ Сингапур Singapore Singapore Singapore Singapore Singapur Singapura Singapura Singapore Сингапур Singapur Singapur Singapor Сингапур Singapore Singapore สิงคโปร์ Singapur Сингапур Сінгапур Singapur Singapore 新加坡 新加坡
207 SH سانت هيلينا Востраў Святой Алены Света Елена Saint-Helena Sveta Helena Saint Helena Svatá Helena St. Helena St. Helena Αγία Ελένη St. Helena Sent-Heleno Santa Elena Saint Helena Santa Helena سنت هلن Saint Helena Sainte-Hélène Sainte-Hélène San Héilin Eilean Naomh Eilidh Santa Helena סנט הלנה Sveta Helena Szent Ilona St. Helena Saint Helena Sankti Helena Sant’Elena セントヘレナ 세인트헬레나 St. Helena Ыйык Елена Šv. Elenos Sala Sv.Helēnas sala സെന്റ് ഹെലീന Сент Хелена St. Helena Sint-Helena Saint Helena St. Helena Wyspa Świętej Heleny Santa Helena Santa Helena Sfânta Elena о-в Св. Елены Svätá Helena Sveta Helena Shën-Elenë Света Јелена S:t Helena St. Helena เซนต์เฮเลนา Saint Helena St. Helena Острів Святої Єлени Muqaddas Yelena oroli St. Helena 圣赫勒拿 聖赫勒拿島
208 SI سلوفينيا Славенія Словения Slovenia Slovenija Eslovènia Slovinsko Slovenien Slowenien Σλοβενία Slovenia Slovenujo Eslovenia Sloveenia Eslovenia اسلوونی Slovenia Slovénie Slovénie an tSlóivéin An t-Slòbhain Eslovenia סלובניה Slovenija Szlovénia Slovenia Slovenia Slóvenía Slovenia スロベニア 슬로베니아 Slovenia Словения Slovėnija Slovēnija സ്ലോവേനിയ Словени Slovenia Slovenië Slovenia Slovenia Słowenia Eslovênia Eslovênia Slovenia Словения Slovinsko Slovenija Slloveni Словенија Slovenien Slovenia สโลวีเนีย Slovenya Словения Словенія Sloveniya Slovenia 斯洛文尼亚 斯洛維尼亞
209 SJ سفالبارد وجان ماين Шпіцберген і Ян-Маен Свалбард и Ян Майен Svalbard Svalbard i Jan Majen Svalbard i Jan Mayen Špicberky a Jan Mayen Svalbard og Jan Mayen Spitzbergen und Jan Mayen Σβάλμπαρντ και Γιαν Μαγιέν Svalbard & Jan Mayen Svalbardo kaj Jan-Majen-insulo Svalbard y Jan Mayen Svalbard ja Jan Mayen Svalbard eta Jan Mayen uharteak سوالبارد و یان ماین Huippuvuoret ja Jan Mayen Svalbard et Jan Mayen Svalbard et Jan Mayen Svalbard agus Jan Mayen Svalbard agus Jan Mayen Svalbard e Jan Mayen סבאלברד ויאן מאיין Svalbard i Jan Mayen Svalbard és Jan Mayen Svalbard e Jan Mayen Kepulauan Svalbard dan Jan Mayen Svalbarði og Jan Mayen Svalbard e Jan Mayen スバールバル諸島・ヤンマイエン島 스발바르제도-얀마웬섬 Svalbard & Jan Mayen Шпицберген жана Ян-Майен Svalbardas ir Janas Majenas Svalbāra un Jana Majena sala സ്വാൽബാഡും ജാൻ മായേനും Свалбард ба Ян Майен Svalbard og Jan Mayen Spitsbergen en Jan Mayen Svalbard og Jan Mayen Svalbard & Jan Mayen Svalbard i Jan Mayen Svalbard e Jan Mayen Svalbard e Jan Mayen Svalbard și Jan Mayen Шпицберген и Ян-Майен Svalbard a Jan Mayen Svalbard in Jan Mayen Svalbard e Jan-Majen Свалбард и Јан Мајен Svalbard och Jan Mayen Svalbard na Jan Mayen สฟาลบาร์และยานไมเอน Svalbard ve Jan Mayen Шпицберген һәм Ян-Майен Шпіцберген та Ян-Маєн Shpitsbergen va Yan-Mayen Svalbard và Jan Mayen 斯瓦尔巴和扬马延 挪威屬斯瓦巴及尖棉
210 SK سلوفاكيا Славакія Словакия Slovakia Slovačka Eslovàquia Slovensko Slovakiet Slowakei Σλοβακία Slovakia Slovakujo Eslovaquia Slovakkia Eslovakia اسلواکی Slovakia Slovaquie Slovaquie an tSlóvaic An t-Slòbhac Eslovaquia סלובקיה Slovačka Szlovákia Slovachia Slovakia Slóvakía Slovacchia スロバキア 슬로바키아 Slovakia Словакия Slovakija Slovākija സ്ലോവാക്യ Словак Slovakia Slowakije Slovakia Slovakia Słowacja Eslováquia Eslováquia Slovacia Словакия Slovensko Slovaška Sllovaki Словачка Slovakien Slovakia สโลวะเกีย Slovakya Словакия Словаччина Slovakiya Slovakia 斯洛伐克 斯洛伐克
211 SL سيراليون Сьера-Леонэ Сиера Леоне Sierra Leone Sijera Leone Sierra Leone Sierra Leone Sierra Leone Sierra Leone Σιέρα Λεόνε Sierra Leone Siera-Leono Sierra Leona Sierra Leone Sierra Leona سیرالئون Sierra Leone Sierra Leone Sierra Leone Siarra Leon Siarra Leòmhann Serra Leoa סיירה לאונה Sijera Leone Sierra Leone Sierra Leone Sierra Leone Síerra Leóne Sierra Leone シエラレオネ 시에라리온 Sierra Leone Сьерра-Леоне Siera Leonė Sjerraleone സിയെറ ലിയോൺ Сьерра-Леоне Sierra Leone Sierra Leone Sierra Leone Sierra Leone Sierra Leone Serra Leoa Serra Leoa Sierra Leone Сьерра-Леоне Sierra Leone Sierra Leone Sierra-Leone Сијера Леоне Sierra Leone Siera Leoni เซียร์ราลีโอน Sierra Leone Сьерра-Леоне Сьєрра-Леоне Syerra-Leone Sierra Leone 塞拉利昂 獅子山
212 SM سان مارينو Сан-Марына Сан Марино San Marino San Marino San Marino San Marino San Marino San Marino Άγιος Μαρίνος San Marino San-Marino San Marino San Marino San Marino سان‌مارینو San Marino Saint-Marin Saint-Marin San Mairíne San Marino San Marino סן מרינו San Marino San Marino San Marino San Marino San Marínó San Marino サンマリノ 산마리노 San Marino Сан Марино San Marinas Sanmarīno സാൻ മറിനോ Сан-Марино San Marino San Marino San Marino San Marino San Marino San Marino San Marino San Marino Сан-Марино San Maríno San Marino San-Marino Сан Марино San Marino San Marino ซานมาริโน San Marino Сан-Марино Сан-Маріно San-Marino San Marino 圣马力诺 聖馬利諾
213 SN السنغال Сенегал Сенегал Senegal Senegal Senegal Senegal Senegal Senegal Σενεγάλη Senegal Senegalo Senegal Senegal Senegal سنگال Senegal Sénégal Sénégal an tSeineagáil Seanagal Senegal סנגל Senegal Szenegál Senegal Senegal Senegal Senegal セネガル 세네갈 Senegal Сенегал Senegalas Senegāla സെനഗൽ Сенегал Senegal Senegal Senegal Senegal Senegal Senegal Senegal Senegal Сенегал Senegal Senegal Senegal Сенегал Senegal Senegali เซเนกัล Senegal Сенегал Сенегал Senegal Senegal 塞内加尔 塞內加爾
214 SO الصومال Самалі Сомалия Somalia Somalija Somàlia Somálsko Somalia Somalia Σομαλία Somalia Somalujo Somalia Somaalia Somalia سومالی Somalia Somalie Somalie an tSomáil Somàilia Somalia סומליה Somalija Szomália Somalia Somalia Sómalía Somalia ソマリア 소말리아 Somalia Сомали Somalis Somālija സോമാലിയ Сомали Somalia Somalië Somalia Somalia Somalia Somália Somália Somalia Сомали Somálsko Somalija Somali Сомалија Somalia Somalia โซมาเลีย Somali Сомали Сомалі Somali Somalia 索马里 索馬利亞
215 SR سورينام Сурынам Суринам Surinam Surinam Surinam Surinam Surinam Suriname Σουρινάμ Suriname Surinamo Surinam Suriname Surinam سورینام Suriname Suriname Suriname Suranam Suranam Suriname סורינאם Surinam Suriname Suriname Suriname Súrínam Suriname スリナム 수리남 Suriname Суринам Surinamas Surinama സുരിനാം Суринам Surinam Suriname Surinam Suriname Surinam Suriname Suriname Suriname Суринам Surinam Surinam Surinami Суринам Surinam Suriname ซูรินาเม Surinam Суринам Сурінам Surinam Suriname 苏里南 蘇利南
216 SS جنوب السودان Паўднёвы Судан Южен Судан Susoudan Južni Sudan Sudan del Sud Jižní Súdán Sydsudan Südsudan Νότιο Σουδάν South Sudan Sud-Sudano Sudán del Sur Lõuna-Sudaan Hego Sudan سودان جنوبی Etelä-Sudan Soudan du Sud Soudan du Sud an tSúdáin Theas Sudàn a Deas O Sudán do Sur דרום סודן Južni Sudan Dél-Szudán Sudan del Sud Sudan Selatan Suður-Súdan Sud Sudan 南スーダン 남수단 South Sudan Түштүк Судан Pietų Sudanas Dienvidsudāna ദക്ഷിണ സുഡാൻ Өмнөд Судан Sør-Sudan Zuid-Soedan Sør-Sudan South Sudan Sudan Południowy Sudão do Sul Sudão do Sul Sudanul de Sud Южный Судан Južný Sudán Južni Sudan Sudani i Jugut Јужни Судан Sydsudan Sudan Kusini ซูดานใต้ Güney Sudan Көньяк Судан Південний Судан Janubiy Sudan Nam Sudan 南苏丹 南蘇丹
217 ST ساو تومي وبرينسيبي Сан-Тамэ і Прынсіпі Сао Томе и Принсипи São Tomé ha Príncipe Sao Tome i Principe São Tomé i Príncipe Svatý Tomáš a Princův ostrov São Tomé og Príncipe São Tomé und Príncipe Σάο Τομέ και Πρίνσιπε São Tomé & Príncipe Sao-Tomeo kaj Principeo Santo Tomé y Príncipe São Tomé ja Príncipe Sao Tome eta Principe سائوتومه و پرینسیپ São Tomé ja Príncipe Sao Tomé-et-Principe Sao Tomé-et-Principe São Tomé agus Príncipe São Tomé agus Príncipe San Tomé e Príncipe סאו טומה ופרינסיפה Sveti Toma i Princip São Tomé és Príncipe São Tomé & Príncipe Sao Tome dan Principe Saó Tóme og Prinsípe São Tomé e Príncipe サントメ・プリンシペ 상투메 프린시페 São Tomé & Príncipe Сан-Томе жана Принсипи San Tomė ir Prinsipė Santome un Prinsipi സാവോ ടോമും പ്രിൻസിപെയും Сан-Томе ба Принсипи São Tomé og Príncipe Sao Tomé en Principe São Tomé og Príncipe São Tomé & Príncipe Wyspy Świętego Tomasza i Książęca São Tomé e Príncipe São Tomé e Príncipe São Tomé și Príncipe Сан-Томе и Принсипи Svätý Tomáš a Princov ostrov Sao Tome in Principe Sao-Tome e Principe Сао Томе и Принципе São Tomé och Príncipe São Tomé na Príncipe เซาตูเมและปรินซิปี Sao Tome ve Principe Сан-Томе һәм Принсипи Сан-Томе і Прінсіпі San-Tome va Prinsipi São Tomé và Príncipe 圣多美和普林西比 聖多美普林西比
218 SV السلفادور Сальвадор Салвадор Salvador Salvador El Salvador Salvador El Salvador El Salvador Ελ Σαλβαδόρ El Salvador Salvadoro El Salvador El Salvador El Salvador السالوادور El Salvador Salvador Salvador an tSalvadóir An Salbhador O Salvador אל סלבדור Salvador Salvador El Salvador El Salvador El Salvador El Salvador エルサルバドル 엘살바도르 El Salvador Эль-Сальвадор Salvadoras Salvadora എൽ സാൽവദോർ Эль Сальвадор El Salvador El Salvador El Salvador El Salvador Salwador El Salvador El Salvador El Salvador Сальвадор Salvádor Salvador Salvador Салвадор El Salvador El Salvador เอลซัลวาดอร์ El Salvador Сальвадор Сальвадор Salvador El Salvador 萨尔瓦多 薩爾瓦多
219 SX سانت مارتن Сінт-Мартэн Синт Мартен Sint Maarten Sint Marten Sint Maarten Svatý Martin (Nizozemsko) Sint Maarten Sint Maarten Άγιος Μαρτίνος (Ολλανδικό τμήμα) Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sint Maarten سنت مارتن Sint Maarten Saint-Martin (partie néerlandaise) Saint-Martin (partie néerlandaise) Sint Maarten Sint Maarten Sint Maarten סנט מארטן Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sankti Martin Sint Maarten シント・マールテン 신트마르턴 Sint Maarten Синт-Мартен Sint Martenas Sintmārtena സിന്റ് മാർട്ടെൻ Синт Мартен Sint Maarten Sint-Maarten Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sint Maarten Sint-Maarten Синт-Мартен Svätý Martin (hol.) Sint Maarten Sint-Marten Свети Мартин (Холандија) Sint Maarten Sint Maarten ซินต์มาร์เทน Sint Maarten Синт-Мартен Сінт-Мартен Sint-Marten Sint Maarten 荷属圣马丁 荷屬聖馬丁
220 SY سوريا Сірыя Сирия Siria Sirija Síria Sýrie Syrien Syrien Συρία Syria Sirio Siria Süüria Siria سوریه Syyria Syrie Syrie an tSiria Siridhea Siria סוריה Sirija Szíria Syria Suriah Sýrland Siria シリア 시리아 Syria Сирия Sirija Sīrija സിറിയ Сири Syria Syrië Syria Syria Syria Síria Síria Siria Сирия Sýria Sirija Siri Сирија Syrien Syria ซีเรีย Suriye Сүрия Сирія Suriya Syria 叙利亚 敘利亞
221 SZ إسواتيني Эсватыні Есватини Eswatini Esvatini eSwatini Svazijsko Eswatini Eswatini Σουαζιλάνδη Eswatini Svazilando Esuatini Svaasimaa Swazilandia اسواتینی Swazimaa Eswatini Eswatini eSuaitíní eSwatini Eswatini אסוואטיני Esvatini Szváziföld Swazilandia eSwatini Svasíland Swaziland エスワティニ 에스와티니 Eswatini Свазиленд Svazilandas Svatini സ്വാസിലാന്റ് Эсватини Eswatini eSwatini Swaziland Eswatini Eswatini Essuatíni Essuatíni eSwatini Эсватини Eswatini Esvatini Esvatini Свазиленд Swaziland Uswazi เอสวาตีนี Esvatini Свазиленд Есватіні Svazilend Swaziland 斯威士兰 史瓦帝尼
222 TA تريستان دا كونا Трыстан-да-Кунья Тристан да Куня Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Τριστάν ντα Κούνια Tristan da Cunha Tristan da Cunha Tristán de Acuña Tristan da Cunha Tristan da Cunha تریستان دا کونا Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristán da Cunha טריסטן דה קונה Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha トリスタン・ダ・クーニャ 트리스탄다쿠나 Tristan da Cunha Тристан-да-Кунья Tristanas da Kunja Tristana da Kuņas salas ട്രിസ്റ്റൻ ഡ കൂന Тристан да Кунъя Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristan da Cunha Tristão da Cunha Tristão da Cunha Tristan da Cunha Тристан-да-Кунья Tristan da Cunha Tristan da Cunha Tristan-da-Kuna Тристан да Куња Tristan da Cunha Tristan da Cunha ทริสตันดาคูนา Tristan da Cunha Tristan da Cunha Трістан-да-Кунья Tristan-da-Kunya Tristan da Cunha 特里斯坦-达库尼亚群岛 特里斯坦達庫尼亞群島
223 TC جزر توركس وكايكوس Астравы Цёркс і Кайкас острови Търкс и Кайкос Inizi Turks ha Caicos Ostrva Turks i Kaikos Illes Turks i Caicos Turks a Caicos Turks- og Caicosøerne Turks- und Caicosinseln Νήσοι Τερκς και Κάικος Turks & Caicos Islands Turks & Caicos Islands Islas Turcas y Caicos Turks ja Caicos Turk eta Caico uharteak جزایر تورکس و کایکوس Turks- ja Caicossaaret Îles Turques-et-Caïques Îles Turques-et-Caïques Oileáin na dTurcach agus Caicos Na h-Eileanan Turcach is Caiceo Illas Turks e Caicos איי טרקס וקייקוס Otoci Turks i Caicos Turks- és Caicos-szigetek Insulas Turcos e Caicos Kepulauan Turks dan Caicos Turks- og Caicoseyjar Isole Turks e Caicos タークス・カイコス諸島 터크스 케이커스 제도 Turks & Caicos Islands Түркс жана Кайкос аралдары Terkso ir Kaikoso Salos Tērksas un Kaikosas salas ടർക്ക്‌സും കെയ്‌ക്കോ ദ്വീപുകളും Турк ба Кайкосын Арлууд Turks- og Caicosøyene Turks- en Caicoseilanden Turks- og Caicosøyane Turks & Caicos Islands Turks i Caicos Ilhas Turcas e Caicos Ilhas Turcas e Caicos Insulele Turks și Caicos о-ва Тёркс и Кайкос Turks a Caicos Otoki Turks in Caicos Ishujt Turks dhe Kaikos Острва Туркс и Каикос Turks- och Caicosöarna Visiwa vya Turks na Caicos หมู่เกาะเติกส์และหมู่เกาะเคคอส Turks ve Caicos Adaları Теркс һәм Кайкос утраулары Острови Теркс і Кайкос Turks va Kaykos orollari Quần đảo Turks và Caicos 特克斯和凯科斯群岛 土克斯及開科斯群島
224 TD تشاد Чад Чад Tchad Čad Txad Čad Tchad Tschad Τσαντ Chad Ĉado Chad Tšaad Txad چاد Tšad Tchad Tchad Sead An t-Seàd Chad צ׳אד Čad Csád Tchad Cad Tsjad Ciad チャド 차드 Chad Чад Čadas Čada ഛാഡ് Чад Tsjad Tsjaad Tsjad Chad Czad Chade Chade Ciad Чад Čad Čad Çad Чад Tchad Chad ชาด Çad Чад Чад Chad Chad 乍得 查德
225 TF الأقاليم الجنوبية الفرنسية Французскія паўднёвыя тэрыторыі Френски южни територии Douaroù aostral Frañs Francuske Južne Teritorije Territoris Australs Francesos Francouzská jižní území De Franske Besiddelser i Det Sydlige Indiske Ocean og Antarktis Französische Süd- und Antarktisgebiete Γαλλικά Νότια Εδάφη French Southern Territories French Southern Territories Territorios Australes Franceses Prantsuse Lõunaalad Hegoaldeko lurralde frantsesak سرزمین‌های جنوب فرانسه Ranskan eteläiset alueet Terres australes françaises Terres australes françaises Críocha Francacha Dheisceart an Domhain Ranntairean a Deas na Frainge Territorios Austrais Franceses הטריטוריות הדרומיות של צרפת Francuski južni i antarktički teritoriji Francia Déli Területek Territorios meridional francese Wilayah Selatan Perancis Frönsku suðlægu landsvæðin Terre australi francesi 仏領極南諸島 프랑스 남부 지방 French Southern Territories Франциянын Түштүктөгү аймактары Prancūzijos Pietų sritys Francijas Dienvidjūru teritorija ഫ്രഞ്ച് ദക്ഷിണ ഭൂപ്രദേശം Францын өмнөд газар нутаг De franske sørterritorier Franse Gebieden in de zuidelijke Indische Oceaan Dei franske sørterritoria French Southern Territories Francuskie Terytoria Południowe i Antarktyczne Territórios Franceses do Sul Territórios Franceses do Sul Teritoriile Australe și Antarctice Franceze Французские Южные территории Francúzske južné a antarktické územia Francosko južno ozemlje Territoret Jugore Franceze Француске Јужне Територије Franska sydterritorierna Himaya za Kusini za Kifaranza เฟรนช์เซาเทิร์นเทร์ริทอรีส์ Fransız Güney Toprakları Франциянең Көньяк Территорияләре Французькі Південні Території Fransuz Janubiy hududlari Lãnh thổ phía Nam Thuộc Pháp 法属南部领地 法屬南部屬地
226 TG توغو Тога Того Togo Togo Togo Togo Togo Togo Τόγκο Togo Togolo Togo Togo Togo توگو Togo Togo Togo Tóga Togo Togo טוגו Togo Togo Togo Togo Tógó Togo トーゴ 토고 Togo Того Togas Togo ടോഗോ Того Togo Togo Togo Togo Togo Togo Togo Togo Того Togo Togo Togo Того Togo Togo โตโก Togo Того Того Togo Togo 多哥 多哥
227 TH تايلاند Тайланд Тайланд Thailand Tajland Tailàndia Thajsko Thailand Thailand Ταϊλάνδη Thailand Tajlando Tailandia Tai Thailandia تایلند Thaimaa Thaïlande Thaïlande an Téalainn Dùthaich nan Tàidh Tailandia תאילנד Tajland Thaiföld Thailandia Thailand Taíland Thailandia タイ 태국 Thailand Тайланд Tailandas Taizeme തായ്‌ലാൻഡ് Тайланд Thailand Thailand Thailand Thailand Tajlandia Tailândia Tailândia Thailanda Таиланд Thajsko Tajska Tajlandë Тајланд Thailand Tailandi ไทย Tayland Тайланд Таїланд Tailand Thái Lan 泰国 泰國
228 TJ طاجيكستان Таджыкістан Таджикистан Tadjikistan Tadžikistan Tadjikistan Tádžikistán Tadsjikistan Tadschikistan Τατζικιστάν Tajikistan Taĝikujo Tayikistán Tadžikistan Tajikistan تاجیکستان Tadžikistan Tadjikistan Tadjikistan an Táidsíceastáin Taidigeastàn Taxiquistán טג׳יקיסטן Tadžikistan Tádzsikisztán Tadzhikistan Tajikistan Tadsjikistan Tagikistan タジキスタン 타지키스탄 Tajikistan Тажикстан Tadžikija Tadžikistāna താജിക്കിസ്ഥാൻ Тажикистан Tadsjikistan Tadzjikistan Tadsjikistan Tajikistan Tadżykistan Tadjiquistão Tadjiquistão Tadjikistan Таджикистан Tadžikistan Tadžikistan Taxhikistan Таџикистан Tadzjikistan Tajikistani ทาจิกิสถาน Tacikistan Таҗикстан Таджикистан Tojikiston Tajikistan 塔吉克斯坦 塔吉克
229 TK توكيلو Такелау Токелау Tokelau Tokelau Tokelau Tokelau Tokelau Tokelau Τοκελάου Tokelau Tokelau Tokelau Tokelau Tokelau توکلائو Tokelau Tokelau Tokelau Tócalá Tokelau Tokelau טוקלאו Tokelau Tokelau Tokelau Tokelau Tókelá Tokelau トケラウ 토켈라우 Tokelau Токелау Tokelau Tokelau ടോക്കെലൂ Токелау Tokelau Tokelau Tokelau Tokelau Tokelau Tokelau Tokelau Tokelau Токелау Tokelau Tokelau Tokelau Токелау Tokelau Tokelau โตเกเลา Tokelau Токелау Токелау Tokelau Tokelau 托克劳 托克勞群島
230 TL تيمور - ليشتي Тымор-Лешці Източен Тимор Timor-Leste Istočni Timor Timor Oriental Východní Timor Timor-Leste Timor-Leste Τιμόρ-Λέστε Timor-Leste Timor-Leste Timor-Leste Ida-Timor Ekialdeko Timor تیمور-لسته Itä-Timor Timor oriental Timor oriental Tíomór Thoir Timor-Leste Timor Leste טימור-לסטה Timor-Leste Kelet-Timor Timor del Est Timor Leste Tímor-Leste Timor Est 東ティモール 동티모르 Timor-Leste Тимор-Лесте Rytų Timoras Austrumtimora തിമോർ-ലെസ്റ്റെ Тимор-Лесте Øst-Timor Oost-Timor Timor-Leste (Aust-Timor) Timor-Leste Timor Wschodni Timor-Leste Timor-Leste Timor-Leste Восточный Тимор Východný Timor Timor-Leste Timor-Leste Тимор-Лесте (Источни Тимор) Östtimor Timor-Leste ติมอร์-เลสเต Timor-Leste Тимор-Лесте Тімор-Лешті Timor-Leste Timor-Leste 东帝汶 東帝汶
231 TM تركمانستان Туркменістан Туркменистан Turkmenistan Turkmenistan Turkmenistan Turkmenistán Turkmenistan Turkmenistan Τουρκμενιστάν Turkmenistan Turkmenujo Turkmenistán Türkmenistan Turkmenistan ترکمنستان Turkmenistan Turkménistan Turkménistan an Tuircméanastáin Turcmanastàn Turkmenistán טורקמניסטן Turkmenistan Türkmenisztán Turkmenistan Turkimenistan Túrkmenistan Turkmenistan トルクメニスタン 투르크메니스탄 Turkmenistan Түркмөнстан Turkmėnistanas Turkmenistāna തുർക്ക്മെനിസ്ഥാൻ Туркменистан Turkmenistan Turkmenistan Turkmenistan Turkmenistan Turkmenistan Turcomenistão Turcomenistão Turkmenistan Туркменистан Turkménsko Turkmenistan Turkmenistan Туркменистан Turkmenistan Turkmenistan เติร์กเมนิสถาน Türkmenistan Төркмәнстан Туркменістан Turkmaniston Turkmenistan 土库曼斯坦 土庫曼
232 TN تونس Туніс Тунис Tunizia Tunis Tunísia Tunisko Tunesien Tunesien Τυνησία Tunisia Tunizio Túnez Tuneesia Tunisia تونس Tunisia Tunisie Tunisie an Túinéis Tuinisea Tunisia תוניסיה Tunis Tunézia Tunisia Tunisia Túnis Tunisia チュニジア 튀니지 Tunisia Тунис Tunisas Tunisija ടുണീഷ്യ Тунис Tunisia Tunesië Tunisia Tunisia Tunezja Tunísia Tunísia Tunisia Тунис Tunisko Tunizija Tunizi Тунис Tunisien Tunisia ตูนิเซีย Tunus Тунис Туніс Tunis Tunisia 突尼斯 突尼西亞
233 TO تونغا Тонга Тонга Tonga Tonga Tonga Tonga Tonga Tonga Τόνγκα Tonga Tongo Tonga Tonga Tonga تونگا Tonga Tonga Tonga Tonga Tonga Tonga טונגה Tonga Tonga Tonga Tonga Tonga Tonga トンガ 통가 Tonga Тонга Tonga Tonga ടോംഗ Тонга Tonga Tonga Tonga Tonga Tonga Tonga Tonga Tonga Тонга Tonga Tonga Tonga Тонга Tonga Tonga ตองกา Tonga Тонга Тонґа Tonga Tonga 汤加 東加
234 TR تركيا Турцыя Турция Turkia Turska Turquia Turecko Tyrkiet Türkei Τουρκία Turkey Turkujo Turquía Türgi Turkia ترکیه Turkki Turquie Turquie an Tuirc An Tuirc Turquía טורקיה Turska Törökország Turchia Turki Tyrkland Turchia トルコ 터키 Turkey Түркия Turkija Turcija തുർക്കി Турк Tyrkia Turkije Tyrkia Turkey Turcja Turquia Turquia Turcia Турция Turecko Turčija Turqi Турска Turkiet Uturuki ตุรกี Türkiye Төркия Туреччина Turkiya Thổ Nhĩ Kỳ 土耳其 土耳其
235 TT ترينيداد وتوباغو Трынідад і Табага Тринидад и Тобаго Trinidad ha Tobago Trinidad i Tobago Trinitat i Tobago Trinidad a Tobago Trinidad og Tobago Trinidad und Tobago Τρινιντάντ και Τομπάγκο Trinidad & Tobago Trinidado kaj Tobago Trinidad y Tobago Trinidad ja Tobago Trinidad eta Tobago ترینیداد و توباگو Trinidad ja Tobago Trinité-et-Tobago Trinité-et-Tobago Oileán na Tríonóide agus Tobága Trianaid agus Tobago Trinidad e Tobago טרינידד וטובגו Trinidad i Tobago Trinidad és Tobago Trinidad e Tobago Trinidad dan Tobago Trínidad og Tóbagó Trinidad e Tobago トリニダード・トバゴ 트리니다드 토바고 Trinidad & Tobago Тринидад жана Тобаго Trinidadas ir Tobagas Trinidāda un Tobāgo ട്രിനിഡാഡും ടുബാഗോയും Тринидад ба Тобаго Trinidad og Tobago Trinidad en Tobago Trinidad og Tobago Trinidad & Tobago Trynidad i Tobago Trinidad e Tobago Trinidad e Tobago Trinidad și Tobago Тринидад и Тобаго Trinidad a Tobago Trinidad in Tobago Trinidad e Tobago Тринидад и Тобаго Trinidad och Tobago Trinidad na Tobago ตรินิแดดและโตเบโก Trinidad ve Tobago Тринидад һәм Тобаго Трінідад і Тобаґо Trinidad va Tobago Trinidad và Tobago 特立尼达和多巴哥 千里達及托巴哥
236 TV توفالو Тувалу Тувалу Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Τουβαλού Tuvalu Tuvalo Tuvalu Tuvalu Tuvalu تووالو Tuvalu Tuvalu Tuvalu Tuvalu Tubhalu Tuvalu טובאלו Tuvalu Tuvalu Tuvalu Tuvalu Túvalú Tuvalu ツバル 투발루 Tuvalu Тувалу Tuvalu Tuvalu ടുവാലു Тувалу Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Tuvalu Тувалу Tuvalu Tuvalu Tuvalu Тувалу Tuvalu Tuvalu ตูวาลู Tuvalu Тувалу Тувалу Tuvalu Tuvalu 图瓦卢 吐瓦魯
237 TW تايوان Тайвань Тайван Taiwan Tajvan Taiwan Tchaj-wan Taiwan Taiwan Ταϊβάν Taiwan Tajvano Taiwán Taiwan Taiwan تایوان Taiwan Taïwan Taïwan an Téaváin Taidh-Bhàn Taiwán טייוואן Tajvan Tajvan Taiwan Taiwan Taívan Taiwan 台湾 대만 Taiwan Тайвань Taivanas Taivāna തായ്‌വാൻ Тайвань Taiwan Taiwan Taiwan Taiwan Tajwan Taiwan Taiwan Taiwan Тайвань Taiwan Tajvan Tajvan Тајван Taiwan Taiwan ไต้หวัน Tayvan Тайвань Тайвань Tayvan Đài Loan 台湾 台灣
238 TZ تنزانيا Танзанія Танзания Tanzania Tanzanija Tanzània Tanzanie Tanzania Tansania Τανζανία Tanzania Tanzanio Tanzania Tansaania Tanzania تانزانیا Tansania Tanzanie Tanzanie an Tansáin An Tansan Tanzania טנזניה Tanzanija Tanzánia Tanzania Tanzania Tansanía Tanzania タンザニア 탄자니아 Tanzania Танзания Tanzanija Tanzānija ടാൻസാനിയ Танзани Tanzania Tanzania Tanzania Tanzania Tanzania Tanzânia Tanzânia Tanzania Танзания Tanzánia Tanzanija Tanzani Танзанија Tanzania Tanzania แทนซาเนีย Tanzanya Танзания Танзанія Tanzaniya Tanzania 坦桑尼亚 坦尚尼亞
239 UA أوكرانيا Украіна Украйна Ukraina Ukrajina Ucraïna Ukrajina Ukraine Ukraine Ουκρανία Ukraine Ukrajno Ucrania Ukraina Ukraina اوکراین Ukraina Ukraine Ukraine an Úcráin An Ucràin Ucraína אוקראינה Ukrajina Ukrajna Ukraina Ukraina Úkraína Ucraina ウクライナ 우크라이나 Ukraine Украина Ukraina Ukraina ഉക്രെയ്‌ൻ Украин Ukraina Oekraïne Ukraina Ukraine Ukraina Ucrânia Ucrânia Ucraina Украина Ukrajina Ukrajina Ukrainë Украјина Ukraina Ukraine ยูเครน Ukrayna Украина Україна Ukraina Ukraina 乌克兰 烏克蘭
240 UG أوغندا Уганда Уганда Ouganda Uganda Uganda Uganda Uganda Uganda Ουγκάντα Uganda Ugando Uganda Uganda Uganda اوگاندا Uganda Ouganda Ouganda Uganda Uganda Uganda אוגנדה Uganda Uganda Uganda Uganda Úganda Uganda ウガンダ 우간다 Uganda Уганда Uganda Uganda ഉഗാണ്ട Уганда Uganda Oeganda Uganda Uganda Uganda Uganda Uganda Uganda Уганда Uganda Uganda Ugandë Уганда Uganda Uganda ยูกันดา Uganda Уганда Уганда Uganda Uganda 乌干达 烏干達
241 UM جزر الولايات المتحدة النائية Малыя Аддаленыя астравы ЗША Отдалечени острови на САЩ Inizi diabell ar Stadoù-Unanet Američka Vanjska Ostrva Illes Perifèriques Menors dels EUA Menší odlehlé ostrovy USA Amerikanske oversøiske øer Amerikanische Überseeinseln Απομακρυσμένες Νησίδες ΗΠΑ U.S. Outlying Islands Usonaj malgrandaj insuloj Islas menores alejadas de EE. UU. Ühendriikide hajasaared Ameriketako Estatu Batuetako Kanpoaldeko Uharte Txikiak جزایر دورافتادهٔ ایالات متحده Yhdysvaltain erillissaaret Îles mineures éloignées des États-Unis Îles mineures éloignées des États-Unis Oileáin Imeallacha S.A.M. Meanbh-Eileanan Iomallach nan SA Illas Menores Distantes dos Estados Unidos האיים המרוחקים הקטנים של ארה״ב Mali udaljeni otoci SAD-a Az USA lakatlan külbirtokai U.S. Outlying Islands Kepulauan Terluar A.S. Smáeyjar Bandaríkjanna Altre isole americane del Pacifico 合衆国領有小離島 미국령 해외 제도 U.S. Outlying Islands АКШнын сырткы аралдары Jungtinių Valstijų Mažosios Tolimosios Salos ASV Mazās Aizjūras salas യു.എസ്. ദ്വീപസമൂഹങ്ങൾ Америкийн Нэгдсэн Улсын бага арлууд USAs ytre øyer Kleine afgelegen eilanden van de Verenigde Staten USAs ytre småøyar U.S. Outlying Islands Dalekie Wyspy Mniejsze Stanów Zjednoczonych Ilhas Menores Distantes dos EUA Ilhas Menores Distantes dos EUA Insulele Îndepărtate ale S.U.A. Внешние малые о-ва (США) Menšie odľahlé ostrovy USA Stranski zunanji otoki Združenih držav Ishujt Periferikë të SHBA-së Удаљена острва САД USA:s yttre öar Visiwa Vidogo vya Nje vya Marekani หมู่เกาะรอบนอกของสหรัฐอเมริกา ABD Küçük Harici Adaları АКШ Кече Читтәге утраулары Віддалені острови США AQSH yondosh orollari Các tiểu đảo xa của Hoa Kỳ 美国本土外小岛屿 美國本土外小島嶼
242 US الولايات المتحدة Злучаныя Штаты Съединени щати Stadoù-Unanet Sjedinjene Države Estats Units Spojené státy USA Vereinigte Staaten Ηνωμένες Πολιτείες United States Usono Estados Unidos Ameerika Ühendriigid Ameriketako Estatu Batuak ایالات متحده Yhdysvallat États-Unis États-Unis Stáit Aontaithe Mheiriceá Na Stàitean Aonaichte Os Estados Unidos ארצות הברית Sjedinjene Američke Države Egyesült Államok Statos Unite Amerika Serikat Bandaríkin Stati Uniti アメリカ合衆国 미국 Statys Unys Кошмо Штаттар Jungtinės Valstijos Amerikas Savienotās Valstis അമേരിക്കൻ ഐക്യനാടുകൾ Америкийн Нэгдсэн Улс USA Verenigde Staten USA АИШ Stany Zjednoczone Estados Unidos Estados Unidos Statele Unite ale Americii Соединенные Штаты Spojené štáty Združene države Amerike SHBA Сједињене Државе USA Marekani สหรัฐอเมริกา Amerika Birleşik Devletleri АКШ Сполучені Штати Amerika Qo‘shma Shtatlari Hoa Kỳ 美国 美國
243 UY أورغواي Уругвай Уругвай Uruguay Urugvaj Uruguai Uruguay Uruguay Uruguay Ουρουγουάη Uruguay Urugvajo Uruguay Uruguay Uruguai اروگوئه Uruguay Uruguay Uruguay Uragua Uruguaidh O Uruguai אורוגוואי Urugvaj Uruguay Uruguay Uruguay Úrúgvæ Uruguay ウルグアイ 우루과이 Uruguay Уругвай Urugvajus Urugvaja ഉറുഗ്വേ Уругвай Uruguay Uruguay Uruguay Uruguay Urugwaj Uruguai Uruguai Uruguay Уругвай Uruguaj Urugvaj Uruguai Уругвај Uruguay Uruguay อุรุกวัย Uruguay Уругвай Уруґвай Urugvay Uruguay 乌拉圭 烏拉圭
244 UZ أوزبكستان Узбекістан Узбекистан Ouzbekistan Uzbekistan Uzbekistan Uzbekistán Usbekistan Usbekistan Ουζμπεκιστάν Uzbekistan Uzbekujo Uzbekistán Usbekistan Uzbekistan ازبکستان Uzbekistan Ouzbékistan Ouzbékistan an Úisbéiceastáin Usbagastàn Uzbekistán אוזבקיסטן Uzbekistan Üzbegisztán Uzbekistan Uzbekistan Úsbekistan Uzbekistan ウズベキスタン 우즈베키스탄 Uzbekistan Өзбекстан Uzbekistanas Uzbekistāna ഉസ്‌ബെക്കിസ്ഥാൻ Узбекистан Usbekistan Oezbekistan Usbekistan Uzbekistan Uzbekistan Uzbequistão Uzbequistão Uzbekistan Узбекистан Uzbekistan Uzbekistan Uzbekistan Узбекистан Uzbekistan Uzibekistani อุซเบกิสถาน Özbekistan Үзбәкстан Узбекистан Oʻzbekiston Uzbekistan 乌兹别克斯坦 烏茲別克
245 VA الفاتيكان Ватыкан Ватикан Vatikan Vatikan Ciutat del Vaticà Vatikán Vatikanstaten Vatikanstadt Βατικανό Vatican City Vatikano Ciudad del Vaticano Vatikan Vatikano Hiria واتیکان Vatikaani État de la Cité du Vatican État de la Cité du Vatican Cathair na Vatacáine Cathair na Bhatacain Cidade do Vaticano הוותיקן Vatikanski Grad Vatikán Citate del Vaticano Vatikan Vatíkanið Città del Vaticano バチカン市国 바티칸 시국 Vatican City Ватикан Vatikano Miesto Valstybė Vatikāns വത്തിക്കാൻ Ватикан хот улс Vatikanstaten Vaticaanstad Vatikanstaten Vatican City Watykan Cidade do Vaticano Cidade do Vaticano Statul Cetății Vaticanului Ватикан Vatikán Vatikan Vatikan Ватикан Vatikanstaten Mji wa Vatican นครวาติกัน Vatikan Vatican City Ватикан Vatikan Thành Vatican 梵蒂冈 梵蒂岡
246 VC سانت فنسنت وجزر غرينادين Сент-Вінсент і Грэнадзіны Сейнт Винсънт и Гренадини Sant Visant hag ar Grenadinez Sveti Vinsent i Grenadin Saint Vincent i les Grenadines Svatý Vincenc a Grenadiny Saint Vincent og Grenadinerne St. Vincent und die Grenadinen Άγιος Βικέντιος και Γρεναδίνες St. Vincent & Grenadines Sent-Vincento kaj la Grenadinoj San Vicente y las Granadinas Saint Vincent ja Grenadiinid Saint Vincent eta Grenadinak سنت وینسنت و گرنادین Saint Vincent ja Grenadiinit Saint-Vincent-et-les-Grenadines Saint-Vincent-et-les-Grenadines San Uinseann agus na Greanáidíní Naomh Bhionsant agus Eileanan Greanadach San Vicente e As Granadinas סנט וינסנט והגרנדינים Sveti Vincent i Grenadini Saint Vincent és a Grenadine-szigetek Sancte Vincente e le Grenadinas Saint Vincent dan Grenadine Sankti Vinsent og Grenadíneyjar Saint Vincent e Grenadine セントビンセント及びグレナディーン諸島 세인트빈센트그레나딘 St. Vincent & Grenadines Сент-Винсент жана Гренадиндер Šventasis Vincentas ir Grenadinai Sentvinsenta un Grenadīnas സെന്റ് വിൻസെന്റും ഗ്രനെഡൈൻസും Сент-Винсент ба Гренадин St. Vincent og Grenadinene Saint Vincent en de Grenadines St. Vincent og Grenadinane St. Vincent & Grenadines Saint Vincent i Grenadyny São Vicente e Granadinas São Vicente e Granadinas Saint Vincent și Grenadinele Сент-Винсент и Гренадины Svätý Vincent a Grenadíny Saint Vincent in Grenadine Shën-Vincent dhe Grenadine Сент Винсент и Гренадини S:t Vincent och Grenadinerna St. Vincent na Grenadines เซนต์วินเซนต์และเกรนาดีนส์ Saint Vincent ve Grenadinler Сент-Винсент һәм Гренадин Сент-Вінсент і Ґренадіни Sent-Vinsent va Grenadin St. Vincent và Grenadines 圣文森特和格林纳丁斯 聖文森及格瑞那丁
247 VE فنزويلا Венесуэла Венецуела Venezuela Venecuela Veneçuela Venezuela Venezuela Venezuela Βενεζουέλα Venezuela Venezuelo Venezuela Venezuela Venezuela ونزوئلا Venezuela Venezuela Venezuela Veiniséala A’ Bheiniseala Venezuela ונצואלה Venezuela Venezuela Venezuela Venezuela Venesúela Venezuela ベネズエラ 베네수엘라 Venezuela Венесуэла Venesuela Venecuēla വെനിസ്വേല Венесуэл Venezuela Venezuela Venezuela Venezuela Wenezuela Venezuela Venezuela Venezuela Венесуэла Venezuela Venezuela Venezuelë Венецуела Venezuela Venezuela เวเนซุเอลา Venezuela Венесуэла Венесуела Venesuela Venezuela 委内瑞拉 委內瑞拉
248 VG جزر فيرجن البريطانية Брытанскія Віргінскія астравы Британски Вирджински острови Inizi Gwercʼh Breizh-Veur Britanska Djevičanska ostrva Illes Verges Britàniques Britské Panenské ostrovy De Britiske Jomfruøer Britische Jungferninseln Βρετανικές Παρθένες Νήσοι British Virgin Islands Britaj Virgulininsuloj Islas Vírgenes Británicas Briti Neitsisaared Birjina uharte britainiarrak جزایر ویرجین بریتانیا Brittiläiset Neitsytsaaret Îles Vierges britanniques Îles Vierges britanniques Oileáin Bhriotanacha na Maighdean Eileanan Breatannach na Maighdinn Illas Virxes Británicas איי הבתולה הבריטיים Britanski Djevičanski otoci Brit Virgin-szigetek British Virgin Islands Kepulauan Virgin Britania Raya Bresku Jómfrúaeyjar Isole Vergini Britanniche 英領ヴァージン諸島 영국령 버진아일랜드 British Virgin Islands Виргин аралдары (Британия) Didžiosios Britanijos Mergelių Salos Britu Virdžīnas ബ്രിട്ടീഷ് വെർജിൻ ദ്വീപുകൾ Британийн Виржиний арлууд De britiske jomfruøyene Britse Maagdeneilanden Dei britiske Jomfruøyane British Virgin Islands Brytyjskie Wyspy Dziewicze Ilhas Virgens Britânicas Ilhas Virgens Britânicas Insulele Virgine Britanice Виргинские о-ва (Великобритания) Britské Panenské ostrovy Britanski Deviški otoki Ishujt e Virgjër Britanikë Британска Девичанска Острва Brittiska Jungfruöarna Visiwa vya Virgin, Uingereza หมู่เกาะบริติชเวอร์จิน Britanya Virjin Adaları Британия Виргин утраулары Британські Віргінські острови Britaniya Virgin orollari Quần đảo Virgin thuộc Anh 英属维尔京群岛 英屬維京群島
249 VI جزر فيرجن التابعة للولايات المتحدة Амерыканскія Віргінскія астравы Американски Вирджински острови Inizi Gwercʼh ar Stadoù-Unanet Američka Djevičanska ostrva Illes Verges Nord-americanes Americké Panenské ostrovy De Amerikanske Jomfruøer Amerikanische Jungferninseln Αμερικανικές Παρθένες Νήσοι U.S. Virgin Islands Usonaj Virgulininsuloj Islas Vírgenes de EE. UU. USA Neitsisaared Birjina uharte amerikarrak جزایر ویرجین ایالات متحده Yhdysvaltain Neitsytsaaret Îles Vierges des États-Unis Îles Vierges des États-Unis Oileáin Mheiriceánacha na Maighdean Eileanan na Maighdinn aig na SA Illas Virxes Estadounidenses איי הבתולה של ארצות הברית Američki Djevičanski otoci Amerikai Virgin-szigetek U.S. Virgin Islands Kepulauan Virgin Amerika Serikat Bandarísku Jómfrúaeyjar Isole Vergini Americane 米領ヴァージン諸島 미국령 버진아일랜드 U.S. Virgin Islands Виргин аралдары (АКШ) Jungtinių Valstijų Mergelių Salos ASV Virdžīnas യു.എസ്. വെർജിൻ ദ്വീപുകൾ АНУ-ын Виржиний арлууд De amerikanske jomfruøyene Amerikaanse Maagdeneilanden Dei amerikanske Jomfruøyane U.S. Virgin Islands Wyspy Dziewicze Stanów Zjednoczonych Ilhas Virgens Americanas Ilhas Virgens Americanas Insulele Virgine Americane Виргинские о-ва (США) Americké Panenské ostrovy Ameriški Deviški otoki Ishujt e Virgjër të SHBA-së Америчка Девичанска Острва Amerikanska Jungfruöarna Visiwa vya Virgin, Marekani หมู่เกาะเวอร์จินของสหรัฐอเมริกา ABD Virjin Adaları АКШ Виргин утраулары Віргінські острови, США AQSH Virgin orollari Quần đảo Virgin thuộc Mỹ 美属维尔京群岛 美屬維京群島
250 VN فيتنام В’етнам Виетнам Viêt Nam Vijetnam Vietnam Vietnam Vietnam Vietnam Βιετνάμ Vietnam Vjetnamo Vietnam Vietnam Vietnam ویتنام Vietnam Vietnam Vietnam Vítneam Bhiet-Nam Vietnam וייטנאם Vijetnam Vietnám Vietnam Vietnam Víetnam Vietnam ベトナム 베트남 Vietnam Вьетнам Vietnamas Vjetnama വിയറ്റ്നാം Вьетнам Vietnam Vietnam Vietnam Vietnam Wietnam Vietnã Vietnã Vietnam Вьетнам Vietnam Vietnam Vietnam Вијетнам Vietnam Vietnam เวียดนาม Vietnam Вьетнам Вʼєтнам Vyetnam Việt Nam 越南 越南
251 VU فانواتو Вануату Вануату Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Βανουάτου Vanuatu Vanuatuo Vanuatu Vanuatu Vanuatu وانواتو Vanuatu Vanuatu Vanuatu Vanuatú Vanuatu Vanuatu ונואטו Vanuatu Vanuatu Vanuatu Vanuatu Vanúatú Vanuatu バヌアツ 바누아투 Vanuatu Вануату Vanuatu Vanuatu വന്വാതു Вануату Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Vanuatu Вануату Vanuatu Vanuatu Vanuatu Вануату Vanuatu Vanuatu วานูอาตู Vanuatu Вануату Вануату Vanuatu Vanuatu 瓦努阿图 萬那杜
252 WF جزر والس وفوتونا Уоліс і Футуна Уолис и Футуна Wallis ha Futuna Ostrva Valis i Futuna Wallis i Futuna Wallis a Futuna Wallis og Futuna Wallis und Futuna Γουάλις και Φουτούνα Wallis & Futuna Valiso kaj Futuno Wallis y Futuna Wallis ja Futuna Wallis eta Futuna والیس و فوتونا Wallis ja Futuna Wallis-et-Futuna Wallis-et-Futuna Vailís agus Futúna Uallas agus Futuna Wallis e Futuna איי ווליס ופוטונה Wallis i Futuna Wallis és Futuna Wallis & Futuna Kepulauan Wallis dan Futuna Wallis- og Fútúnaeyjar Wallis e Futuna ウォリス・フツナ 왈리스-푸투나 제도 Wallis & Futuna Уоллис жана Футуна Volisas ir Futūna Volisa un Futunas salas വാലിസ് ആന്റ് ഫ്യൂച്യുന Уоллис ба Футуна Wallis og Futuna Wallis en Futuna Wallis og Futuna Wallis & Futuna Wallis i Futuna Wallis e Futuna Wallis e Futuna Wallis și Futuna Уоллис и Футуна Wallis a Futuna Wallis in Futuna Uollis e Futuna Валис и Футуна Wallis- och Futunaöarna Wallis na Futuna วาลลิสและฟุตูนา Wallis ve Futuna Уоллис һәм Футуна Уолліс і Футуна Uollis va Futuna Wallis và Futuna 瓦利斯和富图纳 瓦利斯群島和富圖那群島
253 WS ساموا Самоа Самоа Samoa Samoa Samoa Samoa Samoa Samoa Σαμόα Samoa Samoo Samoa Samoa Samoa ساموآ Samoa Samoa Samoa Samó Samotha Samoa סמואה Samoa Szamoa Samoa Samoa Samóa Samoa サモア 사모아 Samoa Самоа Samoa Samoa സമോവ Самоа Samoa Samoa Samoa Samoa Samoa Samoa Samoa Samoa Самоа Samoa Samoa Samoa Самоа Samoa Samoa ซามัว Samoa Самоа Самоа Samoa Samoa 萨摩亚 薩摩亞
254 XK كوسوفو Косава Косово Kosovo Kosovo Kosovo Kosovo Kosovo Kosovo Κοσσυφοπέδιο Kosovo Kosovo Kosovo Kosovo Kosovo کوزوو Kosovo Kosovo Kosovo an Chosaiv A’ Chosobho Kosovo קוסובו Kosovo Koszovó Kosovo Kosovo Kósóvó Kosovo コソボ 코소보 Kosovo Косово Kosovas Kosova കൊസോവൊ Косово Kosovo Kosovo Kosovo Kosovo Kosowo Kosovo Kosovo Kosovo Косово Kosovo Kosovo Kosovë Косово Kosovo Kosovo โคโซโว Kosova Косово Косово Kosovo Kosovo 科索沃 科索沃
255 YE اليمن Емен Йемен Yemen Jemen Iemen Jemen Yemen Jemen Υεμένη Yemen Jemeno Yemen Jeemen Yemen یمن Jemen Yémen Yémen Éimin An Eaman O Iemen תימן Jemen Jemen Yemen Yaman Jemen Yemen イエメン 예멘 Yemen Йемен Jemenas Jemena യെമൻ Йемен Jemen Jemen Jemen Yemen Jemen Iêmen Iêmen Yemen Йемен Jemen Jemen Jemen Јемен Jemen Yemeni เยเมน Yemen Йәмән Ємен Yaman Yemen 也门 葉門
256 YT مايوت Маёта Майот Mayotte Majote Mayotte Mayotte Mayotte Mayotte Μαγιότ Mayotte Majoto Mayotte Mayotte Mayotte مایوت Mayotte Mayotte Mayotte Mayotte Mayotte Mayotte מאיוט Mayotte Mayotte Mayotte Mayotte Mayotte Mayotte マヨット 마요트 Mayotte Майотта Majotas Majota മയോട്ടി Майотта Mayotte Mayotte Mayotte Mayotte Majotta Mayotte Mayotte Mayotte Майотта Mayotte Mayotte Majotë Мајот Mayotte Mayotte มายอต Mayotte Майотта Майотта Mayotta Mayotte 马约特 馬約特島
257 ZA جنوب أفريقيا Паўднёва-Афрыканская Рэспубліка Южна Африка Suafrika Južnoafrička Republika República de Sud-àfrica Jihoafrická republika Sydafrika Südafrika Νότια Αφρική South Africa Sud-Afriko Sudáfrica Lõuna-Aafrika Vabariik Hegoafrika افریقای جنوبی Etelä-Afrikka Afrique du Sud Afrique du Sud an Afraic Theas Afraga a Deas Suráfrica דרום אפריקה Južnoafrička Republika Dél-afrikai Köztársaság Sudafrica Afrika Selatan Suður-Afríka Sudafrica 南アフリカ 남아프리카 South Africa Түштүк-Африка Республикасы Pietų Afrika Dienvidāfrikas Republika ദക്ഷിണാഫ്രിക്ക Өмнөд Африк Sør-Afrika Zuid-Afrika Sør-Afrika South Africa Republika Południowej Afryki África do Sul África do Sul Africa de Sud Южно-Африканская Республика Južná Afrika Južnoafriška republika Afrika e Jugut Јужноафричка Република Sydafrika Afrika Kusini แอฟริกาใต้ Güney Afrika Көньяк Африка Південно-Африканська Республіка Janubiy Afrika Respublikasi Nam Phi 南非 南非
258 ZM زامبيا Замбія Замбия Zambia Zambija Zàmbia Zambie Zambia Sambia Ζάμπια Zambia Zambio Zambia Sambia Zambia زامبیا Sambia Zambie Zambie an tSaimbia Sàimbia Zambia זמביה Zambija Zambia Zambia Zambia Sambía Zambia ザンビア 잠비아 Zambia Замбия Zambija Zambija സാംബിയ Замби Zambia Zambia Zambia Zambia Zambia Zâmbia Zâmbia Zambia Замбия Zambia Zambija Zambi Замбија Zambia Zambia แซมเบีย Zambiya Замбия Замбія Zambiya Zambia 赞比亚 尚比亞
259 ZW زيمبابوي Зімбабвэ Зимбабве Zimbabwe Zimbabve Zimbàbue Zimbabwe Zimbabwe Simbabwe Ζιμπάμπουε Zimbabwe Zimbabvo Zimbabue Zimbabwe Zimbabwe زیمبابوه Zimbabwe Zimbabwe Zimbabwe an tSiombáib An t-Sìombab Zimbabwe זימבבואה Zimbabve Zimbabwe Zimbabwe Zimbabwe Simbabve Zimbabwe ジンバブエ 짐바브웨 Zimbabwe Зимбабве Zimbabvė Zimbabve സിംബാബ്‌വേ Зимбабве Zimbabwe Zimbabwe Zimbabwe Zimbabwe Zimbabwe Zimbábue Zimbábue Zimbabwe Зимбабве Zimbabwe Zimbabve Zimbabve Зимбабве Zimbabwe Zimbabwe ซิมบับเว Zimbabve Зимбабве Зімбабве Zimbabve Zimbabwe 津巴布韦 辛巴威

BIN
data/editor/font/font.xml Normal file

Binary file not shown.

BIN
data/editor/font/font0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
data/editor/icons/bb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
data/editor/icons/cam1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
data/editor/icons/cam2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
data/editor/icons/edge1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
data/editor/icons/edge2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
data/editor/icons/edge3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
data/editor/icons/env.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
data/editor/icons/exit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
data/editor/icons/extra.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
data/editor/icons/frame.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
data/editor/icons/gift.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Some files were not shown because too many files have changed in this diff Show more