diff --git a/platform/android/CHANGELOG.md b/platform/android/CHANGELOG.md
index 485c4b51317..337dd801b36 100644
--- a/platform/android/CHANGELOG.md
+++ b/platform/android/CHANGELOG.md
@@ -4,6 +4,9 @@ Mapbox welcomes participation and contributions from everyone. If you'd like to
## master
+### Features
+- Add Galician localization [#14095](https://github.com/mapbox/mapbox-gl-native/pull/14095)
+
## 7.3.0-alpha.1 - March 7, 2019
### Features
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values-gl/strings.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values-gl/strings.xml
new file mode 100644
index 00000000000..1f8f660d111
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res/values-gl/strings.xml
@@ -0,0 +1,17 @@
+
+
+ Compás do mapa. Actívao para restabelecer a rotación do mapa cara o norte.
+ Icona de atribución. Actívaa para amosar o diálogo de atribución.
+ Vista de ubicación. Amosa a túa ubicación no mapa.
+ Estase a amosar un mapa feito co Mapbox. Belisca dous dedos para desprazarte ou belisca para achegar.
+ Mapbox Maps SDK para o Android
+ Axúdanos a mellorar os mapas do Mapbox
+ Grazas á túa contribución de datos anónimos de emprego, axudas a mellorar o OpenStreetMap e o Mapbox.
+ Dacordo
+ Rexeitar
+ Máis información
+ Non podes abrir a páxina web porque non hai un navegador web no dispositivo.
+ O parámetro OfflineRegionDefinition que se ingresou non coincide cos límites mundiais: %s
+ Mellorar este mapa
+ Axustes da telemetría
+
\ No newline at end of file
diff --git a/platform/darwin/resources/gl.lproj/Foundation.strings b/platform/darwin/resources/gl.lproj/Foundation.strings
new file mode 100644
index 00000000000..fdd9502cbd3
--- /dev/null
+++ b/platform/darwin/resources/gl.lproj/Foundation.strings
@@ -0,0 +1,306 @@
+/* User-friendly error description */
+"ADD_FILE_CONTENTS_FAILED_DESC" = "Non se poden engadir paquetes sen conexión dende o ficheiro en %@.";
+
+/* Clock position format, long: {hours} o’clock */
+"CLOCK_FMT_LONG" = "%@ en punto";
+
+/* Clock position format, medium: {hours} o’clock */
+"CLOCK_FMT_MEDIUM" = "%@ en punto";
+
+/* Clock position format, short: {hours}:00 */
+"CLOCK_FMT_SHORT" = "%@:00";
+
+/* East, long */
+"COMPASS_E_LONG" = "leste";
+
+/* East, short */
+"COMPASS_E_SHORT" = "L";
+
+/* East by north, long */
+"COMPASS_EbN_LONG" = "leste polo norte";
+
+/* East by north, short */
+"COMPASS_EbN_SHORT" = "LpN";
+
+/* East by south, long */
+"COMPASS_EbS_LONG" = "leste polo sur";
+
+/* East by south, short */
+"COMPASS_EbS_SHORT" = "LpS";
+
+/* East-northeast, long */
+"COMPASS_ENE_LONG" = "leste-nordés";
+
+/* East-northeast, short */
+"COMPASS_ENE_SHORT" = "LNL";
+
+/* East-southeast, long */
+"COMPASS_ESE_LONG" = "leste-sueste";
+
+/* East-southeast, short */
+"COMPASS_ESE_SHORT" = "LSL";
+
+/* North, long */
+"COMPASS_N_LONG" = "norte";
+
+/* North, short */
+"COMPASS_N_SHORT" = "N";
+
+/* North by east, long */
+"COMPASS_NbE_LONG" = "norte polo leste";
+
+/* North by east, short */
+"COMPASS_NbE_SHORT" = "NpL";
+
+/* North by west, long */
+"COMPASS_NbW_LONG" = "norte polo oeste";
+
+/* North by west, short */
+"COMPASS_NbW_SHORT" = "NpO";
+
+/* Northeast, long */
+"COMPASS_NE_LONG" = "nordés";
+
+/* Northeast, short */
+"COMPASS_NE_SHORT" = "NL";
+
+/* Northeast by east, long */
+"COMPASS_NEbE_LONG" = "nordés polo leste";
+
+/* Northeast by east, short */
+"COMPASS_NEbE_SHORT" = "NLpL";
+
+/* Northeast by north, long */
+"COMPASS_NEbN_LONG" = "nordés polo norte";
+
+/* Northeast by north, short */
+"COMPASS_NEbN_SHORT" = "NLpN";
+
+/* North-northeast, long */
+"COMPASS_NNE_LONG" = "norte-nordés";
+
+/* North-northeast, short */
+"COMPASS_NNE_SHORT" = "NNL";
+
+/* North-northwest, long */
+"COMPASS_NNW_LONG" = "norte-noroeste";
+
+/* North-northwest, short */
+"COMPASS_NNW_SHORT" = "NNO";
+
+/* Northwest, long */
+"COMPASS_NW_LONG" = "noroeste";
+
+/* Northwest, short */
+"COMPASS_NW_SHORT" = "NO";
+
+/* Northwest by north, long */
+"COMPASS_NWbN_LONG" = "noroeste polo norte";
+
+/* Northwest by north, short */
+"COMPASS_NWbN_SHORT" = "NOpN";
+
+/* Northwest by west, long */
+"COMPASS_NWbW_LONG" = "noroeste polo oeste";
+
+/* Northwest by west, short */
+"COMPASS_NWbW_SHORT" = "NOpO";
+
+/* South, long */
+"COMPASS_S_LONG" = "sur";
+
+/* South, short */
+"COMPASS_S_SHORT" = "S";
+
+/* South by east, long */
+"COMPASS_SbE_LONG" = "sur polo leste";
+
+/* South by east, short */
+"COMPASS_SbE_SHORT" = "SpL";
+
+/* South by west, long */
+"COMPASS_SbW_LONG" = "sur polo oeste";
+
+/* South by west, short */
+"COMPASS_SbW_SHORT" = "SpO";
+
+/* Southeast, long */
+"COMPASS_SE_LONG" = "sueste";
+
+/* Southeast, short */
+"COMPASS_SE_SHORT" = "SL";
+
+/* Southeast by east, long */
+"COMPASS_SEbE_LONG" = "sueste polo leste";
+
+/* Southeast by east, short */
+"COMPASS_SEbE_SHORT" = "SLpL";
+
+/* Southeast by south, long */
+"COMPASS_SEbS_LONG" = "sueste polo sur";
+
+/* Southeast by south, short */
+"COMPASS_SEbS_SHORT" = "SLpS";
+
+/* South-southeast, long */
+"COMPASS_SSE_LONG" = "sur-sueste";
+
+/* South-southeast, short */
+"COMPASS_SSE_SHORT" = "SSL";
+
+/* South-southwest, long */
+"COMPASS_SSW_LONG" = "sur-suroeste";
+
+/* South-southwest, short */
+"COMPASS_SSW_SHORT" = "SSO";
+
+/* Southwest, long */
+"COMPASS_SW_LONG" = "suroeste";
+
+/* Southwest, short */
+"COMPASS_SW_SHORT" = "SO";
+
+/* Southwest by south, long */
+"COMPASS_SWbS_LONG" = "suroeste polo sur";
+
+/* Southwest by south, short */
+"COMPASS_SWbS_SHORT" = "SOpS";
+
+/* Southwest by west, long */
+"COMPASS_SWbW_LONG" = "suroeste polo oeste";
+
+/* Southwest by west, short */
+"COMPASS_SWbW_SHORT" = "SOpO";
+
+/* West, long */
+"COMPASS_W_LONG" = "oeste";
+
+/* West, short */
+"COMPASS_W_SHORT" = "O";
+
+/* West by north, long */
+"COMPASS_WbN_LONG" = "oeste polo norte";
+
+/* West by north, short */
+"COMPASS_WbN_SHORT" = "OpN";
+
+/* West by south, long */
+"COMPASS_WbS_LONG" = "oeste polo sur";
+
+/* West by south, short */
+"COMPASS_WbS_SHORT" = "OpS";
+
+/* West-northwest, long */
+"COMPASS_WNW_LONG" = "oeste-noroeste";
+
+/* West-northwest, short */
+"COMPASS_WNW_SHORT" = "ONO";
+
+/* West-southwest, long */
+"COMPASS_WSW_LONG" = "oeste-suroeste";
+
+/* West-southwest, short */
+"COMPASS_WSW_SHORT" = "OSO";
+
+/* Degrees format, long */
+"COORD_DEG_LONG" = "%d grao(s)";
+
+/* Degrees format, medium: {degrees} */
+"COORD_DEG_MEDIUM" = "%d°";
+
+/* Degrees format, short: {degrees} */
+"COORD_DEG_SHORT" = "%d°";
+
+/* Coordinate format, long: {degrees}{minutes} */
+"COORD_DM_LONG" = "%1$@ e %2$@";
+
+/* Coordinate format, medium: {degrees}{minutes} */
+"COORD_DM_MEDIUM" = "%1$@%2$@";
+
+/* Coordinate format, short: {degrees}{minutes} */
+"COORD_DM_SHORT" = "%1$@%2$@";
+
+/* Coordinate format, long: {degrees}{minutes}{seconds} */
+"COORD_DMS_LONG" = "%1$@, %2$@ e %3$@";
+
+/* Coordinate format, medium: {degrees}{minutes}{seconds} */
+"COORD_DMS_MEDIUM" = "%1$@%2$@%3$@";
+
+/* Coordinate format, short: {degrees}{minutes}{seconds} */
+"COORD_DMS_SHORT" = "%1$@%2$@%3$@";
+
+/* East longitude format, long: {longitude} */
+"COORD_E_LONG" = "%@ leste";
+
+/* East longitude format, medium: {longitude} */
+"COORD_E_MEDIUM" = "%@ leste";
+
+/* East longitude format, short: {longitude} */
+"COORD_E_SHORT" = "%@L";
+
+/* Coordinate pair format, long: {latitude}, {longitude} */
+"COORD_FMT_LONG" = "%1$@ por %2$@";
+
+/* Coordinate pair format, medium: {latitude}, {longitude} */
+"COORD_FMT_MEDIUM" = "%1$@, %2$@";
+
+/* Coordinate pair format, short: {latitude}, {longitude} */
+"COORD_FMT_SHORT" = "%1$@, %2$@";
+
+/* Minutes format, long */
+"COORD_MIN_LONG" = "%d minuto(s)";
+
+/* Minutes format, medium: {minutes} */
+"COORD_MIN_MEDIUM" = "%d′";
+
+/* Minutes format, short: {minutes} */
+"COORD_MIN_SHORT" = "%d′";
+
+/* North latitude format, long: {latitude} */
+"COORD_N_LONG" = "%@ norte";
+
+/* North latitude format, medium: {latitude} */
+"COORD_N_MEDIUM" = "%@ norte";
+
+/* North latitude format, short: {latitude} */
+"COORD_N_SHORT" = "%@N";
+
+/* South latitude format, long: {latitude} */
+"COORD_S_LONG" = "%@ sur";
+
+/* South latitude format, medium: {latitude} */
+"COORD_S_MEDIUM" = "%@ sur";
+
+/* South latitude format, short: {latitude} */
+"COORD_S_SHORT" = "%@S";
+
+/* Seconds format, long */
+"COORD_SEC_LONG" = "%d segundo(s)";
+
+/* Seconds format, medium: {seconds} */
+"COORD_SEC_MEDIUM" = "%d″";
+
+/* Seconds format, short: {seconds} */
+"COORD_SEC_SHORT" = "%d″";
+
+/* West longitude format, long: {longitude} */
+"COORD_W_LONG" = "%@ oeste";
+
+/* West longitude format, medium: {longitude} */
+"COORD_W_MEDIUM" = "%@ oeste";
+
+/* West longitude format, short: {longitude} */
+"COORD_W_SHORT" = "%@O";
+
+/* OpenStreetMap full name attribution */
+"OSM_FULL_NAME" = "OpenStreetMap";
+
+/* OpenStreetMap short name attribution */
+"OSM_SHORT_NAME" = "OSM";
+
+/* User-friendly error description; first placeholder is the source’s identifier */
+"REMOVE_SRC_FAIL_IN_USE_FMT" = "A fonte “%@” non se pode eliminar mentres está en uso.";
+
+/* User-friendly error description */
+"REMOVE_SRC_FAIL_MISMATCH_FMT" = "A fonte non se pode eliminar porque o seu identificador, “%@”, pertence a unha fonte diferente neste estilo.";
+
diff --git a/platform/darwin/resources/gl.lproj/Foundation.stringsdict b/platform/darwin/resources/gl.lproj/Foundation.stringsdict
new file mode 100644
index 00000000000..324fc987d23
--- /dev/null
+++ b/platform/darwin/resources/gl.lproj/Foundation.stringsdict
@@ -0,0 +1,54 @@
+
+
+
+
+ COORD_DEG_LONG
+
+ NSStringLocalizedFormatKey
+ %#@degrees@
+ degrees
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ d
+ one
+ %d grao
+ other
+ %d graos
+
+
+ COORD_MIN_LONG
+
+ NSStringLocalizedFormatKey
+ %#@minutes@
+ minutes
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ d
+ one
+ %d minuto
+ other
+ %d minutos
+
+
+ COORD_SEC_LONG
+
+ NSStringLocalizedFormatKey
+ %#@seconds@
+ seconds
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ d
+ one
+ %d segundo
+ other
+ %d segundos
+
+
+
+
diff --git a/platform/ios/CHANGELOG.md b/platform/ios/CHANGELOG.md
index 73d74407fd2..034223d0859 100644
--- a/platform/ios/CHANGELOG.md
+++ b/platform/ios/CHANGELOG.md
@@ -7,6 +7,7 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONT
* Client-side text rendering of CJK ideographs is now enabled by default. ([#13988](https://github.com/mapbox/mapbox-gl-native/pull/13988))
* Added an MGLMapView.prefetchesTiles property that you can disable if you don’t want to prefetch simplified tiles as a performance optimization. ([#14031](https://github.com/mapbox/mapbox-gl-native/pull/14031))
* Fixed an issue that caused `MGL_FUNCTION` to ignore multiple formatting parameters when passed a `format` function as parameter. ([#14064](https://github.com/mapbox/mapbox-gl-native/pull/14064))
+* Added a Galician localization. ([#14095](https://github.com/mapbox/mapbox-gl-native/pull/14095))
### User interaction
diff --git a/platform/ios/app/Settings.bundle/gl.lproj/Root.strings b/platform/ios/app/Settings.bundle/gl.lproj/Root.strings
new file mode 100644
index 00000000000..50510348de7
Binary files /dev/null and b/platform/ios/app/Settings.bundle/gl.lproj/Root.strings differ
diff --git a/platform/ios/app/gl.lproj/Localizable.strings b/platform/ios/app/gl.lproj/Localizable.strings
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/platform/ios/ios.xcodeproj/project.pbxproj b/platform/ios/ios.xcodeproj/project.pbxproj
index cec8476fccd..bfbdcf53da8 100644
--- a/platform/ios/ios.xcodeproj/project.pbxproj
+++ b/platform/ios/ios.xcodeproj/project.pbxproj
@@ -1402,6 +1402,11 @@
DAE7DEC11E245455007505A6 /* MGLNSStringAdditionsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLNSStringAdditionsTests.m; path = ../../darwin/test/MGLNSStringAdditionsTests.m; sourceTree = ""; };
DAE8CCAD1E6E8C70009B5CB0 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; };
DAE9E0F11EB7BF1B001E8E8B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Foundation.strings; sourceTree = ""; };
+ DAE9ED572238990A00C01291 /* gl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gl; path = gl.lproj/Localizable.strings; sourceTree = ""; };
+ DAE9ED582238992900C01291 /* gl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gl; path = gl.lproj/Foundation.strings; sourceTree = ""; };
+ DAE9ED592238992E00C01291 /* gl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = gl; path = gl.lproj/Foundation.stringsdict; sourceTree = ""; };
+ DAE9ED5A2238993A00C01291 /* gl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gl; path = gl.lproj/Localizable.strings; sourceTree = ""; };
+ DAE9ED5B2238995A00C01291 /* gl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = gl; path = gl.lproj/Localizable.stringsdict; sourceTree = ""; };
DAED38611D62D0FC00D7640F /* NSURL+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSURL+MGLAdditions.h"; sourceTree = ""; };
DAED38621D62D0FC00D7640F /* NSURL+MGLAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSURL+MGLAdditions.m"; sourceTree = ""; };
DAEDC4331D603417000224FF /* MGLAttributionInfoTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLAttributionInfoTests.m; path = ../../darwin/test/MGLAttributionInfoTests.m; sourceTree = ""; };
@@ -2956,6 +2961,7 @@
"pt-PT",
ko,
cs,
+ gl,
);
mainGroup = DA1DC9411CB6C1C2006E619F;
productRefGroup = DA1DC94B1CB6C1C2006E619F /* Products */;
@@ -3526,6 +3532,7 @@
DA93409B208562EB0059919A /* pt-PT */,
DAFEB3742093AE3700A86A83 /* ko */,
1FDB00C721F8F14E00D21389 /* cs */,
+ DAE9ED572238990A00C01291 /* gl */,
);
name = Localizable.strings;
sourceTree = "";
@@ -3554,6 +3561,7 @@
DA93409D208563220059919A /* pt-PT */,
DAFEB3772093AE7900A86A83 /* ko */,
1FDB00CA21F8F15100D21389 /* cs */,
+ DAE9ED5A2238993A00C01291 /* gl */,
);
name = Localizable.strings;
sourceTree = "";
@@ -3579,6 +3587,7 @@
DAD88E08202AD01300AAA536 /* da */,
DAFEB3752093AE4800A86A83 /* ko */,
1FDB00C821F8F14F00D21389 /* cs */,
+ DAE9ED582238992900C01291 /* gl */,
);
name = Foundation.strings;
sourceTree = "";
@@ -3605,6 +3614,7 @@
DA93409C2085630C0059919A /* pt-PT */,
DAFEB3762093AE6800A86A83 /* ko */,
1FDB00C921F8F15000D21389 /* cs */,
+ DAE9ED592238992E00C01291 /* gl */,
);
name = Foundation.stringsdict;
sourceTree = "";
@@ -3638,6 +3648,7 @@
DAFEB3782093AE9200A86A83 /* ko */,
DAAE9B1C213A636B00F7D722 /* ar */,
1FDB00CB21F8F15300D21389 /* cs */,
+ DAE9ED5B2238995A00C01291 /* gl */,
);
name = Localizable.stringsdict;
sourceTree = "";
diff --git a/platform/ios/resources/gl.lproj/Localizable.strings b/platform/ios/resources/gl.lproj/Localizable.strings
new file mode 100644
index 00000000000..2ab14fd0b54
--- /dev/null
+++ b/platform/ios/resources/gl.lproj/Localizable.strings
@@ -0,0 +1,111 @@
+/* Accessibility hint */
+"ANNOTATION_A11Y_HINT" = "Amosa máis información";
+
+/* No comment provided by engineer. */
+"CANCEL" = "Desbotar";
+
+/* Accessibility hint for closing the selected annotation’s callout view and returning to the map */
+"CLOSE_CALLOUT_A11Y_HINT" = "Voltar ó mapa";
+
+/* Accessibility hint */
+"COMPASS_A11Y_HINT" = "Xira o mapa para pórse cara o norte";
+
+/* Accessibility label */
+"COMPASS_A11Y_LABEL" = "Compás";
+
+/* Compass abbreviation for north */
+"COMPASS_NORTH" = "N";
+
+/* Instructions in Interface Builder designable; {key}, {plist file name} */
+"DESIGNABLE" = "Para amosar un mapa aloxado no Mapbox aquí, estabelece %1$@ co teu 'token' de acceso en %2$@\n\nPara obter instrucións detalladas, olla:";
+
+/* Setup documentation URL display string; keep as short as possible */
+"FIRST_STEPS_URL" = "mapbox.com/help/first-steps-ios-sdk";
+
+/* Accessibility hint */
+"INFO_A11Y_HINT" = "Amosa os cretos, un formulario de opinións e máis";
+
+/* Accessibility label */
+"INFO_A11Y_LABEL" = "Acerca deste mapa";
+
+/* List separator */
+"LIST_SEPARATOR" = ", ";
+
+/* User-friendly error description */
+"LOAD_MAP_FAILED_DESC" = "Non se puido cargar o mapa por mor dun error descoñecido.";
+
+/* User-friendly error description */
+"LOAD_STYLE_FAILED_DESC" = "Non se puido cargar o mapa por mor dun erro de carga no estilo.";
+
+/* Accessibility label */
+"LOGO_A11Y_LABEL" = "Mapbox";
+
+/* Accessibility label */
+"MAP_A11Y_LABEL" = "Mapa";
+
+/* Map accessibility value; {number of visible annotations} */
+"MAP_A11Y_VALUE_ANNOTATIONS" = "%ld anotación(s) visíbel(s).";
+
+/* Map accessibility value; {list of visible places} */
+"MAP_A11Y_VALUE_PLACES" = "Lugares visíbeis: %@.";
+
+/* Map accessibility value; {number of visible roads} */
+"MAP_A11Y_VALUE_ROADS" = "%ld estrada(s) visíbel(s).";
+
+/* Map accessibility value; {zoom level} */
+"MAP_A11Y_VALUE_ZOOM" = "Achegamento %dx.";
+
+/* User-friendly error description */
+"PARSE_STYLE_FAILED_DESC" = "Non se puido cargar o mapa por mor de que o estilo está danado.";
+
+/* String format for accessibility value for road feature; {starting compass direction}, {ending compass direction} */
+"ROAD_DIRECTION_A11Y_FMT" = "%1$@ a %2$@";
+
+/* Accessibility value indicating that a road is a divided road (dual carriageway) */
+"ROAD_DIVIDED_A11Y_VALUE" = "Estrada de duplo carril";
+
+/* Accessibility value indicating that a road is a one-way road */
+"ROAD_ONEWAY_A11Y_VALUE" = "Un só sentido";
+
+/* String format for accessibility value for road feature; {route number} */
+"ROAD_REF_A11Y_FMT" = "Rota %@";
+
+/* Action sheet title */
+"SDK_NAME" = "Mapbox Maps SDK para o iOS";
+
+/* Developer-only SDK update notification; {latest version, in format x.x.x} */
+"SDK_UPDATE_AVAILABLE" = "A versión %@ do Mapbox Maps SDK para o iOS está dispoñíbel:";
+
+/* User-friendly error description */
+"STYLE_NOT_FOUND_DESC" = "Non se puido cargar o mapa por mor de que non se atopa o estilo ou non está completo.";
+
+/* Telemetry prompt message */
+"TELEMETRY_DISABLED_MSG" = "Axudas a mellorar os mapas do OpenStreetMap e o Mapbox ó contribuír con datos de emprego anónimos.";
+
+/* Telemetry prompt button */
+"TELEMETRY_DISABLED_OFF" = "Non participar";
+
+/* Telemetry prompt button */
+"TELEMETRY_DISABLED_ON" = "Participar";
+
+/* Telemetry prompt message */
+"TELEMETRY_ENABLED_MSG" = "Axudas a mellorar os mapas do OpenStreetMap e o Mapbox ó contribuír con datos de emprego anónimos.";
+
+/* Telemetry prompt button */
+"TELEMETRY_ENABLED_OFF" = "Deixar de participar";
+
+/* Telemetry prompt button */
+"TELEMETRY_ENABLED_ON" = "Seguir participando";
+
+/* Telemetry prompt button */
+"TELEMETRY_MORE" = "Cóntame máis";
+
+/* Action in attribution sheet */
+"TELEMETRY_NAME" = "Telemetría do Mapbox";
+
+/* Telemetry prompt title */
+"TELEMETRY_TITLE" = "Mellorar os mapas do Mapbox";
+
+/* Default user location annotation title */
+"USER_DOT_TITLE" = "Ti estás aquí";
+
diff --git a/platform/ios/resources/gl.lproj/Localizable.stringsdict b/platform/ios/resources/gl.lproj/Localizable.stringsdict
new file mode 100644
index 00000000000..859f8424d9a
--- /dev/null
+++ b/platform/ios/resources/gl.lproj/Localizable.stringsdict
@@ -0,0 +1,54 @@
+
+
+
+
+ MAP_A11Y_VALUE_ANNOTATIONS
+
+ NSStringLocalizedFormatKey
+ %#@count@
+ count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ ld
+ one
+ %d anotación visíbel
+ other
+ %d anotacións visíbeis
+
+
+ MAP_A11Y_VALUE_ROADS
+
+ NSStringLocalizedFormatKey
+ %#@count@
+ count
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ ld
+ one
+ %d estrada visíbel
+ other
+ %d estradas visíbeis
+
+
+ MAP_A11Y_VALUE_ZOOM
+
+ NSStringLocalizedFormatKey
+ %#@level@
+ level
+
+ NSStringFormatSpecTypeKey
+ NSStringPluralRuleType
+ NSStringFormatValueTypeKey
+ d
+ one
+ Achegamento %dx
+ other
+ Achegamento %dx
+
+
+
+
diff --git a/platform/macos/CHANGELOG.md b/platform/macos/CHANGELOG.md
index ce573e61339..ba3f00a5d64 100644
--- a/platform/macos/CHANGELOG.md
+++ b/platform/macos/CHANGELOG.md
@@ -17,7 +17,7 @@
### Packaging
-* Added a Czech localization. ([#13782](https://github.com/mapbox/mapbox-gl-native/pull/13782))
+* Added Czech and Galician localizations. ([#13782](https://github.com/mapbox/mapbox-gl-native/pull/13782), [#14095](https://github.com/mapbox/mapbox-gl-native/pull/14095))
## 0.13.0 - December 20, 2018
diff --git a/platform/macos/app/gl.lproj/Localizable.strings b/platform/macos/app/gl.lproj/Localizable.strings
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/platform/macos/macos.xcodeproj/project.pbxproj b/platform/macos/macos.xcodeproj/project.pbxproj
index ad93c317ed5..d70971ae66c 100644
--- a/platform/macos/macos.xcodeproj/project.pbxproj
+++ b/platform/macos/macos.xcodeproj/project.pbxproj
@@ -679,6 +679,10 @@
DAE8CCAB1E6E8B72009B5CB0 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; };
DAE8CCAC1E6E8B8D009B5CB0 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; };
DAE9E0F21EB7BF39001E8E8B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Foundation.strings; sourceTree = ""; };
+ DAE9ED53223897C400C01291 /* gl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gl; path = gl.lproj/Localizable.strings; sourceTree = ""; };
+ DAE9ED54223897ED00C01291 /* gl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gl; path = gl.lproj/Foundation.strings; sourceTree = ""; };
+ DAE9ED55223898B200C01291 /* gl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = gl; path = gl.lproj/Foundation.stringsdict; sourceTree = ""; };
+ DAE9ED56223898CF00C01291 /* gl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gl; path = gl.lproj/Localizable.strings; sourceTree = ""; };
DAED385D1D62CED700D7640F /* NSURL+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSURL+MGLAdditions.h"; sourceTree = ""; };
DAED385E1D62CED700D7640F /* NSURL+MGLAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSURL+MGLAdditions.m"; sourceTree = ""; };
DAEDC4311D6033F1000224FF /* MGLAttributionInfoTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLAttributionInfoTests.m; path = ../../darwin/test/MGLAttributionInfoTests.m; sourceTree = ""; };
@@ -1523,6 +1527,7 @@
"pt-PT",
ko,
cs,
+ gl,
);
mainGroup = DA839E891CC2E3400062CAFB;
productRefGroup = DA839E931CC2E3400062CAFB /* Products */;
@@ -1772,6 +1777,7 @@
DA934097208562590059919A /* pt-PT */,
DAFEB3702093ACBF00A86A83 /* ko */,
1FDB00CC21F8F1FD00D21389 /* cs */,
+ DAE9ED53223897C400C01291 /* gl */,
);
name = Localizable.strings;
sourceTree = "";
@@ -1827,6 +1833,7 @@
DA9340992085629E0059919A /* pt-PT */,
DA9340A0208565870059919A /* ar */,
1FDB00CD21F8F1FF00D21389 /* cs */,
+ DAE9ED56223898CF00C01291 /* gl */,
);
name = Localizable.strings;
sourceTree = "";
@@ -1852,6 +1859,7 @@
DACBC6092011888C00C4D7E2 /* he */,
DAD88E04202ACF7C00AAA536 /* da */,
DAFEB3722093ACDA00A86A83 /* ko */,
+ DAE9ED54223897ED00C01291 /* gl */,
);
name = Foundation.strings;
sourceTree = "";
@@ -1877,6 +1885,7 @@
DAD88E05202ACF8200AAA536 /* da */,
DA934098208562870059919A /* pt-PT */,
DAFEB3732093ACE400A86A83 /* ko */,
+ DAE9ED55223898B200C01291 /* gl */,
);
name = Foundation.stringsdict;
sourceTree = "";
diff --git a/platform/macos/sdk/gl.lproj/Localizable.strings b/platform/macos/sdk/gl.lproj/Localizable.strings
new file mode 100644
index 00000000000..49652afb1bf
--- /dev/null
+++ b/platform/macos/sdk/gl.lproj/Localizable.strings
@@ -0,0 +1,27 @@
+/* User-friendly error description */
+"LOAD_MAP_FAILED_DESC" = "Non se puido cargar o mapa por mor dun erro descoñecido.";
+
+/* User-friendly error description */
+"LOAD_STYLE_FAILED_DESC" = "Non se puido cargar o mapa por mor dun erro de carga no estilo.";
+
+/* Accessibility title */
+"MAP_A11Y_TITLE" = "Mapbox";
+
+/* User-friendly error description */
+"PARSE_STYLE_FAILED_DESC" = "Non se puido cargar o mapa por mor de que o estilo está danado.";
+
+/* User-friendly error description */
+"STYLE_NOT_FOUND_DESC" = "Non se puido cargar o mapa por mor de que non se atopa o estilo ou non está completo.";
+
+/* Label of Zoom In button */
+"ZOOM_IN_LABEL" = "+";
+
+/* Tooltip of Zoom In button */
+"ZOOM_IN_TOOLTIP" = "Achegar";
+
+/* Label of Zoom Out button; U+2212 MINUS SIGN */
+"ZOOM_OUT_LABEL" = "−";
+
+/* Tooltip of Zoom Out button */
+"ZOOM_OUT_TOOLTIP" = "Afastar";
+