Add Spanish translation

This commit is contained in:
Marcin Czachurski 2023-10-18 17:52:49 +02:00
parent 41f88e90f1
commit 5068a19a7d
13 changed files with 2589 additions and 69 deletions

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,7 @@ extension NetworkError: LocalizedError {
switch self {
case .notSuccessResponse(let response):
let statusCode = response.statusCode()
let localizedString = NSLocalizedString("global.error.notSuccessResponse",
bundle: Bundle.module,
comment: "It's error returned from remote server. Request URL: '\(response.url?.string ?? "unknown")'.")

View File

@ -0,0 +1,286 @@
{
"sourceLanguage" : "en",
"strings" : {
"global.error.notSuccessResponse" : {
"comment" : "It's error returned from remote server. Request URL: '(response.url?.string ?? \"unknown\")'.",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Server response: %@."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Respuesta del servidor: %@."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
"value" : "Zerbitzariaren erantzuna: %@."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Réponse du serveur : %@."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"value" : "Odpowiedź serwera: %@."
}
}
}
},
"global.error.unknownError" : {
"comment" : "Response doesn't contains any information about request status.",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Unexpected error."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Error inesperado."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
"value" : "Espero ez zen errorea."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Erreur inattendue."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"value" : "Nieznany błąd serwera."
}
}
}
},
"report.error.duplicate" : {
"comment" : "The report has already been sent.",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "The report has already been sent."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "El informe ya ha sido enviado."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
"value" : "Txostena bidali da dagoeneko."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Le rapport a déjà été envoyé."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"value" : "Zgłoszenie zostało już wysłane."
}
}
}
},
"report.error.invalidObject" : {
"comment" : "Invalid object type.",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Invalid object type."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Tipo de objeto no válido."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
"value" : "Elementu-mota ez da baliozkoa."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Type d'objet non valide."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"value" : "Niepoprawny typ obiektu."
}
}
}
},
"report.error.invalidObjectId" : {
"comment" : "Incorrect object Id.",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Incorrect object Id."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Identificador de objeto incorrecto."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
"value" : "Elementuaren IDa ez da zuzena."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Identifiant d'object incorrect."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"value" : "Niepoprawny Id obiektu."
}
}
}
},
"report.error.invalidParameters" : {
"comment" : "Invalid report parameters.",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Invalid report parameters."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Parámetros de informe no válidos."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
"value" : "Txostenaren parametroak ez dira baliozkoak."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Paramètres de rapport non valides."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"value" : "Niepoprawne parametry zgłoszenia."
}
}
}
},
"report.error.invalidType" : {
"comment" : "Invalid report type.",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Invalid report type."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Tipo de informe no válido."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
"value" : "Txosten-mota ez da baliozkoa."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Type de rapport non valide."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"value" : "Niepoprawny typ raportu."
}
}
}
},
"report.error.noSelfReports" : {
"comment" : "Self-reporting is not allowed.",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Self-reporting is not allowed."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "No se permite el autoinforme."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
"value" : "Ezin duzu zure burua salatu."
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "L'autodéclaration n'est pas autorisée."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
"value" : "Zgłaszanie siebie jest niedozwolone."
}
}
}
}
},
"version" : "1.0"
}

View File

@ -1,11 +0,0 @@
// MARK: Network errors.
"global.error.notSuccessResponse" = "Server response: %@.";
"global.error.unknownError" = "Unexpected error.";
// Mark: Report errors.
"report.error.noSelfReports" = "Self-reporting is not allowed.";
"report.error.invalidObjectId" = "Incorrect object Id.";
"report.error.duplicate" = "The report has already been sent.";
"report.error.invalidParameters" = "Invalid report parameters.";
"report.error.invalidType" = "Invalid report type.";
"report.error.invalidObject" = "Invalid object type.";

View File

@ -1,11 +0,0 @@
// MARK: Network errors.
"global.error.notSuccessResponse" = "Respuesta del servidor: %@.";
"global.error.unknownError" = "Error inesperado.";
// Mark: Report errors.
"report.error.noSelfReports" = "No se permite el autoinforme.";
"report.error.invalidObjectId" = "Identificador de objeto incorrecto.";
"report.error.duplicate" = "El informe ya ha sido enviado.";
"report.error.invalidParameters" = "Parámetros de informe no válidos.";
"report.error.invalidType" = "Tipo de informe no válido.";
"report.error.invalidObject" = "Tipo de objeto no válido.";

View File

