diff --git a/ClientKit/Package.swift b/ClientKit/Package.swift index 6e7a9d5..e268a51 100644 --- a/ClientKit/Package.swift +++ b/ClientKit/Package.swift @@ -1,10 +1,11 @@ -// swift-tools-version: 5.8 +// swift-tools-version: 5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "ClientKit", + defaultLocalization: "en", platforms: [ .iOS(.v16), .macOS(.v12), diff --git a/ClientKit/Sources/ClientKit/Localizable.xcstrings b/ClientKit/Sources/ClientKit/Localizable.xcstrings new file mode 100644 index 0000000..8a47010 --- /dev/null +++ b/ClientKit/Sources/ClientKit/Localizable.xcstrings @@ -0,0 +1,5 @@ +{ + "sourceLanguage" : "en", + "strings" : {}, + "version" : "1.0" +} diff --git a/EnvironmentKit/Package.swift b/EnvironmentKit/Package.swift index 7a7e0cb..16c3f73 100644 --- a/EnvironmentKit/Package.swift +++ b/EnvironmentKit/Package.swift @@ -1,10 +1,11 @@ -// swift-tools-version: 5.8 +// swift-tools-version: 5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "EnvironmentKit", + defaultLocalization: "en", platforms: [ .iOS(.v16), .macOS(.v12), diff --git a/EnvironmentKit/Sources/EnvironmentKit/Localizable.xcstrings b/EnvironmentKit/Sources/EnvironmentKit/Localizable.xcstrings new file mode 100644 index 0000000..8a47010 --- /dev/null +++ b/EnvironmentKit/Sources/EnvironmentKit/Localizable.xcstrings @@ -0,0 +1,5 @@ +{ + "sourceLanguage" : "en", + "strings" : {}, + "version" : "1.0" +} diff --git a/Localization/Localizable.xcstrings b/Localization/Localizable.xcstrings new file mode 100644 index 0000000..c918442 --- /dev/null +++ b/Localization/Localizable.xcstrings @@ -0,0 +1,11041 @@ +{ + "sourceLanguage" : "en", + "strings" : { + "" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + } + } + }, + "@%@" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "@%@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "@%@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "@%@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "@%@" + } + } + } + }, + "@mczachurski" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "@mczachurski" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "@mczachurski" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "@mczachurski" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "@mczachurski" + } + } + } + }, + "@vernissage" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "@vernissage" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "@vernissage" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "@vernissage" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "@vernissage" + } + } + } + }, + "#%@" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "#%@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "#%@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "#%@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "#%@" + } + } + } + }, + "%@ (%@)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ (%2$@)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ (%2$@)" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ (%2$@)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ (%2$@)" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ (%2$@)" + } + } + } + }, + "%lld" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" + } + } + } + }, + "%lld/%lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld/%2$lld" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$lld/%2$lld" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$lld/%2$lld" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$lld/%2$lld" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$lld/%2$lld" + } + } + } + }, + "accounts.error.loadingAccountsFailed" : { + "comment" : "Information message when loading account failed", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading accounts failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar las cuentas." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontuak kargatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le chargement des comptes a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wczytywania użytkownikow." + } + } + } + }, + "accounts.navigationBar.blocked" : { + "comment" : "Blocked", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blocked accounts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuentas bloqueadas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blokeatutako kontuak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Comptes bloqués" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zablokowani" + } + } + } + }, + "accounts.navigationBar.favouritedBy" : { + "comment" : "Favourited by", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favourited by" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le ha gustado a" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Honek gogoko egina" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favorisé par" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Polubione przez" + } + } + } + }, + "accounts.navigationBar.followers" : { + "comment" : "Followers", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Followers" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seguidores" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraitzaile" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abonnés" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obserwujący" + } + } + } + }, + "accounts.navigationBar.following" : { + "comment" : "Following", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Following" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siguiendo" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraitzen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abonnements" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obserwowani" + } + } + } + }, + "accounts.navigationBar.mutes" : { + "comment" : "Mutes", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muted accounts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuentas silenciadas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mutututako kontuak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comptes mis en sourdine" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyciszeni" + } + } + } + }, + "accounts.navigationBar.reboostedBy" : { + "comment" : "Reboosted by", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boosted by" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compartido por" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Honek bultzatua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partagé par" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podbite przez" + } + } + } + }, + "accounts.title.noAccounts" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfortunately, there is no one here." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desafortunadamente, aquí no hay nadie." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inor ez." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Malheureusement, il n'y a personne ici." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niestety nie ma tutaj nikogo." + } + } + } + }, + "compose.error.postingPhotoFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during posting photo." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al publicar la foto." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea argazkia argitaratzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur pendant le post de la photo." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas publikowania zdjęcia." + } + } + } + }, + "compose.navigationBar.title" : { + "comment" : " Compose view.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compose" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Componer" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Idatzi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Composer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utwórz" + } + } + } + }, + "editProfile.error.loadingAccountFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during download account from server." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar los datos de la cuenta desde el servidor." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea zerbitzaritik kontua eskuratzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur lors du téléchargement du compte depuis le serveur." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania profilu użytkownika." + } + } + } + }, + "editProfile.error.loadingAvatarFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading avatar failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar el avatar." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abatarra kargatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chargement de l'avatar échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wczytywania zdjęcia." + } + } + } + }, + "editProfile.error.noProfileData" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profile data cannot be displayed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pueden mostrar los datos del perfil." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezin dira profileko datuak erakutsi." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les données du profil ne peuvent pas être affichées." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dane profilu nie mogą zostać wyświetlone." + } + } + } + }, + "editProfile.error.saveAccountFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Saving profile failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al guardar el perfil." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profila gordetzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistrement du profil échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas aktualizacji profilu." + } + } + } + }, + "editProfile.navigationBar.title" : { + "comment" : "Edit profile.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit profile" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editar perfil" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editatu profila" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editer le profil" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edutuj profil" + } + } + } + }, + "editProfile.title.accountSaved" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profile has been updated." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perfil actualizado." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profila eguneratu da." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le profil a été mis à jour." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profil zaktualizowano." + } + } + } + }, + "editProfile.title.bio" : { + "comment" : "Bio", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bio" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Biografía" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Biografia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bio" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bio" + } + } + } + }, + "editProfile.title.displayName" : { + "comment" : "Display name", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Display name" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nombre para mostrar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pantaila izena" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher le nom" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyświetlana nazwa" + } + } + } + }, + "editProfile.title.photoInfo" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "The changed photo will be visible in the app and on the website with a small delay." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La foto cambiada se mostrará en la aplicación y en el sitio web con un pequeño retraso." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aldatutako argazkia atzerapen txiki batekin ikusiko da aplikazioan eta web gunean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "La photo modifiée sera visible dans l'application et sur le site web avec un petit délai." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zmienione zdjęcie będzie widoczne w aplikacji oraz na stronie z małym opóźnieniem." + } + } + } + }, + "editProfile.title.privateAccount" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Private account" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta privada" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Babestutako kontua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte privé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konto prywatne" + } + } + } + }, + "editProfile.title.privateAccountInfo" : { + "comment" : "Private account info", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "When your account is private, only people you approve can see your photos and videos on Pixelfed. Your existing followers won't be affected." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuando tu cuenta es privada, sólo las personas a las que apruebas pueden ver tus fotos y vídeos en Pixelfed. Tus seguidores existentes no se verán afectados." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zure kontua babestuta dagoenean baimendutako pertsonek bakarrik ikus ditzakete zure argazkiak eta bideoak Pixelfed-en. Ez du eraginik izango dagoeneko jarraitzen dizutenengan." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorsque votre compte est privé, seules les personnes que vous autorisez peuvent voir vos photos et vidéos sur Pixelfed. Les personnes qui vous suivent déjà ne seront pas affectées." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiedy Twoje konto jest prywatne, tylko osoby, które zaakceptujesz mogą oglądać Twoje zdjęcia i filmy na Pixelfed. Nie wpłynie to na Twoich obecnych obserwujących." + } + } + } + }, + "editProfile.title.save" : { + "comment" : "Save", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Save" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Guardar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gorde" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistrer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zapisz" + } + } + } + }, + "editProfile.title.website" : { + "comment" : "Website", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Website" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sitio web" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Webgunea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Site web" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Strona" + } + } + } + }, + "followingRequests.error.approve" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during approving request." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al aprobar la solicitud." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea eskaera baimentzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur lors de l'approbation de la demande." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas akceptowania prośby." + } + } + } + }, + "followingRequests.error.reject" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during rejecting request." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al rechazar la solicitud." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea eskaera baztertzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur lors du rejet de la demande." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas odrzucania prośby." + } + } + } + }, + "followingRequests.navigationBar.title" : { + "comment" : "Following requests.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Following requests" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Solicitudes de seguimiento" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraipen-eskaerak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suivre les demandes" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prośby o obserwowanie" + } + } + } + }, + "followingRequests.title.approve" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Approve" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aprobar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baimendu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Approuver" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zaakceptuj" + } + } + } + }, + "followingRequests.title.reject" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reject" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rechazar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baztertu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rejeter" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odrzuć" + } + } + } + }, + "global.error.accessTokenNotFound" : { + "comment" : "Access token is not saved in account model.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Access token not found." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Token de acceso no encontrado." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ez da sarbide-tokena aurkitu." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le jeton d'accès n'est pas trouvé." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brak tokenu dostępu." + } + } + } + }, + "global.error.avatarHasNotBeenDownloaded" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avatar has not been downloaded." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Avatar no se ha descargado." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Awatar nie został pobrany." + } + } + } + }, + "global.error.badUrlServer" : { + "comment" : "User enter bad URL to server.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bad url to server." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "URL incorrecta del servidor." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zerbitzariaren URL okerra." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mauvaise URL pour le serveur." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niepoprawny adres serwera." + } + } + } + }, + "global.error.canceledImageDownload" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Download image has been canceled." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La descarga de la imagen ha sido cancelada." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Irudiaren deskarga bertan behera utzi da." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le téléchargement de l'image a été annulé." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pobieranie zdjęcia zostało anulowane." + } + } + } + }, + "global.error.cannotConfigureTransactionListener" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cannot configure transaction listener." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "No se puede configurar el receptor de transacciones." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas konfiguracji zakupów w aplikacji." + } + } + } + }, + "global.error.cannotDownloadInAppProducts" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cannot download in-app products." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "No se pueden descargar productos in-app." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania informacji o zakupach." + } + } + } + }, + "global.error.errorDuringDataLoad" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading data failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar los datos." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Datuen kargak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le chargement des données a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania danych." + } + } + } + }, + "global.error.errorDuringDownloadHashtag" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during download tag from server." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error durante la descarga de etiquetas del servidor." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea zerbitzaritik traolak eskuratzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur pendant le téléchargement des tags depuis le serveur." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania taga." + } + } + } + }, + "global.error.errorDuringDownloadingMetadata" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during downloading metadata." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Error durante la descarga de metadatos." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania metadanych." + } + } + } + }, + "global.error.errorDuringDownloadingNewStatuses" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during downloading new statuses for amount of new statuses." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Error durante la descarga de nuevos estados para la cantidad de nuevos estados." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania informacji o nowych statusach." + } + } + } + }, + "global.error.errorDuringDownloadStatus" : { + "comment" : "Status cannot be downloaded from server.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during download status from server." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error durante la descarga del estado del servidor." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea zerbitzaritik egoera eskuratzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur durant le téléchargement du statut depuis le serveur." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania statusu." + } + } + } + }, + "global.error.errorDuringDownloadStatuses" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during download statuses from server." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error durante la descarga de estados del servidor." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea zerbitzaritik egoerak eskuratzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur pendant le téléchargerment des statuts du serveur." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania statusów." + } + } + } + }, + "global.error.errorDuringImageDownload" : { + "comment" : "Cannot download image", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cannot download image." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se puede descargar la imagen." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezin da irudia eskuratu." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de télécharger l'image." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania zdjęcia." + } + } + } + }, + "global.error.errorDuringPurchaseVerification" : { + "comment" : "Something went wrong during purchase verification.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Purchase verification failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fallo en la verificación de la compra." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erosketaren egiaztaketak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vérification d'achat échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas weryfikacji płatności." + } + } + } + }, + "global.error.errorDuringUserRead" : { + "comment" : "User acount cannot be downloaded from Core Data.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cannot retrieve user account." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se puede recuperar la cuenta de usuario." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezin izan da erabiltzailearen kontua eskuratu." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de récupérer les données de l'utilisateur." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas odczytu danych użytkownika." + } + } + } + }, + "global.error.hashtagNotExists" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hashtag does not exists." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La etiqueta no existe." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traola ez da lehendik existitzen." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le hashtag n'existe pas." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tag nie istnieje." + } + } + } + }, + "global.error.purchaseFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Purchase failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Compra fallida." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zakup zakończony niepowodzeniem." + } + } + } + }, + "global.error.refreshingCredentialsSubtitle" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Please sign in again to Pixelfed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Por favor, vuelve a iniciar sesión en Pixelfed." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hasi saioa berriro Pixelfeden." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veuillez vous connecter à nouveau à Pixelfed." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prosimy o ponowne zalogowanie się do Pixelfed." + } + } + } + }, + "global.error.refreshingCredentialsTitle" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Refreshing credentials error." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al actualizar las credenciales." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egiaztagirien freskatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur d'actualisation des données d'identification." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd odświeżania danych uwierzytelniających." + } + } + } + }, + "global.error.refreshTokenFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Refresh token failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Error en la recarga." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas odświeżania terenu." + } + } + } + }, + "global.error.statusesNotRetrieved" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statuses not retrieved." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudieron obtener los estados." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ez dira egoerak eskuratu." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statuts non récupérés." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statusy nie zostały pobrane." + } + } + } + }, + "global.title.close" : { + "comment" : "Close", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Close" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cerrar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Itxi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fermer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zamknij" + } + } + } + }, + "global.title.more" : { + "comment" : "more...", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "more..." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "más..." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "więcej..." + } + } + } + }, + "global.title.newAccessTokenRetrieved" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "New access tokens has been retrieved." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Se han recuperado nuevos tokens de acceso." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nowe tokeny dostępu zostały pobrane." + } + } + } + }, + "global.title.ok" : { + "comment" : "OK", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aceptar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ados" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + } + } + }, + "global.title.photoSaved" : { + "comment" : "Photo has been saved", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photo has been saved." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La foto se ha guardado." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argazkia gorde da." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "La photo a été sauvegardée." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zdjęcie zostało zapisane." + } + } + } + }, + "global.title.success" : { + "comment" : "Success", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Success" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Éxito" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Primeran" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Succès" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sukces" + } + } + } + }, + "home.title.allCaughtUp" : { + "comment" : "You're all caught up", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "You're all caught up" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estás al día" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egunean zaude" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tout est à jour" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jesteś na bieżąco" + } + } + } + }, + "home.title.noPhotos" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfortunately, there are no photos here." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desafortunadamente, no hay fotos aquí." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argazkirik ez." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Malheureusement, il n'y a pas de photos ici." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niestety nie ma jeszcze żadnych zdjęć." + } + } + } + }, + "instance.error.loadingDataFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during download instance data from server." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar los datos de la instancia desde el servidor." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea zerbitzaritik instantziaren datuak eskuratzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur lors du téléchargement des données d'instance depuis le serveur." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania danych instancji." + } + } + } + }, + "instance.error.noInstanceData" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instance data cannot be displayed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pueden mostrar los datos de la instancia." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezin dira instantziaren datuak erakutsi." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les données d'instance ne peuvent pas être affichées." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dane instancji nie mogą zostać wyświetlone." + } + } + } + }, + "instance.navigationBar.title" : { + "comment" : "Instance information.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instance" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instancia" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instantzia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instance" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instancja" + } + } + } + }, + "instance.title.address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Address" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dirección" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Helbidea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Addresse" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adres" + } + } + } + }, + "instance.title.approvalRequired" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Approval required" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se requiere aprobación" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Onespena behar da" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Approbation requise" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Akeptowanie rejestracji" + } + } + } + }, + "instance.title.contact" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contact" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contacto" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Harremana" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contact" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontakt" + } + } + } + }, + "instance.title.domains" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Domains" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dominios" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Domeinuak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Domaines" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Domen" + } + } + } + }, + "instance.title.email" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Email" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Correo electrónico" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "ePosta" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Email" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Email" + } + } + } + }, + "instance.title.instanceInfo" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instance info" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Información de la instancia" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instantziari buruzko informazioa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Information sur l'instance" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Informacja o instancji" + } + } + } + }, + "instance.title.name" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Name" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nombre" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Izena" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nom" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nazwa" + } + } + } + }, + "instance.title.pixelfedAccount" : { + "comment" : "Pixelfed account", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pixelfed account" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta de Pixelfed" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pixelfed kontua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte Pixelfed" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konto Pixelfed" + } + } + } + }, + "instance.title.posts" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Posts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Publicaciones" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bidalketak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Posts" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statusów" + } + } + } + }, + "instance.title.registrations" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Registrations" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Registros" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Izen emateak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inscriptions" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rejestracja" + } + } + } + }, + "instance.title.rules" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instance rules" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reglas de la instancia" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instantziaren arauak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Règles de l'instance" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reguły instancji" + } + } + } + }, + "instance.title.users" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Users" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuarios" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erabiltzaileak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilisateurs" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Użytkownicy" + } + } + } + }, + "instance.title.version" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Versión" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bertsioa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wersja" + } + } + } + }, + "mainview.error.switchAccounts" : { + "comment" : "Cannot switch accounts.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cannot switch accounts." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pueden cambiar las cuentas." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezin da kontua aldatu." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de changer de compte." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas przełączania kont." + } + } + } + }, + "mainview.menu.settings" : { + "comment" : "Main view (leading navigation bar).", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Settings" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajustes" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezarpenak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paramètres" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ustawienia" + } + } + } + }, + "mainview.tab.federatedTimeline" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Federated" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Federado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Federatua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fédéré" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Globalne" + } + } + } + }, + "mainview.tab.homeTimeline" : { + "comment" : "Main view (main navigation bar).", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Home" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inicio" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hasiera" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accueil" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Główna" + } + } + } + }, + "mainview.tab.localTimeline" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Local" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Local" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lokala" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Local" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lokalne" + } + } + } + }, + "mainview.tab.notifications" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Notifications" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Notificaciones" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jakinarazpenak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Notifications" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Powiadomienia" + } + } + } + }, + "mainview.tab.search" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Search" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buscar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bilatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rechercher" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyszukaj" + } + } + } + }, + "mainview.tab.trending" : { + "comment" : "Trending menu section", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trending" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendencias" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bogan" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendance" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Popularne" + } + } + } + }, + "mainview.tab.trendingAccounts" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accounts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuentas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontuak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilisateurs" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Użytkownicy" + } + } + } + }, + "mainview.tab.trendingPhotos" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photos" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fotos" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argazkiak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photos" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zdjęcia" + } + } + } + }, + "mainview.tab.trendingTags" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Etiquetas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traolak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tagi" + } + } + } + }, + "mainview.tab.userProfile" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profile" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perfil" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profila" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profil" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profil" + } + } + } + }, + "notifications.error.loadingNotificationsFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading notifications failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar las notificaciones." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jakinarazpenak kargatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chargement des notifications échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wczytywania powiadomień." + } + } + } + }, + "notifications.navigationBar.title" : { + "comment" : "Notifications view.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Notifications" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Notificaciones" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jakinarazpenak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Notifications" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Powiadomienia" + } + } + } + }, + "notifications.title.boosted" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "boosted" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "ha compartido" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "bultzatu du" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "partagé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "podbił" + } + } + } + }, + "notifications.title.favourited" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "favourited" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "le ha gustado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "gogoko du" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "favori" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "polubił" + } + } + } + }, + "notifications.title.followedYou" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "followed you" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "te ha seguido" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "jarraitu dizu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "vous a suivi" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "obserwuje ciebie" + } + } + } + }, + "notifications.title.followRequest" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "follow request" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "solicitud de seguimiento" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "jarraipen-eskaera bidali dizu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "demande de suivi" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "chce obserwować" + } + } + } + }, + "notifications.title.mentionedYou" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "mentioned you" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "te ha mencionado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "aipatu zaitu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "vous a mentionné" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "wspomniał ciebie" + } + } + } + }, + "notifications.title.newReport" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "new report" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "nuevo informe" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "txosten berria" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "nouveau rapport" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "nowy raport" + } + } + } + }, + "notifications.title.noNotifications" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfortunately, there is nothing here." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desafortunadamente, aquí no hay nada." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ez dago jakinarazpenik." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Malheureusement, il n'y a rien ici." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niestety nic tutaj nie ma." + } + } + } + }, + "notifications.title.poll" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "poll" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "encuesta" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "bozketa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "sondage" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "ankieta" + } + } + } + }, + "notifications.title.postedStatus" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "posted status" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "ha publicado un estado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "argitaratu du" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "statut posté" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "stworzył status" + } + } + } + }, + "notifications.title.signedUp" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "signed up" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "e ha registrado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "izena eman du" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "s'inscrire" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "zalogował się" + } + } + } + }, + "notifications.title.updatedStatus" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "updated status" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "estado actualizado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "egoera eguneratu du" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "statut mis à jour" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "zaktualizował status" + } + } + } + }, + "purchase.cake.description" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Treat me to a coffee and cake." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dame un café y un pastel." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kafea eta tarta erosiko?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Offrez-moi un café et un gâteau." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poczęstuj mnie kawą i ciastkiem." + } + } + } + }, + "purchase.cake.title" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Coffee & cake" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Café y pastel" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kafea eta tarta" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Café et gâteau" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kawa z ciastkiem" + } + } + } + }, + "purchase.coffee.description" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Treat me to a coffee." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dame un café." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gonbida nazazu kafe bat hartzera." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Offrez-moi un café." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poczęstuj mnie kawą." + } + } + } + }, + "purchase.coffee.title" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Coffee" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Café" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kafea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Café" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kawa" + } + } + } + }, + "purchase.donut.description" : { + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Treat me to a doughnut." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dame una rosquilla." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eros diezadazu opil bat." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Offrez-moi un beignet." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poczęstuj mnie pączkiem." + } + } + } + }, + "purchase.donut.title" : { + "comment" : "In-app purchases.", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Donut" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rosquilla" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Opila" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beignet" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pączek" + } + } + } + }, + "report.error.notReported" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during sending report." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al enviar el informe." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea salaketa bidaltzerakoan." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur lors de l'envoi du rapport." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wysyłania zgłoszenia." + } + } + } + }, + "report.navigationBar.title" : { + "comment" : "Report screen.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Report" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Informe" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Salatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rapport" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zgłoś" + } + } + } + }, + "report.title.abusive" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hate speech or symbols" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Discurso o símbolos de odio" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gorroto sustatzen duten hitzaldiak edo ikurrak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Discours ou symboles haineux" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mowa lub symbole nienawiści" + } + } + } + }, + "report.title.close" : { + "comment" : "Close", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Close" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cerrar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Itxi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fermer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zamknij" + } + } + } + }, + "report.title.copyright" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Copyright infringement" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infracción de derechos de autor" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egile-eskubideen urraketa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Violation des droits d'auteur" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Naruszenie praw autorskich" + } + } + } + }, + "report.title.impersonation" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impersonation" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suplantación de identidad" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Imitatzailea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usurpation d'identité" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podszywanie się" + } + } + } + }, + "report.title.postReported" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Post has been reported" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La publicación ha sido denunciada" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bidalketa salatu da" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le post a été signalé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Status został zgłoszony." + } + } + } + }, + "report.title.reportType" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Type of abuse" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tipo de abuso" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Urraketa mota" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Type d'abus" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Typ nadużycia" + } + } + } + }, + "report.title.scam" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bullying or harassment" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acoso u hostigamiento" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bullyinga edo jazarpena" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Intimidation ou harcèlement" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Znęcanie się lub nękanie" + } + } + } + }, + "report.title.send" : { + "comment" : "Send", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Send" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enviar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bidali" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Envoyer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyślij" + } + } + } + }, + "report.title.sensitive" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nudity or sexual activity" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desnudos o actividad sexual" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Biluzia edo sexu-ekintza" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nudité ou activité sexuelle" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nagość lub aktywność seksualna" + } + } + } + }, + "report.title.spam" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "It's a spam" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No deseado (spam)" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spama da" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "C'est un spam" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spam" + } + } + } + }, + "report.title.terrorism" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terrorism" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terrorismo" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terrorismoa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le terrorisme" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terroryzm" + } + } + } + }, + "report.title.underage" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Underage account" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta de menor de edad\"" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adingabea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte mineur" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konto niepełnoletniego" + } + } + } + }, + "report.title.userReported" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "User has been reported" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "El usuario ha sido denunciado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erabiltzailea salatu da" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'utilisateur a été signalé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Użytkownik został zgłoszony." + } + } + } + }, + "report.title.violence" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Violence or dangerous organisations" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Violencia u organizaciones peligrosas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bortizkeria edo erakunde arriskutsua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Violence ou organisations dangereuses" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Przemoc lub niebezpieczne organizacje" + } + } + } + }, + "search.navigationBar.title" : { + "comment" : "Search view.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Search" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buscar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bilatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rechercher" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyszukaj" + } + } + } + }, + "search.title.goToHashtag" : { + "comment" : "Go to hashtag ", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Go to hashtag %@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ir a la etiqueta %@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Joan %@ traolara" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir le hashtag %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Przejdź do taga %@" + } + } + } + }, + "search.title.goToUser" : { + "comment" : "Go to user ", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Go to user %@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ir al usuario %@\"" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Joan %@ erabiltzailera" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir l'utilisateur %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Przejdź do użytkownika %@" + } + } + } + }, + "search.title.hashtagWith" : { + "comment" : "Hashtags with ", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hashtags with %@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Etiquetas con %@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ duten traolak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hashtags avec %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tagi zawierające %@" + } + } + } + }, + "search.title.placeholder" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Search..." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buscar..." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bilatu..." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rechercher..." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyszukaj..." + } + } + } + }, + "search.title.usersWith" : { + "comment" : "Users with ", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Users with %@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuarios con %@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ duten erabiltzaileak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilisateurs avec %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Użytkownicy zawierający %@" + } + } + } + }, + "settings.navigationBar.title" : { + "comment" : "Settings view.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Settings" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajustes" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezarpenak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paramètres" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ustawienia" + } + } + } + }, + "settings.title.accent" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accent" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acento" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kolore nagusia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accent" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Akcent" + } + } + } + }, + "settings.title.accounts" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accounts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuentas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontuak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konta" + } + } + } + }, + "settings.title.alwaysShowAltDescription" : { + "comment" : "Show alternative text if present on status details screen", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show alternative text if present on status details screen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar el texto alternativo si está presente en la pantalla de detalles del estado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Testu alternatiboa xehetasunen pantailan erakutsiko da, baldin badago" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher le texte alternatif si présent sur l'écran des détails des statuts" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pokaż alternatywny tekst, jeśli jest obecny na szczegółach statusu" + } + } + } + }, + "settings.title.alwaysShowAltTitle" : { + "comment" : "Show alternative text", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show alternative text" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar texto alternativo" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erakutsi testu alternatiboa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher le texte alternatif" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pokaż tekst alternatywny" + } + } + } + }, + "settings.title.alwaysShowSensitiveDescription" : { + "comment" : "Force show all NFSW (sensitive) media without warnings", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Force show all NFSW (sensitive) media without warnings" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar siempre todos los medios NSFW (sensibles) sin advertencias" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "NSFW (Lantokirako egokia ez den edukia) gisa markatutako multimedia edukia ohartarazpenik gabe erakutsiko da" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forcer l'affichage de tous les media NFSW (contenu sensible) sans avertissement" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wymuś pokazywanie statusów NFSW (czułych) bez ostrzeżeń" + } + } + } + }, + "settings.title.alwaysShowSensitiveTitle" : { + "comment" : "Always show NSFW", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Always show NSFW" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar siempre NSFW" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erakutsi beti NSFW edukia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toujours montrer les NSFW" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zawsze pokazuj statusy NSFW" + } + } + } + }, + "settings.title.applicationIcon" : { + "comment" : "Application icon", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Application icon" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icono de la aplicación" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplikazioaren ikonoa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Icône de l'application" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ikona aplikacji" + } + } + } + }, + "settings.title.avatar" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avatar" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avatar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abatarra" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avatar" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Awatar" + } + } + } + }, + "settings.title.bottomLeftMenu" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bottom left" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abajo a la izquierda" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Behe ezkerraldean" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "En bas à gauche" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dolny lewy" + } + } + } + }, + "settings.title.bottomRightMenu" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bottom right" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abajo a la derecha" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Behe eskumaldean" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "En bas à droite" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dolny prawy" + } + } + } + }, + "settings.title.circle" : { + "comment" : "Circle", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circle" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Círculo" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Biribila" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cercle" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Okrągły" + } + } + } + }, + "settings.title.close" : { + "comment" : "Close", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Close" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cerrar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Itxi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fermer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zamknij" + } + } + } + }, + "settings.title.dark" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dark" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oscuro" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Iluna" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sombre" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciemny" + } + } + } + }, + "settings.title.enableReboostOnTimeline" : { + "comment" : "Show boosted statuses", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show boosted statuses" + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Mostrar estados mejorados" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erakutsi bultzatutako egoerak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show boosted statuses" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyświetl podbite statusy" + } + } + } + }, + "settings.title.enableReboostOnTimelineDescription" : { + "comment" : "Boosted statuses will be visible on your home timeline.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boosted statuses will be visible on your home timeline." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Los estados mejorados serán visibles en tu cronología de inicio." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Besteek bultzatu dituzten egoerak denbora-lerroan erakutsiko dira." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boosted statuses will be visible on your home timeline." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podbite statusy będą widoczne na twojej osi czasu." + } + } + } + }, + "settings.title.follow" : { + "comment" : "Follow me", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Follow me" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sígueme" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraitu niri" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Me suivre" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obserwuj mnie" + } + } + } + }, + "settings.title.followVernissage" : { + "comment" : "Follow Vernissage", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Follow Vernissage" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sígueme en Vernissage" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraitu Vernissage-ri" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suivre Vernissage" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obserwuj Vernissage" + } + } + } + }, + "settings.title.general" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "General" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "General" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Orokorra" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Général" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ogólne" + } + } + } + }, + "settings.title.haptics" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haptics" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Respuesta háptica" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hobespen haptikoak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haptique" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haptyka" + } + } + } + }, + "settings.title.hapticsAnimationFinished" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Animation finished" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Animación finalizada" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Animazioak amaitzean" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Animation finie" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zakończenie animacji" + } + } + } + }, + "settings.title.hapticsButtonPress" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Button press" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pulsación de botón" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Botoietan tap egitean" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appui sur un bouton" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Naciśnięcie przycisku" + } + } + } + }, + "settings.title.hapticsListRefresh" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "List refresh" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actualizar lista" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zerrendak freskatzean" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rafraîchir la liste" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odświeżanie listy" + } + } + } + }, + "settings.title.hapticsTabSelection" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab selection" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Selección de pestaña" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fitxak hautatzean" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sélection de l'onglet" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wybór zakładki" + } + } + } + }, + "settings.title.hideStatusesWithoutAlt" : { + "comment" : "Hide statuses without ALT", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hide statuses without ALT text" + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Ocultar estados sin texto ALT" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezkutatu ALT gabeko egoerak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hide statuses without ALT text" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ukryj statusy bez tekstu ALT" + } + } + } + }, + "settings.title.hideStatusesWithoutAltDescription" : { + "comment" : "Statuses without ALT text will not be visible on your home timeline.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statuses without ALT text will not be visible on your home timeline." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Los estados sin texto ALT no serán visibles en tu cronología de inicio." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deskribapen edo testu alternatiborik ez duten egoerak ez dira denbora-lerroan erakutsiko." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statuses without ALT text will not be visible on your home timeline." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statusy bez tekstu ALT nie będą wyświetlane na twojej osi czasu." + } + } + } + }, + "settings.title.light" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Light" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Claro" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clair" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jasny" + } + } + } + }, + "settings.title.mastodonAccount" : { + "comment" : "Mastodon account", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mastodon account" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta de Mastodon" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mastodon kontua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte Mastodon" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konto Mastodon" + } + } + } + }, + "settings.title.mediaSettings" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Media settings" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajustes multimedia" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Multimedia hobespenak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Paramètres du media" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ustawienia mediów" + } + } + } + }, + "settings.title.menuPosition" : { + "comment" : "Menu position", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Menu position" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Posición del menú" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Menuaren kokapena" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Position du menu" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pozycja menu" + } + } + } + }, + "settings.title.newAccount" : { + "comment" : "New account", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "New account" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nueva cuenta" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gehitu kontua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nouveau compte" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dodaj konto" + } + } + } + }, + "settings.title.other" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Other" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otros" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beste batzuk" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autre" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inne" + } + } + } + }, + "settings.title.pixelfedAccount" : { + "comment" : "Pixelfed account", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pixelfed account" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta de Pixelfed" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pixelfed kontua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte Pixelfed" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konto Pixelfed" + } + } + } + }, + "settings.title.privacyPolicy" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Privacy policy" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Política de privacidad" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pribatutasun politika" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Politique de confidentialité" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Polityka prywatności" + } + } + } + }, + "settings.title.rate" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rate Vernissage" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Puntúa Vernissage" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baloratu Vernissage" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Noter Vernissage" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oceń Vernissage" + } + } + } + }, + "settings.title.reportBug" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Report a bug" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Informar de un error" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eman errore baten berri" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rapporter un bogue" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zgłoś błąd" + } + } + } + }, + "settings.title.rounderRectangle" : { + "comment" : "Rounded rectangle", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rounded rectangle" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rectángulo redondeado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Biribildutako ertzak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rectangle arrondi" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zaokrąglony kwadratowy" + } + } + } + }, + "settings.title.showAltText" : { + "comment" : "Show ALT icon", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show ALT icon" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar icono ALT" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erakutsi ALT ikurra" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher l'icône ALT" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyświetlaj ikonę ALT" + } + } + } + }, + "settings.title.showAltTextOnTimeline" : { + "comment" : "ALT icon will be displayed on timelines", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "ALT icon will be displayed on timelines" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "El icono ALT se mostrará en las cronologíasS" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "ALT ikurra (deskribapena edo testu alternatiboa dagoenaren seinale) denbora-lerroan erakutsiko da" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'icône ALT sera affichée sur la timeline" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ikony ALT będą widonczne na osiach zdjęć" + } + } + } + }, + "settings.title.showAvatars" : { + "comment" : "Show avatars", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show avatars" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar avatares" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erakutsi abatarrak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher les avatars" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyświetlaj awatary" + } + } + } + }, + "settings.title.showAvatarsOnTimeline" : { + "comment" : "Show avatars on timeline", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avatars will be displayed on timelines" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Los avatares se mostrarán en las cronologías" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abatarrak denbora-lerroan erakutsiko dira" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les avatars sont affichés sur la timeline" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Awatary będą widoczne na osiach zdjęć" + } + } + } + }, + "settings.title.showFavourite" : { + "comment" : "Show favourites", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show favourites" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar favoritos" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erakutsi gogokoak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher les favoris" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyświetlaj polubienia" + } + } + } + }, + "settings.title.showFavouriteOnTimeline" : { + "comment" : "Show favourites on timeline", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favourites will be displayed on timelines" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Los favoritos se mostrarán en las cronologías" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gogokoak denbora-lerroan erakutsiko dira" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les favoris sont affichés sur la timeline" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Polubienia będą widoczne na osiach zdjęć" + } + } + } + }, + "settings.title.socials" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Socials" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Redes sociales" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gizarte-sareak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Social" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Społeczności" + } + } + } + }, + "settings.title.sourceCode" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Source code" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Código fuente" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Iturburu kodea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Code source" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kod źródłowy" + } + } + } + }, + "settings.title.support" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Support" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Soporte" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eman babesa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Support" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wsparcie" + } + } + } + }, + "settings.title.system" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "System" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sistema" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sistemak darabilena" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Système" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Systemowy" + } + } + } + }, + "settings.title.terms" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terms & Conditions" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Términos y condiciones" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erabilera baldintzak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conditions générales d'utilisation" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zasady i warunki" + } + } + } + }, + "settings.title.thankYouClose" : { + "comment" : "Close", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Close" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cerrar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Itxi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fermer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zamknij" + } + } + } + }, + "settings.title.thankYouMessage" : { + "comment" : "Thank you message", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thanks for your purchase. Purchases both big and small help us keep our dream of providing the best quality products to our customers. We hope you’re loving Vernissage." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gracias por tu compra. Tanto las compras grandes como las pequeñas nos ayudan a mantener nuestro sueño de proporcionar productos de la mejor calidad a nuestros clientes. Esperamos que estés disfrutando de Vernissage." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mila esker erosketagatik. Erosketa handi eta txikiek gure bezeroei kalitatezko produkturik onenak eskaintzeko ametsari eusten laguntzen digute. Espero dugu Vernissage gustuko izatea." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Merci pour votre achat. Les achats, petits et grands, nous aident à réaliser notre rêve de fournir des produits de la meilleure qualité à nos clients. Nous espérons que vous aimez Vernissage." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dziękujemy za twój zakup. Zakupy zarówno te duże, jak i te małe pomagają nam w realizacji marzenia o dostarczaniu naszym klientom produktów najwyższej jakości. Mamy nadzieję, że Vernissage spełnia Twoje oczekiwania." + } + } + } + }, + "settings.title.thankYouTitle" : { + "comment" : "Thank you 💕", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thank you 💕" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gracias 💕" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eskerrik asko 💕" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Merci 💕" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dziękuję 💕" + } + } + } + }, + "settings.title.theme" : { + "comment" : "Theme", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Theme" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tema" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gaia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thème" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wygląd" + } + } + } + }, + "settings.title.thirdParty" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Third party" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terceros" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hirugarrenak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tiers" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zewnętrzne biblioteki" + } + } + } + }, + "settings.title.topMenu" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Navigation bar" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Barra de navegación" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nabigazio barra" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Barre de navigation" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Panel tytułowy" + } + } + } + }, + "settings.title.version" : { + "comment" : "Version", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Versión" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bertsioa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Version" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wersja" + } + } + } + }, + "settings.title.warnAboutMissingAltDescription" : { + "comment" : "A warning about missing ALT texts will be displayed before publishing new post.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "A warning about missing ALT texts will be displayed before publishing new post." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se mostrará una advertencia sobre los textos ALT faltantes antes de publicar una nueva entrada." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Irudiren batek deskribapenik ez badu, argitaratu baino lehen abisua erakutsiko da." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Un avertissement concernant les textes ALT manquants sera affiché avant la publication d'un nouveau message." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ostrzeżenie o brakujących tekstach ALT będzie wyświetlane przed opublikowaniem nowego statusu." + } + } + } + }, + "settings.title.warnAboutMissingAltTitle" : { + "comment" : "Warn of missing ALT text", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Warn of missing ALT text" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Advertir sobre el texto ALT faltante" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abisatu ALT ahaztu bazait" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avertir de l'absence de texte ALT" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ostrzeganie o brakującym tekście ALT" + } + } + } + }, + "signin.error.communicationFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Communication with server failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error de comunicación con el servidor." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zerbitzariarekin komunikazioak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "La communication avec le server a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas komunikacji z serwerem." + } + } + } + }, + "signin.navigationBar.title" : { + "comment" : "Signin view.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sign in to Pixelfed" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Iniciar sesión en Pixelfed" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hasi saioa Pixelfed-en" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se connecter à Pixelfed" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zaloguj się do Pixelfed" + } + } + } + }, + "signin.title.amountOfUsers" : { + "comment" : "users", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d users" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d usuarios" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d erabiltzaile" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d Utilisateurs" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d użytkowników" + } + } + } + }, + "signin.title.amountOStatuses" : { + "comment" : "statuses", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d statuses" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d estados" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d egoera" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d statuts" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d statusów" + } + } + } + }, + "signin.title.chooseServer" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Or choose Pixelfed server" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "O elige un servidor Pixelfed" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edo aukeratu Pixelfed zerbitzaria" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ou choisissez un sereveur Pixelfed" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lub wybierz serwer Pixelfed" + } + } + } + }, + "signin.title.enterServerAddress" : { + "comment" : "Enter server address", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enter server address" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Introducir la dirección del servidor" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sartu zerbitzariaren helbidea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrer l'adresse du server" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wpisz adres serwera" + } + } + } + }, + "signin.title.howToJoinLink" : { + "comment" : "How to join Pixelfed", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "How to join Pixelfed" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cómo unirse a Pixelfed" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nola batu Pixelfed-era" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comment rejoindre Pixelfed" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jak przyłączyć się do Pixelfed" + } + } + } + }, + "signin.title.serverAddress" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Server address" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dirección del servidor" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zerbitzariaren helbidea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adresse du serveur" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adres serwera" + } + } + } + }, + "signin.title.signIn" : { + "comment" : "Sign in", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sign in" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Iniciar sesión" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hasi saioa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Connecter" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zaloguj się" + } + } + } + }, + "status.error.bookmarkFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bookmark action failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al marcar." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Laster-markak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'action de marque-pages a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas dodawania/usuwania z zakładek." + } + } + } + }, + "status.error.deleteFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete action failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al eliminar." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezabatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'action de suppression a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas usuwania." + } + } + } + }, + "status.error.favouriteFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favourite action failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al dar me gusta." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gogokoak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'action de favoris a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas polubiania." + } + } + } + }, + "status.error.loadingCommentsFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comments cannot be downloaded." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pueden cargar los comentarios." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezin dira iruzkinak eskuratu." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les commentaires ne peuvent être téléchargés." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : " Błąd podczas wczytywanie komentarzy." + } + } + } + }, + "status.error.loadingStatusFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading status failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar el estado." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egoera kargatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chargement du statut échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wczytywanie statusu." + } + } + } + }, + "status.error.notFound" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Status not existing anymore." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "El estado ya no existe." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egoera ez da dagoeneko existitzen." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le statut n'existe plus." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Status już nie istnieje." + } + } + } + }, + "status.error.reboostFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boost action failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al compartir." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bultzadak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'action de partage a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas podbijania." + } + } + } + }, + "status.navigationBar.title" : { + "comment" : "Status view.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Details" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Detalles" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xehetasunak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Détails" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szczegóły" + } + } + } + }, + "status.title.bookmark" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bookmark" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Marcar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarri laster-marka" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Marque-pages" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dodaj do zakładek" + } + } + } + }, + "status.title.bookmarked" : { + "comment" : "Bookmarked", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bookmarked" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Marcado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Laster-marka jarria" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Marque-pages effectué" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dodane do zakładek" + } + } + } + }, + "status.title.delete" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eliminar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezabatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuń" + } + } + } + }, + "status.title.favourite" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favourite" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Me gusta" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egin gogoko" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favoris" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Polub" + } + } + } + }, + "status.title.favourited" : { + "comment" : "Favourited", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favourited" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le ha gustado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gogoko egina" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favorisé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Polubione" + } + } + } + }, + "status.title.favouritedBy" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favourited by" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le ha gustado a" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gogoko egin dutenak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favoris par" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Polubione przez" + } + } + } + }, + "status.title.mediaDescription" : { + "comment" : "Media description", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Media description" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descripción de medios" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Multimediaren deskribapena" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Description du media" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Opis zdjęcia" + } + } + } + }, + "status.title.openInBrowser" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open in browser" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abrir en el navegador" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ireki nabigatzailean" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ouvrir dans un navigateur" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otwórz w przeglądarce" + } + } + } + }, + "status.title.reboost" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boost" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compartir" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bultzatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partagé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podbij" + } + } + } + }, + "status.title.reboosted" : { + "comment" : "Reboosted", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boosted" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compartido" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bultzatua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partagé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podbite" + } + } + } + }, + "status.title.reboostedBy" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boosted by" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compartido por" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bultzatu dutenak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partagé par" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podbite przez" + } + } + } + }, + "status.title.report" : { + "comment" : "Report", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Report" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Informar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Salatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rapport" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zgłoś" + } + } + } + }, + "status.title.saveImage" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Save image" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Guardar imagen" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gorde irudia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistrer l'image" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zapisz zdjęcie" + } + } + } + }, + "status.title.shareImage" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Share image" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compartir imagen" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partekatu irudia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partager l'image" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Udostępnij zdjęcie" + } + } + } + }, + "status.title.shareStatus" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Share status" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compartir estado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partekatu egoera" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partger le statut" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Udostępnij status" + } + } + } + }, + "status.title.showMediaDescription" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show media description" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar descripción de medios" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erakutsi multimediaren deskribapena" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher la description du media" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pokaż opis zdjęcia" + } + } + } + }, + "status.title.statusDeleted" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Status deleted" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estado eliminado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egoera ezabatua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statut supprimé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Status usunięty" + } + } + } + }, + "status.title.unbookmarked" : { + "comment" : "Unbookmarked", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unbookmarked" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No marcado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Laster-marka kendua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Marque-pages enlevé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usunięte z zakładek" + } + } + } + }, + "status.title.unfavourited" : { + "comment" : "Unfavourited", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfavourited" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No le ha gustado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gogoko egiteari utzia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enlever le favoris" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Polubienie wycofane" + } + } + } + }, + "status.title.unreboosted" : { + "comment" : "Unreboosted", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unboosted" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No compartido" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bultzada kendua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enlever le partage" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podbicie wycofane" + } + } + } + }, + "status.title.uploaded" : { + "comment" : "Uploaded", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uploaded" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Subido" + } + }, + "eu" : { + "stringUnit" : { + "state" : "needs_review", + "value" : ">" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Envoyé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wysłano" + } + } + } + }, + "status.title.via" : { + "comment" : "via", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "via %@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "a través de %@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ bidez" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "via %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "przez %@" + } + } + } + }, + "status.title.yourStatus" : { + "comment" : "Your post", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Your status" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tu estado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zure egoera" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Votre statut" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Twój status" + } + } + } + }, + "statuses.error.loadingStatusesFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading statuses failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar los estados." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egoerak kargatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chargement des statuts impossible." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wczytywania statusów." + } + } + } + }, + "statuses.error.tagFollowFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Follow tag failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al seguir la etiqueta." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traolari jarraitzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suivi de tag échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas żądania śledzenia taga." + } + } + } + }, + "statuses.error.tagUnfollowFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfollow tag failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al dejar de seguir la etiqueta." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traolari jarraitzeari uzteak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ne plus suivre le tag a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wyłączenia śledzenia taga." + } + } + } + }, + "statuses.navigationBar.bookmarks" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bookmarks" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Marcadores" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Laster-markak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Marque-pages" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zakładki" + } + } + } + }, + "statuses.navigationBar.favourites" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favourites" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favoritos" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gogokoak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favoris" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Polubione" + } + } + } + }, + "statuses.navigationBar.federatedTimeline" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Federated" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Federado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Federatua" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fédéré" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Globalne" + } + } + } + }, + "statuses.navigationBar.localTimeline" : { + "comment" : "Statuses timeline (local/federated/favourite/bookmarks etc.).", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Local" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Local" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lokala" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Local" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lokalne" + } + } + } + }, + "statuses.title.noPhotos" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfortunately, there are no photos here." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desafortunadamente, no hay fotos aquí." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argazkirik ez." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Malheureusement, il n'y a pas de photos ici." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niestety nie ma jeszcze żadnych zdjęć." + } + } + } + }, + "statuses.title.tagFollowed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "You are following the tag." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estás siguiendo la etiqueta." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traolari jarraitzen diozu." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous suivez ce tag." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Od teraz śledzisz taga." + } + } + } + }, + "statuses.title.tagUnfollowed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tag has been unfollowed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se ha dejado de seguir la etiqueta." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traola jarraitzeari utzi diozu." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous ne suivez plus ce tag." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie śledzisz już taga." + } + } + } + }, + "statusPlaceholder.title.line1" : { + "comment" : "Lorem ispum text something", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorem ipsum dolor sit amet" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorem ipsum dolor sit amet" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorem ipsum dolor sit amet" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorem ipsum dolor sit amet" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorem ipsum dolor sit amet" + } + } + } + }, + "statusPlaceholder.title.line2" : { + "comment" : "Lorem ispum text something sdf sdfsdf sdfdsfsdfsdf", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam tristique, ipsum nec cursus facilisis." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam tristique, ipsum nec cursus facilisis." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam tristique, ipsum nec cursus facilisis." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam tristique, ipsum nec cursus facilisis." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam tristique, ipsum nec cursus facilisis." + } + } + } + }, + "tags.error.loadingTagsFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading tags failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar las etiquetas." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traolak kargatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chargement des tags échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wczytywania tagów." + } + } + } + }, + "tags.navigationBar.followedTitle" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Followed tags" + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Etiquetas seguidas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraitzen dituzun traolak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obserwowane tagi" + } + } + } + }, + "tags.navigationBar.searchTitle" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags" + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Etiquetas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traolak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tagi" + } + } + } + }, + "tags.navigationBar.trendingTitle" : { + "comment" : "Trending tags.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags" + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Etiquetas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traolak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tagi" + } + } + } + }, + "tags.title.amountOfPosts" : { + "comment" : "Amount of posts", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d posts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d publicaciones" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d bidalketa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d posts" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%d statusów" + } + } + } + }, + "tags.title.noTags" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfortunately, there are no tags here." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desafortunadamente, no hay etiquetas aquí." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traolarik ez." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Malheureusement, il n'y a pas de tags ici." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niestety nie ma jeszcze żadnych tagów." + } + } + } + }, + "thirdparty.customemoji.address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/divadretlaw/EmojiText" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/divadretlaw/EmojiText" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/divadretlaw/EmojiText" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/divadretlaw/EmojiText" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/divadretlaw/EmojiText" + } + } + } + }, + "thirdparty.customemoji.description" : { + "comment" : "Render Custom Emoji in Text. Supports local and remote emojis. Remote emojis are loadad and cached using Nuke.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Render Custom Emoji in Text. Supports local and remote emojis. Remote emojis are loadad and cached using Nuke." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Renderiza Emoji personalizados en texto. Soporta emojis locales y remotos. Los emojis remotos se cargan y almacenan en caché con Nuke." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Renderowanie niestandardowych emotikonów w tekście. Obsługuje lokalne i zdalne emotikony. Zdalne emoji są ładowane i buforowane przy użyciu Nuke." + } + } + } + }, + "thirdparty.customemoji.title" : { + "comment" : "Custom emoji section title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "EmojiText" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "EmojiText" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "EmojiText" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "EmojiText" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "EmojiText" + } + } + } + }, + "thirdparty.fleur.address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://fonts.google.com/specimen/Fleur+De+Leah" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://fonts.google.com/specimen/Fleur+De+Leah" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://fonts.google.com/specimen/Fleur+De+Leah" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://fonts.google.com/specimen/Fleur+De+Leah" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://fonts.google.com/specimen/Fleur+De+Leah" + } + } + } + }, + "thirdparty.fleur.description" : { + "comment" : "Font used in the application in the icons and in the splash screen.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Font used in the application in the icons and in the splash screen." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Fuente utilizada en la aplicación en los iconos y en la pantalla de inicio." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Czcionka używana w aplikacji w ikonach i na ekranie powitalnym." + } + } + } + }, + "thirdparty.fleur.title" : { + "comment" : "Fleur De Leah section title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fleur De Leah" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fleur De Leah" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fleur De Leah" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fleur De Leah" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fleur De Leah" + } + } + } + }, + "thirdparty.htmlmarkdown.address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://gitlab.com/mflint/HTML2Markdown" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://gitlab.com/mflint/HTML2Markdown" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://gitlab.com/mflint/HTML2Markdown" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://gitlab.com/mflint/HTML2Markdown" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://gitlab.com/mflint/HTML2Markdown" + } + } + } + }, + "thirdparty.htmlmarkdown.description" : { + "comment" : "It's a Swift Package which attempts to convert HTML into Markdown.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "It's a Swift Package which attempts to convert HTML into Markdown." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Es un paquete Swift que intenta convertir HTML en Markdown." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jest to pakiet Swift, który konwertuje HTML na Markdown." + } + } + } + }, + "thirdparty.htmlmarkdown.title" : { + "comment" : "Status body section title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTML2Markdown" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTML2Markdown" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTML2Markdown" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTML2Markdown" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTML2Markdown" + } + } + } + }, + "thirdparty.htmlstring.address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/alexisakers/HTMLString" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/alexisakers/HTMLString" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/alexisakers/HTMLString" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/alexisakers/HTMLString" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/alexisakers/HTMLString" + } + } + } + }, + "thirdparty.htmlstring.description" : { + "comment" : "HTMLString is a library written in Swift that allows your program to add and remove HTML entities in Strings.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTMLString is a library written in Swift that allows your program to add and remove HTML entities in Strings." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "HTMLString es una librería escrita en Swift que permite a tu programa añadir y eliminar entidades HTML en Strings." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTMLString to biblioteka napisana w języku Swift, która pozwala programowi dodawać i usuwać encje HTML w napisach." + } + } + } + }, + "thirdparty.htmlstring.title" : { + "comment" : "Section html string title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTMLString" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTMLString" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTMLString" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTMLString" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "HTMLString" + } + } + } + }, + "thirdparty.lazyimage.address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/kean/Nuke" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/kean/Nuke" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/kean/Nuke" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/kean/Nuke" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/kean/Nuke" + } + } + } + }, + "thirdparty.lazyimage.description" : { + "comment" : "Lazy image section description.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuke provides an efficient way to download and display images in your app. It's easy to learn and use. Its architecture enables many powerful features while offering virtually unlimited possibilities for customization." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Nuke proporciona una forma eficaz de descargar y mostrar imágenes en tu aplicación. Es fácil de aprender y utilizar. Su arquitectura permite muchas características de gran alcance al tiempo que ofrece posibilidades prácticamente ilimitadas para la personalización." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuke zapewnia wydajny sposób pobierania i wyświetlania obrazów w aplikacji. Jest łatwy w nauce i obsłudze. Jego architektura zapewnia wiele zaawansowanych funkcji, oferując jednocześnie praktycznie nieograniczone możliwości dostosowywania." + } + } + } + }, + "thirdparty.lazyimage.title" : { + "comment" : "Lazy image section title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuke" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuke" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuke" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuke" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuke" + } + } + } + }, + "thirdparty.loaders.address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/exyte/ActivityIndicatorView" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/exyte/ActivityIndicatorView" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/exyte/ActivityIndicatorView" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/exyte/ActivityIndicatorView" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/exyte/ActivityIndicatorView" + } + } + } + }, + "thirdparty.loaders.description" : { + "comment" : "A number of preset loading indicators created with SwiftUI.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "A number of preset loading indicators created with SwiftUI." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Una serie de indicadores de carga preestablecidos creados con SwiftUI." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szereg gotowych animacji ładowania utworzonych za pomocą SwiftUI." + } + } + } + }, + "thirdparty.loaders.title" : { + "comment" : "Loaders section title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "ActivityIndicatorView" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "ActivityIndicatorView" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "ActivityIndicatorView" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "ActivityIndicatorView" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "ActivityIndicatorView" + } + } + } + }, + "thirdParty.navigationBar.title" : { + "comment" : "Third party view.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Third party" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terceros" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hirugarrenak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tiers" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zewnętrzne biblioteki" + } + } + } + }, + "thirdparty.notifications.address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/omaralbeik/Drops" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/omaralbeik/Drops" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/omaralbeik/Drops" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/omaralbeik/Drops" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/omaralbeik/Drops" + } + } + } + }, + "thirdparty.notifications.description" : { + "comment" : "A µFramework for showing alerts like the one used when copying from pasteboard or connecting Apple pencil.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "A µFramework for showing alerts like the one used when copying from pasteboard or connecting Apple pencil." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Un µFramework para mostrar alertas como la que se utiliza al copiar desde la mesa de trabajo o al conectar el lápiz de Apple." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Framework do wyświetlania alertów, takich jak te używane podczas kopiowania ze schowka lub podłączania ołówka Apple." + } + } + } + }, + "thirdparty.notifications.title" : { + "comment" : "Notifications (drops) section title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drops" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drops" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drops" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drops" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Drops" + } + } + } + }, + "thirdparty.oauth.address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/OAuthSwift/OAuthSwift" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/OAuthSwift/OAuthSwift" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/OAuthSwift/OAuthSwift" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/OAuthSwift/OAuthSwift" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/OAuthSwift/OAuthSwift" + } + } + } + }, + "thirdparty.oauth.description" : { + "comment" : "Swift based OAuth library for iOS and macOS.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Swift based OAuth library for iOS and macOS." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Librería OAuth basada en Swift para iOS y macOS." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oparta na języku Swift biblioteka OAuth dla systemów iOS i macOS." + } + } + } + }, + "thirdparty.oauth.title" : { + "comment" : "OAuth section title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "OAuthSwift" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "OAuthSwift" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "OAuthSwift" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "OAuthSwift" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "OAuthSwift" + } + } + } + }, + "thirdparty.qrcodes.address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/dmrschmidt/QRCode" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/dmrschmidt/QRCode" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/dmrschmidt/QRCode" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/dmrschmidt/QRCode" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://github.com/dmrschmidt/QRCode" + } + } + } + }, + "thirdparty.qrcodes.description" : { + "comment" : "A simple QR code image generator to use in your apps, written in Swift 5.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "A simple QR code image generator to use in your apps, written in Swift 5." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Un sencillo generador de imágenes de código QR para usar en tus aplicaciones, escrito en Swift 5." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prosty generator obrazów kodów QR do wykorzystania w aplikacjach, napisany w języku Swift 5." + } + } + } + }, + "thirdparty.qrcodes.title" : { + "comment" : "QR codes section title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "QRCode" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "QRCode" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "QRCode" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "QRCode" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "QRCode" + } + } + } + }, + "trendingAccounts.error.loadingAccountsFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading accounts failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar las cuentas." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontuak kargatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chargement des comptes échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wczytywania użytkownikow." + } + } + } + }, + "trendingAccounts.navigationBar.title" : { + "comment" : "Trending accounts.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accounts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuentas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontuak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utilisateurs" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Użytkownicy" + } + } + } + }, + "trendingAccounts.title.noAccounts" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfortunately, there is no one here." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desafortunadamente, aquí no hay nadie." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inor ez." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Malheureusement, il n'y a personne ici." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niestety nie ma tutaj nikogo." + } + } + } + }, + "trendingStatuses.error.loadingStatusesFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading statuses failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar los estados." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egoerak kargatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chargement des statuts échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wczytywania statusów." + } + } + } + }, + "trendingStatuses.navigationBar.title" : { + "comment" : "Trending statuses.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photos" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fotos" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argazkiak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photos" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zdjęcia" + } + } + } + }, + "trendingStatuses.title.daily" : { + "comment" : "Daily", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Daily" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diario" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egunekoak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quotidien" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dzień" + } + } + } + }, + "trendingStatuses.title.monthly" : { + "comment" : "Monthly", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monthly" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mensual" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hilabetekoak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mensuel" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Miesiąc" + } + } + } + }, + "trendingStatuses.title.noPhotos" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfortunately, there are no photos here." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desafortunadamente, no hay fotos aquí." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argazkirik ez." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Malheureusement, il n'y a pas de photos ici." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niestety nie ma jeszcze żadnych zdjęć." + } + } + } + }, + "trendingStatuses.title.yearly" : { + "comment" : "Yearly", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yearly" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anual" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Urtekoak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuel" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rok" + } + } + } + }, + "userProfile.error.block" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Block/unblock action failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al bloquear/desbloquear." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blokeatu/Blokeatzeari uzteak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'action bloquer / déblouquer a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas blokowania/odblokowywania użytkownika." + } + } + } + }, + "userProfile.error.loadingAccountFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during download account from server." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al descargar la cuenta del servidor." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea zerbitzaritik kontua eskuratzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur pendant le téléchargement du compte depuis le serveur." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania konta z serwera." + } + } + } + }, + "userProfile.error.muting" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muting/unmuting action failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al silenciar/quitar silencio." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mututu/Mututzeari uzteak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'action sourdine / réactivation a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wyciszenia nie powiodła się." + } + } + } + }, + "userProfile.error.notExists" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Account does not exists." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La cuenta no existe." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontua ez da existitzen." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le compte n'existe pas." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania danych użytkownika." + } + } + } + }, + "userProfile.error.relationship" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Relationship action failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error en la acción de relación." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Harreman ekintzak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'action de relation a échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas zmiany relacji z użytkownikiem." + } + } + } + }, + "userProfile.title.block" : { + "comment" : "Block", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Block" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bloquear" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blokeatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bloquer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zablokuj" + } + } + } + }, + "userProfile.title.blocked" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blocked" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta bloqueada" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blokeatuta" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bloquer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zablokowany" + } + } + } + }, + "userProfile.title.blocks" : { + "comment" : "Blocked accounts", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blocked accounts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuentas bloqueadas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blokeatutako kontuak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comptes bloqués" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zablokowane konta" + } + } + } + }, + "userProfile.title.bookmarks" : { + "comment" : "Bookmarks", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bookmarks" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Marcadores" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Laster-markak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Marque-pages" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zakładki" + } + } + } + }, + "userProfile.title.boostedStatusesMuted" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boosts muted" + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Potencia silenciada" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bultzadak mututu dira" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boosts muted" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podbicia ukryte" + } + } + } + }, + "userProfile.title.cancelRequestFollow" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancel request" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar solicitud" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utzi bertan behera jarraitzeko eskaera" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler la demande" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anuluj prośbę" + } + } + } + }, + "userProfile.title.disableBoosts" : { + "comment" : "Disable boosts", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disable boosts" + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Desactivar potenciadores" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezkutatu bultzadak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disable boosts" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ukryj podbicia" + } + } + } + }, + "userProfile.title.edit" : { + "comment" : "Edit profile", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edytuj" + } + } + } + }, + "userProfile.title.enableBoosts" : { + "comment" : "Enable boosts", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enable boosts" + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Activar refuerzos" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ikusi bultzadak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enable boosts" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyświetl podbicia" + } + } + } + }, + "userProfile.title.favourites" : { + "comment" : "Favourites", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favourites" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favoritos" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gogokoak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favoris" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Polubione" + } + } + } + }, + "userProfile.title.follow" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Follow" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seguir" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraitu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suivre" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obserwuj" + } + } + } + }, + "userProfile.title.followedTags" : { + "comment" : "Followed tags", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Followed tags" + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Etiquetas seguidas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traolak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tags" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obserwowane tagi" + } + } + } + }, + "userProfile.title.followers" : { + "comment" : "Followers", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Followers" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seguidores" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraitzaile" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abonnés" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obserwujący" + } + } + } + }, + "userProfile.title.following" : { + "comment" : "Following", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Following" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siguiendo" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraitzen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abonnements" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obserwowani" + } + } + } + }, + "userProfile.title.followRequests" : { + "comment" : "FollowRequests", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Follow requests" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Solicitudes de seguimiento" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraipen-eskaerak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suivre les demandes" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prośby o obserwowanie" + } + } + } + }, + "userProfile.title.followsYou" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Follows you" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Te sigue" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraitzen dizu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vous suit" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obserwuje ciebie" + } + } + } + }, + "userProfile.title.instance" : { + "comment" : "Instance information", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instance information" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Información de la instancia" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Instantziari buruzko informazioa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Information sur l'instance" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Informacje o instancji" + } + } + } + }, + "userProfile.title.joined" : { + "comment" : "Joined", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Joined %@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unido a %@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ egin zuen bat" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Joint %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dołączył(a) %@" + } + } + } + }, + "userProfile.title.mute" : { + "comment" : "Mute", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mute" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Silenciar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mututu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sourdine" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wycisz" + } + } + } + }, + "userProfile.title.muted" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muted" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta silenciada" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mutututa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sourdine" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyciszony" + } + } + } + }, + "userProfile.title.mutes" : { + "comment" : "Muted accounts", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muted accounts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuentas silenciadas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mutututako kontuak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comptes en sourdine" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyciszone konta" + } + } + } + }, + "userProfile.title.openInBrowser" : { + "comment" : "Open in browser", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Open in browser" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abrir en el navegador" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ireki nabigatzailean" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ouvrir dans un navigateur" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otwórz w przeglądarce" + } + } + } + }, + "userProfile.title.posts" : { + "comment" : "Posts", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Posts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Publicaciones" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bidalketa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Posts" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Statusy" + } + } + } + }, + "userProfile.title.privateProfileSubtitle" : { + "comment" : "Only approved followers can see photos.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Only approved followers can see photos." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Solo los seguidores aprobados pueden ver las fotos." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baimendutako jarraitzaileek soilik ikus ditzakete argazkiak." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seules les personnes approuvées peuvent voir les photos." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tylko zaakceptowani użytkownicy mogą przeglądać zdjęcia." + } + } + } + }, + "userProfile.title.privateProfileTitle" : { + "comment" : "This profile is private.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "This profile is private." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Este perfil es privado." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profil hau pribatua da." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ce profil est privé." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "To konto jest prywatne." + } + } + } + }, + "userProfile.title.report" : { + "comment" : "Report", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Report" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Informar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Salatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rapport" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zgłoś" + } + } + } + }, + "userProfile.title.requestFollow" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Request follow" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Solicitar seguir" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egin jarraitzeko eskaera" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Demande de suivi" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poproś o obserwowanie" + } + } + } + }, + "userProfile.title.share" : { + "comment" : "Share", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Share" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compartir" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partekatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partager" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Udostępnij" + } + } + } + }, + "userProfile.title.unblock" : { + "comment" : "Unblock", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unblock" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desbloquear" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utzi blokeatzeari" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Déblouer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odblokuj" + } + } + } + }, + "userProfile.title.unblocked" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Account unblocked" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta desbloqueada" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontua blokeatzeari utzi zaio" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte débloqué" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konto odblokowane" + } + } + } + }, + "userProfile.title.unfollow" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unfollow" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dejar de seguir" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utzi jarraitzeari" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ne plus suivre" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Przestań obserwować" + } + } + } + }, + "userProfile.title.unmute" : { + "comment" : "Unute", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unmute" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quitar silencio" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utzi mututzeari" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Désactiver" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyłącz wyciszenie" + } + } + } + }, + "userProfile.title.unmuted" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Account unmuted" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuenta sin silencio" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontua mututzeari utzi zaio" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compte remis en actif" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyciszenie wyłączone" + } + } + } + }, + "Vernissage" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vernissage" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vernissage" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vernissage" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vernissage" + } + } + } + }, + "widget.family.notSupported" : { + "comment" : "Not supported", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Not supported" + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "No se admite" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nieobsługiwane" + } + } + } + }, + "widget.title.photoDescription" : { + "comment" : "Widget view.", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget with photos from Pixelfed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget con fotos de Pixelfed." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widgeta Pixelfed-eko argazkiekin." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget avec des photos de Pixelfed." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget ze zdjęciami z Pixelfed." + } + } + } + }, + "widget.title.qrCodeDescription" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget with QR Code to your Pixelfed profile." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget con el código QR de tu perfil de Pixelfed." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widgeta zure Pixelfed-eko profilaren QR kodearekin." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget avec QR Code vers votre profil Pixelfed." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget z QR kodem do profilu na Pixelfed." + } + } + } + } + }, + "version" : "1.0" +} \ No newline at end of file diff --git a/Localization/en.lproj/Localizable.strings b/Localization/en.lproj/Localizable.strings deleted file mode 100644 index 283404a..0000000 --- a/Localization/en.lproj/Localizable.strings +++ /dev/null @@ -1,381 +0,0 @@ -// MARK: Common strings. -"global.title.contentWarning" = "Sensitive content"; -"global.title.seePost" = "See post"; -"global.title.refresh" = "Refresh"; -"global.title.momentsAgo" = "moments ago"; -"global.title.success" = "Success"; -"global.title.photoSaved" = "Photo has been saved."; -"global.title.ok" = "OK"; -"global.title.showMore" = "Show more"; -"global.title.showLess" = "Show less"; -"global.title.close" = "Close"; -"global.error.refreshingCredentialsTitle" = "Refreshing credentials error."; -"global.error.refreshingCredentialsSubtitle" = "Please sign in again to Pixelfed."; - -// MARK: Global errors. -"global.error.unexpected" = "Unexpected error."; -"global.error.statusesNotRetrieved" = "Statuses not retrieved."; -"global.error.errorDuringDownloadStatuses" = "Error during download statuses from server."; -"global.error.errorDuringDownloadHashtag" = "Error during download tag from server."; -"global.error.hashtagNotExists" = "Hashtag does not exists."; -"global.error.errorDuringImageDownload" = "Cannot download image."; -"global.error.canceledImageDownload" = "Download image has been canceled."; -"global.error.errorDuringDataLoad" = "Loading data failed."; -"global.error.errorDuringUserRead" = "Cannot retrieve user account."; -"global.error.badUrlServer" = "Bad url to server."; -"global.error.accessTokenNotFound" = "Access token not found."; -"global.error.errorDuringDownloadStatus" = "Error during download status from server."; -"global.error.errorDuringPurchaseVerification" = "Purchase verification failed."; - -// MARK: Main view (main navigation bar). -"mainview.tab.homeTimeline" = "Home"; -"mainview.tab.localTimeline" = "Local"; -"mainview.tab.federatedTimeline" = "Federated"; -"mainview.tab.trendingPhotos" = "Photos"; -"mainview.tab.trendingTags" = "Tags"; -"mainview.tab.trendingAccounts" = "Accounts"; -"mainview.tab.userProfile" = "Profile"; -"mainview.tab.notifications" = "Notifications"; -"mainview.tab.search" = "Search"; -"mainview.tab.trending" = "Trending"; - -// MARK: Main view (leading navigation bar). -"mainview.menu.settings" = "Settings"; - -// MARK: Main view (error notifications). -"mainview.error.switchAccounts" = "Cannot switch accounts."; - -// MARK: Home timeline. -"home.title.allCaughtUp" = "You're all caught up"; -"home.title.noPhotos" = "Unfortunately, there are no photos here."; - -// MARK: Statuses timeline (local/federated/favourite/bookmarks etc.). -"statuses.navigationBar.localTimeline" = "Local"; -"statuses.navigationBar.federatedTimeline" = "Federated"; -"statuses.navigationBar.favourites" = "Favourites"; -"statuses.navigationBar.bookmarks" = "Bookmarks"; -"statuses.title.noPhotos" = "Unfortunately, there are no photos here."; -"statuses.title.tagFollowed" = "You are following the tag."; -"statuses.title.tagUnfollowed" = "Tag has been unfollowed."; -"statuses.error.loadingStatusesFailed" = "Loading statuses failed."; -"statuses.error.tagFollowFailed" = "Follow tag failed."; -"statuses.error.tagUnfollowFailed" = "Unfollow tag failed."; - -// Mark: Search view. -"search.navigationBar.title" = "Search"; -"search.title.placeholder" = "Search..."; -"search.title.usersWith" = "Users with %@"; -"search.title.goToUser" = "Go to user %@"; -"search.title.hashtagWith" = "Hashtags with %@"; -"search.title.goToHashtag" = "Go to hashtag %@"; - -// Mark: Trending statuses. -"trendingStatuses.navigationBar.title" = "Photos"; -"trendingStatuses.title.daily" = "Daily"; -"trendingStatuses.title.monthly" = "Monthly"; -"trendingStatuses.title.yearly" = "Yearly"; -"trendingStatuses.error.loadingStatusesFailed" = "Loading statuses failed."; -"trendingStatuses.title.noPhotos" = "Unfortunately, there are no photos here."; - -// Mark: Trending tags. -"tags.navigationBar.trendingTitle" = "Tags"; -"tags.navigationBar.searchTitle" = "Tags"; -"tags.navigationBar.followedTitle" = "Followed tags"; -"tags.title.noTags" = "Unfortunately, there are no tags here."; -"tags.title.amountOfPosts" = "%d posts"; -"tags.error.loadingTagsFailed" = "Loading tags failed."; - -// Mark: Trending accounts. -"trendingAccounts.navigationBar.title" = "Accounts"; -"trendingAccounts.title.noAccounts" = "Unfortunately, there is no one here."; -"trendingAccounts.error.loadingAccountsFailed" = "Loading accounts failed."; - -// Mark: User profile view. -"userProfile.title.openInBrowser" = "Open in browser"; -"userProfile.title.share" = "Share"; -"userProfile.title.unmute" = "Unmute"; -"userProfile.title.mute" = "Mute"; -"userProfile.title.unblock" = "Unblock"; -"userProfile.title.block" = "Block"; -"userProfile.title.favourites" = "Favourites"; -"userProfile.title.bookmarks" = "Bookmarks"; -"userProfile.title.followedTags" = "Followed tags"; -"userProfile.title.posts" = "Posts"; -"userProfile.title.followers" = "Followers"; -"userProfile.title.following" = "Following"; -"userProfile.title.joined" = "Joined %@"; -"userProfile.title.unfollow" = "Unfollow"; -"userProfile.title.follow" = "Follow"; -"userProfile.title.instance" = "Instance information"; -"userProfile.title.blocks" = "Blocked accounts"; -"userProfile.title.mutes" = "Muted accounts"; -"userProfile.title.muted" = "Account muted"; -"userProfile.title.unmuted" = "Account unmuted"; -"userProfile.title.blocked" = "Account blocked"; -"userProfile.title.unblocked" = "Account unblocked"; -"userProfile.title.report" = "Report"; -"userProfile.title.followsYou" = "Follows you"; -"userProfile.title.requestFollow" = "Request follow"; -"userProfile.title.cancelRequestFollow" = "Cancel request"; -"userProfile.title.followRequests" = "Follow requests"; -"userProfile.title.privateProfileTitle" = "This profile is private."; -"userProfile.title.privateProfileSubtitle" = "Only approved followers can see photos."; -"userProfile.error.notExists" = "Account does not exists."; -"userProfile.error.loadingAccountFailed" = "Error during download account from server."; -"userProfile.error.muting" = "Muting/unmuting action failed."; -"userProfile.error.block" = "Block/unblock action failed."; -"userProfile.error.relationship" = "Relationship action failed."; -"userProfile.title.edit" = "Edit"; -"userProfile.title.muted" = "Muted"; -"userProfile.title.blocked" = "Blocked"; -"userProfile.title.enableBoosts" = "Enable boosts"; -"userProfile.title.disableBoosts" = "Disable boosts"; -"userProfile.title.boostedStatusesMuted" = "Boosts muted"; - -// Mark: Notifications view. -"notifications.navigationBar.title" = "Notifications"; -"notifications.title.noNotifications" = "Unfortunately, there is nothing here."; -"notifications.title.followedYou" = "followed you"; -"notifications.title.mentionedYou" = "mentioned you"; -"notifications.title.boosted" = "boosted"; -"notifications.title.favourited" = "favourited"; -"notifications.title.postedStatus" = "posted status"; -"notifications.title.followRequest" = "follow request"; -"notifications.title.poll" = "poll"; -"notifications.title.updatedStatus" = "updated status"; -"notifications.title.signedUp" = "signed up"; -"notifications.title.newReport" = "new report"; -"notifications.error.loadingNotificationsFailed" = "Loading notifications failed."; - -// Mark: Compose view. -"compose.navigationBar.title" = "Compose"; -"compose.title.everyone" = "Everyone"; -"compose.title.unlisted" = "Unlisted"; -"compose.title.followers" = "Followers"; -"compose.title.attachPhotoFull" = "Attach a photo and type what's on your mind"; -"compose.title.attachPhotoMini" = "Type what's on your mind"; -"compose.title.publish" = "Publish"; -"compose.title.cancel" = "Cancel"; -"compose.title.writeContentWarning" = "Write content warning"; -"compose.title.commentsWillBeDisabled" = "Comments will be disabled"; -"compose.title.statusPublished" = "Status published"; -"compose.title.tryToUpload" = "Try to upload"; -"compose.title.delete" = "Delete"; -"compose.title.edit" = "Edit"; -"compose.title.photos" = "Photos library"; -"compose.title.camera" = "Take photo"; -"compose.title.files" = "Browse files"; -"compose.title.missingAltTexts" = "Missing ALT texts"; -"compose.title.missingAltTextsWarning" = "Not all images have been described for the visually impaired. Would you like to send photos anyway?"; -"compose.error.loadingPhotosFailed" = "Cannot retreive image from library."; -"compose.error.postingPhotoFailed" = "Error during posting photo."; -"compose.error.postingStatusFailed" = "Error during posting status."; - -// Mark: Photo editor view. -"photoEdit.navigationBar.title" = "Photo details"; -"photoEdit.title.photo" = "Photo"; -"photoEdit.title.accessibility" = "Accessibility"; -"photoEdit.title.accessibilityDescription" = "Description for the visually impaired"; -"photoEdit.title.save" = "Save"; -"photoEdit.title.cancel" = "Cancel"; -"photoEdit.error.updatePhotoFailed" = "Error during updating photo."; - -// Mark: Place selector view. -"placeSelector.navigationBar.title" = "Places"; -"placeSelector.title.search" = "Search..."; -"placeSelector.title.buttonSearch" = "Search"; -"placeSelector.title.cancel" = "Cancel"; -"placeSelector.error.loadingPlacesFailed" = "Loading notifications failed."; - -// Mark: Settings view. -"settings.navigationBar.title" = "Settings"; -"settings.title.close" = "Close"; -"settings.title.version" = "Version"; -"settings.title.accounts" = "Accounts"; -"settings.title.newAccount" = "New account"; -"settings.title.accent" = "Accent"; -"settings.title.theme" = "Theme"; -"settings.title.system" = "System"; -"settings.title.light" = "Light"; -"settings.title.dark" = "Dark"; -"settings.title.avatar" = "Avatar"; -"settings.title.circle" = "Circle"; -"settings.title.rounderRectangle" = "Rounded rectangle"; -"settings.title.other" = "Other"; -"settings.title.thirdParty" = "Third party"; -"settings.title.reportBug" = "Report a bug"; -"settings.title.githubIssues" = "Issues on Github"; -"settings.title.follow" = "Follow me"; -"settings.title.support" = "Support"; -"settings.title.thankYouTitle" = "Thank you 💕"; -"settings.title.thankYouMessage" = "Thanks for your purchase. Purchases both big and small help us keep our dream of providing the best quality products to our customers. We hope you’re loving Vernissage."; -"settings.title.thankYouClose" = "Close"; -"settings.title.haptics" = "Haptics"; -"settings.title.hapticsTabSelection" = "Tab selection"; -"settings.title.hapticsButtonPress" = "Button press"; -"settings.title.hapticsListRefresh" = "List refresh"; -"settings.title.hapticsAnimationFinished" = "Animation finished"; -"settings.title.mediaSettings" = "Media settings"; -"settings.title.alwaysShowSensitiveTitle" = "Always show NSFW"; -"settings.title.alwaysShowSensitiveDescription" = "Force show all NFSW (sensitive) media without warnings"; -"settings.title.alwaysShowAltTitle" = "Show alternative text"; -"settings.title.alwaysShowAltDescription" = "Show alternative text if present on status details screen"; -"settings.title.general" = "General"; -"settings.title.applicationIcon" = "Application icon"; -"settings.title.followVernissage" = "Follow Vernissage"; -"settings.title.mastodonAccount" = "Mastodon account"; -"settings.title.pixelfedAccount" = "Pixelfed account"; -"settings.title.openPage" = "Open"; -"settings.title.privacyPolicy" = "Privacy policy"; -"settings.title.terms" = "Terms & Conditions"; -"settings.title.sourceCode" = "Source code"; -"settings.title.rate" = "Rate Vernissage"; -"settings.title.socials" = "Socials"; -"settings.title.menuPosition" = "Menu position"; -"settings.title.topMenu" = "Navigation bar"; -"settings.title.bottomRightMenu" = "Bottom right"; -"settings.title.bottomLeftMenu" = "Bottom left"; -"settings.title.showAvatars" = "Show avatars"; -"settings.title.showAvatarsOnTimeline" = "Avatars will be displayed on timelines"; -"settings.title.showFavourite" = "Show favourites"; -"settings.title.showFavouriteOnTimeline" = "Favourites will be displayed on timelines"; -"settings.title.showAltText" = "Show ALT icon"; -"settings.title.showAltTextOnTimeline" = "ALT icon will be displayed on timelines"; -"settings.title.warnAboutMissingAltTitle" = "Warn of missing ALT text"; -"settings.title.warnAboutMissingAltDescription" = "A warning about missing ALT texts will be displayed before publishing new post."; -"settings.title.enableReboostOnTimeline" = "Show boosted statuses"; -"settings.title.enableReboostOnTimelineDescription" = "Boosted statuses will be visible on your home timeline."; -"settings.title.hideStatusesWithoutAlt" = "Hide statuses without ALT text"; -"settings.title.hideStatusesWithoutAltDescription" = "Statuses without ALT text will not be visible on your home timeline."; - -// Mark: Signin view. -"signin.navigationBar.title" = "Sign in to Pixelfed"; -"signin.title.serverAddress" = "Server address"; -"signin.title.signIn" = "Sign in"; -"signin.title.enterServerAddress" = "Enter server address"; -"signin.title.howToJoinLink" = "How to join Pixelfed"; -"signin.title.chooseServer" = "Or choose Pixelfed server"; -"signin.title.amountOfUsers" = "%d users"; -"signin.title.amountOStatuses" = "%d statuses"; -"signin.error.communicationFailed" = "Communication with server failed."; - -// Mark: Status view. -"status.navigationBar.title" = "Details"; -"status.title.uploaded" = "Uploaded"; -"status.title.via" = "via %@"; -"status.title.reboostedBy" = "Boosted by"; -"status.title.favouritedBy" = "Favourited by"; -"status.title.openInBrowser" = "Open in browser"; -"status.title.shareStatus" = "Share status"; -"status.title.yourStatus" = "Your status"; -"status.title.delete" = "Delete"; -"status.title.reboosted" = "Boosted"; -"status.title.unreboosted" = "Unboosted"; -"status.title.favourited" = "Favourited"; -"status.title.unfavourited" = "Unfavourited"; -"status.title.bookmarked" = "Bookmarked"; -"status.title.unbookmarked" = "Unbookmarked"; -"status.title.statusDeleted" = "Status deleted"; -"status.title.reboost" = "Boost"; -"status.title.unreboost" = "Unboost"; -"status.title.favourite" = "Favourite"; -"status.title.unfavourite" = "Unfavourite"; -"status.title.bookmark" = "Bookmark"; -"status.title.unbookmark" = "Unbookmark"; -"status.title.comment" = "Comment"; -"status.title.report" = "Report"; -"status.title.saveImage" = "Save image"; -"status.title.showMediaDescription" = "Show media description"; -"status.title.mediaDescription" = "Media description"; -"status.title.shareImage" = "Share image"; -"status.title.altText" = "ALT"; -"status.error.loadingStatusFailed" = "Loading status failed."; -"status.error.notFound" = "Status not existing anymore."; -"status.error.loadingCommentsFailed" = "Comments cannot be downloaded."; -"status.error.reboostFailed" = "Boost action failed."; -"status.error.favouriteFailed" = "Favourite action failed."; -"status.error.bookmarkFailed" = "Bookmark action failed."; -"status.error.deleteFailed" = "Delete action failed."; - -// Mark: Accounts view. -"accounts.navigationBar.followers" = "Followers"; -"accounts.navigationBar.following" = "Following"; -"accounts.navigationBar.favouritedBy" = "Favourited by"; -"accounts.navigationBar.reboostedBy" = "Boosted by"; -"accounts.navigationBar.blocked" = "Blocked accounts"; -"accounts.navigationBar.mutes" = "Muted accounts"; -"accounts.title.noAccounts" = "Unfortunately, there is no one here."; -"accounts.error.loadingAccountsFailed" = "Loading accounts failed."; - -// Mark: Third party view. -"thirdParty.navigationBar.title" = "Third party"; - -// Mark: Widget view. -"widget.title.photoDescription" = "Widget with photos from Pixelfed."; -"widget.title.qrCodeDescription" = "Widget with QR Code to your Pixelfed profile."; - -// Mark: In-app purchases. -"purchase.donut.title" = "Donut"; -"purchase.donut.description" = "Treat me to a doughnut."; -"purchase.coffee.title" = "Coffee"; -"purchase.coffee.description" = "Treat me to a coffee."; -"purchase.cake.title" = "Coffee & cake"; -"purchase.cake.description" = "Treat me to a coffee and cake."; - -// Mark: Edit profile. -"editProfile.navigationBar.title" = "Edit profile"; -"editProfile.title.displayName" = "Display name"; -"editProfile.title.bio" = "Bio"; -"editProfile.title.website" = "Website"; -"editProfile.title.save" = "Save"; -"editProfile.title.accountSaved" = "Profile has been updated."; -"editProfile.title.photoInfo" = "The changed photo will be visible in the app and on the website with a small delay."; -"editProfile.title.privateAccount" = "Private account"; -"editProfile.title.privateAccountInfo" = "When your account is private, only people you approve can see your photos and videos on Pixelfed. Your existing followers won't be affected."; -"editProfile.error.saveAccountFailed" = "Saving profile failed."; -"editProfile.error.loadingAvatarFailed" = "Loading avatar failed."; -"editProfile.error.noProfileData" = "Profile data cannot be displayed."; -"editProfile.error.loadingAccountFailed" = "Error during download account from server."; - -// Mark: Instance information. -"instance.navigationBar.title" = "Instance"; -"instance.title.instanceInfo" = "Instance info"; -"instance.title.name" = "Name"; -"instance.title.address" = "Address"; -"instance.title.email" = "Email"; -"instance.title.version" = "Version"; -"instance.title.users" = "Users"; -"instance.title.posts" = "Posts"; -"instance.title.domains" = "Domains"; -"instance.title.registrations" = "Registrations"; -"instance.title.approvalRequired" = "Approval required"; -"instance.title.rules" = "Instance rules"; -"instance.title.contact" = "Contact"; -"instance.title.pixelfedAccount" = "Pixelfed account"; -"instance.error.noInstanceData" = "Instance data cannot be displayed."; -"instance.error.loadingDataFailed" = "Error during download instance data from server."; - -// Mark: Report screen. -"report.navigationBar.title" = "Report"; -"report.title.close" = "Close"; -"report.title.send" = "Send"; -"report.title.userReported" = "User has been reported"; -"report.title.postReported" = "Post has been reported"; -"report.title.reportType" = "Type of abuse"; -"report.title.spam" = "It's a spam"; -"report.title.sensitive" = "Nudity or sexual activity"; -"report.title.abusive" = "Hate speech or symbols"; -"report.title.underage" = "Underage account"; -"report.title.violence" = "Violence or dangerous organisations"; -"report.title.copyright" = "Copyright infringement"; -"report.title.impersonation" = "Impersonation"; -"report.title.scam" = "Bullying or harassment"; -"report.title.terrorism" = "Terrorism"; -"report.error.notReported" = "Error during sending report."; - -// Mark: Following requests. -"followingRequests.navigationBar.title" = "Following requests"; -"followingRequests.title.approve" = "Approve"; -"followingRequests.title.reject" = "Reject"; -"followingRequests.error.approve" = "Error during approving request."; -"followingRequests.error.reject" = "Error during rejecting request."; diff --git a/Localization/eu.lproj/Localizable.strings b/Localization/eu.lproj/Localizable.strings deleted file mode 100644 index 897775b..0000000 --- a/Localization/eu.lproj/Localizable.strings +++ /dev/null @@ -1,381 +0,0 @@ -// MARK: Common strings. -"global.title.contentWarning" = "Eduki hunkigarria"; -"global.title.seePost" = "Ikusi bidalketa"; -"global.title.refresh" = "Freskatu"; -"global.title.momentsAgo" = "oraintxe bertan"; -"global.title.success" = "Primeran"; -"global.title.photoSaved" = "Argazkia gorde da."; -"global.title.ok" = "Ados"; -"global.title.showMore" = "Erakutsi gehiago"; -"global.title.showLess" = "Erakutsi gutxiago"; -"global.title.close" = "Itxi"; -"global.error.refreshingCredentialsTitle" = "Egiaztagirien freskatzeak huts egin du."; -"global.error.refreshingCredentialsSubtitle" = "Hasi saioa berriro Pixelfeden."; - -// MARK: Global errors. -"global.error.unexpected" = "Espero ez zen errorea."; -"global.error.statusesNotRetrieved" = "Ez dira egoerak eskuratu."; -"global.error.errorDuringDownloadStatuses" = "Errorea zerbitzaritik egoerak eskuratzean."; -"global.error.errorDuringDownloadHashtag" = "Errorea zerbitzaritik traolak eskuratzean."; -"global.error.hashtagNotExists" = "Traola ez da lehendik existitzen."; -"global.error.errorDuringImageDownload" = "Ezin da irudia eskuratu."; -"global.error.canceledImageDownload" = "Irudiaren deskarga bertan behera utzi da."; -"global.error.errorDuringDataLoad" = "Datuen kargak huts egin du."; -"global.error.errorDuringUserRead" = "Ezin izan da erabiltzailearen kontua eskuratu."; -"global.error.badUrlServer" = "Zerbitzariaren URL okerra."; -"global.error.accessTokenNotFound" = "Ez da sarbide-tokena aurkitu."; -"global.error.errorDuringDownloadStatus" = "Errorea zerbitzaritik egoera eskuratzean."; -"global.error.errorDuringPurchaseVerification" = "Erosketaren egiaztaketak huts egin du."; - -// MARK: Main view (main navigation bar). -"mainview.tab.homeTimeline" = "Hasiera"; -"mainview.tab.localTimeline" = "Lokala"; -"mainview.tab.federatedTimeline" = "Federatua"; -"mainview.tab.trendingPhotos" = "Argazkiak"; -"mainview.tab.trendingTags" = "Traolak"; -"mainview.tab.trendingAccounts" = "Kontuak"; -"mainview.tab.userProfile" = "Profila"; -"mainview.tab.notifications" = "Jakinarazpenak"; -"mainview.tab.search" = "Bilatu"; -"mainview.tab.trending" = "Bogan"; - -// MARK: Main view (leading navigation bar). -"mainview.menu.settings" = "Ezarpenak"; - -// MARK: Main view (error notifications). -"mainview.error.switchAccounts" = "Ezin da kontua aldatu."; - -// MARK: Home timeline. -"home.title.allCaughtUp" = "Egunean zaude"; -"home.title.noPhotos" = "Argazkirik ez."; - -// MARK: Statuses timeline (local/federated/favourite/bookmarks etc.). -"statuses.navigationBar.localTimeline" = "Lokala"; -"statuses.navigationBar.federatedTimeline" = "Federatua"; -"statuses.navigationBar.favourites" = "Gogokoak"; -"statuses.navigationBar.bookmarks" = "Laster-markak"; -"statuses.title.noPhotos" = "Argazkirik ez."; -"statuses.title.tagFollowed" = "Traolari jarraitzen diozu."; -"statuses.title.tagUnfollowed" = "Traola jarraitzeari utzi diozu."; -"statuses.error.loadingStatusesFailed" = "Egoerak kargatzeak huts egin du."; -"statuses.error.tagFollowFailed" = "Traolari jarraitzeak huts egin du."; -"statuses.error.tagUnfollowFailed" = "Traolari jarraitzeari uzteak huts egin du."; - -// Mark: Search view. -"search.navigationBar.title" = "Bilatu"; -"search.title.placeholder" = "Bilatu..."; -"search.title.usersWith" = "%@ duten erabiltzaileak"; -"search.title.goToUser" = "Joan %@ erabiltzailera"; -"search.title.hashtagWith" = "%@ duten traolak"; -"search.title.goToHashtag" = "Joan %@ traolara"; - -// Mark: Trending statuses. -"trendingStatuses.navigationBar.title" = "Argazkiak"; -"trendingStatuses.title.daily" = "Egunekoak"; -"trendingStatuses.title.monthly" = "Hilabetekoak"; -"trendingStatuses.title.yearly" = "Urtekoak"; -"trendingStatuses.error.loadingStatusesFailed" = "Egoerak kargatzeak huts egin du."; -"trendingStatuses.title.noPhotos" = "Argazkirik ez."; - -// Mark: Trending tags. -"tags.navigationBar.trendingTitle" = "Traolak"; -"tags.navigationBar.searchTitle" = "Traolak"; -"tags.navigationBar.followedTitle" = "Jarraitzen dituzun traolak"; -"tags.title.noTags" = "Traolarik ez."; -"tags.title.amountOfPosts" = "%d bidalketa"; -"tags.error.loadingTagsFailed" = "Traolak kargatzeak huts egin du."; - -// Mark: Trending accounts. -"trendingAccounts.navigationBar.title" = "Kontuak"; -"trendingAccounts.title.noAccounts" = "Inor ez."; -"trendingAccounts.error.loadingAccountsFailed" = "Kontuak kargatzeak huts egin du."; - -// Mark: User profile view. -"userProfile.title.openInBrowser" = "Ireki nabigatzailean"; -"userProfile.title.share" = "Partekatu"; -"userProfile.title.unmute" = "Utzi mututzeari"; -"userProfile.title.mute" = "Mututu"; -"userProfile.title.unblock" = "Utzi blokeatzeari"; -"userProfile.title.block" = "Blokeatu"; -"userProfile.title.favourites" = "Gogokoak"; -"userProfile.title.bookmarks" = "Laster-markak"; -"userProfile.title.followedTags" = "Traolak"; -"userProfile.title.posts" = "Bidalketa"; -"userProfile.title.followers" = "Jarraitzaile"; -"userProfile.title.following" = "Jarraitzen"; -"userProfile.title.joined" = "%@ egin zuen bat"; -"userProfile.title.unfollow" = "Utzi jarraitzeari"; -"userProfile.title.follow" = "Jarraitu"; -"userProfile.title.instance" = "Instantziari buruzko informazioa"; -"userProfile.title.blocks" = "Blokeatutako kontuak"; -"userProfile.title.mutes" = "Mutututako kontuak"; -"userProfile.title.muted" = "Kontua mututu da"; -"userProfile.title.unmuted" = "Kontua mututzeari utzi zaio"; -"userProfile.title.blocked" = "Kontua blokeatu da"; -"userProfile.title.unblocked" = "Kontua blokeatzeari utzi zaio"; -"userProfile.title.report" = "Salatu"; -"userProfile.title.followsYou" = "Jarraitzen dizu"; -"userProfile.title.requestFollow" = "Egin jarraitzeko eskaera"; -"userProfile.title.cancelRequestFollow" = "Utzi bertan behera jarraitzeko eskaera"; -"userProfile.title.followRequests" = "Jarraipen-eskaerak"; -"userProfile.title.privateProfileTitle" = "Profil hau pribatua da."; -"userProfile.title.privateProfileSubtitle" = "Baimendutako jarraitzaileek soilik ikus ditzakete argazkiak."; -"userProfile.error.notExists" = "Kontua ez da existitzen."; -"userProfile.error.loadingAccountFailed" = "Errorea zerbitzaritik kontua eskuratzean."; -"userProfile.error.muting" = "Mututu/Mututzeari uzteak huts egin du."; -"userProfile.error.block" = "Blokeatu/Blokeatzeari uzteak huts egin du."; -"userProfile.error.relationship" = "Harreman ekintzak huts egin du."; -"userProfile.title.edit" = "Editatu"; -"userProfile.title.muted" = "Mutututa"; -"userProfile.title.blocked" = "Blokeatuta"; -"userProfile.title.enableBoosts" = "Ikusi bultzadak"; -"userProfile.title.disableBoosts" = "Ezkutatu bultzadak"; -"userProfile.title.boostedStatusesMuted" = "Bultzadak mututu dira"; - -// Mark: Notifications view. -"notifications.navigationBar.title" = "Jakinarazpenak"; -"notifications.title.noNotifications" = "Ez dago jakinarazpenik."; -"notifications.title.followedYou" = "jarraitu dizu"; -"notifications.title.mentionedYou" = "aipatu zaitu"; -"notifications.title.boosted" = "bultzatu du"; -"notifications.title.favourited" = "gogoko du"; -"notifications.title.postedStatus" = "argitaratu du"; -"notifications.title.followRequest" = "jarraipen-eskaera bidali dizu"; -"notifications.title.poll" = "bozketa"; -"notifications.title.updatedStatus" = "egoera eguneratu du"; -"notifications.title.signedUp" = "izena eman du"; -"notifications.title.newReport" = "txosten berria"; -"notifications.error.loadingNotificationsFailed" = "Jakinarazpenak kargatzeak huts egin du."; - -// Mark: Compose view. -"compose.navigationBar.title" = "Idatzi"; -"compose.title.everyone" = "Edonorentzat ikusgai"; -"compose.title.unlisted" = "Zerrendatu gabea"; -"compose.title.followers" = "Jarraitzaileentzat soilik"; -"compose.title.attachPhotoFull" = "Erantsi argazkia eta idatzi buruan duzuna"; -"compose.title.attachPhotoMini" = "Idatzi buruan duzuna"; -"compose.title.publish" = "Argitaratu"; -"compose.title.cancel" = "Utzi"; -"compose.title.writeContentWarning" = "Idatzi edukiari buruzko oharra"; -"compose.title.commentsWillBeDisabled" = "Iruzkinak ezgaituko dira"; -"compose.title.statusPublished" = "Egoera argitaratu da"; -"compose.title.tryToUpload" = "Saiatu igotzen"; -"compose.title.delete" = "Ezabatu"; -"compose.title.edit" = "Editatu"; -"compose.title.photos" = "Argazki-liburutegia"; -"compose.title.camera" = "Egin argazkia"; -"compose.title.files" = "Arakatu fitxategiak"; -"compose.title.missingAltTexts" = "ALT testurik ez"; -"compose.title.missingAltTextsWarning" = "Irudiren bat ez da ikusmen urritasuna dutenentzat deskribatu. Argazkiok argitaratu nahi dituzu hala ere?"; -"compose.error.loadingPhotosFailed" = "Ezin da liburutegiko irudia eskuratu."; -"compose.error.postingPhotoFailed" = "Errorea argazkia argitaratzean."; -"compose.error.postingStatusFailed" = "Errorea egoera argitaratzean."; - -// Mark: Photo editor view. -"photoEdit.navigationBar.title" = "Argazkiaren xehetasunak"; -"photoEdit.title.photo" = "Argazkia"; -"photoEdit.title.accessibility" = "Irisgarritasuna"; -"photoEdit.title.accessibilityDescription" = "Ikusmen urritasuna dutenentzat deskribapena"; -"photoEdit.title.save" = "Gorde"; -"photoEdit.title.cancel" = "Utzi"; -"photoEdit.error.updatePhotoFailed" = "Errorea argazkia eguneratzean."; - -// Mark: Place selector view. -"placeSelector.navigationBar.title" = "Tokiak"; -"placeSelector.title.search" = "Bilatu..."; -"placeSelector.title.buttonSearch" = "Bilatu"; -"placeSelector.title.cancel" = "Utzi"; -"placeSelector.error.loadingPlacesFailed" = "Jakinarazpenak kargatzeak huts egin du."; - -// Mark: Settings view. -"settings.navigationBar.title" = "Ezarpenak"; -"settings.title.close" = "Itxi"; -"settings.title.version" = "Bertsioa"; -"settings.title.accounts" = "Kontuak"; -"settings.title.newAccount" = "Gehitu kontua"; -"settings.title.accent" = "Kolore nagusia"; -"settings.title.theme" = "Gaia"; -"settings.title.system" = "Sistemak darabilena"; -"settings.title.light" = "Argia"; -"settings.title.dark" = "Iluna"; -"settings.title.avatar" = "Abatarra"; -"settings.title.circle" = "Biribila"; -"settings.title.rounderRectangle" = "Biribildutako ertzak"; -"settings.title.other" = "Beste batzuk"; -"settings.title.thirdParty" = "Hirugarrenak"; -"settings.title.reportBug" = "Eman errore baten berri"; -"settings.title.githubIssues" = "Erroreak Github-en"; -"settings.title.follow" = "Jarraitu niri"; -"settings.title.support" = "Eman babesa"; -"settings.title.thankYouTitle" = "Eskerrik asko 💕"; -"settings.title.thankYouMessage" = "Mila esker erosketagatik. Erosketa handi eta txikiek gure bezeroei kalitatezko produkturik onenak eskaintzeko ametsari eusten laguntzen digute. Espero dugu Vernissage gustuko izatea."; -"settings.title.thankYouClose" = "Itxi"; -"settings.title.haptics" = "Hobespen haptikoak"; -"settings.title.hapticsTabSelection" = "Fitxak hautatzean"; -"settings.title.hapticsButtonPress" = "Botoietan tap egitean"; -"settings.title.hapticsListRefresh" = "Zerrendak freskatzean"; -"settings.title.hapticsAnimationFinished" = "Animazioak amaitzean"; -"settings.title.mediaSettings" = "Multimedia hobespenak"; -"settings.title.alwaysShowSensitiveTitle" = "Erakutsi beti NSFW edukia"; -"settings.title.alwaysShowSensitiveDescription" = "NSFW (Lantokirako egokia ez den edukia) gisa markatutako multimedia edukia ohartarazpenik gabe erakutsiko da"; -"settings.title.alwaysShowAltTitle" = "Erakutsi testu alternatiboa"; -"settings.title.alwaysShowAltDescription" = "Testu alternatiboa xehetasunen pantailan erakutsiko da, baldin badago"; -"settings.title.general" = "Orokorra"; -"settings.title.applicationIcon" = "Aplikazioaren ikonoa"; -"settings.title.followVernissage" = "Jarraitu Vernissage-ri"; -"settings.title.mastodonAccount" = "Mastodon kontua"; -"settings.title.pixelfedAccount" = "Pixelfed kontua"; -"settings.title.openPage" = "Ireki"; -"settings.title.privacyPolicy" = "Pribatutasun politika"; -"settings.title.terms" = "Erabilera baldintzak"; -"settings.title.sourceCode" = "Iturburu kodea"; -"settings.title.rate" = "Baloratu Vernissage"; -"settings.title.socials" = "Gizarte-sareak"; -"settings.title.menuPosition" = "Menuaren kokapena"; -"settings.title.topMenu" = "Nabigazio barra"; -"settings.title.bottomRightMenu" = "Behe eskumaldean"; -"settings.title.bottomLeftMenu" = "Behe ezkerraldean"; -"settings.title.showAvatars" = "Erakutsi abatarrak"; -"settings.title.showAvatarsOnTimeline" = "Abatarrak denbora-lerroan erakutsiko dira"; -"settings.title.showFavourite" = "Erakutsi gogokoak"; -"settings.title.showFavouriteOnTimeline" = "Gogokoak denbora-lerroan erakutsiko dira"; -"settings.title.showAltText" = "Erakutsi ALT ikurra"; -"settings.title.showAltTextOnTimeline" = "ALT ikurra (deskribapena edo testu alternatiboa dagoenaren seinale) denbora-lerroan erakutsiko da"; -"settings.title.warnAboutMissingAltTitle" = "Abisatu ALT ahaztu bazait"; -"settings.title.warnAboutMissingAltDescription" = "Irudiren batek deskribapenik ez badu, argitaratu baino lehen abisua erakutsiko da."; -"settings.title.enableReboostOnTimeline" = "Erakutsi bultzatutako egoerak"; -"settings.title.enableReboostOnTimelineDescription" = "Besteek bultzatu dituzten egoerak denbora-lerroan erakutsiko dira."; -"settings.title.hideStatusesWithoutAlt" = "Ezkutatu ALT gabeko egoerak"; -"settings.title.hideStatusesWithoutAltDescription" = "Deskribapen edo testu alternatiborik ez duten egoerak ez dira denbora-lerroan erakutsiko."; - -// Mark: Signin view. -"signin.navigationBar.title" = "Hasi saioa Pixelfed-en"; -"signin.title.serverAddress" = "Zerbitzariaren helbidea"; -"signin.title.signIn" = "Hasi saioa"; -"signin.title.enterServerAddress" = "Sartu zerbitzariaren helbidea"; -"signin.title.howToJoinLink" = "Nola batu Pixelfed-era"; -"signin.title.chooseServer" = "Edo aukeratu Pixelfed zerbitzaria"; -"signin.title.amountOfUsers" = "%d erabiltzaile"; -"signin.title.amountOStatuses" = "%d egoera"; -"signin.error.communicationFailed" = "Zerbitzariarekin komunikazioak huts egin du."; - -// Mark: Status view. -"status.navigationBar.title" = "Xehetasunak"; -"status.title.uploaded" = ">"; -"status.title.via" = "%@ bidez"; -"status.title.reboostedBy" = "Bultzatu dutenak"; -"status.title.favouritedBy" = "Gogoko egin dutenak"; -"status.title.openInBrowser" = "Ireki nabigatzailean"; -"status.title.shareStatus" = "Partekatu egoera"; -"status.title.yourStatus" = "Zure egoera"; -"status.title.delete" = "Ezabatu"; -"status.title.reboosted" = "Bultzatua"; -"status.title.unreboosted" = "Bultzada kendua"; -"status.title.favourited" = "Gogoko egina"; -"status.title.unfavourited" = "Gogoko egiteari utzia"; -"status.title.bookmarked" = "Laster-marka jarria"; -"status.title.unbookmarked" = "Laster-marka kendua"; -"status.title.statusDeleted" = "Egoera ezabatua"; -"status.title.reboost" = "Bultzatu"; -"status.title.unreboost" = "Kendu bultzada"; -"status.title.favourite" = "Egin gogoko"; -"status.title.unfavourite" = "Kendu gogokoa"; -"status.title.bookmark" = "Jarri laster-marka"; -"status.title.unbookmark" = "Kendu laster-marka"; -"status.title.comment" = "Egin iruzkina"; -"status.title.report" = "Salatu"; -"status.title.saveImage" = "Gorde irudia"; -"status.title.showMediaDescription" = "Erakutsi multimediaren deskribapena"; -"status.title.mediaDescription" = "Multimediaren deskribapena"; -"status.title.shareImage" = "Partekatu irudia"; -"status.title.altText" = "ALT"; -"status.error.loadingStatusFailed" = "Egoera kargatzeak huts egin du."; -"status.error.notFound" = "Egoera ez da dagoeneko existitzen."; -"status.error.loadingCommentsFailed" = "Ezin dira iruzkinak eskuratu."; -"status.error.reboostFailed" = "Bultzadak huts egin du."; -"status.error.favouriteFailed" = "Gogokoak huts egin du."; -"status.error.bookmarkFailed" = "Laster-markak huts egin du."; -"status.error.deleteFailed" = "Ezabatzeak huts egin du."; - -// Mark: Accounts view. -"accounts.navigationBar.followers" = "Jarraitzaile"; -"accounts.navigationBar.following" = "Jarraitzen"; -"accounts.navigationBar.favouritedBy" = "Honek gogoko egina"; -"accounts.navigationBar.reboostedBy" = "Honek bultzatua"; -"accounts.navigationBar.blocked" = "Blokeatutako kontuak"; -"accounts.navigationBar.mutes" = "Mutututako kontuak"; -"accounts.title.noAccounts" = "Inor ez."; -"accounts.error.loadingAccountsFailed" = "Kontuak kargatzeak huts egin du."; - -// Mark: Third party view. -"thirdParty.navigationBar.title" = "Hirugarrenak"; - -// Mark: Widget view. -"widget.title.photoDescription" = "Widgeta Pixelfed-eko argazkiekin."; -"widget.title.qrCodeDescription" = "Widgeta zure Pixelfed-eko profilaren QR kodearekin."; - -// Mark: In-app purchases. -"purchase.donut.title" = "Opila"; -"purchase.donut.description" = "Eros diezadazu opil bat."; -"purchase.coffee.title" = "Kafea"; -"purchase.coffee.description" = "Gonbida nazazu kafe bat hartzera."; -"purchase.cake.title" = "Kafea eta tarta"; -"purchase.cake.description" = "Kafea eta tarta erosiko?"; - -// Mark: Edit profile. -"editProfile.navigationBar.title" = "Editatu profila"; -"editProfile.title.displayName" = "Pantaila izena"; -"editProfile.title.bio" = "Biografia"; -"editProfile.title.website" = "Webgunea"; -"editProfile.title.save" = "Gorde"; -"editProfile.title.accountSaved" = "Profila eguneratu da."; -"editProfile.title.photoInfo" = "Aldatutako argazkia atzerapen txiki batekin ikusiko da aplikazioan eta web gunean."; -"editProfile.title.privateAccount" = "Babestutako kontua"; -"editProfile.title.privateAccountInfo" = "Zure kontua babestuta dagoenean baimendutako pertsonek bakarrik ikus ditzakete zure argazkiak eta bideoak Pixelfed-en. Ez du eraginik izango dagoeneko jarraitzen dizutenengan."; -"editProfile.error.saveAccountFailed" = "Profila gordetzeak huts egin du."; -"editProfile.error.loadingAvatarFailed" = "Abatarra kargatzeak huts egin du."; -"editProfile.error.noProfileData" = "Ezin dira profileko datuak erakutsi."; -"editProfile.error.loadingAccountFailed" = "Errorea zerbitzaritik kontua eskuratzean."; - -// Mark: Instance information. -"instance.navigationBar.title" = "Instantzia"; -"instance.title.instanceInfo" = "Instantziari buruzko informazioa"; -"instance.title.name" = "Izena"; -"instance.title.address" = "Helbidea"; -"instance.title.email" = "ePosta"; -"instance.title.version" = "Bertsioa"; -"instance.title.users" = "Erabiltzaileak"; -"instance.title.posts" = "Bidalketak"; -"instance.title.domains" = "Domeinuak"; -"instance.title.registrations" = "Izen emateak"; -"instance.title.approvalRequired" = "Onespena behar da"; -"instance.title.rules" = "Instantziaren arauak"; -"instance.title.contact" = "Harremana"; -"instance.title.pixelfedAccount" = "Pixelfed kontua"; -"instance.error.noInstanceData" = "Ezin dira instantziaren datuak erakutsi."; -"instance.error.loadingDataFailed" = "Errorea zerbitzaritik instantziaren datuak eskuratzean."; - -// Mark: Report screen. -"report.navigationBar.title" = "Salatu"; -"report.title.close" = "Itxi"; -"report.title.send" = "Bidali"; -"report.title.userReported" = "Erabiltzailea salatu da"; -"report.title.postReported" = "Bidalketa salatu da"; -"report.title.reportType" = "Urraketa mota"; -"report.title.spam" = "Spama da"; -"report.title.sensitive" = "Biluzia edo sexu-ekintza"; -"report.title.abusive" = "Gorroto sustatzen duten hitzaldiak edo ikurrak"; -"report.title.underage" = "Adingabea"; -"report.title.violence" = "Bortizkeria edo erakunde arriskutsua"; -"report.title.copyright" = "Egile-eskubideen urraketa"; -"report.title.impersonation" = "Imitatzailea"; -"report.title.scam" = "Bullyinga edo jazarpena"; -"report.title.terrorism" = "Terrorismoa"; -"report.error.notReported" = "Errorea salaketa bidaltzerakoan."; - -// Mark: Following requests. -"followingRequests.navigationBar.title" = "Jarraipen-eskaerak"; -"followingRequests.title.approve" = "Baimendu"; -"followingRequests.title.reject" = "Baztertu"; -"followingRequests.error.approve" = "Errorea eskaera baimentzean."; -"followingRequests.error.reject" = "Errorea eskaera baztertzean."; diff --git a/Localization/fr.lproj/Localizable.strings b/Localization/fr.lproj/Localizable.strings deleted file mode 100644 index fb6b47e..0000000 --- a/Localization/fr.lproj/Localizable.strings +++ /dev/null @@ -1,381 +0,0 @@ -// MARK: Common strings. -"global.title.contentWarning" = "Contenu sensible"; -"global.title.seePost" = "Voir le post"; -"global.title.refresh" = "Rafraîchir"; -"global.title.momentsAgo" = "Il y a quelques instants"; -"global.title.success" = "Succès"; -"global.title.photoSaved" = "La photo a été sauvegardée."; -"global.title.ok" = "OK"; -"global.title.showMore" = "Montrer plus"; -"global.title.showLess" = "Montrer moins"; -"global.title.close" = "Fermer"; -"global.error.refreshingCredentialsTitle" = "Erreur d'actualisation des données d'identification."; -"global.error.refreshingCredentialsSubtitle" = "Veuillez vous connecter à nouveau à Pixelfed."; - -// MARK: Global errors. -"global.error.unexpected" = "Erreur inattendue."; -"global.error.statusesNotRetrieved" = "Statuts non récupérés."; -"global.error.errorDuringDownloadStatuses" = "Erreur pendant le téléchargerment des statuts du serveur."; -"global.error.errorDuringDownloadHashtag" = "Erreur pendant le téléchargement des tags depuis le serveur."; -"global.error.hashtagNotExists" = "Le hashtag n'existe pas."; -"global.error.errorDuringImageDownload" = "Impossible de télécharger l'image."; -"global.error.canceledImageDownload" = "Le téléchargement de l'image a été annulé."; -"global.error.errorDuringDataLoad" = "Le chargement des données a échoué."; -"global.error.errorDuringUserRead" = "Impossible de récupérer les données de l'utilisateur."; -"global.error.badUrlServer" = "Mauvaise URL pour le serveur."; -"global.error.accessTokenNotFound" = "Le jeton d'accès n'est pas trouvé."; -"global.error.errorDuringDownloadStatus" = "Erreur durant le téléchargement du statut depuis le serveur."; -"global.error.errorDuringPurchaseVerification" = "Vérification d'achat échoué."; - -// MARK: Main view (main navigation bar). -"mainview.tab.homeTimeline" = "Accueil"; -"mainview.tab.localTimeline" = "Local"; -"mainview.tab.federatedTimeline" = "Fédéré"; -"mainview.tab.trendingPhotos" = "Photos"; -"mainview.tab.trendingTags" = "Tags"; -"mainview.tab.trendingAccounts" = "Utilisateurs"; -"mainview.tab.userProfile" = "Profil"; -"mainview.tab.notifications" = "Notifications"; -"mainview.tab.search" = "Rechercher"; -"mainview.tab.trending" = "Tendance"; - -// MARK: Main view (leading navigation bar). -"mainview.menu.settings" = "Paramètres"; - -// MARK: Main view (error notifications). -"mainview.error.switchAccounts" = "Impossible de changer de compte."; - -// MARK: Home timeline. -"home.title.allCaughtUp" = "Tout est à jour"; -"home.title.noPhotos" = "Malheureusement, il n'y a pas de photos ici."; - -// MARK: Statuses timeline (local/federated/favourite/bookmarks etc.). -"statuses.navigationBar.localTimeline" = "Local"; -"statuses.navigationBar.federatedTimeline" = "Fédéré"; -"statuses.navigationBar.favourites" = "Favoris"; -"statuses.navigationBar.bookmarks" = "Marque-pages"; -"statuses.title.noPhotos" = "Malheureusement, il n'y a pas de photos ici."; -"statuses.title.tagFollowed" = "Vous suivez ce tag."; -"statuses.title.tagUnfollowed" = "Vous ne suivez plus ce tag."; -"statuses.error.loadingStatusesFailed" = "Chargement des statuts impossible."; -"statuses.error.tagFollowFailed" = "Suivi de tag échoué."; -"statuses.error.tagUnfollowFailed" = "Ne plus suivre le tag a échoué."; - -// Mark: Search view. -"search.navigationBar.title" = "Rechercher"; -"search.title.placeholder" = "Rechercher..."; -"search.title.usersWith" = "Utilisateurs avec %@"; -"search.title.goToUser" = "Voir l'utilisateur %@"; -"search.title.hashtagWith" = "Hashtags avec %@"; -"search.title.goToHashtag" = "Voir le hashtag %@"; - -// Mark: Trending statuses. -"trendingStatuses.navigationBar.title" = "Photos"; -"trendingStatuses.title.daily" = "Quotidien"; -"trendingStatuses.title.monthly" = "Mensuel"; -"trendingStatuses.title.yearly" = "Annuel"; -"trendingStatuses.error.loadingStatusesFailed" = "Chargement des statuts échoué."; -"trendingStatuses.title.noPhotos" = "Malheureusement, il n'y a pas de photos ici."; - -// Mark: Trending tags. -"tags.navigationBar.trendingTitle" = "Tags"; -"tags.navigationBar.searchTitle" = "Tags"; -"tags.navigationBar.followedTitle" = "Tags"; -"tags.title.noTags" = "Malheureusement, il n'y a pas de tags ici."; -"tags.title.amountOfPosts" = "%d posts"; -"tags.error.loadingTagsFailed" = "Chargement des tags échoué."; - -// Mark: Trending accounts. -"trendingAccounts.navigationBar.title" = "Utilisateurs"; -"trendingAccounts.title.noAccounts" = "Malheureusement, il n'y a personne ici."; -"trendingAccounts.error.loadingAccountsFailed" = "Chargement des comptes échoué."; - -// Mark: User profile view. -"userProfile.title.openInBrowser" = "Ouvrir dans un navigateur"; -"userProfile.title.share" = "Partager"; -"userProfile.title.unmute" = "Désactiver"; -"userProfile.title.mute" = "Sourdine"; -"userProfile.title.unblock" = "Déblouer"; -"userProfile.title.block" = "Bloquer"; -"userProfile.title.favourites" = "Favoris"; -"userProfile.title.bookmarks" = "Marque-pages"; -"userProfile.title.followedTags" = "Tags"; -"userProfile.title.posts" = "Posts"; -"userProfile.title.followers" = "Abonnés"; -"userProfile.title.following" = "Abonnements"; -"userProfile.title.joined" = "Joint %@"; -"userProfile.title.unfollow" = "Ne plus suivre"; -"userProfile.title.follow" = "Suivre"; -"userProfile.title.instance" = "Information sur l'instance"; -"userProfile.title.blocks" = "Comptes bloqués"; -"userProfile.title.mutes" = "Comptes en sourdine"; -"userProfile.title.muted" = "Compte mis en sourdine"; -"userProfile.title.unmuted" = "Compte remis en actif"; -"userProfile.title.blocked" = "Compte bloqué"; -"userProfile.title.unblocked" = "Compte débloqué"; -"userProfile.title.report" = "Rapport"; -"userProfile.title.followsYou" = "Vous suit"; -"userProfile.title.requestFollow" = "Demande de suivi"; -"userProfile.title.cancelRequestFollow" = "Annuler la demande"; -"userProfile.title.followRequests" = "Suivre les demandes"; -"userProfile.title.privateProfileTitle" = "Ce profil est privé."; -"userProfile.title.privateProfileSubtitle" = "Seules les personnes approuvées peuvent voir les photos."; -"userProfile.error.notExists" = "Le compte n'existe pas."; -"userProfile.error.loadingAccountFailed" = "Erreur pendant le téléchargement du compte depuis le serveur."; -"userProfile.error.muting" = "L'action sourdine / réactivation a échoué."; -"userProfile.error.block" = "L'action bloquer / déblouquer a échoué."; -"userProfile.error.relationship" = "L'action de relation a échoué."; -"userProfile.title.edit" = "Editer"; -"userProfile.title.muted" = "Sourdine"; -"userProfile.title.blocked" = "Bloquer"; -"userProfile.title.enableBoosts" = "Enable boosts"; -"userProfile.title.disableBoosts" = "Disable boosts"; -"userProfile.title.boostedStatusesMuted" = "Boosts muted"; - -// Mark: Notifications view. -"notifications.navigationBar.title" = "Notifications"; -"notifications.title.noNotifications" = "Malheureusement, il n'y a rien ici."; -"notifications.title.followedYou" = "vous a suivi"; -"notifications.title.mentionedYou" = "vous a mentionné"; -"notifications.title.boosted" = "partagé"; -"notifications.title.favourited" = "favori"; -"notifications.title.postedStatus" = "statut posté"; -"notifications.title.followRequest" = "demande de suivi"; -"notifications.title.poll" = "sondage"; -"notifications.title.updatedStatus" = "statut mis à jour"; -"notifications.title.signedUp" = "s'inscrire"; -"notifications.title.newReport" = "nouveau rapport"; -"notifications.error.loadingNotificationsFailed" = "Chargement des notifications échoué."; - -// Mark: Compose view. -"compose.navigationBar.title" = "Composer"; -"compose.title.everyone" = "Tout le monde"; -"compose.title.unlisted" = "Non listé"; -"compose.title.followers" = "Abonnés"; -"compose.title.attachPhotoFull" = "Joignez une photo et écrivez ce qui vous convient"; -"compose.title.attachPhotoMini" = "Ecrivez ce qui vous convient"; -"compose.title.publish" = "Publier"; -"compose.title.cancel" = "Annuler"; -"compose.title.writeContentWarning" = "Rédaction d'un avertissement sur le contenu"; -"compose.title.commentsWillBeDisabled" = "Les commentaires seront désactivés"; -"compose.title.statusPublished" = "Statuts publiés"; -"compose.title.tryToUpload" = "Essayer de télécharger"; -"compose.title.delete" = "Supprimer"; -"compose.title.edit" = "Editer"; -"compose.title.photos" = "Albums photos"; -"compose.title.camera" = "Prendre une photo"; -"compose.title.files" = "Parcourir les fichiers"; -"compose.title.missingAltTexts" = "Manque un texte ALT"; -"compose.title.missingAltTextsWarning" = "Toutes les images n'ont pas été décrites pour les malvoyants. Souhaitez-vous tout de même envoyer des photos ?"; -"compose.error.loadingPhotosFailed" = "Impossible de récupérer l'image depuis la bibliothèque."; -"compose.error.postingPhotoFailed" = "Erreur pendant le post de la photo."; -"compose.error.postingStatusFailed" = "Erreur pendant le post du statut."; - -// Mark: Photo editor view. -"photoEdit.navigationBar.title" = "Détails sur la photo"; -"photoEdit.title.photo" = "Photo"; -"photoEdit.title.accessibility" = "Accessibilité"; -"photoEdit.title.accessibilityDescription" = "Description pour les malvoyants"; -"photoEdit.title.save" = "Enregistrer"; -"photoEdit.title.cancel" = "Annuler"; -"photoEdit.error.updatePhotoFailed" = "Erreur pendant la mise à jour de la photo."; - -// Mark: Place selector view. -"placeSelector.navigationBar.title" = "Lieux"; -"placeSelector.title.search" = "Rechercher..."; -"placeSelector.title.buttonSearch" = "Rechercher"; -"placeSelector.title.cancel" = "Annuler"; -"placeSelector.error.loadingPlacesFailed" = "Chargement des notifications échoué."; - -// Mark: Settings view. -"settings.navigationBar.title" = "Paramètres"; -"settings.title.close" = "Fermer"; -"settings.title.version" = "Version"; -"settings.title.accounts" = "Compte"; -"settings.title.newAccount" = "Nouveau compte"; -"settings.title.accent" = "Accent"; -"settings.title.theme" = "Thème"; -"settings.title.system" = "Système"; -"settings.title.light" = "Clair"; -"settings.title.dark" = "Sombre"; -"settings.title.avatar" = "Avatar"; -"settings.title.circle" = "Cercle"; -"settings.title.rounderRectangle" = "Rectangle arrondi"; -"settings.title.other" = "Autre"; -"settings.title.thirdParty" = "Tiers"; -"settings.title.reportBug" = "Rapporter un bogue"; -"settings.title.githubIssues" = "Problèmes sur Github"; -"settings.title.follow" = "Me suivre"; -"settings.title.support" = "Support"; -"settings.title.thankYouTitle" = "Merci 💕"; -"settings.title.thankYouMessage" = "Merci pour votre achat. Les achats, petits et grands, nous aident à réaliser notre rêve de fournir des produits de la meilleure qualité à nos clients. Nous espérons que vous aimez Vernissage."; -"settings.title.thankYouClose" = "Fermer"; -"settings.title.haptics" = "Haptique"; -"settings.title.hapticsTabSelection" = "Sélection de l'onglet"; -"settings.title.hapticsButtonPress" = "Appui sur un bouton"; -"settings.title.hapticsListRefresh" = "Rafraîchir la liste"; -"settings.title.hapticsAnimationFinished" = "Animation finie"; -"settings.title.mediaSettings" = "Paramètres du media"; -"settings.title.alwaysShowSensitiveTitle" = "Toujours montrer les NSFW"; -"settings.title.alwaysShowSensitiveDescription" = "Forcer l'affichage de tous les media NFSW (contenu sensible) sans avertissement"; -"settings.title.alwaysShowAltTitle" = "Afficher le texte alternatif"; -"settings.title.alwaysShowAltDescription" = "Afficher le texte alternatif si présent sur l'écran des détails des statuts"; -"settings.title.general" = "Général"; -"settings.title.applicationIcon" = "Icône de l'application"; -"settings.title.followVernissage" = "Suivre Vernissage"; -"settings.title.mastodonAccount" = "Compte Mastodon"; -"settings.title.pixelfedAccount" = "Compte Pixelfed"; -"settings.title.openPage" = "Ouvrir"; -"settings.title.privacyPolicy" = "Politique de confidentialité"; -"settings.title.terms" = "Conditions générales d'utilisation"; -"settings.title.sourceCode" = "Code source"; -"settings.title.rate" = "Noter Vernissage"; -"settings.title.socials" = "Social"; -"settings.title.menuPosition" = "Position du menu"; -"settings.title.topMenu" = "Barre de navigation"; -"settings.title.bottomRightMenu" = "En bas à droite"; -"settings.title.bottomLeftMenu" = "En bas à gauche"; -"settings.title.showAvatars" = "Afficher les avatars"; -"settings.title.showAvatarsOnTimeline" = "Les avatars sont affichés sur la timeline"; -"settings.title.showFavourite" = "Afficher les favoris"; -"settings.title.showFavouriteOnTimeline" = "Les favoris sont affichés sur la timeline"; -"settings.title.showAltText" = "Afficher l'icône ALT"; -"settings.title.showAltTextOnTimeline" = "L'icône ALT sera affichée sur la timeline"; -"settings.title.warnAboutMissingAltTitle" = "Avertir de l'absence de texte ALT"; -"settings.title.warnAboutMissingAltDescription" = "Un avertissement concernant les textes ALT manquants sera affiché avant la publication d'un nouveau message."; -"settings.title.enableReboostOnTimeline" = "Show boosted statuses"; -"settings.title.enableReboostOnTimelineDescription" = "Boosted statuses will be visible on your home timeline."; -"settings.title.hideStatusesWithoutAlt" = "Hide statuses without ALT text"; -"settings.title.hideStatusesWithoutAltDescription" = "Statuses without ALT text will not be visible on your home timeline."; - -// Mark: Signin view. -"signin.navigationBar.title" = "Se connecter à Pixelfed"; -"signin.title.serverAddress" = "Adresse du serveur"; -"signin.title.signIn" = "Connecter"; -"signin.title.enterServerAddress" = "Entrer l'adresse du server"; -"signin.title.howToJoinLink" = "Comment rejoindre Pixelfed"; -"signin.title.chooseServer" = "Ou choisissez un sereveur Pixelfed"; -"signin.title.amountOfUsers" = "%d Utilisateurs"; -"signin.title.amountOStatuses" = "%d statuts"; -"signin.error.communicationFailed" = "La communication avec le server a échoué."; - -// Mark: Status view. -"status.navigationBar.title" = "Détails"; -"status.title.uploaded" = "Envoyé"; -"status.title.via" = "via %@"; -"status.title.reboostedBy" = "Partagé par"; -"status.title.favouritedBy" = "Favoris par"; -"status.title.openInBrowser" = "Ouvrir dans un navigateur"; -"status.title.shareStatus" = "Partger le statut"; -"status.title.yourStatus" = "Votre statut"; -"status.title.delete" = "Supprimer"; -"status.title.reboosted" = "Partagé"; -"status.title.unreboosted" = "Enlever le partage"; -"status.title.favourited" = "Favorisé"; -"status.title.unfavourited" = "Enlever le favoris"; -"status.title.bookmarked" = "Marque-pages effectué"; -"status.title.unbookmarked" = "Marque-pages enlevé"; -"status.title.statusDeleted" = "Statut supprimé"; -"status.title.reboost" = "Partagé"; -"status.title.unreboost" = "Enlever le partage"; -"status.title.favourite" = "Favoris"; -"status.title.unfavourite" = "Enlever le favoris"; -"status.title.bookmark" = "Marque-pages"; -"status.title.unbookmark" = "Marque-pages enlevé"; -"status.title.comment" = "Commenter"; -"status.title.report" = "Rapport"; -"status.title.saveImage" = "Enregistrer l'image"; -"status.title.showMediaDescription" = "Afficher la description du media"; -"status.title.mediaDescription" = "Description du media"; -"status.title.shareImage" = "Partager l'image"; -"status.title.altText" = "ALT"; -"status.error.loadingStatusFailed" = "Chargement du statut échoué."; -"status.error.notFound" = "Le statut n'existe plus."; -"status.error.loadingCommentsFailed" = "Les commentaires ne peuvent être téléchargés."; -"status.error.reboostFailed" = "L'action de partage a échoué."; -"status.error.favouriteFailed" = "L'action de favoris a échoué."; -"status.error.bookmarkFailed" = "L'action de marque-pages a échoué."; -"status.error.deleteFailed" = "L'action de suppression a échoué."; - -// Mark: Accounts view. -"accounts.navigationBar.followers" = "Abonnés"; -"accounts.navigationBar.following" = "Abonnements"; -"accounts.navigationBar.favouritedBy" = "Favorisé par"; -"accounts.navigationBar.reboostedBy" = "Partagé par"; -"accounts.navigationBar.blocked" = "Comptes bloqués"; -"accounts.navigationBar.mutes" = "Comptes mis en sourdine"; -"accounts.title.noAccounts" = "Malheureusement, il n'y a personne ici."; -"accounts.error.loadingAccountsFailed" = "Le chargement des comptes a échoué."; - -// Mark: Third party view. -"thirdParty.navigationBar.title" = "Tiers"; - -// Mark: Widget view. -"widget.title.photoDescription" = "Widget avec des photos de Pixelfed."; -"widget.title.qrCodeDescription" = "Widget avec QR Code vers votre profil Pixelfed."; - -// Mark: In-app purchases. -"purchase.donut.title" = "Beignet"; -"purchase.donut.description" = "Offrez-moi un beignet."; -"purchase.coffee.title" = "Café"; -"purchase.coffee.description" = "Offrez-moi un café."; -"purchase.cake.title" = "Café et gâteau"; -"purchase.cake.description" = "Offrez-moi un café et un gâteau."; - -// Mark: Edit profile. -"editProfile.navigationBar.title" = "Editer le profil"; -"editProfile.title.displayName" = "Afficher le nom"; -"editProfile.title.bio" = "Bio"; -"editProfile.title.website" = "Site web"; -"editProfile.title.save" = "Enregistrer"; -"editProfile.title.accountSaved" = "Le profil a été mis à jour."; -"editProfile.title.photoInfo" = "La photo modifiée sera visible dans l'application et sur le site web avec un petit délai."; -"editProfile.title.privateAccount" = "Compte privé"; -"editProfile.title.privateAccountInfo" = "Lorsque votre compte est privé, seules les personnes que vous autorisez peuvent voir vos photos et vidéos sur Pixelfed. Les personnes qui vous suivent déjà ne seront pas affectées."; -"editProfile.error.saveAccountFailed" = "Enregistrement du profil échoué."; -"editProfile.error.loadingAvatarFailed" = "Chargement de l'avatar échoué."; -"editProfile.error.noProfileData" = "Les données du profil ne peuvent pas être affichées."; -"editProfile.error.loadingAccountFailed" = "Erreur lors du téléchargement du compte depuis le serveur."; - -// Mark: Instance information. -"instance.navigationBar.title" = "Instance"; -"instance.title.instanceInfo" = "Information sur l'instance"; -"instance.title.name" = "Nom"; -"instance.title.address" = "Addresse"; -"instance.title.email" = "Email"; -"instance.title.version" = "Version"; -"instance.title.users" = "Utilisateurs"; -"instance.title.posts" = "Posts"; -"instance.title.domains" = "Domaines"; -"instance.title.registrations" = "Inscriptions"; -"instance.title.approvalRequired" = "Approbation requise"; -"instance.title.rules" = "Règles de l'instance"; -"instance.title.contact" = "Contact"; -"instance.title.pixelfedAccount" = "Compte Pixelfed"; -"instance.error.noInstanceData" = "Les données d'instance ne peuvent pas être affichées."; -"instance.error.loadingDataFailed" = "Erreur lors du téléchargement des données d'instance depuis le serveur."; - -// Mark: Report screen. -"report.navigationBar.title" = "Rapport"; -"report.title.close" = "Fermer"; -"report.title.send" = "Envoyer"; -"report.title.userReported" = "L'utilisateur a été signalé"; -"report.title.postReported" = "Le post a été signalé"; -"report.title.reportType" = "Type d'abus"; -"report.title.spam" = "C'est un spam"; -"report.title.sensitive" = "Nudité ou activité sexuelle"; -"report.title.abusive" = "Discours ou symboles haineux"; -"report.title.underage" = "Compte mineur"; -"report.title.violence" = "Violence ou organisations dangereuses"; -"report.title.copyright" = "Violation des droits d'auteur"; -"report.title.impersonation" = "Usurpation d'identité"; -"report.title.scam" = "Intimidation ou harcèlement"; -"report.title.terrorism" = "Le terrorisme"; -"report.error.notReported" = "Erreur lors de l'envoi du rapport."; - -// Mark: Following requests. -"followingRequests.navigationBar.title" = "Suivre les demandes"; -"followingRequests.title.approve" = "Approuver"; -"followingRequests.title.reject" = "Rejeter"; -"followingRequests.error.approve" = "Erreur lors de l'approbation de la demande."; -"followingRequests.error.reject" = "Erreur lors du rejet de la demande."; diff --git a/Localization/pl.lproj/Localizable.strings b/Localization/pl.lproj/Localizable.strings deleted file mode 100644 index 488ffce..0000000 --- a/Localization/pl.lproj/Localizable.strings +++ /dev/null @@ -1,381 +0,0 @@ -// MARK: Common strings. -"global.title.contentWarning" = "Wrażliwe treści"; -"global.title.seePost" = "Pokaż zdjęcie"; -"global.title.refresh" = "Odśwież"; -"global.title.momentsAgo" = "chwilę temu"; -"global.title.success" = "Sukces"; -"global.title.photoSaved" = "Zdjęcie zostało zapisane."; -"global.title.ok" = "OK"; -"global.title.showMore" = "Pokaż więcej"; -"global.title.showLess" = "Pokaż mniej"; -"global.title.close" = "Zamknij"; -"global.error.refreshingCredentialsTitle" = "Błąd odświeżania danych uwierzytelniających."; -"global.error.refreshingCredentialsSubtitle" = "Prosimy o ponowne zalogowanie się do Pixelfed."; - -// MARK: Global errors. -"global.error.unexpected" = "Wystąpił nieoczekiwany błąd."; -"global.error.statusesNotRetrieved" = "Statusy nie zostały pobrane."; -"global.error.errorDuringDownloadStatuses" = "Błąd podczas pobierania statusów."; -"global.error.errorDuringDownloadHashtag" = "Błąd podczas pobierania taga."; -"global.error.hashtagNotExists" = "Tag nie istnieje."; -"global.error.errorDuringImageDownload" = "Błąd podczas pobierania zdjęcia."; -"global.error.canceledImageDownload" = "Pobieranie zdjęcia zostało anulowane."; -"global.error.errorDuringDataLoad" = "Błąd podczas pobierania danych."; -"global.error.errorDuringUserRead" = "Błąd podczas odczytu danych użytkownika."; -"global.error.badUrlServer" = "Niepoprawny adres serwera."; -"global.error.accessTokenNotFound" = "Brak tokenu dostępu."; -"global.error.errorDuringDownloadStatus" = "Błąd podczas pobierania statusu."; -"global.error.errorDuringPurchaseVerification" = "Błąd podczas weryfikacji płatności."; - -// MARK: Main view (main navigation bar). -"mainview.tab.homeTimeline" = "Główna"; -"mainview.tab.localTimeline" = "Lokalne"; -"mainview.tab.federatedTimeline" = "Globalne"; -"mainview.tab.trendingPhotos" = "Zdjęcia"; -"mainview.tab.trendingTags" = "Tagi"; -"mainview.tab.trendingAccounts" = "Użytkownicy"; -"mainview.tab.userProfile" = "Profil"; -"mainview.tab.notifications" = "Powiadomienia"; -"mainview.tab.search" = "Wyszukaj"; -"mainview.tab.trending" = "Popularne"; - -// MARK: Main view (leading navigation bar). -"mainview.menu.settings" = "Ustawienia"; - -// MARK: Main view (error notifications). -"mainview.error.switchAccounts" = "Błąd podczas przełączania kont."; - -// MARK: Home timeline. -"home.title.allCaughtUp" = "Jesteś na bieżąco"; -"home.title.noPhotos" = "Niestety nie ma jeszcze żadnych zdjęć."; - -// MARK: Statuses timeline (local/federated/favourite/bookmarks etc.). -"statuses.navigationBar.localTimeline" = "Lokalne"; -"statuses.navigationBar.federatedTimeline" = "Globalne"; -"statuses.navigationBar.favourites" = "Polubione"; -"statuses.navigationBar.bookmarks" = "Zakładki"; -"statuses.title.noPhotos" = "Niestety nie ma jeszcze żadnych zdjęć."; -"statuses.title.tagFollowed" = "Od teraz śledzisz taga."; -"statuses.title.tagUnfollowed" = "Nie śledzisz już taga."; -"statuses.error.loadingStatusesFailed" = "Błąd podczas wczytywania statusów."; -"statuses.error.tagFollowFailed" = "Błąd podczas żądania śledzenia taga."; -"statuses.error.tagUnfollowFailed" = "Błąd podczas wyłączenia śledzenia taga."; - -// Mark: Search view. -"search.navigationBar.title" = "Wyszukaj"; -"search.title.placeholder" = "Wyszukaj..."; -"search.title.usersWith" = "Użytkownicy zawierający %@"; -"search.title.goToUser" = "Przejdź do użytkownika %@"; -"search.title.hashtagWith" = "Tagi zawierające %@"; -"search.title.goToHashtag" = "Przejdź do taga %@"; - -// Mark: Trending statuses. -"trendingStatuses.navigationBar.title" = "Zdjęcia"; -"trendingStatuses.title.daily" = "Dzień"; -"trendingStatuses.title.monthly" = "Miesiąc"; -"trendingStatuses.title.yearly" = "Rok"; -"trendingStatuses.error.loadingStatusesFailed" = "Błąd podczas wczytywania statusów."; -"trendingStatuses.title.noPhotos" = "Niestety nie ma jeszcze żadnych zdjęć."; - -// Mark: Trending tags. -"tags.navigationBar.trendingTitle" = "Tagi"; -"tags.navigationBar.searchTitle" = "Tagi"; -"tags.navigationBar.followedTitle" = "Obserwowane tagi"; -"tags.title.noTags" = "Niestety nie ma jeszcze żadnych tagów."; -"tags.title.amountOfPosts" = "%d statusów"; -"tags.error.loadingTagsFailed" = "Błąd podczas wczytywania tagów."; - -// Mark: Trending accounts. -"trendingAccounts.navigationBar.title" = "Użytkownicy"; -"trendingAccounts.title.noAccounts" = "Niestety nie ma tutaj nikogo."; -"trendingAccounts.error.loadingAccountsFailed" = "Błąd podczas wczytywania użytkownikow."; - -// Mark: User profile view. -"userProfile.title.openInBrowser" = "Otwórz w przeglądarce"; -"userProfile.title.share" = "Udostępnij"; -"userProfile.title.unmute" = "Wyłącz wyciszenie"; -"userProfile.title.mute" = "Wycisz"; -"userProfile.title.unblock" = "Odblokuj"; -"userProfile.title.block" = "Zablokuj"; -"userProfile.title.favourites" = "Polubione"; -"userProfile.title.bookmarks" = "Zakładki"; -"userProfile.title.followedTags" = "Obserwowane tagi"; -"userProfile.title.posts" = "Statusy"; -"userProfile.title.followers" = "Obserwujący"; -"userProfile.title.following" = "Obserwowani"; -"userProfile.title.joined" = "Dołączył(a) %@"; -"userProfile.title.unfollow" = "Przestań obserwować"; -"userProfile.title.follow" = "Obserwuj"; -"userProfile.title.instance" = "Informacje o instancji"; -"userProfile.title.blocks" = "Zablokowane konta"; -"userProfile.title.mutes" = "Wyciszone konta"; -"userProfile.title.muted" = "Konto wyciszone"; -"userProfile.title.unmuted" = "Wyciszenie wyłączone"; -"userProfile.title.blocked" = "Konto zablokowane"; -"userProfile.title.unblocked" = "Konto odblokowane"; -"userProfile.title.report" = "Zgłoś"; -"userProfile.title.followsYou" = "Obserwuje ciebie"; -"userProfile.title.requestFollow" = "Poproś o obserwowanie"; -"userProfile.title.cancelRequestFollow" = "Anuluj prośbę"; -"userProfile.title.followRequests" = "Prośby o obserwowanie"; -"userProfile.title.privateProfileTitle" = "To konto jest prywatne."; -"userProfile.title.privateProfileSubtitle" = "Tylko zaakceptowani użytkownicy mogą przeglądać zdjęcia."; -"userProfile.error.notExists" = "Konto nie istnieje."; -"userProfile.error.notExists" = "Błąd podczas pobierania danych użytkownika."; -"userProfile.error.mute" = "Błąd podczas wyciszania użytkownika."; -"userProfile.error.block" = "Błąd podczas blokowania/odblokowywania użytkownika."; -"userProfile.error.relationship" = "Błąd podczas zmiany relacji z użytkownikiem."; -"userProfile.title.edit" = "Edytuj"; -"userProfile.title.muted" = "Wyciszony"; -"userProfile.title.blocked" = "Zablokowany"; -"userProfile.title.enableBoosts" = "Wyświetl podbicia"; -"userProfile.title.disableBoosts" = "Ukryj podbicia"; -"userProfile.title.boostedStatusesMuted" = "Podbicia ukryte"; - -// Mark: Notifications view. -"notifications.navigationBar.title" = "Powiadomienia"; -"notifications.title.noNotifications" = "Niestety nic tutaj nie ma."; -"notifications.title.followedYou" = "obserwuje ciebie"; -"notifications.title.mentionedYou" = "wspomniał ciebie"; -"notifications.title.boosted" = "podbił"; -"notifications.title.favourited" = "polubił"; -"notifications.title.postedStatus" = "stworzył status"; -"notifications.title.followRequest" = "chce obserwować"; -"notifications.title.poll" = "ankieta"; -"notifications.title.updatedStatus" = "zaktualizował status"; -"notifications.title.signedUp" = "zalogował się"; -"notifications.title.newReport" = "nowy raport"; -"notifications.error.loadingNotificationsFailed" = "Błąd podczas wczytywania powiadomień."; - -// Mark: Compose view. -"compose.navigationBar.title" = "Utwórz"; -"compose.title.everyone" = "Publiczny"; -"compose.title.unlisted" = "Publiczny (niewidoczny)"; -"compose.title.followers" = "Tylko obserwujący"; -"compose.title.attachPhotoFull" = "Dołącz zdjęcie i napisz, co myślisz"; -"compose.title.attachPhotoMini" = "Wpisz, co masz na myśli"; -"compose.title.publish" = "Wyślij"; -"compose.title.cancel" = "Anuluj"; -"compose.title.writeContentWarning" = "Napisz ostrzeżenie o treści"; -"compose.title.commentsWillBeDisabled" = "Komentarze zostaną wyłączone"; -"compose.title.statusPublished" = "Stan opublikowany"; -"compose.title.tryToUpload" = "Ponów"; -"compose.title.delete" = "Usuń"; -"compose.title.edit" = "Edytuj"; -"compose.title.photos" = "Biblioteka zdjęć"; -"compose.title.camera" = "Zrób zdjęcie"; -"compose.title.files" = "Przeglądaj pliki"; -"compose.title.missingAltTexts" = "Brakuje tekstów ALT"; -"compose.title.missingAltTextsWarning" = "Nie wszystkie zdjęcia zostały opisane dla niedowidzących. Czy pomimo tego chcesz je wysłać?"; -"compose.error.loadingPhotosFailed" = "Nie można pobrać zdjęcia z biblioteki."; -"compose.error.postingPhotoFailed" = "Błąd podczas publikowania zdjęcia."; -"compose.error.postingStatusFailed" = "Błąd podczas wysyłania statusu."; - -// Mark: Photo editor view. -"photoEdit.navigationBar.title" = "Szczegóły zdjęcia"; -"photoEdit.title.photo" = "Zdjęcie"; -"photoEdit.title.accessibility" = "Dostępność"; -"photoEdit.title.accessibilityDescription" = "Opis dla osób niedowidzących"; -"photoEdit.title.save" = "Zapisz"; -"photoEdit.title.cancel" = "Anuluj"; -"photoEdit.error.updatePhotoFailed" = "Błąd podczas aktualizowania zdjęcia."; - -// Mark: Place selector view. -"placeSelector.navigationBar.title" = "Lokalizacja"; -"placeSelector.title.search" = "Wyszukaj..."; -"placeSelector.title.buttonSearch" = "Szukaj"; -"placeSelector.title.cancel" = "Anuluj"; -"placeSelector.error.loadingPlacesFailed" = "Błąd podczas wczytywanie lokalizacji."; - -// Mark: Settings view. -"settings.navigationBar.title" = "Ustawienia"; -"settings.title.close" = "Zamknij"; -"settings.title.version" = "Wersja"; -"settings.title.accounts" = "Konta"; -"settings.title.newAccount" = "Dodaj konto"; -"settings.title.accent" = "Akcent"; -"settings.title.theme" = "Wygląd"; -"settings.title.system" = "Systemowy"; -"settings.title.light" = "Jasny"; -"settings.title.dark" = "Ciemny"; -"settings.title.avatar" = "Awatar"; -"settings.title.circle" = "Okrągły"; -"settings.title.rounderRectangle" = "Zaokrąglony kwadratowy"; -"settings.title.other" = "Inne"; -"settings.title.thirdParty" = "Zewnętrzne biblioteki"; -"settings.title.reportBug" = "Zgłoś błąd"; -"settings.title.githubIssues" = "Błędy na Github"; -"settings.title.follow" = "Obserwuj mnie"; -"settings.title.support" = "Wsparcie"; -"settings.title.thankYouTitle" = "Dziękuję 💕"; -"settings.title.thankYouMessage" = "Dziękujemy za twój zakup. Zakupy zarówno te duże, jak i te małe pomagają nam w realizacji marzenia o dostarczaniu naszym klientom produktów najwyższej jakości. Mamy nadzieję, że Vernissage spełnia Twoje oczekiwania."; -"settings.title.thankYouClose" = "Zamknij"; -"settings.title.haptics" = "Haptyka"; -"settings.title.hapticsTabSelection" = "Wybór zakładki"; -"settings.title.hapticsButtonPress" = "Naciśnięcie przycisku"; -"settings.title.hapticsListRefresh" = "Odświeżanie listy"; -"settings.title.hapticsAnimationFinished" = "Zakończenie animacji"; -"settings.title.mediaSettings" = "Ustawienia mediów"; -"settings.title.alwaysShowSensitiveTitle" = "Zawsze pokazuj statusy NSFW"; -"settings.title.alwaysShowSensitiveDescription" = "Wymuś pokazywanie statusów NFSW (czułych) bez ostrzeżeń"; -"settings.title.alwaysShowAltTitle" = "Pokaż tekst alternatywny"; -"settings.title.alwaysShowAltDescription" = "Pokaż alternatywny tekst, jeśli jest obecny na szczegółach statusu"; -"settings.title.general" = "Ogólne"; -"settings.title.applicationIcon" = "Ikona aplikacji"; -"settings.title.followVernissage" = "Obserwuj Vernissage"; -"settings.title.mastodonAccount" = "Konto Mastodon"; -"settings.title.pixelfedAccount" = "Konto Pixelfed"; -"settings.title.openPage" = "Otwórz"; -"settings.title.privacyPolicy" = "Polityka prywatności"; -"settings.title.terms" = "Zasady i warunki"; -"settings.title.sourceCode" = "Kod źródłowy"; -"settings.title.rate" = "Oceń Vernissage"; -"settings.title.socials" = "Społeczności"; -"settings.title.menuPosition" = "Pozycja menu"; -"settings.title.topMenu" = "Panel tytułowy"; -"settings.title.bottomRightMenu" = "Dolny prawy"; -"settings.title.bottomLeftMenu" = "Dolny lewy"; -"settings.title.showAvatars" = "Wyświetlaj awatary"; -"settings.title.showAvatarsOnTimeline" = "Awatary będą widoczne na osiach zdjęć"; -"settings.title.showFavourite" = "Wyświetlaj polubienia"; -"settings.title.showFavouriteOnTimeline" = "Polubienia będą widoczne na osiach zdjęć"; -"settings.title.showAltText" = "Wyświetlaj ikonę ALT"; -"settings.title.showAltTextOnTimeline" = "Ikony ALT będą widonczne na osiach zdjęć"; -"settings.title.warnAboutMissingAltTitle" = "Ostrzeganie o brakującym tekście ALT"; -"settings.title.warnAboutMissingAltDescription" = "Ostrzeżenie o brakujących tekstach ALT będzie wyświetlane przed opublikowaniem nowego statusu."; -"settings.title.enableReboostOnTimeline" = "Wyświetl podbite statusy"; -"settings.title.enableReboostOnTimelineDescription" = "Podbite statusy będą widoczne na twojej osi czasu."; -"settings.title.hideStatusesWithoutAlt" = "Ukryj statusy bez tekstu ALT"; -"settings.title.hideStatusesWithoutAltDescription" = "Statusy bez tekstu ALT nie będą wyświetlane na twojej osi czasu."; - -// Mark: Signin view. -"signin.navigationBar.title" = "Zaloguj się do Pixelfed"; -"signin.title.serverAddress" = "Adres serwera"; -"signin.title.signIn" = "Zaloguj się"; -"signin.title.enterServerAddress" = "Wpisz adres serwera"; -"signin.title.howToJoinLink" = "Jak przyłączyć się do Pixelfed"; -"signin.title.chooseServer" = "Lub wybierz serwer Pixelfed"; -"signin.title.amountOfUsers" = "%d użytkowników"; -"signin.title.amountOStatuses" = "%d statusów"; -"signin.error.communicationFailed" = "Błąd podczas komunikacji z serwerem."; - -// Mark: Status view. -"status.navigationBar.title" = "Szczegóły"; -"status.title.uploaded" = "Wysłano"; -"status.title.via" = "przez %@"; -"status.title.reboostedBy" = "Podbite przez"; -"status.title.favouritedBy" = "Polubione przez"; -"status.title.openInBrowser" = "Otwórz w przeglądarce"; -"status.title.shareStatus" = "Udostępnij status"; -"status.title.yourStatus" = "Twój status"; -"status.title.delete" = "Usuń"; -"status.title.reboosted" = "Podbite"; -"status.title.unreboosted" = "Podbicie wycofane"; -"status.title.favourited" = "Polubione"; -"status.title.unfavourited" = "Polubienie wycofane"; -"status.title.bookmarked" = "Dodane do zakładek"; -"status.title.unbookmarked" = "Usunięte z zakładek"; -"status.title.statusDeleted" = "Status usunięty"; -"status.title.reboost" = "Podbij"; -"status.title.unreboost" = "Cofnij podbicie"; -"status.title.favourite" = "Polub"; -"status.title.unfavourite" = "Cofnij polubienie"; -"status.title.bookmark" = "Dodaj do zakładek"; -"status.title.unbookmark" = "Usuń z zakładek"; -"status.title.comment" = "Skomentuj"; -"status.title.report" = "Zgłoś"; -"status.title.saveImage" = "Zapisz zdjęcie"; -"status.title.showMediaDescription" = "Pokaż opis zdjęcia"; -"status.title.mediaDescription" = "Opis zdjęcia"; -"status.title.shareImage" = "Udostępnij zdjęcie"; -"status.title.altText" = "ALT"; -"status.error.loadingStatusFailed" = "Błąd podczas wczytywanie statusu."; -"status.error.notFound" = "Status już nie istnieje."; -"status.error.loadingCommentsFailed" =" Błąd podczas wczytywanie komentarzy."; -"status.error.reboostFailed" = "Błąd podczas podbijania."; -"status.error.favouriteFailed" = "Błąd podczas polubiania."; -"status.error.bookmarkFailed" = "Błąd podczas dodawania/usuwania z zakładek."; -"status.error.deleteFailed" = "Błąd podczas usuwania."; - -// Mark: Accounts view. -"accounts.navigationBar.followers" = "Obserwujący"; -"accounts.navigationBar.following" = "Obserwowani"; -"accounts.navigationBar.favouritedBy" = "Polubione przez"; -"accounts.navigationBar.reboostedBy" = "Podbite przez"; -"accounts.navigationBar.blocked" = "Zablokowani"; -"accounts.navigationBar.mutes" = "Wyciszeni"; -"accounts.title.noAccounts" = "Niestety nie ma tutaj nikogo."; -"accounts.error.loadingAccountsFailed" = "Błąd podczas wczytywania użytkownikow."; - -// Mark: Third party view. -"thirdParty.navigationBar.title" = "Zewnętrzne biblioteki"; - -// Mark: Widget view. -"widget.title.photoDescription" = "Widget ze zdjęciami z Pixelfed."; -"widget.title.qrCodeDescription" = "Widget z QR kodem do profilu na Pixelfed."; - -// Mark: In-app purchases. -"purchase.donut.title" = "Pączek"; -"purchase.donut.description" = "Poczęstuj mnie pączkiem."; -"purchase.coffee.title" = "Kawa"; -"purchase.coffee.description" = "Poczęstuj mnie kawą."; -"purchase.cake.title" = "Kawa z ciastkiem"; -"purchase.cake.description" = "Poczęstuj mnie kawą i ciastkiem."; - -// Mark: Edit profile. -"editProfile.navigationBar.title" = "Edutuj profil"; -"editProfile.title.displayName" = "Wyświetlana nazwa"; -"editProfile.title.bio" = "Bio"; -"editProfile.title.website" = "Strona"; -"editProfile.title.save" = "Zapisz"; -"editProfile.title.accountSaved" = "Profil zaktualizowano."; -"editProfile.title.photoInfo" = "Zmienione zdjęcie będzie widoczne w aplikacji oraz na stronie z małym opóźnieniem."; -"editProfile.title.privateAccount" = "Konto prywatne"; -"editProfile.title.privateAccountInfo" = "Kiedy Twoje konto jest prywatne, tylko osoby, które zaakceptujesz mogą oglądać Twoje zdjęcia i filmy na Pixelfed. Nie wpłynie to na Twoich obecnych obserwujących."; -"editProfile.error.saveAccountFailed" = "Błąd podczas aktualizacji profilu."; -"editProfile.error.loadingAvatarFailed" = "Błąd podczas wczytywania zdjęcia."; -"editProfile.error.noProfileData" = "Dane profilu nie mogą zostać wyświetlone."; -"editProfile.error.loadingAccountFailed" = "Błąd podczas pobierania profilu użytkownika."; - -// Mark: Instance information. -"instance.navigationBar.title" = "Instancja"; -"instance.title.instanceInfo" = "Informacja o instancji"; -"instance.title.name" = "Nazwa"; -"instance.title.address" = "Adres"; -"instance.title.email" = "Email"; -"instance.title.version" = "Wersja"; -"instance.title.users" = "Użytkownicy"; -"instance.title.posts" = "Statusów"; -"instance.title.domains" = "Domen"; -"instance.title.registrations" = "Rejestracja"; -"instance.title.approvalRequired" = "Akeptowanie rejestracji"; -"instance.title.rules" = "Reguły instancji"; -"instance.title.contact" = "Kontakt"; -"instance.title.pixelfedAccount" = "Konto Pixelfed"; -"instance.error.noInstanceData" = "Dane instancji nie mogą zostać wyświetlone."; -"instance.error.loadingDataFailed" = "Błąd podczas pobierania danych instancji."; - -// Mark: Report screen. -"report.navigationBar.title" = "Zgłoś"; -"report.title.close" = "Zamknij"; -"report.title.send" = "Wyślij"; -"report.title.userReported" = "Użytkownik został zgłoszony."; -"report.title.postReported" = "Status został zgłoszony."; -"report.title.reportType" = "Typ nadużycia"; -"report.title.spam" = "Spam"; -"report.title.sensitive" = "Nagość lub aktywność seksualna"; -"report.title.abusive" = "Mowa lub symbole nienawiści"; -"report.title.underage" = "Konto niepełnoletniego"; -"report.title.violence" = "Przemoc lub niebezpieczne organizacje"; -"report.title.copyright" = "Naruszenie praw autorskich"; -"report.title.impersonation" = "Podszywanie się"; -"report.title.scam" = "Znęcanie się lub nękanie"; -"report.title.terrorism" = "Terroryzm"; -"report.error.notReported" = "Błąd podczas wysyłania zgłoszenia."; - -// Mark: Following requests. -"followingRequests.navigationBar.title" = "Prośby o obserwowanie"; -"followingRequests.title.approve" = "Zaakceptuj"; -"followingRequests.title.reject" = "Odrzuć"; -"followingRequests.error.approve" = "Błąd podczas akceptowania prośby."; -"followingRequests.error.reject" = "Błąd podczas odrzucania prośby."; diff --git a/PixelfedKit/Package.swift b/PixelfedKit/Package.swift index cc18133..ec19ebf 100644 --- a/PixelfedKit/Package.swift +++ b/PixelfedKit/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 5.7 +// swift-tools-version: 5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription diff --git a/PixelfedKit/Sources/PixelfedKit/Errors/NetworkError.swift b/PixelfedKit/Sources/PixelfedKit/Errors/NetworkError.swift index 941a0f0..3cf6e34 100644 --- a/PixelfedKit/Sources/PixelfedKit/Errors/NetworkError.swift +++ b/PixelfedKit/Sources/PixelfedKit/Errors/NetworkError.swift @@ -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")'.") diff --git a/PixelfedKit/Sources/PixelfedKit/Localizable.xcstrings b/PixelfedKit/Sources/PixelfedKit/Localizable.xcstrings new file mode 100644 index 0000000..b5bf826 --- /dev/null +++ b/PixelfedKit/Sources/PixelfedKit/Localizable.xcstrings @@ -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" +} \ No newline at end of file diff --git a/PixelfedKit/Sources/PixelfedKit/Resources/en.lproj/Localizable.strings b/PixelfedKit/Sources/PixelfedKit/Resources/en.lproj/Localizable.strings deleted file mode 100644 index 8106e7b..0000000 --- a/PixelfedKit/Sources/PixelfedKit/Resources/en.lproj/Localizable.strings +++ /dev/null @@ -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."; diff --git a/PixelfedKit/Sources/PixelfedKit/Resources/es_ES.lproj/Localizable.strings b/PixelfedKit/Sources/PixelfedKit/Resources/es_ES.lproj/Localizable.strings deleted file mode 100644 index 6a1d7de..0000000 --- a/PixelfedKit/Sources/PixelfedKit/Resources/es_ES.lproj/Localizable.strings +++ /dev/null @@ -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."; diff --git a/PixelfedKit/Sources/PixelfedKit/Resources/eu.lproj/Localizable.strings b/PixelfedKit/Sources/PixelfedKit/Resources/eu.lproj/Localizable.strings deleted file mode 100644 index c6790e8..0000000 --- a/PixelfedKit/Sources/PixelfedKit/Resources/eu.lproj/Localizable.strings +++ /dev/null @@ -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."; diff --git a/PixelfedKit/Sources/PixelfedKit/Resources/fr.lproj/Localizable.strings b/PixelfedKit/Sources/PixelfedKit/Resources/fr.lproj/Localizable.strings deleted file mode 100644 index 0f20083..0000000 --- a/PixelfedKit/Sources/PixelfedKit/Resources/fr.lproj/Localizable.strings +++ /dev/null @@ -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."; diff --git a/PixelfedKit/Sources/PixelfedKit/Resources/pl.lproj/Localizable.strings b/PixelfedKit/Sources/PixelfedKit/Resources/pl.lproj/Localizable.strings deleted file mode 100644 index f570b2c..0000000 --- a/PixelfedKit/Sources/PixelfedKit/Resources/pl.lproj/Localizable.strings +++ /dev/null @@ -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."; diff --git a/README.md b/README.md index 9a87e4a..cddc1a9 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/Resources/translations.png b/Resources/translations.png new file mode 100644 index 0000000..ead31b6 Binary files /dev/null and b/Resources/translations.png differ diff --git a/ServicesKit/Package.swift b/ServicesKit/Package.swift index 082a630..9bcd4eb 100644 --- a/ServicesKit/Package.swift +++ b/ServicesKit/Package.swift @@ -1,10 +1,11 @@ -// swift-tools-version: 5.8 +// swift-tools-version: 5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "ServicesKit", + defaultLocalization: "en", platforms: [ .iOS(.v16), .macOS(.v12), diff --git a/ServicesKit/Sources/ServicesKit/CacheImageService.swift b/ServicesKit/Sources/ServicesKit/CacheImageService.swift index 10be8d3..21bd6d0 100644 --- a/ServicesKit/Sources/ServicesKit/CacheImageService.swift +++ b/ServicesKit/Sources/ServicesKit/CacheImageService.swift @@ -28,7 +28,7 @@ public class CacheImageService { self.add(data: imageData, for: url) } } catch { - ErrorService.shared.handle(error, message: "Downloading image into cache failed.") + ErrorService.shared.handle(error, message: "global.error.downloadingImageFailed") } } diff --git a/ServicesKit/Sources/ServicesKit/ErrorsService.swift b/ServicesKit/Sources/ServicesKit/ErrorsService.swift index 27c8229..acc5c39 100644 --- a/ServicesKit/Sources/ServicesKit/ErrorsService.swift +++ b/ServicesKit/Sources/ServicesKit/ErrorsService.swift @@ -13,8 +13,8 @@ public class ErrorService { public static let shared = ErrorService() private init() { } - public func handle(_ error: Error, message: String, showToastr: Bool = false) { - let localizedMessage = NSLocalizedString(message, comment: "Error message") + public func handle(_ error: Error, message: LocalizedStringResource, showToastr: Bool = false) { + let localizedMessage = NSLocalizedString(message.key, comment: "Error message") if showToastr { switch error { @@ -28,4 +28,18 @@ public class ErrorService { Logger.main.error("Error ['\(localizedMessage)']: \(error.localizedDescription)") Logger.main.error("Error ['\(localizedMessage)']: \(error)") } + + public func handle(_ error: Error, localizedMessage: String, showToastr: Bool = false) { + if showToastr { + switch error { + case is LocalizedError: + ToastrService.shared.showError(localizedMessage: localizedMessage, subtitle: error.localizedDescription) + default: + ToastrService.shared.showError(subtitle: localizedMessage) + } + } + + Logger.main.error("Error ['\(localizedMessage)']: \(error.localizedDescription)") + Logger.main.error("Error ['\(localizedMessage)']: \(error)") + } } diff --git a/ServicesKit/Sources/ServicesKit/Localizable.xcstrings b/ServicesKit/Sources/ServicesKit/Localizable.xcstrings new file mode 100644 index 0000000..8315d96 --- /dev/null +++ b/ServicesKit/Sources/ServicesKit/Localizable.xcstrings @@ -0,0 +1,62 @@ +{ + "sourceLanguage" : "en", + "strings" : { + "global.error.downloadingImageFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Downloading image into cache failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al descargar la imagen en la caché." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobieranie obrazków do pamięci podręcznej." + } + } + } + }, + "global.error.unexpected" : { + "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" : "Wystąpił nieoczekiwany błąd." + } + } + } + } + }, + "version" : "1.0" +} \ No newline at end of file diff --git a/ServicesKit/Sources/ServicesKit/ToastrService.swift b/ServicesKit/Sources/ServicesKit/ToastrService.swift index 2d711da..e4957ef 100644 --- a/ServicesKit/Sources/ServicesKit/ToastrService.swift +++ b/ServicesKit/Sources/ServicesKit/ToastrService.swift @@ -12,14 +12,14 @@ public class ToastrService { public static let shared = ToastrService() private init() { } - public func showSuccess(_ title: String, imageSystemName: String, subtitle: String? = nil) { + public func showSuccess(_ title: LocalizedStringResource, imageSystemName: String, subtitle: String? = nil) { let image = self.createImage(systemName: imageSystemName, color: UIColor(Color.accentColor)) - self.showSuccess(title, image: image, subtitle: subtitle) + self.showSuccess(title.key, image: image, subtitle: subtitle) } - public func showSuccess(_ title: String, imageName: String, subtitle: String? = nil) { + public func showSuccess(_ title: LocalizedStringResource, imageName: String, subtitle: String? = nil) { let image = self.createImage(name: imageName, color: UIColor(Color.accentColor)) - self.showSuccess(title, image: image, subtitle: subtitle) + self.showSuccess(title.key, image: image, subtitle: subtitle) } private func showSuccess(_ title: String, image: UIImage?, subtitle: String? = nil) { @@ -39,14 +39,19 @@ public class ToastrService { Drops.show(drop) } - public func showError(title: String = "global.error.unexpected", imageSystemName: String = "ant.circle.fill", subtitle: String? = nil) { + public func showError(title: LocalizedStringResource = LocalizedStringResource("global.error.unexpected"), imageSystemName: String = "ant.circle.fill", subtitle: String? = nil) { let image = self.createImage(systemName: imageSystemName, color: UIColor(Color.accentColor)) - self.showError(title: title, image: image, subtitle: subtitle) + self.showError(title: title.key, image: image, subtitle: subtitle) + } + + public func showError(localizedMessage: String, imageSystemName: String = "ant.circle.fill", subtitle: String? = nil) { + let image = self.createImage(systemName: imageSystemName, color: UIColor(Color.accentColor)) + self.showError(title: localizedMessage, image: image, subtitle: subtitle) } - public func showError(title: String = "global.error.unexpected", imageName: String, subtitle: String? = nil) { + public func showError(title: LocalizedStringResource = LocalizedStringResource("global.error.unexpected"), imageName: String, subtitle: String? = nil) { let image = self.createImage(name: imageName, color: UIColor(Color.accentColor)) - self.showError(title: title, image: image, subtitle: subtitle) + self.showError(title: title.key, image: image, subtitle: subtitle) } private func showError(title: String = "global.error.unexpected", image: UIImage?, subtitle: String? = nil) { diff --git a/Vernissage.xcodeproj/project.pbxproj b/Vernissage.xcodeproj/project.pbxproj index a829d04..860f02b 100644 --- a/Vernissage.xcodeproj/project.pbxproj +++ b/Vernissage.xcodeproj/project.pbxproj @@ -27,8 +27,6 @@ F8210DEA2966E4F9001D9973 /* AnimatePlaceholderModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8210DE92966E4F9001D9973 /* AnimatePlaceholderModifier.swift */; }; F825F0C929F7A562008BD204 /* UserProfilePrivateAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F825F0C829F7A562008BD204 /* UserProfilePrivateAccountView.swift */; }; F825F0CB29F7CFC4008BD204 /* FollowRequestsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F825F0CA29F7CFC4008BD204 /* FollowRequestsView.swift */; }; - F835082329BEF9C400DE3247 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F835082629BEF9C400DE3247 /* Localizable.strings */; }; - F835082429BEF9C400DE3247 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F835082629BEF9C400DE3247 /* Localizable.strings */; }; F83CBEFB298298A1002972C8 /* ImageCarouselPicture.swift in Sources */ = {isa = PBXBuildFile; fileRef = F83CBEFA298298A1002972C8 /* ImageCarouselPicture.swift */; }; F84625E929FE2788002D3AF4 /* QRCodeWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = F84625E829FE2788002D3AF4 /* QRCodeWidget.swift */; }; F84625EB29FE28D4002D3AF4 /* QRCodeWidgetEntryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F84625EA29FE28D4002D3AF4 /* QRCodeWidgetEntryView.swift */; }; @@ -129,7 +127,6 @@ F88BC52A29E046D700CE6141 /* WidgetsKit in Frameworks */ = {isa = PBXBuildFile; productRef = F88BC52929E046D700CE6141 /* WidgetsKit */; }; F88BC52D29E04BB600CE6141 /* EnvironmentKit in Frameworks */ = {isa = PBXBuildFile; productRef = F88BC52C29E04BB600CE6141 /* EnvironmentKit */; }; F88BC52F29E04C5F00CE6141 /* EnvironmentKit in Frameworks */ = {isa = PBXBuildFile; productRef = F88BC52E29E04C5F00CE6141 /* EnvironmentKit */; }; - F88BC53029E0672000CE6141 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F835082629BEF9C400DE3247 /* Localizable.strings */; }; F88BC53229E0677000CE6141 /* EnvironmentKit in Frameworks */ = {isa = PBXBuildFile; productRef = F88BC53129E0677000CE6141 /* EnvironmentKit */; }; F88BC53B29E06A5100CE6141 /* ImageContextMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = F88BC53A29E06A5100CE6141 /* ImageContextMenu.swift */; }; F88BC53D29E06EAD00CE6141 /* ServicesKit in Frameworks */ = {isa = PBXBuildFile; productRef = F88BC53C29E06EAD00CE6141 /* ServicesKit */; }; @@ -170,6 +167,9 @@ F88FAD2B295F43B8009B20C9 /* AccountData+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = F88FAD29295F43B8009B20C9 /* AccountData+CoreDataProperties.swift */; }; F891E7CE29C35BF50022C449 /* ImageRowItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = F891E7CD29C35BF50022C449 /* ImageRowItem.swift */; }; F891E7D029C368750022C449 /* ImageRowItemAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = F891E7CF29C368750022C449 /* ImageRowItemAsync.swift */; }; + F89229EF2ADA63620040C964 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = F89229EE2ADA63620040C964 /* Localizable.xcstrings */; }; + F89229F02ADA63620040C964 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = F89229EE2ADA63620040C964 /* Localizable.xcstrings */; }; + F89229F12ADA63620040C964 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = F89229EE2ADA63620040C964 /* Localizable.xcstrings */; }; F897978F29684BCB00B22335 /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F897978E29684BCB00B22335 /* LoadingView.swift */; }; F89992C9296D6DC7005994BF /* CommentBodyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F89992C8296D6DC7005994BF /* CommentBodyView.swift */; }; F89A46DC296EAACE0062125F /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F89A46DB296EAACE0062125F /* SettingsView.swift */; }; @@ -277,8 +277,6 @@ F8210DE92966E4F9001D9973 /* AnimatePlaceholderModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimatePlaceholderModifier.swift; sourceTree = ""; }; F825F0C829F7A562008BD204 /* UserProfilePrivateAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserProfilePrivateAccountView.swift; sourceTree = ""; }; F825F0CA29F7CFC4008BD204 /* FollowRequestsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowRequestsView.swift; sourceTree = ""; }; - F835082529BEF9C400DE3247 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - F835082729BEFA1E00DE3247 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; F837269429A221420098D3C4 /* PixelfedKit */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = PixelfedKit; sourceTree = ""; }; F83CBEFA298298A1002972C8 /* ImageCarouselPicture.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageCarouselPicture.swift; sourceTree = ""; }; F844F42429D2DC39000DD896 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; @@ -390,6 +388,7 @@ F8911A1829DE9E5500770F44 /* Vernissage-007.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Vernissage-007.xcdatamodel"; sourceTree = ""; }; F891E7CD29C35BF50022C449 /* ImageRowItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageRowItem.swift; sourceTree = ""; }; F891E7CF29C368750022C449 /* ImageRowItemAsync.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageRowItemAsync.swift; sourceTree = ""; }; + F89229EE2ADA63620040C964 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = ""; }; F897978E29684BCB00B22335 /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = ""; }; F89992C8296D6DC7005994BF /* CommentBodyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommentBodyView.swift; sourceTree = ""; }; F89A46DB296EAACE0062125F /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = ""; }; @@ -403,7 +402,6 @@ F89D6C49297196FF001DA3D4 /* ImageViewer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageViewer.swift; sourceTree = ""; }; F89F0605299139F6003DC875 /* Vernissage-002.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Vernissage-002.xcdatamodel"; sourceTree = ""; }; F89F57AF29D1C11200001EE3 /* RelationshipModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelationshipModel.swift; sourceTree = ""; }; - F8A270DA29F500860062D275 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; F8A4A88429E4099900267E36 /* Vernissage-008.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Vernissage-008.xcdatamodel"; sourceTree = ""; }; F8A93D7D2965FD89001D8331 /* UserProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserProfileView.swift; sourceTree = ""; }; F8AFF7C029B259150087D083 /* HashtagsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HashtagsView.swift; sourceTree = ""; }; @@ -428,7 +426,6 @@ F8D8E0D22ACC89CB00AA1374 /* Vernissage-017.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "Vernissage-017.xcdatamodel"; sourceTree = ""; }; F8DF38E329DD68820047F1AA /* ViewOffsetKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewOffsetKey.swift; sourceTree = ""; }; F8DF38E529DDB98A0047F1AA /* SocialsSectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SocialsSectionView.swift; sourceTree = ""; }; - F8DF38E729DDC3D20047F1AA /* eu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = eu; path = eu.lproj/Localizable.strings; sourceTree = ""; }; F8E36E452AB8745300769C55 /* Sizable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sizable.swift; sourceTree = ""; }; F8E36E472AB874A500769C55 /* StatusModel+Sizeable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "StatusModel+Sizeable.swift"; sourceTree = ""; }; F8E6D03229CDD52500416CCA /* EditProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditProfileView.swift; sourceTree = ""; }; @@ -617,7 +614,7 @@ F835081F29BEF88600DE3247 /* Localization */ = { isa = PBXGroup; children = ( - F835082629BEF9C400DE3247 /* Localizable.strings */, + F89229EE2ADA63620040C964 /* Localizable.xcstrings */, ); path = Localization; sourceTree = ""; @@ -1065,6 +1062,7 @@ pl, eu, fr, + es, ); mainGroup = F88C245F295C37B80006098B; packageReferences = ( @@ -1091,7 +1089,7 @@ buildActionMask = 2147483647; files = ( F85D0C652ABA08F9002B3577 /* Assets.xcassets in Resources */, - F835082429BEF9C400DE3247 /* Localizable.strings in Resources */, + F89229F02ADA63620040C964 /* Localizable.xcstrings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1099,8 +1097,8 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - F88BC53029E0672000CE6141 /* Localizable.strings in Resources */, F88BC55429E0798900CE6141 /* SharedAssets.xcassets in Resources */, + F89229F12ADA63620040C964 /* Localizable.xcstrings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1110,7 +1108,7 @@ files = ( F88BC55229E0798900CE6141 /* SharedAssets.xcassets in Resources */, F88C2473295C37BB0006098B /* Preview Assets.xcassets in Resources */, - F835082329BEF9C400DE3247 /* Localizable.strings in Resources */, + F89229EF2ADA63620040C964 /* Localizable.xcstrings in Resources */, F88C2470295C37BB0006098B /* Assets.xcassets in Resources */, F86A42FF299A8C5500DF7645 /* InAppPurchaseStoreKitConfiguration.storekit in Resources */, ); @@ -1341,20 +1339,6 @@ }; /* End PBXTargetDependency section */ -/* Begin PBXVariantGroup section */ - F835082629BEF9C400DE3247 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - F835082529BEF9C400DE3247 /* en */, - F835082729BEFA1E00DE3247 /* pl */, - F8DF38E729DDC3D20047F1AA /* eu */, - F8A270DA29F500860062D275 /* fr */, - ); - name = Localizable.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - /* Begin XCBuildConfiguration section */ F864F76E29BB91B600B13921 /* Debug */ = { isa = XCBuildConfiguration; @@ -1372,13 +1356,13 @@ 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", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.13.0; + MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = dev.mczachurski.vernissage.widget; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -1403,13 +1387,13 @@ 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", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.13.0; + MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = dev.mczachurski.vernissage.widget; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -1433,13 +1417,13 @@ 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", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.13.0; + MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = dev.mczachurski.vernissage.share; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -1462,13 +1446,13 @@ 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", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.13.0; + MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = dev.mczachurski.vernissage.share; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -1531,7 +1515,8 @@ 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; ONLY_ACTIVE_ARCH = YES; @@ -1588,7 +1573,8 @@ 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; SDKROOT = iphoneos; @@ -1624,12 +1610,12 @@ 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", ); - MARKETING_VERSION = 1.13.0; + MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = dev.mczachurski.vernissage; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1667,12 +1653,12 @@ 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", ); - MARKETING_VERSION = 1.13.0; + MARKETING_VERSION = 2.0.0; PRODUCT_BUNDLE_IDENTIFIER = dev.mczachurski.vernissage; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; diff --git a/Vernissage/EnvironmentObjects/TipsStore.swift b/Vernissage/EnvironmentObjects/TipsStore.swift index e8c77b7..b94bdfa 100644 --- a/Vernissage/EnvironmentObjects/TipsStore.swift +++ b/Vernissage/EnvironmentObjects/TipsStore.swift @@ -62,7 +62,7 @@ final class TipsStore: ObservableObject { try await self.handlePurchase(from: result) } catch { self.status = .failed(.system(error)) - ErrorService.shared.handle(error, message: "Purchase failed.", showToastr: false) + ErrorService.shared.handle(error, message: "global.error.purchaseFailed", showToastr: false) } } @@ -109,7 +109,7 @@ final class TipsStore: ObservableObject { } } catch { self?.status = .failed(.system(error)) - ErrorService.shared.handle(error, message: "Cannot configure transaction listener.", showToastr: false) + ErrorService.shared.handle(error, message: "global.error.cannotConfigureTransactionListener", showToastr: false) } } } @@ -123,7 +123,7 @@ final class TipsStore: ObservableObject { self.items = products } catch { self.status = .failed(.system(error)) - ErrorService.shared.handle(error, message: "Cannot download in-app products.", showToastr: false) + ErrorService.shared.handle(error, message: "global.error.cannotDownloadInAppProducts", showToastr: false) } } } diff --git a/Vernissage/Services/AppMetadataService.swift b/Vernissage/Services/AppMetadataService.swift index 790431d..f570273 100644 --- a/Vernissage/Services/AppMetadataService.swift +++ b/Vernissage/Services/AppMetadataService.swift @@ -33,7 +33,7 @@ public class AppMetadataService { self.memoryCacheData[metadataCacheKey] = metadata return metadata } catch { - ErrorService.shared.handle(error, message: "Error during downloading metadata.") + ErrorService.shared.handle(error, message: "global.error.errorDuringDownloadingMetadata") return AppMetadata() } } diff --git a/Vernissage/Services/AuthorizationService.swift b/Vernissage/Services/AuthorizationService.swift index 69081f7..8c18e7e 100644 --- a/Vernissage/Services/AuthorizationService.swift +++ b/Vernissage/Services/AuthorizationService.swift @@ -41,7 +41,7 @@ public class AuthorizationService { let signedInAccountModel = try await self.refreshCredentials(for: accountModel, presentationContextProvider: session) result(signedInAccountModel) } catch { - ErrorService.shared.handle(error, message: "Issues during refreshing credentials.") + ErrorService.shared.handle(error, message: "global.error.refreshingCredentialsTitle") ToastrService.shared.showError(title: "global.error.refreshingCredentialsTitle", subtitle: NSLocalizedString("global.error.refreshingCredentialsSubtitle", comment: "")) result(nil) @@ -115,7 +115,7 @@ public class AuthorizationService { let avatarData = try await RemoteFileService.shared.fetchData(url: avatarUrl) accountData.avatarData = avatarData } catch { - ErrorService.shared.handle(error, message: "Avatar has not been downloaded.") + ErrorService.shared.handle(error, message: "global.error.avatarHasNotBeenDownloaded") } } @@ -143,11 +143,11 @@ public class AuthorizationService { _ = try await self.refreshAccessToken(accountData: account) #if DEBUG - ToastrService.shared.showSuccess("New access tokens has been retrieved.", imageSystemName: "key.fill") + ToastrService.shared.showSuccess("global.title.newAccessTokenRetrieved", imageSystemName: "key.fill") #endif } catch { #if DEBUG - ErrorService.shared.handle(error, message: "Refresh token failed: '\(account.acct)'.", showToastr: true) + ErrorService.shared.handle(error, message: "global.error.refreshTokenFailed", showToastr: true) #else ErrorService.shared.handle(error, message: "Error during refreshing access token for account '\(account.acct)'.") #endif @@ -242,7 +242,7 @@ public class AuthorizationService { let avatarData = try await RemoteFileService.shared.fetchData(url: avatarUrl) dbAccount.avatarData = avatarData } catch { - ErrorService.shared.handle(error, message: "Avatar has not been downloaded.") + ErrorService.shared.handle(error, message: "global.error.avatarHasNotBeenDownloaded") } } diff --git a/Vernissage/Services/HomeTimelineService.swift b/Vernissage/Services/HomeTimelineService.swift index 06b8b6e..f427eda 100644 --- a/Vernissage/Services/HomeTimelineService.swift +++ b/Vernissage/Services/HomeTimelineService.swift @@ -169,7 +169,7 @@ public class HomeTimelineService { newestStatusId = firstStatus.id } catch { - ErrorService.shared.handle(error, message: "Error during downloading new statuses for amount of new statuses.") + ErrorService.shared.handle(error, message: "global.error.errorDuringDownloadingNewStatuses") break } } diff --git a/Vernissage/ViewModifiers/ImageContextMenu.swift b/Vernissage/ViewModifiers/ImageContextMenu.swift index 16da9a1..5e7aa14 100644 --- a/Vernissage/ViewModifiers/ImageContextMenu.swift +++ b/Vernissage/ViewModifiers/ImageContextMenu.swift @@ -125,7 +125,7 @@ private struct ImageContextMenu: ViewModifier { private func reboost() async { do { _ = try await self.client.statuses?.boost(statusId: self.id) - ToastrService.shared.showSuccess(NSLocalizedString("status.title.reboosted", comment: "Reboosted"), imageName: "custom.rocket.fill") + ToastrService.shared.showSuccess("status.title.reboosted", imageName: "custom.rocket.fill") } catch { ErrorService.shared.handle(error, message: "status.error.reboostFailed", showToastr: true) } @@ -134,7 +134,7 @@ private struct ImageContextMenu: ViewModifier { private func favourite() async { do { _ = try await self.client.statuses?.favourite(statusId: self.id) - ToastrService.shared.showSuccess(NSLocalizedString("status.title.favourited", comment: "Favourited"), imageSystemName: "star.fill") + ToastrService.shared.showSuccess("status.title.favourited", imageSystemName: "star.fill") } catch { ErrorService.shared.handle(error, message: "status.error.favouriteFailed", showToastr: true) } @@ -143,7 +143,7 @@ private struct ImageContextMenu: ViewModifier { private func bookmark() async { do { _ = try await self.client.statuses?.bookmark(statusId: self.id) - ToastrService.shared.showSuccess(NSLocalizedString("status.title.bookmarked", comment: "Bookmarked"), imageSystemName: "bookmark.fill") + ToastrService.shared.showSuccess("status.title.bookmarked", imageSystemName: "bookmark.fill") } catch { ErrorService.shared.handle(error, message: "status.error.bookmarkFailed", showToastr: true) } diff --git a/Vernissage/Views/SignInView/SignInView.swift b/Vernissage/Views/SignInView/SignInView.swift index f973424..b374e2b 100644 --- a/Vernissage/Views/SignInView/SignInView.swift +++ b/Vernissage/Views/SignInView/SignInView.swift @@ -103,7 +103,7 @@ struct SignInView: View { } } } catch let error as AuthorisationError { - ErrorService.shared.handle(error, message: error.localizedDescription, showToastr: true) + ErrorService.shared.handle(error, localizedMessage: error.localizedDescription, showToastr: true) } catch { ErrorService.shared.handle(error, message: "signin.error.communicationFailed", showToastr: true) } diff --git a/Vernissage/Views/StatusView/Subviews/StatusPlaceholderView.swift b/Vernissage/Views/StatusView/Subviews/StatusPlaceholderView.swift index b7dbe5b..55b0d34 100644 --- a/Vernissage/Views/StatusView/Subviews/StatusPlaceholderView.swift +++ b/Vernissage/Views/StatusView/Subviews/StatusPlaceholderView.swift @@ -31,10 +31,10 @@ struct StatusPlaceholderView: View { accountDisplayName: "Verylong Displayname", accountUsername: "@username") - Text("Lorem ispum text something") + Text("statusPlaceholder.title.line1", comment: "Lorem ispum text something") .foregroundColor(.customGrayColor) .font(.footnote) - Text("Lorem ispum text something sdf sdfsdf sdfdsfsdfsdf") + Text("statusPlaceholder.title.line2", comment: "Lorem ispum text something sdf sdfsdf sdfdsfsdfsdf") .foregroundColor(.customGrayColor) .font(.footnote) diff --git a/Vernissage/Views/StatusesView.swift b/Vernissage/Views/StatusesView.swift index 4d82f12..f07ef79 100644 --- a/Vernissage/Views/StatusesView.swift +++ b/Vernissage/Views/StatusesView.swift @@ -316,7 +316,7 @@ struct StatusesView: View { case .hashtag(let tag): let hashtagsFromApi = try await self.client.search?.search(query: tag, resultsType: .hashtags) guard let hashtagsFromApi = hashtagsFromApi, hashtagsFromApi.hashtags.isEmpty == false else { - ToastrService.shared.showError(title: "global.error.hashtagNotExists", imageSystemName: "exclamationmark.octagon") + ToastrService.shared.showError(title: LocalizedStringResource("global.error.hashtagNotExists"), imageSystemName: "exclamationmark.octagon") dismiss() return [] diff --git a/Vernissage/Views/ThirdPartyView.swift b/Vernissage/Views/ThirdPartyView.swift index 390278f..c17f485 100644 --- a/Vernissage/Views/ThirdPartyView.swift +++ b/Vernissage/Views/ThirdPartyView.swift @@ -9,94 +9,93 @@ import SwiftUI struct ThirdPartyView: View { var body: some View { List { - Section("Lazy image & cache") { + Section("thirdparty.lazyimage.title") { VStack(alignment: .leading) { - Link("https://github.com/kean/Nuke", + Link("thirdparty.lazyimage.address", destination: URL(string: "https://github.com/kean/Nuke")!) .padding(.bottom, 4) - // swiftlint:disable:next line_length - Text("Nuke provides an efficient way to download and display images in your app. It's easy to learn and use. Its architecture enables many powerful features while offering virtually unlimited possibilities for customization.") + Text("thirdparty.lazyimage.description", comment: "Lazy image section description.") } .font(.footnote) } - Section("Custom emoji") { + Section("thirdparty.customemoji.title") { VStack(alignment: .leading) { - Link("https://github.com/divadretlaw/EmojiText", + Link("thirdparty.customemoji.address", destination: URL(string: "https://github.com/divadretlaw/EmojiText")!) .padding(.bottom, 4) - Text("Render Custom Emoji in Text. Supports local and remote emojis. Remote emojis are loadad and cached using Nuke.") + Text("thirdparty.customemoji.description", comment: "Render Custom Emoji in Text. Supports local and remote emojis. Remote emojis are loadad and cached using Nuke.") } .font(.footnote) } - Section("Status body") { + Section("thirdparty.htmlmarkdown.title") { VStack(alignment: .leading) { - Link("https://gitlab.com/mflint/HTML2Markdown", + Link("thirdparty.htmlmarkdown.address", destination: URL(string: "https://gitlab.com/mflint/HTML2Markdown")!) .padding(.bottom, 4) - Text("It's a Swift Package which attempts to convert HTML into Markdown.") + Text("thirdparty.htmlmarkdown.description", comment: "It's a Swift Package which attempts to convert HTML into Markdown.") } .font(.footnote) } - Section("OAuth authorization") { + Section("thirdparty.oauth.title") { VStack(alignment: .leading) { - Link("https://github.com/OAuthSwift/OAuthSwift", + Link("thirdparty.oauth.address", destination: URL(string: "https://github.com/OAuthSwift/OAuthSwift")!) .padding(.bottom, 4) - Text("Swift based OAuth library for iOS and macOS.") + Text("thirdparty.oauth.description", comment: "Swift based OAuth library for iOS and macOS.") } .font(.footnote) } - Section("Notifications") { + Section("thirdparty.notifications.title") { VStack(alignment: .leading) { - Link("https://github.com/omaralbeik/Drops", + Link("thirdparty.notifications.address", destination: URL(string: "https://github.com/omaralbeik/Drops")!) .padding(.bottom, 4) - Text("A µFramework for showing alerts like the one used when copying from pasteboard or connecting Apple pencil.") + Text("thirdparty.notifications.description", comment: "A µFramework for showing alerts like the one used when copying from pasteboard or connecting Apple pencil.") } .font(.footnote) } - Section("Loaders") { + Section("thirdparty.loaders.title") { VStack(alignment: .leading) { - Link("https://github.com/exyte/ActivityIndicatorView", + Link("thirdparty.loaders.address", destination: URL(string: "https://github.com/exyte/ActivityIndicatorView")!) .padding(.bottom, 4) - Text("A number of preset loading indicators created with SwiftUI.") + Text("thirdparty.loaders.description", comment: "A number of preset loading indicators created with SwiftUI.") } .font(.footnote) } - Section("HTML String") { + Section("thirdparty.htmlstring.title") { VStack(alignment: .leading) { - Link("https://github.com/alexisakers/HTMLString", + Link("thirdparty.htmlstring.address", destination: URL(string: "https://github.com/alexisakers/HTMLString")!) .padding(.bottom, 4) - Text("HTMLString is a library written in Swift that allows your program to add and remove HTML entities in Strings.") + Text("thirdparty.htmlstring.description", comment: "HTMLString is a library written in Swift that allows your program to add and remove HTML entities in Strings.") } .font(.footnote) } - Section("Fleur De Leah") { + Section("thirdparty.fleur.title") { VStack(alignment: .leading) { - Link("https://fonts.google.com/specimen/Fleur+De+Leah", + Link("thirdparty.fleur.address", destination: URL(string: "https://fonts.google.com/specimen/Fleur+De+Leah")!) .padding(.bottom, 4) - Text("Font used in the application in the icons and in the splash screen.") + Text("thirdparty.fleur.description", comment: "Font used in the application in the icons and in the splash screen.") } .font(.footnote) } - Section("QR codes") { + Section("thirdparty.qrcodes.title") { VStack(alignment: .leading) { - Link("https://github.com/dmrschmidt/QRCode", + Link("thirdparty.qrcodes.address", destination: URL(string: "https://github.com/dmrschmidt/QRCode")!) .padding(.bottom, 4) - Text("A simple QR code image generator to use in your apps, written in Swift 5.") + Text("thirdparty.qrcodes.description", comment: "A simple QR code image generator to use in your apps, written in Swift 5.") } .font(.footnote) } diff --git a/Vernissage/Views/UserProfileView/UserProfileView.swift b/Vernissage/Views/UserProfileView/UserProfileView.swift index e11dd58..886117b 100644 --- a/Vernissage/Views/UserProfileView/UserProfileView.swift +++ b/Vernissage/Views/UserProfileView/UserProfileView.swift @@ -290,7 +290,7 @@ struct UserProfileView: View { } } } catch { - ErrorService.shared.handle(error, message: "userProfile.error.mute", showToastr: true) + ErrorService.shared.handle(error, message: "userProfile.error.muting", showToastr: true) } } diff --git a/Vernissage/Widgets/ImagesGrid.swift b/Vernissage/Widgets/ImagesGrid.swift index 7796307..7ff7e78 100644 --- a/Vernissage/Widgets/ImagesGrid.swift +++ b/Vernissage/Widgets/ImagesGrid.swift @@ -39,7 +39,7 @@ struct ImagesGrid: View { ImageGrid(photoUrl: photoUrl, maxHeight: $maxHeight) } - Text("more...") + Text("global.title.more", comment: "more...") .foregroundColor(.accentColor) .fontWeight(.bold) .padding(10) diff --git a/Vernissage/Widgets/InteractionRow.swift b/Vernissage/Widgets/InteractionRow.swift index f1a31b2..d80a9b0 100644 --- a/Vernissage/Widgets/InteractionRow.swift +++ b/Vernissage/Widgets/InteractionRow.swift @@ -155,9 +155,7 @@ struct InteractionRow: View { self.reblogged = status.reblogged } - ToastrService.shared.showSuccess(self.reblogged - ? NSLocalizedString("status.title.reboosted", comment: "Reboosted") - : NSLocalizedString("status.title.unreboosted", comment: "Unreboosted"), imageName: "custom.rocket.fill") + ToastrService.shared.showSuccess(self.reblogged ? "status.title.reboosted" : "status.title.unreboosted", imageName: "custom.rocket.fill") } catch { ErrorService.shared.handle(error, message: "status.error.reboostFailed", showToastr: true) } @@ -177,9 +175,7 @@ struct InteractionRow: View { self.favourited = status.favourited } - ToastrService.shared.showSuccess(self.favourited - ? NSLocalizedString("status.title.favourited", comment: "Favourited") - : NSLocalizedString("status.title.unfavourited", comment: "Unfavourited"), imageSystemName: "star.fill") + ToastrService.shared.showSuccess(self.favourited ? "status.title.favourited" : "status.title.unfavourited", imageSystemName: "star.fill") } catch { ErrorService.shared.handle(error, message: "status.error.favouriteFailed", showToastr: true) } @@ -192,9 +188,7 @@ struct InteractionRow: View { : try await self.client.statuses?.bookmark(statusId: self.statusModel.getOrginalStatusId()) self.bookmarked.toggle() - ToastrService.shared.showSuccess(self.bookmarked - ? NSLocalizedString("status.title.bookmarked", comment: "Bookmarked") - : NSLocalizedString("status.title.unbookmarked", comment: "Unbookmarked"), imageSystemName: "bookmark.fill") + ToastrService.shared.showSuccess(self.bookmarked ? "status.title.bookmarked" : "status.title.unbookmarked", imageSystemName: "bookmark.fill") } catch { ErrorService.shared.handle(error, message: "status.error.bookmarkFailed", showToastr: true) } diff --git a/VernissageWidget/PhotoWidget/PhotoWidgetEntryView.swift b/VernissageWidget/PhotoWidget/PhotoWidgetEntryView.swift index 512986e..abdd581 100644 --- a/VernissageWidget/PhotoWidget/PhotoWidgetEntryView.swift +++ b/VernissageWidget/PhotoWidget/PhotoWidgetEntryView.swift @@ -17,7 +17,7 @@ struct PhotoWidgetEntryView: View { case .systemSmall: PhotoSmallWidgetView(entry: entry) case .systemMedium: PhotoMediumWidgetView(entry: entry) case .systemLarge: PhotoLargeWidgetView(entry: entry) - default: Text("Not supported") + default: Text("widget.family.notSupported", comment: "Not supported") } } } diff --git a/VernissageWidget/QRCodeWidget/QRCodeWidgetEntryView.swift b/VernissageWidget/QRCodeWidget/QRCodeWidgetEntryView.swift index ffaf457..239b5d8 100644 --- a/VernissageWidget/QRCodeWidget/QRCodeWidgetEntryView.swift +++ b/VernissageWidget/QRCodeWidget/QRCodeWidgetEntryView.swift @@ -17,7 +17,7 @@ struct QRCodeWidgetEntryView: View { case .systemSmall: QRCodeSmallWidgetView(entry: entry) case .systemMedium: QRCodeMediumWidgetView(entry: entry) case .systemLarge: QRCodeLargeWidgetView(entry: entry) - default: Text("Not supported") + default: Text("widget.family.notSupported", comment: "Not supported") } } } diff --git a/WidgetsKit/Package.swift b/WidgetsKit/Package.swift index aafdffd..6582576 100644 --- a/WidgetsKit/Package.swift +++ b/WidgetsKit/Package.swift @@ -1,10 +1,11 @@ -// swift-tools-version: 5.8 +// swift-tools-version: 5.9 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "WidgetsKit", + defaultLocalization: "en", platforms: [ .iOS(.v16), .macOS(.v12), diff --git a/WidgetsKit/Sources/WidgetsKit/Extensions/FileManager+Clean.swift b/WidgetsKit/Sources/WidgetsKit/Extensions/FileManager+Clean.swift index 5baf54b..1094a87 100644 --- a/WidgetsKit/Sources/WidgetsKit/Extensions/FileManager+Clean.swift +++ b/WidgetsKit/Sources/WidgetsKit/Extensions/FileManager+Clean.swift @@ -19,11 +19,11 @@ public extension FileManager { do { try removeItem(atPath: fileUrl.path) } catch { - ErrorService.shared.handle(error, message: "Error during deleting file: '\(fileUrl.path)' from tmp directory.") + ErrorService.shared.handle(error, message: "global.error.errorDuringDeletingFileFromTmpDirectory") } } } catch { - ErrorService.shared.handle(error, message: "Error during getting tmp directory contents.") + ErrorService.shared.handle(error, message: "global.error.errorDuringGettingTmpDirectoryContents") } } } diff --git a/WidgetsKit/Sources/WidgetsKit/Localizable.xcstrings b/WidgetsKit/Sources/WidgetsKit/Localizable.xcstrings new file mode 100644 index 0000000..26cca94 --- /dev/null +++ b/WidgetsKit/Sources/WidgetsKit/Localizable.xcstrings @@ -0,0 +1,1627 @@ +{ + "sourceLanguage" : "en", + "strings" : { + "" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "" + } + } + } + }, + "@%@" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "@%@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "@%@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "@%@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "@%@" + } + } + } + }, + "#%@" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "#%@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "#%@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "#%@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "#%@" + } + } + } + }, + "%@" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + } + } + }, + "%@, %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@, %2$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@, %2$@" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@, %2$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@, %2$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@, %2$@" + } + } + } + }, + "%lld" : { + "localizations" : { + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" + } + } + } + }, + "compose.error.cannotLoadImageFromExternalLibrary" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "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", + "value" : "Błąd podczas wczytywania zdjęć z biblioteki." + } + } + } + }, + "compose.error.errorDuringComposingAttributeString" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during composing attribute string." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Error al componer la cadena de atributos." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas tworzenia napisu." + } + } + } + }, + "compose.error.errorDuringDownloadingAutocomplete" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during downloading autocomplete." + } + }, + "es" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Error durante la descarga de autocompletar." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas pobierania listy." + } + } + } + }, + "compose.error.loadingPhotosFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cannot retreive image from library." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se puede recuperar la imagen de la biblioteca." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezin da liburutegiko irudia eskuratu." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de récupérer l'image depuis la bibliothèque." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie można pobrać zdjęcia z biblioteki." + } + } + } + }, + "compose.error.postingStatusFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during posting status." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al publicar el estado." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea egoera argitaratzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur pendant le post du statut." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wysyłania statusu." + } + } + } + }, + "compose.title.attachPhotoFull" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "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", + "value" : "Erantsi argazkia eta idatzi buruan duzuna" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Joignez une photo et écrivez ce qui vous convient" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dołącz zdjęcie i napisz, co myślisz" + } + } + } + }, + "compose.title.attachPhotoMini" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Type what's on your mind" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Escribe lo que piensas" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Idatzi buruan duzuna" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ecrivez ce qui vous convient" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wpisz, co masz na myśli" + } + } + } + }, + "compose.title.camera" : { + "comment" : "Camera", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Take photo" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hacer una foto" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egin argazkia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prendre une photo" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zrób zdjęcie" + } + } + } + }, + "compose.title.cancel" : { + "comment" : "Cancel", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancel" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utzi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anuluj" + } + } + } + }, + "compose.title.commentsWillBeDisabled" : { + "comment" : "Comments disabled", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comments will be disabled" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Los comentarios estarán desactivados" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Iruzkinak ezgaituko dira" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les commentaires seront désactivés" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Komentarze zostaną wyłączone" + } + } + } + }, + "compose.title.delete" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eliminar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezabatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuń" + } + } + } + }, + "compose.title.edit" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edytuj" + } + } + } + }, + "compose.title.everyone" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Everyone" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Todos" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edonorentzat ikusgai" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tout le monde" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Publiczny" + } + } + } + }, + "compose.title.files" : { + "comment" : "Files", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Browse files" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Explorar archivos" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Arakatu fitxategiak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Parcourir les fichiers" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Przeglądaj pliki" + } + } + } + }, + "compose.title.followers" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Followers" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seguidores" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jarraitzaileentzat soilik" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abonnés" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tylko obserwujący" + } + } + } + }, + "compose.title.missingAltTexts" : { + "comment" : "Missing ALT texts", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Missing ALT texts" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Textos ALT faltantes" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "ALT testurik ez" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manque un texte ALT" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brakuje tekstów ALT" + } + } + } + }, + "compose.title.missingAltTextsWarning" : { + "comment" : "Missing ALT texts warning", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "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", + "value" : "Irudiren bat ez da ikusmen urritasuna dutenentzat deskribatu. Argazkiok argitaratu nahi dituzu hala ere?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toutes les images n'ont pas été décrites pour les malvoyants. Souhaitez-vous tout de même envoyer des photos ?" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie wszystkie zdjęcia zostały opisane dla niedowidzących. Czy pomimo tego chcesz je wysłać?" + } + } + } + }, + "compose.title.photos" : { + "comment" : "Photo", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photos library" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fototeca" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argazki-liburutegia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Albums photos" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Biblioteka zdjęć" + } + } + } + }, + "compose.title.publish" : { + "comment" : "Publish", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Publish" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Publicar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argitaratu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Publier" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyślij" + } + } + } + }, + "compose.title.tryToUpload" : { + "comment" : "Try to upload", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Try to upload" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Intentar subir" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Saiatu igotzen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Essayer de télécharger" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ponów" + } + } + } + }, + "compose.title.unlisted" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unlisted" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No listado" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zerrendatu gabea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Non listé" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Publiczny (niewidoczny)" + } + } + } + }, + "compose.title.writeContentWarning" : { + "comment" : "Content warning", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Write content warning" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Escribir aviso de contenido" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Idatzi edukiari buruzko oharra" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rédaction d'un avertissement sur le contenu" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Napisz ostrzeżenie o treści" + } + } + } + }, + "global.error.errorDuringDeletingFileFromTmpDirectory" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "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", + "value" : "Błąd podczas usuwania pliku z folderu tymczasowego." + } + } + } + }, + "global.error.errorDuringGettingTmpDirectoryContents" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "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", + "value" : "Błąd podczas pobierania zawartości folderu tymczasowego." + } + } + } + }, + "global.error.errorDuringRemovingTransferredImage" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "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", + "value" : "Błąd podczas czyszczenia folderu tymczasowego." + } + } + } + }, + "global.title.contentWarning" : { + "comment" : "Sensitive content", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sensitive content" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contenido sensible" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eduki hunkigarria" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Contenu sensible" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wrażliwe treści" + } + } + } + }, + "global.title.momentsAgo" : { + "comment" : "moments ago", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "moments ago" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "hace uno momento" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "oraintxe bertan" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Il y a quelques instants" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "chwilę temu" + } + } + } + }, + "global.title.refresh" : { + "comment" : "Refresh", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Refresh" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actualizar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Freskatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rafraîchir" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odśwież" + } + } + } + }, + "global.title.seePost" : { + "comment" : "See post", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "See post" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ver publicación" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ikusi bidalketa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir le post" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pokaż zdjęcie" + } + } + } + }, + "global.title.showLess" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show less" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar menos" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erakutsi gutxiago" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Montrer moins" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pokaż mniej" + } + } + } + }, + "global.title.showMore" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Show more" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostrar más" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erakutsi gehiago" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Montrer plus" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pokaż więcej" + } + } + } + }, + "photoEdit.error.updatePhotoFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error during updating photo." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al actualizar la foto." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errorea argazkia eguneratzean." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur pendant la mise à jour de la photo." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas aktualizowania zdjęcia." + } + } + } + }, + "photoEdit.navigationBar.title" : { + "comment" : "Title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photo details" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Detalles de la foto" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argazkiaren xehetasunak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Détails sur la photo" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szczegóły zdjęcia" + } + } + } + }, + "photoEdit.title.accessibility" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accessibility" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accesibilidad" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Irisgarritasuna" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Accessibilité" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dostępność" + } + } + } + }, + "photoEdit.title.accessibilityDescription" : { + "comment" : "Accesibility", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Description for the visually impaired" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Descripción para personas con discapacidad visual" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ikusmen urritasuna dutenentzat deskribapena" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Description pour les malvoyants" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Opis dla osób niedowidzących" + } + } + } + }, + "photoEdit.title.cancel" : { + "comment" : "Cancel", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancel" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utzi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anuluj" + } + } + } + }, + "photoEdit.title.photo" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photo" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Foto" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Argazkia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Photo" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zdjęcie" + } + } + } + }, + "photoEdit.title.save" : { + "comment" : "Save", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Save" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Guardar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gorde" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enregistrer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zapisz" + } + } + } + }, + "placeSelector.error.loadingPlacesFailed" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loading notifications failed." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al cargar las notificaciones." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jakinarazpenak kargatzeak huts egin du." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chargement des notifications échoué." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas wczytywanie lokalizacji." + } + } + } + }, + "placeSelector.navigationBar.title" : { + "comment" : "Title", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Places" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lugares" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tokiak" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lieux" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lokalizacja" + } + } + } + }, + "placeSelector.title.buttonSearch" : { + "comment" : "Search", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Search" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buscar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bilatu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rechercher" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szukaj" + } + } + } + }, + "placeSelector.title.cancel" : { + "comment" : "Cancel", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancel" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utzi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anuluj" + } + } + } + }, + "placeSelector.title.search" : { + "comment" : "Search", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Search..." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buscar..." + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bilatu..." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rechercher..." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyszukaj..." + } + } + } + }, + "status.title.altText" : { + "comment" : "ALT", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "ALT" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "ALT" + } + }, + "eu" : { + "stringUnit" : { + "state" : "translated", + "value" : "ALT" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "ALT" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "ALT" + } + } + } + } + }, + "version" : "1.0" +} \ No newline at end of file diff --git a/WidgetsKit/Sources/WidgetsKit/Models/PhotoAttachment.swift b/WidgetsKit/Sources/WidgetsKit/Models/PhotoAttachment.swift index 56748ac..7924fce 100644 --- a/WidgetsKit/Sources/WidgetsKit/Models/PhotoAttachment.swift +++ b/WidgetsKit/Sources/WidgetsKit/Models/PhotoAttachment.swift @@ -117,7 +117,7 @@ public extension [PhotoAttachment] { do { try FileManager.default.removeItem(at: fileUrl) } catch { - ErrorService.shared.handle(error, message: "Error during removing transferred image from tmp directory.") + ErrorService.shared.handle(error, message: "global.error.errorDuringRemovingTransferredImage") } } } diff --git a/WidgetsKit/Sources/WidgetsKit/TextView/TextModel.swift b/WidgetsKit/Sources/WidgetsKit/TextView/TextModel.swift index b69c9de..41f06f9 100644 --- a/WidgetsKit/Sources/WidgetsKit/TextView/TextModel.swift +++ b/WidgetsKit/Sources/WidgetsKit/TextView/TextModel.swift @@ -131,7 +131,7 @@ public class TextModel: NSObject, ObservableObject { } } } catch { - ErrorService.shared.handle(error, message: "Error during composing attribute string.") + ErrorService.shared.handle(error, message: "compose.error.errorDuringComposingAttributeString") } } @@ -158,7 +158,7 @@ public class TextModel: NSObject, ObservableObject { break } } catch { - ErrorService.shared.handle(error, message: "Error during downloading autocomplete.") + ErrorService.shared.handle(error, message: "compose.error.errorDuringDownloadingAutocomplete") } } } diff --git a/WidgetsKit/Sources/WidgetsKit/Views/BaseComposeView.swift b/WidgetsKit/Sources/WidgetsKit/Views/BaseComposeView.swift index 52ca457..4fa47c5 100644 --- a/WidgetsKit/Sources/WidgetsKit/Views/BaseComposeView.swift +++ b/WidgetsKit/Sources/WidgetsKit/Views/BaseComposeView.swift @@ -116,14 +116,14 @@ public struct BaseComposeView: View { await self.publishStatus() } } label: { - Text("compose.title.publish", comment: "Publish") + Text("compose.title.publish", bundle: Bundle.module, comment: "Publish") } .disabled(self.publishDisabled) .buttonStyle(.borderedProminent) } ToolbarItem(placement: .cancellationAction) { - Button(NSLocalizedString("compose.title.cancel", comment: "Cancel"), role: .cancel) { + Button(NSLocalizedString("compose.title.cancel", bundle: Bundle.module, comment: "Cancel"), role: .cancel) { self.close() } } @@ -184,14 +184,14 @@ public struct BaseComposeView: View { .background(.black) }) .alert(isPresented: $showAltAlert, content: { - Alert(title: Text("compose.title.missingAltTexts", comment: "Missing ALT texts"), - message: Text("compose.title.missingAltTextsWarning", comment: "Missing ALT texts warning"), - primaryButton: .default(Text("compose.title.publish", comment: "Publish")) { + Alert(title: Text("compose.title.missingAltTexts", bundle: Bundle.module, comment: "Missing ALT texts"), + message: Text("compose.title.missingAltTextsWarning", bundle: Bundle.module, comment: "Missing ALT texts warning"), + primaryButton: .default(Text("compose.title.publish", bundle: Bundle.module, comment: "Publish")) { Task { await self.sendToServer() } }, - secondaryButton: .cancel(Text("compose.title.cancel", comment: "Cancel"))) + secondaryButton: .cancel(Text("compose.title.cancel", bundle: Bundle.module, comment: "Cancel"))) }) .interactiveDismissDisabled(self.interactiveDismissDisabled) } @@ -302,7 +302,7 @@ public struct BaseComposeView: View { TextView($textModel.text, getTextView: { textView in self.textModel.textView = textView }) - .placeholder(self.placeholder()) + .placeholder(LocalizedStringKey(self.placeholder())) .padding(.horizontal, 8) .focused($focusedField, equals: .content) .onFirstAppear { @@ -328,7 +328,7 @@ public struct BaseComposeView: View { @ViewBuilder private func contentWarningView() -> some View { if self.isSensitive { - TextField("compose.title.writeContentWarning", text: $spoilerText, axis: .vertical) + TextField(NSLocalizedString("compose.title.writeContentWarning", bundle: Bundle.module, comment: "Content warning"), text: $spoilerText, axis: .vertical) .padding(8) .lineLimit(1...2) .focused($focusedField, equals: .spoilerText) @@ -342,7 +342,7 @@ public struct BaseComposeView: View { if self.commentsDisabled { HStack { Spacer() - Text("compose.title.commentsWillBeDisabled") + Text("compose.title.commentsWillBeDisabled", bundle: Bundle.module, comment: "Comments disabled") .textCase(.uppercase) .font(.caption2) .foregroundColor(.dangerColor) @@ -360,7 +360,11 @@ public struct BaseComposeView: View { self.visibilityText = "compose.title.everyone" self.visibilityImage = "globe.europe.africa" } label: { - Label("compose.title.everyone", systemImage: "globe.europe.africa") + Label { + Text("compose.title.everyone", bundle: Bundle.module, comment: "Everyone") + } icon: { + Image(systemName: "globe.europe.africa") + } } Button { @@ -368,7 +372,11 @@ public struct BaseComposeView: View { self.visibilityText = "compose.title.unlisted" self.visibilityImage = "lock.open" } label: { - Label("compose.title.unlisted", systemImage: "lock.open") + Label { + Text("compose.title.unlisted", bundle: Bundle.module, comment: "Unlisted") + } icon: { + Image(systemName: "lock.open") + } } Button { @@ -376,11 +384,19 @@ public struct BaseComposeView: View { self.visibilityText = "compose.title.followers" self.visibilityImage = "lock" } label: { - Label("compose.title.followers", systemImage: "lock") + Label { + Text("compose.title.followers", bundle: Bundle.module, comment: "Followers") + } icon: { + Image(systemName: "lock") + } } } label: { HStack { - Label(self.visibilityText, systemImage: self.visibilityImage) + Label { + Text(self.visibilityText, bundle: Bundle.module, comment: "Visibility text") + } icon: { + Image(systemName: self.visibilityImage) + } Image(systemName: "chevron.down") } .padding(.vertical, 4) @@ -465,7 +481,11 @@ public struct BaseComposeView: View { self.focusedField = .unknown self.photosPickerVisible = true } label: { - Label("compose.title.photos", systemImage: "photo") + Label { + Text("compose.title.photos", bundle: Bundle.module, comment: "Photo") + } icon: { + Image(systemName: "photo") + } } Button { @@ -473,7 +493,11 @@ public struct BaseComposeView: View { self.focusedField = .unknown self.isCameraPickerPresented = true } label: { - Label("compose.title.camera", systemImage: "camera") + Label { + Text("compose.title.camera", bundle: Bundle.module, comment: "Camera") + } icon: { + Image(systemName: "camera") + } } Button { @@ -481,7 +505,11 @@ public struct BaseComposeView: View { self.focusedField = .unknown isFileImporterPresented = true } label: { - Label("compose.title.files", systemImage: "folder") + Label { + Text("compose.title.files", bundle: Bundle.module, comment: "Files") + } icon: { + Image(systemName: "folder") + } } } label: { Image(systemName: self.photosAreAttached ? "photo.fill.on.rectangle.fill" : "photo.on.rectangle") @@ -547,8 +575,8 @@ public struct BaseComposeView: View { .background(Color.keyboardToolbarColor) } - private func placeholder() -> LocalizedStringKey { - self.statusViewModel == nil ? "compose.title.attachPhotoFull" : "compose.title.attachPhotoMini" + private func placeholder() -> String { + self.statusViewModel == nil ? NSLocalizedString("compose.title.attachPhotoFull", bundle: Bundle.module, comment: "") : NSLocalizedString("compose.title.attachPhotoMini", bundle: Bundle.module, comment: "") } private func isPublishButtonDisabled() -> Bool { @@ -643,7 +671,7 @@ public struct BaseComposeView: View { photoAttachment.loadError = error if Bundle.main.bundlePath.hasSuffix(".appex") { - ErrorService.shared.handle(error, message: "Cannot load image from external library.") + ErrorService.shared.handle(error, message: "compose.error.cannotLoadImageFromExternalLibrary") } else { ErrorService.shared.handle(error, message: "compose.error.loadingPhotosFailed", showToastr: true) } diff --git a/WidgetsKit/Sources/WidgetsKit/Views/ImageUploadView.swift b/WidgetsKit/Sources/WidgetsKit/Views/ImageUploadView.swift index add125a..76058cd 100644 --- a/WidgetsKit/Sources/WidgetsKit/Views/ImageUploadView.swift +++ b/WidgetsKit/Sources/WidgetsKit/Views/ImageUploadView.swift @@ -39,7 +39,7 @@ public struct ImageUploadView: View { HapticService.shared.fireHaptic(of: .buttonPress) self.upload() } label: { - Text("compose.title.tryToUpload", comment: "Try to upload") + Text("compose.title.tryToUpload", bundle: Bundle.module, comment: "Try to upload") .font(.caption) }.buttonStyle(.borderedProminent) } else { @@ -113,7 +113,7 @@ public struct ImageUploadView: View { .foregroundStyle(Color.white, Color.systemGreen) } - Text("status.title.altText", comment: "ALT") + Text("status.title.altText", bundle: Bundle.module, comment: "ALT") .foregroundStyle(Color.white) } .font(.system(size: 12)) diff --git a/WidgetsKit/Sources/WidgetsKit/Views/PhotoEditorView.swift b/WidgetsKit/Sources/WidgetsKit/Views/PhotoEditorView.swift index 3220629..bbf58d9 100644 --- a/WidgetsKit/Sources/WidgetsKit/Views/PhotoEditorView.swift +++ b/WidgetsKit/Sources/WidgetsKit/Views/PhotoEditorView.swift @@ -37,7 +37,7 @@ public struct PhotoEditorView: View { } Section(header: Text("photoEdit.title.accessibility")) { - TextField("photoEdit.title.accessibilityDescription", text: $description, axis: .vertical) + TextField(NSLocalizedString("photoEdit.title.accessibilityDescription", bundle: Bundle.module, comment: "Accesibility"), text: $description, axis: .vertical) .keyboardType(.default) .lineLimit(3...6) .multilineTextAlignment(.leading) @@ -53,7 +53,7 @@ public struct PhotoEditorView: View { .onAppear { self.description = self.photoAttachment.uploadedAttachment?.description ?? String.empty() } - .navigationTitle("photoEdit.navigationBar.title") + .navigationTitle(NSLocalizedString("photoEdit.navigationBar.title", bundle: Bundle.module, comment: "Title")) .navigationBarTitleDisplayMode(.inline) .toolbar { self.getTrailingToolbar() @@ -67,12 +67,12 @@ public struct PhotoEditorView: View { ActionButton(showLoader: false) { await self.update() } label: { - Text("photoEdit.title.save", comment: "Save") + Text("photoEdit.title.save", bundle: Bundle.module, comment: "Save") }.buttonStyle(.borderedProminent) } ToolbarItem(placement: .cancellationAction) { - Button(NSLocalizedString("photoEdit.title.cancel", comment: "Cancel"), role: .cancel) { + Button(NSLocalizedString("photoEdit.title.cancel", bundle: Bundle.module, comment: "Cancel"), role: .cancel) { dismiss() } } diff --git a/WidgetsKit/Sources/WidgetsKit/Views/PlaceSelectorView.swift b/WidgetsKit/Sources/WidgetsKit/Views/PlaceSelectorView.swift index f636289..ad39ed7 100644 --- a/WidgetsKit/Sources/WidgetsKit/Views/PlaceSelectorView.swift +++ b/WidgetsKit/Sources/WidgetsKit/Views/PlaceSelectorView.swift @@ -37,7 +37,7 @@ public struct PlaceSelectorView: View { List { Section { HStack { - TextField("placeSelector.title.search", text: $query) + TextField(NSLocalizedString("placeSelector.title.search", bundle: Bundle.module, comment: "Search"), text: $query) .padding(8) .focused($focusedField, equals: .search) .keyboardType(.default) @@ -50,7 +50,7 @@ public struct PlaceSelectorView: View { await self.searchPlaces() } } label: { - Text("placeSelector.title.buttonSearch", comment: "Search") + Text("placeSelector.title.buttonSearch", bundle: Bundle.module, comment: "Search") } .buttonStyle(.bordered) @@ -93,7 +93,7 @@ public struct PlaceSelectorView: View { } } } - .navigationTitle("placeSelector.navigationBar.title") + .navigationTitle(NSLocalizedString("placeSelector.navigationBar.title", bundle: Bundle.module, comment: "Title")) .navigationBarTitleDisplayMode(.inline) .toolbar { self.getTrailingToolbar() @@ -104,7 +104,7 @@ public struct PlaceSelectorView: View { @ToolbarContentBuilder private func getTrailingToolbar() -> some ToolbarContent { ToolbarItem(placement: .cancellationAction) { - Button(NSLocalizedString("placeSelector.title.cancel", comment: "Cancel"), role: .cancel) { + Button(NSLocalizedString("placeSelector.title.cancel", bundle: Bundle.module, comment: "Cancel"), role: .cancel) { self.dismiss() } } diff --git a/WidgetsKit/Sources/WidgetsKit/Widgets/BottomRight.swift b/WidgetsKit/Sources/WidgetsKit/Widgets/BottomRight.swift index 4621bdb..66b85ee 100644 --- a/WidgetsKit/Sources/WidgetsKit/Widgets/BottomRight.swift +++ b/WidgetsKit/Sources/WidgetsKit/Widgets/BottomRight.swift @@ -23,11 +23,3 @@ public struct BottomRight: View { } } } - -struct BottomRight_Previews: PreviewProvider { - static var previews: some View { - BottomRight { - Text("1/2") - } - } -} diff --git a/WidgetsKit/Sources/WidgetsKit/Widgets/ContentWarning.swift b/WidgetsKit/Sources/WidgetsKit/Widgets/ContentWarning.swift index ac5c3ae..6aba4c4 100644 --- a/WidgetsKit/Sources/WidgetsKit/Widgets/ContentWarning.swift +++ b/WidgetsKit/Sources/WidgetsKit/Widgets/ContentWarning.swift @@ -58,7 +58,7 @@ public struct ContentWarning: View { Image(systemName: "eye.slash.fill") .font(.title2) .shadow(color: Color.systemBackground, radius: 0.3) - Text("global.title.contentWarning", comment: "Sensitive content") + Text("global.title.contentWarning", bundle: Bundle.module, comment: "Sensitive content") .font(.title2) .shadow(color: Color.systemBackground, radius: 0.3) if let spoilerText { @@ -72,7 +72,7 @@ public struct ContentWarning: View { self.showSensitive = true } } label: { - Text("global.title.seePost", comment: "See post") + Text("global.title.seePost", bundle: Bundle.module, comment: "See post") .shadow(color: Color.systemBackground, radius: 0.3) } .buttonStyle(.bordered) diff --git a/WidgetsKit/Sources/WidgetsKit/Widgets/ErrorView.swift b/WidgetsKit/Sources/WidgetsKit/Widgets/ErrorView.swift index 865f956..a881eee 100644 --- a/WidgetsKit/Sources/WidgetsKit/Widgets/ErrorView.swift +++ b/WidgetsKit/Sources/WidgetsKit/Widgets/ErrorView.swift @@ -31,7 +31,7 @@ public struct ErrorView: View { await refreshAction() } } label: { - Text("global.title.refresh", comment: "Refresh") + Text("global.title.refresh", bundle: Bundle.module, comment: "Refresh") } } } diff --git a/WidgetsKit/Sources/WidgetsKit/Widgets/ExpandableText.swift b/WidgetsKit/Sources/WidgetsKit/Widgets/ExpandableText.swift index 35407b2..b7bd809 100644 --- a/WidgetsKit/Sources/WidgetsKit/Widgets/ExpandableText.swift +++ b/WidgetsKit/Sources/WidgetsKit/Widgets/ExpandableText.swift @@ -57,7 +57,7 @@ struct ExpandableText: View { isExpanded.toggle() } } label: { - Text(isExpanded ? "global.title.showLess" : "global.title.showMore", comment: "Show less/more") + Text(isExpanded ? "global.title.showLess" : "global.title.showMore", bundle: Bundle.module, comment: "Show less/more") .foregroundColor(.accentColor) .textCase(.uppercase) } diff --git a/WidgetsKit/Sources/WidgetsKit/Widgets/ImageAlternativeText.swift b/WidgetsKit/Sources/WidgetsKit/Widgets/ImageAlternativeText.swift index 781d908..340feb7 100644 --- a/WidgetsKit/Sources/WidgetsKit/Widgets/ImageAlternativeText.swift +++ b/WidgetsKit/Sources/WidgetsKit/Widgets/ImageAlternativeText.swift @@ -29,7 +29,7 @@ public struct ImageAlternativeText: View { Button { self.open(text) } label: { - Text("status.title.altText", comment: "ALT") + Text("status.title.altText", bundle: Bundle.module, comment: "ALT") .font(.system(size: 12)) .shadow(color: .black, radius: 4) .foregroundColor(.white.opacity(0.8))