@ -1,11 +0,0 @@
// MARK: Network errors.
"global.error.notSuccessResponse" = "Zerbitzariaren erantzuna: %@.";
"global.error.unknownError" = "Espero ez zen errorea.";
// Mark: Report errors.
"report.error.noSelfReports" = "Ezin duzu zure burua salatu.";
"report.error.invalidObjectId" = "Elementuaren IDa ez da zuzena.";
"report.error.duplicate" = "Txostena bidali da dagoeneko.";
"report.error.invalidParameters" = "Txostenaren parametroak ez dira baliozkoak.";
"report.error.invalidType" = "Txosten-mota ez da baliozkoa.";
"report.error.invalidObject" = "Elementu-mota ez da baliozkoa.";

View File

@ -1,11 +0,0 @@
// MARK: Network errors.
"global.error.notSuccessResponse" = "Réponse du serveur : %@.";
"global.error.unknownError" = "Erreur inattendue.";
// Mark: Report errors.
"report.error.noSelfReports" = "L'autodéclaration n'est pas autorisée.";
"report.error.invalidObjectId" = "Identifiant d'object incorrect.";
"report.error.duplicate" = "Le rapport a déjà été envoyé.";
"report.error.invalidParameters" = "Paramètres de rapport non valides.";
"report.error.invalidType" = "Type de rapport non valide.";
"report.error.invalidObject" = "Type d'objet non valide.";

View File

@ -1,11 +0,0 @@
// MARK: Network errors.
"global.error.notSuccessResponse" = "Odpowiedź serwera: %@.";
"global.error.unknownError" = "Nieznany błąd serwera.";
// Mark: Report errors.
"report.error.noSelfReports" = "Zgłaszanie siebie jest niedozwolone.";
"report.error.invalidObjectId" = "Niepoprawny Id obiektu.";
"report.error.duplicate" = "Zgłoszenie zostało już wysłane.";
"report.error.invalidParameters" = "Niepoprawne parametry zgłoszenia.";
"report.error.invalidType" = "Niepoprawny typ raportu.";
"report.error.invalidObject" = "Niepoprawny typ obiektu.";

View File

@ -24,12 +24,20 @@ Thank you in advance for any, even the smallest help, with the development of th
## Translations
Creating new translation is pretty easy, all you need to do is to copy two folders:
- `Vernissage/Localization/en.lproj`
- `Vernissage/PixelfedKit/Sources/PixelfedKit/Resources/en.lproj`
Application is using new translation mechanism introduced in XCode 15 (xcstring). Here you can find description how this mechanism is working: [https://www.youtube.com/watch?v=jNbnwwLrJE8](https://www.youtube.com/watch?v=jNbnwwLrJE8).
In the name of the folders you have to put the code of the new language ([here](https://stackoverflow.com/a/13360348) you can find the languages codes).
Then you have to open files in these folders and translate them 🇯🇵🇫🇷🇨🇮🇧🇪. After translation create a Pull Request 👍.
In the applications we have several string catalogs:
- Localization/Localizable
- EnvironmentKit/Source/EnvironmentKit/Localizable
- WidgetKit/Source/WidgetKit/Localizable
- ServicesKit/Source/ServicesKit/Localizable
- PixelfedKit/Source/PixelfedKit/Localizable
- ClientKit/Source/ClientKit/Localizable
Right now it's very easy to find new (not translated yet) titles. Also you can mark titles which need some review.
However you need to have XCode 15 installed. There isn't right now good external tool that have similar features.
![translations](Resources/translations.png)
From time to time you have to come back and translate lines which has been added since the last translation.

BIN
Resources/translations.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@ -9,6 +9,12 @@
"value" : "Downloading image into cache failed."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Error al descargar la imagen en la caché."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
@ -25,6 +31,12 @@
"value" : "Unexpected error."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Error inesperado."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",

View File

@ -1062,6 +1062,7 @@
pl,
eu,
fr,
es,
);
mainGroup = F88C245F295C37B80006098B;
packageReferences = (
@ -1355,7 +1356,7 @@
INFOPLIST_FILE = VernissageWidget/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = VernissageWidget;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@ -1386,7 +1387,7 @@
INFOPLIST_FILE = VernissageWidget/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = VernissageWidget;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@ -1416,7 +1417,7 @@
INFOPLIST_FILE = VernissageShare/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = VernissageShareExtension;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@ -1445,7 +1446,7 @@
INFOPLIST_FILE = VernissageShare/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = VernissageShareExtension;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@ -1514,7 +1515,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
@ -1572,7 +1573,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
@ -1609,7 +1610,7 @@
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@ -1652,7 +1653,7 @@
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
IPHONEOS_DEPLOYMENT_TARGET = 16.6;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",

View File

@ -3,6 +3,12 @@
"strings" : {
"" : {
"localizations" : {
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : ""
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -25,6 +31,12 @@
},
"@%@" : {
"localizations" : {
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "@%@"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -47,6 +59,12 @@
},
"#%@" : {
"localizations" : {
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "#%@"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -69,6 +87,12 @@
},
"%@" : {
"localizations" : {
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "%@"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -97,6 +121,12 @@
"value" : "%1$@, %2$@"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "%1$@, %2$@"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -119,6 +149,12 @@
},
"%lld" : {
"localizations" : {
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "%lld"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -147,6 +183,12 @@
"value" : "Cannot load image from external library."
}
},
"es" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "No se puede cargar la imagen de la biblioteca externa."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
@ -163,6 +205,12 @@
"value" : "Error during composing attribute string."
}
},
"es" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Error al componer la cadena de atributos."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
@ -179,6 +227,12 @@
"value" : "Error during downloading autocomplete."
}
},
"es" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Error durante la descarga de autocompletar."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
@ -195,6 +249,12 @@
"value" : "Cannot retreive image from library."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "No se puede recuperar la imagen de la biblioteca."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -223,6 +283,12 @@
"value" : "Error during posting status."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Error al publicar el estado."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -251,6 +317,12 @@
"value" : "Attach a photo and type what's on your mind"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Adjunta una foto y escribe lo que piensas"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -279,6 +351,12 @@
"value" : "Type what's on your mind"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Escribe lo que piensas"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -308,6 +386,12 @@
"value" : "Take photo"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Hacer una foto"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -337,6 +421,12 @@
"value" : "Cancel"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Cancelar"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -366,6 +456,12 @@
"value" : "Comments will be disabled"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Los comentarios estarán desactivados"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -394,6 +490,12 @@
"value" : "Delete"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Eliminar"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -422,6 +524,12 @@
"value" : "Edit"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Editar"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -450,6 +558,12 @@
"value" : "Everyone"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Todos"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -479,6 +593,12 @@
"value" : "Browse files"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Explorar archivos"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -507,6 +627,12 @@
"value" : "Followers"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Seguidores"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -536,6 +662,12 @@
"value" : "Missing ALT texts"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Textos ALT faltantes"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -565,6 +697,12 @@
"value" : "Not all images have been described for the visually impaired. Would you like to send photos anyway?"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "No todas las imágenes han sido descritas para personas con discapacidad visual. ¿Te gustaría enviar las fotos de todos modos?"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -594,6 +732,12 @@
"value" : "Photos library"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Fototeca"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -623,6 +767,12 @@
"value" : "Publish"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Publicar"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -652,6 +802,12 @@
"value" : "Try to upload"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Intentar subir"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -680,6 +836,12 @@
"value" : "Unlisted"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "No listado"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -709,6 +871,12 @@
"value" : "Write content warning"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Escribir aviso de contenido"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -737,6 +905,12 @@
"value" : "Error during deleting file from tmp directory."
}
},
"es" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Error al borrar un archivo del directorio tmp."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
@ -753,6 +927,12 @@
"value" : "Error during getting tmp directory contents."
}
},
"es" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Error al obtener el contenido del directorio tmp."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
@ -769,6 +949,12 @@
"value" : "Error during removing transferred image from tmp directory."
}
},
"es" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "Error al eliminar la imagen transferida del directorio tmp."
}
},
"pl" : {
"stringUnit" : {
"state" : "translated",
@ -786,6 +972,12 @@
"value" : "Sensitive content"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Contenido sensible"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -815,6 +1007,12 @@
"value" : "moments ago"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "hace uno momento"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -844,6 +1042,12 @@
"value" : "Refresh"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Actualizar"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -873,6 +1077,12 @@
"value" : "See post"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Ver publicación"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -901,6 +1111,12 @@
"value" : "Show less"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Mostrar menos"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -929,6 +1145,12 @@
"value" : "Show more"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Mostrar más"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -957,6 +1179,12 @@
"value" : "Error during updating photo."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Error al actualizar la foto."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -986,6 +1214,12 @@
"value" : "Photo details"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Detalles de la foto"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1014,6 +1248,12 @@
"value" : "Accessibility"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Accesibilidad"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1043,6 +1283,12 @@
"value" : "Description for the visually impaired"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Descripción para personas con discapacidad visual"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1072,6 +1318,12 @@
"value" : "Cancel"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Cancelar"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1100,6 +1352,12 @@
"value" : "Photo"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Foto"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1129,6 +1387,12 @@
"value" : "Save"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Guardar"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1157,6 +1421,12 @@
"value" : "Loading notifications failed."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Error al cargar las notificaciones."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1186,6 +1456,12 @@
"value" : "Places"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Lugares"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1215,6 +1491,12 @@
"value" : "Search"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Buscar"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1244,6 +1526,12 @@
"value" : "Cancel"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Cancelar"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1273,6 +1561,12 @@
"value" : "Search..."
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "Buscar..."
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",
@ -1302,6 +1596,12 @@
"value" : "ALT"
}
},
"es" : {
"stringUnit" : {
"state" : "translated",
"value" : "ALT"
}
},
"eu" : {
"stringUnit" : {
"state" : "translated",