diff --git a/BUILD b/BUILD new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/BUILD @@ -0,0 +1 @@ + diff --git a/README.md b/README.md index d3be720b..2420f572 100644 --- a/README.md +++ b/README.md @@ -6,5 +6,10 @@ ## Special thanks +@forenta for German translation + +@andrigamerita for Italian translation + @hellojaccc for Korean translation + @duy@mas.to for Vietnamese translation \ No newline at end of file diff --git a/fastlane/Deliverfile b/fastlane/Deliverfile index 41d6b634..30cb08e4 100644 --- a/fastlane/Deliverfile +++ b/fastlane/Deliverfile @@ -1,4 +1,4 @@ -languages(['zh-Hans', 'vi', 'ko', 'en-US']) +languages(['zh-Hans', 'vi', 'ko', 'en-US', 'de-DE']) name({ 'default' => "tooot" @@ -27,4 +27,4 @@ submission_information({ add_id_info_tracks_action: false, add_id_info_tracks_install: false, add_id_info_uses_idfa: true -}) \ No newline at end of file +}) diff --git a/fastlane/metadata/en-US/release_notes.txt b/fastlane/metadata/en-US/release_notes.txt index b81243d0..2859b8c8 100644 --- a/fastlane/metadata/en-US/release_notes.txt +++ b/fastlane/metadata/en-US/release_notes.txt @@ -1 +1,5 @@ -Support iPad \ No newline at end of file +Support editing toot +Integrated into system's share menu +Follow system's font weight setting (iOS) +Upload gif from keyboard (Android) +Added German and Italian diff --git a/fastlane/metadata/zh-Hans/release_notes.txt b/fastlane/metadata/zh-Hans/release_notes.txt index 6b6d6a1a..ebf42983 100644 --- a/fastlane/metadata/zh-Hans/release_notes.txt +++ b/fastlane/metadata/zh-Hans/release_notes.txt @@ -1 +1,5 @@ -添加支持iPad +支持编辑嘟文 +支持系统图片分享 +跟随系统字体粗细(苹果) +键盘上传gif图片(安卓) +新增德语和意大利语 diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 4d3e9684..ddf3ce96 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -29,7 +29,7 @@ PODS: - EXJSONUtils (0.3.0) - EXManifests (0.3.0): - EXJSONUtils - - EXNotifications (0.15.2): + - EXNotifications (0.14.1): - ExpoModulesCore - Expo (45.0.3): - ExpoModulesCore @@ -571,6 +571,8 @@ PODS: - Sentry (7.11.0): - Sentry/Core (= 7.11.0) - Sentry/Core (7.11.0) + - UMTaskManagerInterface (7.1.1): + - ExpoModulesCore - Yoga (1.14.0) DEPENDENCIES: @@ -654,6 +656,7 @@ DEPENDENCIES: - "RNSentry (from `../node_modules/@sentry/react-native`)" - RNShareMenu (from `../node_modules/react-native-share-menu`) - RNSVG (from `../node_modules/react-native-svg`) + - UMTaskManagerInterface (from `../node_modules/unimodules-task-manager-interface/ios`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -830,6 +833,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-share-menu" RNSVG: :path: "../node_modules/react-native-svg" + UMTaskManagerInterface: + :path: "../node_modules/unimodules-task-manager-interface/ios" Yoga: :path: "../node_modules/react-native/ReactCommon/yoga" @@ -848,7 +853,7 @@ SPEC CHECKSUMS: EXImageLoader: b88e053d760f85a82405b1db2de4abf11978fc9f EXJSONUtils: 2a74b8f40f1523cc3f92af99c91aa78201737a77 EXManifests: 0c6134b7b6f3236a93a778c3f44ba1cfb3f9fa3d - EXNotifications: ea9fc56d27d1fee229489c5d8f452c7f367c237e + EXNotifications: a7d582fa800d77f4a75bd22d52e84e2fbcee26df Expo: 353cd6d2154838c0c8bb1072d3ac89eb535a2ef4 ExpoCrypto: d0d0f3e20875dc450b4ec88f0fb608da5c2c6c17 ExpoHaptics: ad58ec96a25e57579c14a47c7d71f0de0de8656a @@ -928,6 +933,7 @@ SPEC CHECKSUMS: SDWebImage: 0905f1b7760fc8ac4198cae0036600d67478751e SDWebImageWebPCoder: f93010f3f6c031e2f8fb3081ca4ee6966c539815 Sentry: 0c5cd63d714187b4a39c331c1f0eb04ba7868341 + UMTaskManagerInterface: 3184c93ecc290bd422c6e344badc89b601e9c29b Yoga: 99652481fcd320aefa4a7ef90095b95acd181952 PODFILE CHECKSUM: d6d20fa7c51228cebc309aed987ed7d8f4274844 diff --git a/package.json b/package.json index 903d8483..72249e8f 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "expo-image-picker": "13.1.1", "expo-linking": "3.1.0", "expo-localization": "13.0.0", - "expo-notifications": "0.15.2", + "expo-notifications": "0.14.1", "expo-random": "12.2.0", "expo-screen-capture": "4.2.0", "expo-secure-store": "11.2.0", diff --git a/src/i18n/de/_all.ts b/src/i18n/de/_all.ts new file mode 100644 index 00000000..fa81be2e --- /dev/null +++ b/src/i18n/de/_all.ts @@ -0,0 +1,17 @@ +export default { + common: require('./common'), + + screens: require('./screens'), + screenActions: require('./screens/actions'), + screenAnnouncements: require('./screens/announcements'), + screenCompose: require('./screens/compose'), + screenImageViewer: require('./screens/imageViewer'), + screenTabs: require('./screens/tabs'), + + componentEmojis: require('./components/emojis'), + componentInstance: require('./components/instance'), + componentMediaSelector: require('./components/mediaSelector'), + componentParse: require('./components/parse'), + componentRelationship: require('./components/relationship'), + componentTimeline: require('./components/timeline') +} diff --git a/src/i18n/de/common.json b/src/i18n/de/common.json index a7bc667b..c9876900 100644 --- a/src/i18n/de/common.json +++ b/src/i18n/de/common.json @@ -1,5 +1,6 @@ { "buttons": { + "OK": "", "apply": "Übernehmen", "cancel": "Abbrechen" }, diff --git a/src/i18n/de/components/emojis.json b/src/i18n/de/components/emojis.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/src/i18n/de/components/emojis.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/i18n/de/components/mediaSelector.json b/src/i18n/de/components/mediaSelector.json new file mode 100644 index 00000000..f4eab40b --- /dev/null +++ b/src/i18n/de/components/mediaSelector.json @@ -0,0 +1,28 @@ +{ + "title": "Datenquelle auswählen", + "options": { + "library": "Hochladen", + "photo": "Bild aufnehmen", + "cancel": "" + }, + "library": { + "alert": { + "title": "Kein Zugriff", + "message": "Für den Upload ist eine Zugriffsgenehmigung erforderlich", + "buttons": { + "settings": "Einstellungen bestätigen", + "cancel": "" + } + } + }, + "photo": { + "alert": { + "title": "Zugriff verweigert", + "message": "Zugriff auf die Kamera erforderlich", + "buttons": { + "settings": "Einstellungen übernehmen", + "cancel": "" + } + } + } +} \ No newline at end of file diff --git a/src/i18n/de/screens.json b/src/i18n/de/screens.json index ee03cc6b..ed9f21fe 100644 --- a/src/i18n/de/screens.json +++ b/src/i18n/de/screens.json @@ -10,5 +10,9 @@ "pushError": { "message": "Fehler des Benachrichtigungsdienstes", "description": "Bitte Benachrichtigungsdienst in den Einstellungen erneut aktivieren" + }, + "shareError": { + "imageNotSupported": "", + "videoNotSupported": "" } } \ No newline at end of file diff --git a/src/i18n/de/screens/compose.json b/src/i18n/de/screens/compose.json new file mode 100644 index 00000000..caa8fc28 --- /dev/null +++ b/src/i18n/de/screens/compose.json @@ -0,0 +1,178 @@ +{ + "heading": { + "left": { + "button": "Abbrechen", + "alert": { + "title": "Bearbeitung abbrechen?", + "buttons": { + "save": "Entwurf speichern", + "delete": "Entwurf löschen", + "cancel": "Abbrechen" + } + } + }, + "right": { + "button": { + "default": "Tröt", + "conversation": "Direktnachricht tröten", + "reply": "Antwort tröten", + "deleteEdit": "Tröt", + "edit": "Tröt", + "share": "Tröt" + }, + "alert": { + "default": { + "title": "Tröten fehlgeschlagen", + "button": "Erneut versuchen" + }, + "removeReply": { + "title": "Ursprungsnachricht nicht verfügbar", + "description": "Ursprungströt wurde gelöscht. Möchtest du die Verknüpfung zu ihn entfernen?", + "cancel": "$t(common:buttons.cancel)", + "confirm": "" + } + } + } + }, + "content": { + "root": { + "header": { + "postingAs": "Als @{{acct}}@{{domain}} tröten", + "spoilerInput": { + "placeholder": "Spoilerwarnung" + }, + "textInput": { + "placeholder": "Was geht in dir vor", + "keyboardImage": { + "exceedMaximum": { + "title": "", + "OK": "$t(common:buttons.OK)" + } + } + } + }, + "footer": { + "attachments": { + "sensitive": "Triggerwarnung setzen", + "remove": { + "accessibilityLabel": "Hochgeladenen Anhang {{attachment}} entfernen" + }, + "edit": { + "accessibilityLabel": "Hochgeladenen Anhang {{attachment}} bearbeiten" + }, + "upload": { + "accessibilityLabel": "Weiteren Anhang hinzufügen" + } + }, + "emojis": { + "accessibilityHint": "Emoji hinzufügen" + }, + "poll": { + "option": { + "placeholder": { + "accessibilityLabel": "Umfrageoption {{index}}", + "single": "Einfachauswahl", + "multiple": "Mehrfachauswahl" + } + }, + "quantity": { + "reduce": { + "accessibilityLabel": "Reduziere Auswahlmöglichkeiten auf {{amount}}", + "accessibilityHint": "Mindestanzahl der Antwortmöglichkeiten erreicht, aktuell {{amount}}" + }, + "increase": { + "accessibilityLabel": "Erhöhe Anzahl der Antwortmöglichkeiten auf {{amount}}", + "accessibilityHint": "" + } + }, + "multiple": { + "heading": "Auswahltyp wählen", + "options": { + "single": "Einfachauswahl", + "multiple": "Mehrfachauswahl", + "cancel": "$t(common:buttons.cancel)" + } + }, + "expiration": { + "heading": "Gültigkeit", + "options": { + "300": "5 Minuten", + "1800": "30 Minuten", + "3600": "1 Stunde", + "21600": "6 Stunden", + "86400": "1 Tag", + "259200": "3 Tage", + "604800": "7 Tage", + "cancel": "$t(common:buttons.cancel)" + } + } + } + }, + "actions": { + "attachment": { + "accessibilityLabel": "Anhang hochladen", + "accessibilityHint": "Umfrage wird entfernt, wenn ein Anhang vorhanden ist", + "failed": { + "alert": { + "title": "", + "button": "Noch einmal versuchen" + } + } + }, + "poll": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "visibility": { + "accessibilityLabel": "", + "title": "", + "options": { + "public": "Öffentlich", + "unlisted": "Ungelistet", + "private": "Nur für Folgende", + "direct": "", + "cancel": "$t(common:buttons.cancel)" + } + }, + "spoiler": { + "accessibilityLabel": "" + }, + "emoji": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "drafts_one": "", + "drafts_other": "" + }, + "editAttachment": { + "header": { + "title": "Anhang bearbeiten", + "right": { + "accessibilityLabel": "", + "failed": { + "title": "Bearbeitung fehlgeschlagen", + "button": "Noch einmal versuchen" + } + } + }, + "content": { + "altText": { + "heading": "Beschreibe den Inhalt für Sehbehinderte", + "placeholder": "Du kannst den Inhalten eine Beschreibung hinzufügen, auch \"Alt-Text\" genannt, damit sie für mehr Menschen zugänglich sind - auch für Blinde oder Sehbehinderte.\n\nGute Beschreibungen sind kurz und prägnant, geben aber den Inhalt Ihrer Medien genau genug wieder, um den Kontext zu verstehen." + }, + "imageFocus": "" + } + }, + "draftsList": { + "header": { + "title": "Entwurf" + }, + "content": { + "accessibilityHint": "Gespeicherter Entwurf, tippe, um diesen zu bearbeiten", + "textEmpty": "Kein Inhalt" + }, + "checkAttachment": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/de/screens/imageViewer.json b/src/i18n/de/screens/imageViewer.json new file mode 100644 index 00000000..036bfa4f --- /dev/null +++ b/src/i18n/de/screens/imageViewer.json @@ -0,0 +1,17 @@ +{ + "content": { + "actions": { + "accessibilityLabel": "Weitere Funktionen für das Bild", + "accessibilityHint": "Das Bild kann gespeichert oder geteilt werden" + }, + "options": { + "save": "Bild speichern", + "share": "Bild teilen", + "cancel": "" + }, + "save": { + "succeed": "Bild gespeichert", + "failed": "Speichern fehlgeschlagen" + } + } +} \ No newline at end of file diff --git a/src/i18n/de/screens/tabs.json b/src/i18n/de/screens/tabs.json new file mode 100644 index 00000000..b98356f0 --- /dev/null +++ b/src/i18n/de/screens/tabs.json @@ -0,0 +1,345 @@ +{ + "tabs": { + "local": { + "name": "Gefolgt" + }, + "public": { + "name": "", + "segments": { + "left": "Föderiert", + "right": "Lokal" + } + }, + "notifications": { + "name": "Benachrichtigungen" + }, + "me": { + "name": "Über mich" + } + }, + "common": { + "search": { + "accessibilityLabel": "Suche", + "accessibilityHint": "Suche nach Hashtags, Benutzern oder Tröts" + } + }, + "notifications": { + "filter": { + "accessibilityLabel": "Filter", + "accessibilityHint": "Angezeigte Benachrichtigungstypen filtern" + } + }, + "me": { + "stacks": { + "bookmarks": { + "name": "Lesezeichen" + }, + "conversations": { + "name": "Direktnachrichten" + }, + "favourites": { + "name": "Favoriten" + }, + "fontSize": { + "name": "Schriftgröße" + }, + "lists": { + "name": "Listen" + }, + "list": { + "name": "Liste: {{list}}" + }, + "push": { + "name": "Push-Benachrichtigung" + }, + "profile": { + "name": "Profil bearbeiten" + }, + "profileName": { + "name": "Anzeigename ändern" + }, + "profileNote": { + "name": "Beschreibung bearbeiten" + }, + "profileFields": { + "name": "Metadaten bearbeiten" + }, + "settings": { + "name": "App-Einstellungen" + }, + "webSettings": { + "name": "Kontoeinstellungen" + }, + "switch": { + "name": "Konto wechseln" + } + }, + "fontSize": { + "showcase": "Beispieltröt", + "demo": "

Dies ist ein Beispieltröt😊. Du kannst aus mehreren der unteren Möglichkeiten auswählen.

Diese Einstellung betrifft ausschließlich die Haupteinstellungen, nicht die Schriftgröße in anderen Bereichen der App.

", + "availableSizes": "Verfügbare Größen", + "sizes": { + "S": "S", + "M": "M – Standard", + "L": "L", + "XL": "XL", + "XXL": "XXL" + } + }, + "profile": { + "cancellation": { + "title": "Änderungen nicht gespeichert", + "message": "Änderung wurde nicht gespeichert. Möchtest du die Änderungen verwerfen?", + "buttons": { + "cancel": "$t(common:buttons.cancel)", + "discard": "Verwerfen" + } + }, + "feedback": { + "succeed": "{{type}} aktualisiert", + "failed": "{{type}} Aktualisierung fehlgeschlagen, bitte erneut versuchen" + }, + "root": { + "name": { + "title": "Anzeigename" + }, + "avatar": { + "title": "Avatar", + "description": "Wird auf 400x400px herunterskaliert" + }, + "header": { + "title": "Banner", + "description": "Wird auf 1500x500px herunterskaliert" + }, + "note": { + "title": "Beschreibung" + }, + "fields": { + "title": "Metadaten", + "total_one": "", + "total_other": "" + }, + "visibility": { + "title": "Sichtbarkeit des Beitrags", + "options": { + "public": "Öffentlich", + "unlisted": "Ungelistet", + "private": "Nur für Folgende", + "cancel": "$t(common:buttons.cancel)" + } + }, + "sensitive": { + "title": "Expliziten Beitrag posten" + }, + "lock": { + "title": "Konto sperren", + "description": "Follower manuell bestätigen" + }, + "bot": { + "title": "Bot-Konto", + "description": "Dieses Konto führt hauptsächlich automatisierte Aktionen aus und wird möglicherweise nicht überwacht" + } + }, + "fields": { + "group": "", + "label": "Kennzeichnung", + "content": "Inhalt" + } + }, + "push": { + "notAvailable": "Dein Gerät unterstützt keine Push-Benachrichtigung", + "enable": { + "direct": "Push-Benachrichtigungen aktivieren", + "settings": "In den Einstellungen aktivieren" + }, + "global": { + "heading": "Aktivieren für {{acct}}", + "description": "Nachrichten werden über den Tooot-Server geleitet" + }, + "decode": { + "heading": "Nachrichtendetails anzeigen", + "description": "Nachrichten, die über den tooot-Server geleitet werden, sind verschlüsselt, aber du kannst die Nachricht auf dem Server entschlüsseln. Unser Server-Quellcode ist Open Source - es gibt keine Log-Policy." + }, + "default": { + "heading": "Standard" + }, + "follow": { + "heading": "Neue Follower" + }, + "favourite": { + "heading": "Favoriten" + }, + "reblog": { + "heading": "Geboostet" + }, + "mention": { + "heading": "Hat dich erwähnt" + }, + "poll": { + "heading": "Umfrageupdate" + }, + "howitworks": "Erfahre, wie das Routing funktioniert" + }, + "root": { + "announcements": { + "content": { + "unread": "{{amount}} ungelesen", + "read": "Alles gelesen", + "empty": "Keine" + } + }, + "push": { + "content": { + "enabled": "Aktiviert", + "disabled": "Deaktiviert" + } + }, + "update": { + "title": "Auf neueste Version aktualisiert" + }, + "logout": { + "button": "Abmelden", + "alert": { + "title": "Abmelden?", + "message": "Nach dem Ausloggen musst du dich erneut anmelden", + "buttons": { + "logout": "Abmelden", + "cancel": "$t(common:buttons.cancel)" + } + } + } + }, + "settings": { + "fontsize": { + "heading": "$t(me.stacks.fontSize.name)", + "content": { + "S": "$t(me.fontSize.sizes.S)", + "M": "$t(me.fontSize.sizes.M)", + "L": "$t(me.fontSize.sizes.L)", + "XL": "$t(me.fontSize.sizes.XL)", + "XXL": "$t(me.fontSize.sizes.XXL)" + } + }, + "language": { + "heading": "Sprache", + "options": { + "cancel": "$t(common:buttons.cancel)" + } + }, + "theme": { + "heading": "Erscheinungsbild", + "options": { + "auto": "Wie System", + "light": "Heller Modus", + "dark": "Dunkler Modus", + "cancel": "$t(common:buttons.cancel)" + } + }, + "darkTheme": { + "heading": "Dunkles Design", + "options": { + "lighter": "Heller", + "darker": "Dunkler", + "cancel": "$t(common:buttons.cancel)" + } + }, + "browser": { + "heading": "Link öffnen", + "options": { + "internal": "Innerhalb der App", + "external": "Im Systembrowser öffnen", + "cancel": "$t(common:buttons.cancel)" + } + }, + "staticEmoji": { + "heading": "", + "description": "" + }, + "feedback": { + "heading": "Neue Funktion vorschlagen" + }, + "support": { + "heading": "Unterstütze Tooot" + }, + "review": { + "heading": "Tooot überprüfen" + }, + "contact": { + "heading": "Nimm Kontakt mit tooot auf" + }, + "analytics": { + "heading": "Hilf uns, besser zu werden", + "description": "Es werden ausschließlich Daten gesammelt, welche nicht nutzerbezogen sind" + }, + "version": "Version v{{version}}", + "instanceVersion": "" + }, + "switch": { + "existing": "Wähle ein Konto aus", + "new": "Instanz zur Anmeldung wählen" + } + }, + "shared": { + "account": { + "actions": { + "accessibilityLabel": "Aktionen für Benutzer {{user}}", + "accessibilityHint": "Du kannst diesen Benutzer stummschalten, blockieren, melden oder teilen" + }, + "followed_by": "", + "moved": "Benutzer umgezogen", + "created_at": "Registriert am: {{date}}", + "summary": { + "statuses_count": "{{count}} Tröts", + "following_count": "$t(shared.users.accounts.following)", + "followers_count": "$t(shared.users.accounts.followers)" + }, + "toots": { + "default": "Tröts", + "all": "Tröts und DruTröts" + } + }, + "attachments": { + "name": "<0 /><1>\"s Medien" + }, + "search": { + "header": { + "prefix": "Suche", + "placeholder": "nach..." + }, + "empty": { + "general": "Suche nach Schlüsselwort oder nach $t(screenTabs:shared.search.sections.accounts)$t(screenTabs:shared.search.sections.hashtags) or $t(screenTabs:shared.search.sections.statuses)", + "advanced": { + "header": "Erweiterte Suche", + "example": { + "account": "$t(shared.search.header.prefix) $t(shared.search.sections.accounts)", + "hashtag": "$t(shared.search.header.prefix) $t(shared.search.sections.hashtags)", + "statusLink": "$t(shared.search.header.prefix) $t(shared.search.sections.statuses)", + "accountLink": "$t(shared.search.header.prefix) $t(shared.search.sections.accounts)" + } + } + }, + "sections": { + "accounts": "Benutzer", + "hashtags": "Hashtag", + "statuses": "Tröt" + }, + "notFound": "Konnte {{searchTerm}}-bezogene {{type}} nicht finden" + }, + "toot": { + "name": "Diskussionen" + }, + "users": { + "accounts": { + "following": "Folgt {{count}}", + "followers": "{{count}} Follower" + }, + "statuses": { + "reblogged_by": "{{count}} mal geboosted", + "favourited_by": "{{count}} mal geherzt" + } + }, + "history": { + "name": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/i18n.ts b/src/i18n/i18n.ts index 0199f4f2..220124af 100644 --- a/src/i18n/i18n.ts +++ b/src/i18n/i18n.ts @@ -1,7 +1,9 @@ import i18n from 'i18next' import { initReactI18next } from 'react-i18next' +import de from '@root/i18n/de/_all' import en from '@root/i18n/en/_all' +import it from '@root/i18n/it/_all' import ko from '@root/i18n/ko/_all' import vi from '@root/i18n/vi/_all' import zh_Hans from '@root/i18n/zh-Hans/_all' @@ -13,7 +15,8 @@ i18n.use(initReactI18next).init({ ns: ['common'], defaultNS: 'common', - resources: { 'zh-Hans': zh_Hans, vi, ko, en }, + resources: { 'zh-Hans': zh_Hans, vi, ko, it, en, de }, + returnEmptyString: false, saveMissing: true, missingKeyHandler: (ns, key) => { diff --git a/src/i18n/it/_all.ts b/src/i18n/it/_all.ts new file mode 100644 index 00000000..fa81be2e --- /dev/null +++ b/src/i18n/it/_all.ts @@ -0,0 +1,17 @@ +export default { + common: require('./common'), + + screens: require('./screens'), + screenActions: require('./screens/actions'), + screenAnnouncements: require('./screens/announcements'), + screenCompose: require('./screens/compose'), + screenImageViewer: require('./screens/imageViewer'), + screenTabs: require('./screens/tabs'), + + componentEmojis: require('./components/emojis'), + componentInstance: require('./components/instance'), + componentMediaSelector: require('./components/mediaSelector'), + componentParse: require('./components/parse'), + componentRelationship: require('./components/relationship'), + componentTimeline: require('./components/timeline') +} diff --git a/src/i18n/it/common.json b/src/i18n/it/common.json new file mode 100644 index 00000000..182154db --- /dev/null +++ b/src/i18n/it/common.json @@ -0,0 +1,22 @@ +{ + "buttons": { + "OK": "OK", + "apply": "Applica", + "cancel": "Annulla" + }, + "customEmoji": { + "accessibilityLabel": "Emoji personalizzata {{emoji}}" + }, + "message": { + "success": { + "message": "{{function}} eseguito con successo" + }, + "warning": { + "message": "" + }, + "error": { + "message": "{{function}} fallito, per favore riprova" + } + }, + "separator": ", " +} \ No newline at end of file diff --git a/src/i18n/it/components/emojis.json b/src/i18n/it/components/emojis.json new file mode 100644 index 00000000..dfcfdea3 --- /dev/null +++ b/src/i18n/it/components/emojis.json @@ -0,0 +1,3 @@ +{ + "frequentUsed": "Usate di frequente" +} \ No newline at end of file diff --git a/src/i18n/it/components/instance.json b/src/i18n/it/components/instance.json new file mode 100644 index 00000000..59ba3636 --- /dev/null +++ b/src/i18n/it/components/instance.json @@ -0,0 +1,28 @@ +{ + "server": { + "textInput": { + "placeholder": "Dominio dell'istanza" + }, + "button": "Accedi", + "information": { + "name": "Nome", + "accounts": "Utenti", + "statuses": "Toot", + "domains": "Universi" + }, + "disclaimer": { + "base": "Per accedere, verrà aperta una pagina del browser di sistema. I dati di accesso del tuo account sono protetti. Leggi di più:", + "privacy": "politica sulla privacy" + } + }, + "update": { + "alert": { + "title": "Accesso a questa istanza effettuato", + "message": "Puoi accedere ad ulteriori account, mantenendo l'accesso a quelli già esistenti", + "buttons": { + "cancel": "$t(common:buttons.cancel)", + "continue": "Continua" + } + } + } +} \ No newline at end of file diff --git a/src/i18n/it/components/mediaSelector.json b/src/i18n/it/components/mediaSelector.json new file mode 100644 index 00000000..5ab89dd9 --- /dev/null +++ b/src/i18n/it/components/mediaSelector.json @@ -0,0 +1,28 @@ +{ + "title": "Seleziona origine media", + "options": { + "library": "Carica da libreria locale", + "photo": "Scatta una foto", + "cancel": "$t(common:buttons.cancel)" + }, + "library": { + "alert": { + "title": "Permesso non concesso", + "message": "È richiesto l'accesso ai file del dispositivo per il caricamento dalla libreria", + "buttons": { + "settings": "Correggi impostazioni", + "cancel": "$t(common:buttons.cancel)" + } + } + }, + "photo": { + "alert": { + "title": "Permesso non concesso", + "message": "È richiesto l'accesso alla fotocamera per scattare foto", + "buttons": { + "settings": "Correggi impostazioni", + "cancel": "$t(common:buttons.cancel)" + } + } + } +} \ No newline at end of file diff --git a/src/i18n/it/components/parse.json b/src/i18n/it/components/parse.json new file mode 100644 index 00000000..8f98a863 --- /dev/null +++ b/src/i18n/it/components/parse.json @@ -0,0 +1,9 @@ +{ + "HTML": { + "expanded": { + "true": "Richiudi {{hint}}", + "false": "Espandi {{hint}}" + }, + "defaultHint": "toot" + } +} \ No newline at end of file diff --git a/src/i18n/it/components/relationship.json b/src/i18n/it/components/relationship.json new file mode 100644 index 00000000..2b1cfeda --- /dev/null +++ b/src/i18n/it/components/relationship.json @@ -0,0 +1,16 @@ +{ + "follow": { + "function": "Segui utente" + }, + "block": { + "function": "Blocca utente" + }, + "button": { + "error": "Errore di caricamento", + "blocked_by": "L'utente ti ha bloccato", + "blocking": "Sblocca", + "following": "Smetti di seguire", + "requested": "Annulla richiesta di seguire", + "default": "Segui" + } +} \ No newline at end of file diff --git a/src/i18n/it/components/timeline.json b/src/i18n/it/components/timeline.json new file mode 100644 index 00000000..271209b5 --- /dev/null +++ b/src/i18n/it/components/timeline.json @@ -0,0 +1,234 @@ +{ + "empty": { + "error": { + "message": "Errore di caricamento", + "button": "Riprova" + }, + "success": { + "message": "Timeline vuota" + } + }, + "end": { + "message": "Hai letto tutto. Vuoi una tazza di <0 />" + }, + "lookback": { + "message": "Letto alle" + }, + "refresh": { + "fetchPreviousPage": "Più recenti da qui", + "refetch": "Vai a recenti" + }, + "shared": { + "actioned": { + "pinned": "Fissato in cima", + "favourite": "{{name}} ha apprezzato il tuo toot", + "status": "{{name}} ha appena pubblicato", + "follow": "{{name}} ti sta seguendo", + "follow_request": "{{name}} ha chiesto di seguirti", + "poll": "Un sondaggio in cui hai votato è terminato", + "reblog": { + "default": "{{name}} ha ricondiviso", + "notification": "{{name}} ha ricondiviso il tuo toot" + } + }, + "actions": { + "reply": { + "accessibilityLabel": "Rispondi a questo toot" + }, + "reblogged": { + "accessibilityLabel": "Ricondividi questo toot", + "function": "Ricondividi toot" + }, + "favourited": { + "accessibilityLabel": "Apprezza questo toot", + "function": "Apprezza toot" + }, + "bookmarked": { + "accessibilityLabel": "Aggiungi questo toot ai segnalibri", + "function": "Aggiungi toot ai segnalibri" + } + }, + "actionsUsers": { + "reblogged_by": { + "accessibilityLabel": "{{count}} utenti hanno ricondiviso questo toot", + "accessibilityHint": "Premi per vedere gli utenti", + "text": "$t(screenTabs:shared.users.statuses.reblogged_by)" + }, + "favourited_by": { + "accessibilityLabel": "{{count}} utenti hanno apprezzato questo toot", + "accessibilityHint": "Premi per vedere gli utenti", + "text": "$t(screenTabs:shared.users.statuses.favourited_by)" + }, + "history": { + "accessibilityLabel": "Questo toot è stato modificato {{count}} volte", + "accessibilityHint": "Premi per vedere la cronologia di revisioni", + "text_one": "{{count}} modifica", + "text_other": "{{count}} modifiche" + } + }, + "attachment": { + "sensitive": { + "button": "Mostra media sensibile" + }, + "unsupported": { + "text": "Errore di caricamento", + "button": "Apri sul sito dell'istanza remota" + } + }, + "avatar": { + "accessibilityLabel": "Foto profilo di {{name}}", + "accessibilityHint": "Premi per aprire il profilo di {{name}}" + }, + "content": { + "expandHint": "Contenuto nascosto" + }, + "filtered": "Filtrato", + "fullConversation": "Leggi la conversazione", + "translate": { + "default": "Traduci", + "succeed": "Traduzione da {{source}} fornita da {{provider}}", + "failed": "Traduzione fallita", + "source_not_supported": "La lingua del toot non è supportata", + "target_not_supported": "La lingua di destinazione non è supportata" + }, + "header": { + "shared": { + "account": { + "name": { + "accessibilityHint": "Nome visualizzato dell'utente" + }, + "account": { + "accessibilityHint": "Profilo dell'utente" + } + }, + "application": "Pubblicato via {{application}}", + "edited": { + "accessibilityLabel": "Toot modificato" + }, + "muted": { + "accessibilityLabel": "Toot mutato" + }, + "visibility": { + "direct": { + "accessibilityLabel": "Questo toot è un messaggio diretto" + }, + "private": { + "accessibilityLabel": "Questo toot è visibile solo ai seguaci" + } + } + }, + "conversation": { + "withAccounts": "Con", + "delete": { + "function": "Cancella messaggio" + } + }, + "actions": { + "accessibilityHint": "Azioni per questo toot, per l'utente che l'ha pubblicato o per il toot stesso", + "account": { + "heading": "Riguardo quest'utente", + "mute": { + "function": "Muta utente", + "button": "Muta @{{acct}}" + }, + "block": { + "function": "Blocca utente", + "button": "Blocca @{{acct}}" + }, + "reports": { + "function": "Segnala utente", + "button": "Segnala @{{acct}}" + } + }, + "domain": { + "heading": "Riguardo questa istanza", + "block": { + "function": "Blocca istanza", + "button": "Blocca istanza {{domain}}" + }, + "alert": { + "title": "Conferma blocco di {{domain}} ?", + "message": "Sarebbe meglio mutare o bloccare singoli utenti.\n\nSe blocchi un'istanza, tutti i suoi contenuti a te relativi, inclusi tutti i tuoi seguaci da questa, saranno rimossi.", + "buttons": { + "confirm": "Conferma blocco", + "cancel": "$t(common:buttons.cancel)" + } + } + }, + "share": { + "status": { + "heading": "Condividi toot", + "button": "Condividi il link a questo toot" + }, + "account": { + "heading": "Condividi utente", + "button": "Share il link a questo utente" + } + }, + "status": { + "heading": "Riguardo questo toot", + "edit": { + "function": "Modifica toot", + "button": "Modifica questo toot" + }, + "delete": { + "function": "Cancella toot", + "button": "Cancella toot", + "alert": { + "title": "Cancellare il toot?", + "message": "Vuoi davvero cancellare questo toot? Tutti gli apprezzamenti, le ricondivisioni, e le risposte verranno persi.", + "buttons": { + "confirm": "Conferma", + "cancel": "$t(common:buttons.cancel)" + } + } + }, + "deleteEdit": { + "function": "Cancella toot", + "button": "Cancella e riscrivi toot", + "alert": { + "title": "Cancellare e riscrivere il toot?", + "message": "Vuoi davvero cancellare e riscrivere questo toot? Tutti gli apprezzamenti, le ricondivisioni, e le risposte verranno persi.", + "buttons": { + "confirm": "Conferma", + "cancel": "$t(common:buttons.cancel)" + } + } + }, + "mute": { + "function": "Muta toot", + "button": { + "positive": "Muta questo toot e le sue risposte", + "negative": "Smuta questo toot e le sue risposte" + } + }, + "pin": { + "function": "Fissa in cima", + "button": { + "positive": "Fissa questo toot in cima al profilo", + "negative": "Togli questo toot dalla cima del profilo" + } + } + } + } + }, + "poll": { + "meta": { + "button": { + "vote": "Vota", + "refresh": "Ricarica" + }, + "count": { + "voters_one": "{{count}} utente ha votato", + "voters_other": "{{count}} utenti hanno votato", + "votes_one": "{{count}} voto", + "votes_other": "{{count}} voti" + }, + "expiration": { + "expired": "Voto scaduto", + "until": "Scade in <0 />" + } + } + } + } +} \ No newline at end of file diff --git a/src/i18n/it/screens.json b/src/i18n/it/screens.json new file mode 100644 index 00000000..a06decd7 --- /dev/null +++ b/src/i18n/it/screens.json @@ -0,0 +1,18 @@ +{ + "screenshot": { + "title": "Tutela della privacy", + "message": "Per favore, non rivelare l'identità degli altri utenti (nome, foto profilo, ecc..). Grazie!", + "button": "Ho capito" + }, + "localCorrupt": { + "message": "La sessione è scaduta, devi riaccedere" + }, + "pushError": { + "message": "Errore servizio push", + "description": "Riabilita le notifiche push nelle impostazioni" + }, + "shareError": { + "imageNotSupported": "Tipo immagine {{type}} non supportato", + "videoNotSupported": "Tipo video {{type}} non supportato" + } +} \ No newline at end of file diff --git a/src/i18n/it/screens/actions.json b/src/i18n/it/screens/actions.json new file mode 100644 index 00000000..36ee63af --- /dev/null +++ b/src/i18n/it/screens/actions.json @@ -0,0 +1,19 @@ +{ + "content": { + "button": { + "apply": "$t(common:buttons.apply)", + "cancel": "$t(common:buttons.cancel)" + }, + "notificationsFilter": { + "heading": "Filtra notifiche per tipo", + "content": { + "follow": "$t(screenTabs:me.push.follow.heading)", + "favourite": "$t(screenTabs:me.push.favourite.heading)", + "reblog": "$t(screenTabs:me.push.reblog.heading)", + "mention": "$t(screenTabs:me.push.mention.heading)", + "poll": "$t(screenTabs:me.push.poll.heading)", + "follow_request": "Richieste di seguirti" + } + } + } +} \ No newline at end of file diff --git a/src/i18n/it/screens/announcements.json b/src/i18n/it/screens/announcements.json new file mode 100644 index 00000000..c41719f6 --- /dev/null +++ b/src/i18n/it/screens/announcements.json @@ -0,0 +1,10 @@ +{ + "heading": "Annunci", + "content": { + "published": "Pubblicato <0 />", + "button": { + "read": "Già letto", + "unread": "Segna come letto" + } + } +} \ No newline at end of file diff --git a/src/i18n/it/screens/compose.json b/src/i18n/it/screens/compose.json new file mode 100644 index 00000000..4abf23cd --- /dev/null +++ b/src/i18n/it/screens/compose.json @@ -0,0 +1,178 @@ +{ + "heading": { + "left": { + "button": "Scarta", + "alert": { + "title": "Scartare il toot?", + "buttons": { + "save": "Salva come bozza", + "delete": "Scarta ed esci", + "cancel": "Annulla" + } + } + }, + "right": { + "button": { + "default": "Toot", + "conversation": "Messaggio diretto", + "reply": "Toot di risposta", + "deleteEdit": "Toot", + "edit": "Toot", + "share": "Toot" + }, + "alert": { + "default": { + "title": "Invio fallito", + "button": "Riprova" + }, + "removeReply": { + "title": "Impossibile trovare il toot a cui si è risposto", + "description": "Il toot a cui si è risposto potrebbe essere stato cancellato. Vuoi rimuoverne il riferimento?", + "cancel": "$t(common:buttons.cancel)", + "confirm": "Rimuovi" + } + } + } + }, + "content": { + "root": { + "header": { + "postingAs": "Pubblicando come @{{acct}}@{{domain}}", + "spoilerInput": { + "placeholder": "Avviso di spoiler" + }, + "textInput": { + "placeholder": "A cosa stai pensando?", + "keyboardImage": { + "exceedMaximum": { + "title": "Hai raggiunto il numero massimo di allegati permessi", + "OK": "$t(common:buttons.OK)" + } + } + } + }, + "footer": { + "attachments": { + "sensitive": "Segnala allegati come sensibili", + "remove": { + "accessibilityLabel": "Rimuovi allegato numero {{attachment}}" + }, + "edit": { + "accessibilityLabel": "Modifica allegato numero {{attachment}}" + }, + "upload": { + "accessibilityLabel": "Carica altri allegati" + } + }, + "emojis": { + "accessibilityHint": "Premi per aggiungere delle emoji a questo toot" + }, + "poll": { + "option": { + "placeholder": { + "accessibilityLabel": "Scelta di sondaggio {{index}}", + "single": "Risposta singola", + "multiple": "Risposta multipla" + } + }, + "quantity": { + "reduce": { + "accessibilityLabel": "Riduci le scelte del sondaggio a {{amount}}", + "accessibilityHint": "Hai raggiunto il minimo di scelte possibili per il sondaggio ({{amount}})" + }, + "increase": { + "accessibilityLabel": "Aumenta le scelte del sondaggio a {{amount}}", + "accessibilityHint": "Hai raggiunto il massimo di scelte possibili per il sondaggio ({{amount}})" + } + }, + "multiple": { + "heading": "Tipo di risposta", + "options": { + "single": "Risposta singola", + "multiple": "Risposta multipla", + "cancel": "$t(common:buttons.cancel)" + } + }, + "expiration": { + "heading": "Durata", + "options": { + "300": "5 minuti", + "1800": "30 minuti", + "3600": "1 ora", + "21600": "6 ore", + "86400": "1 giorno", + "259200": "3 giorni", + "604800": "7 giorni", + "cancel": "$t(common:buttons.cancel)" + } + } + } + }, + "actions": { + "attachment": { + "accessibilityLabel": "Carica allegato", + "accessibilityHint": "Non potrai creare sondaggi se carichi degli allegati", + "failed": { + "alert": { + "title": "Caricamento fallito", + "button": "Riprova" + } + } + }, + "poll": { + "accessibilityLabel": "Crea sondaggio", + "accessibilityHint": "Non potrai caricare allegati se crei un sondaggio" + }, + "visibility": { + "accessibilityLabel": "La visibilità del toot è: {{visibility}}", + "title": "Visibilità toot", + "options": { + "public": "Pubblico", + "unlisted": "Non listato", + "private": "Solo seguaci", + "direct": "Messaggio diretto", + "cancel": "$t(common:buttons.cancel)" + } + }, + "spoiler": { + "accessibilityLabel": "Spoiler" + }, + "emoji": { + "accessibilityLabel": "Aggiungi emoji", + "accessibilityHint": "Apri il pannello di selezione delle emoji, scorri orizzontalmente per cambiare tra le pagine" + } + }, + "drafts_one": "Bozze ({{count}})", + "drafts_other": "Bozze ({{count}})" + }, + "editAttachment": { + "header": { + "title": "Modifica allegato", + "right": { + "accessibilityLabel": "Salva le modifiche all'allegato", + "failed": { + "title": "Modifica fallita", + "button": "Riprova" + } + } + }, + "content": { + "altText": { + "heading": "Descrizione media per ipovedenti", + "placeholder": "Puoi aggiungere una descrizione (anche chiamata alt-text) ai tuoi media, così da renderli accessibili a molte più persone, incluse quelle con disabilità visive.\n\nUna buona descrizione è concisa ma presenta il contenuto del media in modo abbastanza accurato da farne capire il contesto." + }, + "imageFocus": "Trascina il cerchio per modificare il punto focale della foto" + } + }, + "draftsList": { + "header": { + "title": "Bozza" + }, + "content": { + "accessibilityHint": "Bozza salvata, premi per modificarla", + "textEmpty": "Testo vuoto" + }, + "checkAttachment": "Controllo degli allegati sul server..." + } + } +} \ No newline at end of file diff --git a/src/i18n/it/screens/imageViewer.json b/src/i18n/it/screens/imageViewer.json new file mode 100644 index 00000000..1a640fec --- /dev/null +++ b/src/i18n/it/screens/imageViewer.json @@ -0,0 +1,17 @@ +{ + "content": { + "actions": { + "accessibilityLabel": "Altre azioni per questa immagine", + "accessibilityHint": "Puoi salvare o condividere questa immagine" + }, + "options": { + "save": "Salva immagine", + "share": "Condividi immagine", + "cancel": "$t(common:buttons.cancel)" + }, + "save": { + "succeed": "Immagine salvata", + "failed": "Salvataggio immagine fallito" + } + } +} \ No newline at end of file diff --git a/src/i18n/it/screens/tabs.json b/src/i18n/it/screens/tabs.json new file mode 100644 index 00000000..083067f6 --- /dev/null +++ b/src/i18n/it/screens/tabs.json @@ -0,0 +1,345 @@ +{ + "tabs": { + "local": { + "name": "Home" + }, + "public": { + "name": "", + "segments": { + "left": "Federazione", + "right": "Locale" + } + }, + "notifications": { + "name": "Notifiche" + }, + "me": { + "name": "Profilo" + } + }, + "common": { + "search": { + "accessibilityLabel": "Cerca", + "accessibilityHint": "Cerca hashtags, utenti, o toot" + } + }, + "notifications": { + "filter": { + "accessibilityLabel": "Filtri", + "accessibilityHint": "Filtra le notifiche mostrate per tipo" + } + }, + "me": { + "stacks": { + "bookmarks": { + "name": "Segnalibri" + }, + "conversations": { + "name": "Messaggi diretti" + }, + "favourites": { + "name": "Apprezzati" + }, + "fontSize": { + "name": "Grandezza del testo dei toot" + }, + "lists": { + "name": "Liste" + }, + "list": { + "name": "Lista: {{list}}" + }, + "push": { + "name": "Notifiche push" + }, + "profile": { + "name": "Modifica profilo" + }, + "profileName": { + "name": "Modifica nome visualizzato" + }, + "profileNote": { + "name": "Modifica descrizione" + }, + "profileFields": { + "name": "Modifica metadati profilo" + }, + "settings": { + "name": "Impostazioni app" + }, + "webSettings": { + "name": "Altre impostazioni account" + }, + "switch": { + "name": "Cambia account" + } + }, + "fontSize": { + "showcase": "Toot di esempio", + "demo": "

Questo toot è un esempio 😺️. Puoi scegliere diverse opzioni di grandezza del testo qui sotto.

Questa impostazione si applica solo al testo dei toot, non anche agli altri testi della app.

", + "availableSizes": "Dimensioni testo", + "sizes": { + "S": "S", + "M": "M - Predefinito", + "L": "L", + "XL": "XL", + "XXL": "XXL" + } + }, + "profile": { + "cancellation": { + "title": "Modifiche non salvate", + "message": "Le tue modifiche non sono state salvate. Vuoi scartarle?", + "buttons": { + "cancel": "$t(common:buttons.cancel)", + "discard": "Scarta" + } + }, + "feedback": { + "succeed": "{{type}} aggiornato", + "failed": "Aggiornamento di {{type}} fallito, per favore riprova." + }, + "root": { + "name": { + "title": "Nome visualizzato" + }, + "avatar": { + "title": "Foto profilo", + "description": "Sarà ridotta a 400x400 px" + }, + "header": { + "title": "Immagine dell'intestazione", + "description": "Sarà ridotta a 1500x500 px" + }, + "note": { + "title": "Biografia" + }, + "fields": { + "title": "Metadati del profilo", + "total_one": "{{count}} campo", + "total_other": "{{count}} campi" + }, + "visibility": { + "title": "Privacy dei post predefinita", + "options": { + "public": "Pubblico", + "unlisted": "Non listato", + "private": "Solo seguaci", + "cancel": "$t(common:buttons.cancel)" + } + }, + "sensitive": { + "title": "Segna sempre i media come sensibili" + }, + "lock": { + "title": "Blocca account", + "description": "Richiede che approvi i seguaci manualmente" + }, + "bot": { + "title": "Questo account è un bot", + "description": "Questo account esegue operazioni automatiche e potrebbe non essere controllato da una persona" + } + }, + "fields": { + "group": "Gruppo {{index}}", + "label": "Etichetta", + "content": "Contenuto" + } + }, + "push": { + "notAvailable": "Il tuo dispositivo non supporta le notifiche push per tooot", + "enable": { + "direct": "Abilita notifiche push", + "settings": "Abilita nelle impostazioni" + }, + "global": { + "heading": "Abilita per {{acct}}", + "description": "I messaggi dovranno attraversare i server di tooot" + }, + "decode": { + "heading": "Mostra dettagli del messaggio", + "description": "I messaggi, che attraversano i server di tooot, sono cifrati per impostazione predefinita (ma puoi scegliere di disabilitare la cifratura). Il programma server è open source e abbiamo una politica no-log." + }, + "default": { + "heading": "Predefinito" + }, + "follow": { + "heading": "Nuovi seguaci" + }, + "favourite": { + "heading": "Apprezzamenti" + }, + "reblog": { + "heading": "Ricondivisioni" + }, + "mention": { + "heading": "Menzioni" + }, + "poll": { + "heading": "Novità sui sondaggi" + }, + "howitworks": "Scopri come funziona il traversamento dei messaggi" + }, + "root": { + "announcements": { + "content": { + "unread": "{{amount}} da leggere", + "read": "Tutto già letto", + "empty": "Vuoto" + } + }, + "push": { + "content": { + "enabled": "Abilitato", + "disabled": "Disabilitato" + } + }, + "update": { + "title": "Aggiorna all'ultima versione" + }, + "logout": { + "button": "Esci dall'account", + "alert": { + "title": "Uscire dall'account?", + "message": "Se esci dal tuo account, dovrai rifare l'accesso", + "buttons": { + "logout": "Esci", + "cancel": "$t(common:buttons.cancel)" + } + } + } + }, + "settings": { + "fontsize": { + "heading": "$t(me.stacks.fontSize.name)", + "content": { + "S": "$t(me.fontSize.sizes.S)", + "M": "$t(me.fontSize.sizes.M)", + "L": "$t(me.fontSize.sizes.L)", + "XL": "$t(me.fontSize.sizes.XL)", + "XXL": "$t(me.fontSize.sizes.XXL)" + } + }, + "language": { + "heading": "Lingua", + "options": { + "cancel": "$t(common:buttons.cancel)" + } + }, + "theme": { + "heading": "Tema", + "options": { + "auto": "Segui impostazioni di sistema", + "light": "Tema chiaro", + "dark": "Tema scuro", + "cancel": "$t(common:buttons.cancel)" + } + }, + "darkTheme": { + "heading": "Tema scuro", + "options": { + "lighter": "Poco scuro", + "darker": "Molto scuro", + "cancel": "$t(common:buttons.cancel)" + } + }, + "browser": { + "heading": "Apertura link", + "options": { + "internal": "Nella app", + "external": "Nel browser di sistema", + "cancel": "$t(common:buttons.cancel)" + } + }, + "staticEmoji": { + "heading": "Usa emoji statiche", + "description": "Se la app crasha spesso quando all'apertura della lista di emoji, puoi provare ad attivare le emoji statiche." + }, + "feedback": { + "heading": "Richiedi funzionalità" + }, + "support": { + "heading": "Supporta tooot" + }, + "review": { + "heading": "Recensisci tooot" + }, + "contact": { + "heading": "Contatta tooot" + }, + "analytics": { + "heading": "Aiutaci a migliorare", + "description": "Vengono raccolti dati di utilizzo anonimi" + }, + "version": "Versione di tooot: v{{version}}", + "instanceVersion": "Versione dell'istanza Mastodon: v{{version}}" + }, + "switch": { + "existing": "Scegli un account già inserito", + "new": "Accedi ad un'istanza" + } + }, + "shared": { + "account": { + "actions": { + "accessibilityLabel": "Azioni per l'utente {{user}}", + "accessibilityHint": "Puoi mutare, bloccare, segnalare o condividere l'utente" + }, + "followed_by": " ti segue", + "moved": "Profilo trasferito", + "created_at": "Account creato il: {{date}}", + "summary": { + "statuses_count": "{{count}} toot", + "following_count": "$t(shared.users.accounts.following)", + "followers_count": "$t(shared.users.accounts.followers)" + }, + "toots": { + "default": "Toot", + "all": "Toot e risposte" + } + }, + "attachments": { + "name": "Media di <0 /><1>\"" + }, + "search": { + "header": { + "prefix": "Cerca", + "placeholder": "qualcosa..." + }, + "empty": { + "general": "Inserisci una parola chiave per cercare $t(screenTabs:shared.search.sections.accounts),$t(screenTabs:shared.search.sections.hashtags), o $t(screenTabs:shared.search.sections.statuses)", + "advanced": { + "header": "Ricerca avanzata", + "example": { + "account": "$t(shared.search.header.prefix) $t(shared.search.sections.accounts)", + "hashtag": "$t(shared.search.header.prefix) $t(shared.search.sections.hashtags)", + "statusLink": "$t(shared.search.header.prefix) $t(shared.search.sections.statuses)", + "accountLink": "$t(shared.search.header.prefix) $t(shared.search.sections.accounts)" + } + } + }, + "sections": { + "accounts": "Utente", + "hashtags": "Hashtag", + "statuses": "Toot" + }, + "notFound": "Impossibile trovare {{searchTerm}} come {{type}}" + }, + "toot": { + "name": "Discussioni" + }, + "users": { + "accounts": { + "following": "{{count}} seguiti", + "followers": "{{count}} seguaci" + }, + "statuses": { + "reblogged_by": "{{count}} ricondivisioni", + "favourited_by": "{{count}} apprezzamenti" + } + }, + "history": { + "name": "Cronologia delle modifiche" + } + } +} \ No newline at end of file diff --git a/src/i18n/ko/common.json b/src/i18n/ko/common.json index 572eabf7..0a972cc4 100644 --- a/src/i18n/ko/common.json +++ b/src/i18n/ko/common.json @@ -1,5 +1,6 @@ { "buttons": { + "OK": "", "apply": "적용", "cancel": "취소" }, diff --git a/src/i18n/ko/components/timeline.json b/src/i18n/ko/components/timeline.json index 5106e5ff..8c4150d5 100644 --- a/src/i18n/ko/components/timeline.json +++ b/src/i18n/ko/components/timeline.json @@ -58,6 +58,12 @@ "accessibilityLabel": "{{count}}명의 사용자가 이 툿을 즐겨찾기했어요", "accessibilityHint": "유저를 보려면 탭하세요", "text": "$t(screenTabs:shared.users.statuses.favourited_by)" + }, + "history": { + "accessibilityLabel": "", + "accessibilityHint": "", + "text_one": "", + "text_other": "" } }, "attachment": { @@ -81,7 +87,9 @@ "translate": { "default": "번역", "succeed": "{{source}}에서 {{provider}}으로 번역됨", - "failed": "번역 실패" + "failed": "번역 실패", + "source_not_supported": "", + "target_not_supported": "" }, "header": { "shared": { @@ -94,6 +102,9 @@ } }, "application": "{{application}}으로 툿", + "edited": { + "accessibilityLabel": "" + }, "muted": { "accessibilityLabel": "툿 음소거됨" }, @@ -156,9 +167,21 @@ }, "status": { "heading": "툿 정보", + "edit": { + "function": "", + "button": "" + }, "delete": { "function": "툿 삭제", - "button": "이 툿 삭제" + "button": "이 툿 삭제", + "alert": { + "title": "툿을 정말 삭제할까요?", + "message": "", + "buttons": { + "confirm": "삭제 확인", + "cancel": "$t(common:buttons.cancel)" + } + } }, "deleteEdit": { "function": "툿 삭제", diff --git a/src/i18n/ko/screens.json b/src/i18n/ko/screens.json index 369590d9..db7fcfdd 100644 --- a/src/i18n/ko/screens.json +++ b/src/i18n/ko/screens.json @@ -10,5 +10,9 @@ "pushError": { "message": "푸시 서비스 오류", "description": "푸시 알림을 설정에서 다시 활성화해주세요" + }, + "shareError": { + "imageNotSupported": "", + "videoNotSupported": "" } } \ No newline at end of file diff --git a/src/i18n/ko/screens/compose.json b/src/i18n/ko/screens/compose.json index 50acee3a..d9f0bc1c 100644 --- a/src/i18n/ko/screens/compose.json +++ b/src/i18n/ko/screens/compose.json @@ -16,7 +16,9 @@ "default": "툿", "conversation": "툿 DM", "reply": "툿 답장", - "edit": "툿" + "deleteEdit": "툿", + "edit": "툿", + "share": "툿" }, "alert": { "default": { @@ -40,7 +42,13 @@ "placeholder": "스포일러 경고 메시지" }, "textInput": { - "placeholder": "무엇을 생각하고 있나요?" + "placeholder": "무엇을 생각하고 있나요?", + "keyboardImage": { + "exceedMaximum": { + "title": "", + "OK": "$t(common:buttons.OK)" + } + } } }, "footer": { @@ -163,7 +171,8 @@ "content": { "accessibilityHint": "저장된 초안, 수정하려면 탭하세요", "textEmpty": "콘텐츠 빔" - } + }, + "checkAttachment": "" } } } \ No newline at end of file diff --git a/src/i18n/ko/screens/tabs.json b/src/i18n/ko/screens/tabs.json index f1b89e16..2acaefcd 100644 --- a/src/i18n/ko/screens/tabs.json +++ b/src/i18n/ko/screens/tabs.json @@ -67,6 +67,9 @@ "settings": { "name": "앱 설정" }, + "webSettings": { + "name": "" + }, "switch": { "name": "계정 전환" } @@ -232,6 +235,14 @@ "cancel": "$t(common:buttons.cancel)" } }, + "darkTheme": { + "heading": "", + "options": { + "lighter": "", + "darker": "", + "cancel": "$t(common:buttons.cancel)" + } + }, "browser": { "heading": "링크 열기", "options": { @@ -240,6 +251,13 @@ "cancel": "$t(common:buttons.cancel)" } }, + "staticEmoji": { + "heading": "", + "description": "" + }, + "feedback": { + "heading": "" + }, "support": { "heading": "tooot 기부" }, @@ -253,7 +271,8 @@ "heading": "개선할 수 있도록 도와주세요", "description": "유저와 관련이 없는 사용량만 수집해요" }, - "version": "버전 v{{version}}" + "version": "버전 v{{version}}", + "instanceVersion": "" }, "switch": { "existing": "로그인된 것 중 선택", @@ -266,6 +285,7 @@ "accessibilityLabel": "사용자 {{user}}에 대한 동작", "accessibilityHint": "이 사용자를 뮤트, 차단, 신고 또는 공유할 수 있어요" }, + "followed_by": "", "moved": "유저가 이동함", "created_at": "등록된 날: {{date}}", "summary": { @@ -317,6 +337,9 @@ "reblogged_by": "{{count}} 부스트함", "favourited_by": "{{count}} 즐겨찾기함" } + }, + "history": { + "name": "" } } } \ No newline at end of file diff --git a/src/i18n/locales.ts b/src/i18n/locales.ts index 593b400a..37c27a79 100644 --- a/src/i18n/locales.ts +++ b/src/i18n/locales.ts @@ -1,5 +1,7 @@ const LOCALES = { + de: 'Deutsch', en: 'English', + it: 'Italiano', ko: '한국어', vi: 'Tiếng Việt', 'zh-Hans': '简体中文' diff --git a/src/i18n/vi/screens/tabs.json b/src/i18n/vi/screens/tabs.json index 90427159..49e52146 100644 --- a/src/i18n/vi/screens/tabs.json +++ b/src/i18n/vi/screens/tabs.json @@ -251,6 +251,10 @@ "cancel": "$t(common:buttons.cancel)" } }, + "staticEmoji": { + "heading": "Dùng emoji có sẵn", + "description": "Nếu app thường xuyên bị treo khi xem danh sách emoji, bạn hãy dùng emoji mặc định." + }, "feedback": { "heading": "Đề xuất tính năng" }, diff --git a/src/i18n/zh-Hans/screens/tabs.json b/src/i18n/zh-Hans/screens/tabs.json index 47ba7c46..0b52b33c 100644 --- a/src/i18n/zh-Hans/screens/tabs.json +++ b/src/i18n/zh-Hans/screens/tabs.json @@ -251,6 +251,10 @@ "cancel": "$t(common:buttons.cancel)" } }, + "staticEmoji": { + "heading": "使用静态表情", + "description": "如果您在查看表情列表时经常遇到应用闪退,您可以尝试使用静态表情。" + }, "feedback": { "heading": "功能建议" }, diff --git a/src/i18n/zh-Hant/common.json b/src/i18n/zh-Hant/common.json index 0ccecbde..875ac770 100644 --- a/src/i18n/zh-Hant/common.json +++ b/src/i18n/zh-Hant/common.json @@ -1,5 +1,6 @@ { "buttons": { + "OK": "OK", "apply": "套用", "cancel": "取消" }, diff --git a/src/i18n/zh-Hant/components/timeline.json b/src/i18n/zh-Hant/components/timeline.json new file mode 100644 index 00000000..78c85fbc --- /dev/null +++ b/src/i18n/zh-Hant/components/timeline.json @@ -0,0 +1,234 @@ +{ + "empty": { + "error": { + "message": "載入錯誤", + "button": "重試" + }, + "success": { + "message": "空蕩蕩的時間軸" + } + }, + "end": { + "message": "到底了,來杯 <0 /> 如何" + }, + "lookback": { + "message": "上次閱讀於" + }, + "refresh": { + "fetchPreviousPage": "", + "refetch": "到最新的位置" + }, + "shared": { + "actioned": { + "pinned": "置頂", + "favourite": "{{name}} 把您的嘟文加入了最愛", + "status": "{{name}} 正發了嘟", + "follow": "{{name}} 追隨您了", + "follow_request": "{{name}} 要求您允許他的追隨", + "poll": "您曾投過的投票已經結束", + "reblog": { + "default": "{{name}} 轉嘟了", + "notification": "{{name}} 轉嘟了您的嘟文" + } + }, + "actions": { + "reply": { + "accessibilityLabel": "回覆嘟文" + }, + "reblogged": { + "accessibilityLabel": "轉發此嘟", + "function": "轉嘟" + }, + "favourited": { + "accessibilityLabel": "將嘟文加入最愛", + "function": "加入最愛" + }, + "bookmarked": { + "accessibilityLabel": "將嘟文加入書籤", + "function": "加入書籤" + } + }, + "actionsUsers": { + "reblogged_by": { + "accessibilityLabel": "{{count}} 個使用者轉嘟了此嘟文", + "accessibilityHint": "點擊可以取得更多使用者資訊", + "text": "$t(screenTabs:shared.users.statuses.reblogged_by)" + }, + "favourited_by": { + "accessibilityLabel": "{{count}} 個使用者喜歡此嘟文", + "accessibilityHint": "點擊可以取得使用者資訊", + "text": "$t(screenTabs:shared.users.statuses.favourited_by)" + }, + "history": { + "accessibilityLabel": "嘟文被編輯了 {{count}} 次", + "accessibilityHint": "點擊查看編輯紀錄", + "text_one": "{{count}} 次編輯", + "text_other": "" + } + }, + "attachment": { + "sensitive": { + "button": "" + }, + "unsupported": { + "text": "", + "button": "" + } + }, + "avatar": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "content": { + "expandHint": "" + }, + "filtered": "", + "fullConversation": "", + "translate": { + "default": "", + "succeed": "", + "failed": "", + "source_not_supported": "", + "target_not_supported": "" + }, + "header": { + "shared": { + "account": { + "name": { + "accessibilityHint": "" + }, + "account": { + "accessibilityHint": "" + } + }, + "application": "", + "edited": { + "accessibilityLabel": "" + }, + "muted": { + "accessibilityLabel": "" + }, + "visibility": { + "direct": { + "accessibilityLabel": "" + }, + "private": { + "accessibilityLabel": "" + } + } + }, + "conversation": { + "withAccounts": "", + "delete": { + "function": "" + } + }, + "actions": { + "accessibilityHint": "", + "account": { + "heading": "", + "mute": { + "function": "", + "button": "" + }, + "block": { + "function": "", + "button": "" + }, + "reports": { + "function": "", + "button": "" + } + }, + "domain": { + "heading": "", + "block": { + "function": "", + "button": "" + }, + "alert": { + "title": "", + "message": "", + "buttons": { + "confirm": "", + "cancel": "" + } + } + }, + "share": { + "status": { + "heading": "", + "button": "" + }, + "account": { + "heading": "", + "button": "" + } + }, + "status": { + "heading": "", + "edit": { + "function": "", + "button": "" + }, + "delete": { + "function": "", + "button": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "confirm": "", + "cancel": "" + } + } + }, + "deleteEdit": { + "function": "", + "button": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "confirm": "", + "cancel": "" + } + } + }, + "mute": { + "function": "", + "button": { + "positive": "", + "negative": "" + } + }, + "pin": { + "function": "", + "button": { + "positive": "", + "negative": "" + } + } + } + } + }, + "poll": { + "meta": { + "button": { + "vote": "", + "refresh": "" + }, + "count": { + "voters_one": "", + "voters_other": "", + "votes_one": "", + "votes_other": "" + }, + "expiration": { + "expired": "", + "until": "" + } + } + } + } +} \ No newline at end of file diff --git a/src/i18n/zh-Hant/screens.json b/src/i18n/zh-Hant/screens.json index 7681c218..c8645c3e 100644 --- a/src/i18n/zh-Hant/screens.json +++ b/src/i18n/zh-Hant/screens.json @@ -10,5 +10,9 @@ "pushError": { "message": "推播服務錯誤", "description": "請在設定裡重新啟用推播" + }, + "shareError": { + "imageNotSupported": "", + "videoNotSupported": "" } } \ No newline at end of file diff --git a/src/i18n/zh-Hant/screens/actions.json b/src/i18n/zh-Hant/screens/actions.json new file mode 100644 index 00000000..d6d2c219 --- /dev/null +++ b/src/i18n/zh-Hant/screens/actions.json @@ -0,0 +1,19 @@ +{ + "content": { + "button": { + "apply": "", + "cancel": "" + }, + "notificationsFilter": { + "heading": "", + "content": { + "follow": "", + "favourite": "", + "reblog": "", + "mention": "", + "poll": "", + "follow_request": "" + } + } + } +} \ No newline at end of file diff --git a/src/i18n/zh-Hant/screens/announcements.json b/src/i18n/zh-Hant/screens/announcements.json new file mode 100644 index 00000000..95737a45 --- /dev/null +++ b/src/i18n/zh-Hant/screens/announcements.json @@ -0,0 +1,10 @@ +{ + "heading": "", + "content": { + "published": "", + "button": { + "read": "", + "unread": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/zh-Hant/screens/compose.json b/src/i18n/zh-Hant/screens/compose.json new file mode 100644 index 00000000..dc1419b3 --- /dev/null +++ b/src/i18n/zh-Hant/screens/compose.json @@ -0,0 +1,178 @@ +{ + "heading": { + "left": { + "button": "", + "alert": { + "title": "", + "buttons": { + "save": "", + "delete": "", + "cancel": "" + } + } + }, + "right": { + "button": { + "default": "", + "conversation": "", + "reply": "", + "deleteEdit": "", + "edit": "", + "share": "" + }, + "alert": { + "default": { + "title": "", + "button": "" + }, + "removeReply": { + "title": "", + "description": "", + "cancel": "", + "confirm": "" + } + } + } + }, + "content": { + "root": { + "header": { + "postingAs": "", + "spoilerInput": { + "placeholder": "" + }, + "textInput": { + "placeholder": "", + "keyboardImage": { + "exceedMaximum": { + "title": "", + "OK": "" + } + } + } + }, + "footer": { + "attachments": { + "sensitive": "", + "remove": { + "accessibilityLabel": "" + }, + "edit": { + "accessibilityLabel": "" + }, + "upload": { + "accessibilityLabel": "" + } + }, + "emojis": { + "accessibilityHint": "" + }, + "poll": { + "option": { + "placeholder": { + "accessibilityLabel": "", + "single": "", + "multiple": "" + } + }, + "quantity": { + "reduce": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "increase": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "multiple": { + "heading": "", + "options": { + "single": "", + "multiple": "", + "cancel": "" + } + }, + "expiration": { + "heading": "", + "options": { + "300": "", + "1800": "", + "3600": "", + "21600": "", + "86400": "", + "259200": "", + "604800": "", + "cancel": "" + } + } + } + }, + "actions": { + "attachment": { + "accessibilityLabel": "", + "accessibilityHint": "", + "failed": { + "alert": { + "title": "", + "button": "" + } + } + }, + "poll": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "visibility": { + "accessibilityLabel": "", + "title": "", + "options": { + "public": "", + "unlisted": "", + "private": "", + "direct": "", + "cancel": "" + } + }, + "spoiler": { + "accessibilityLabel": "" + }, + "emoji": { + "accessibilityLabel": "", + "accessibilityHint": "" + } + }, + "drafts_one": "", + "drafts_other": "" + }, + "editAttachment": { + "header": { + "title": "", + "right": { + "accessibilityLabel": "", + "failed": { + "title": "", + "button": "" + } + } + }, + "content": { + "altText": { + "heading": "", + "placeholder": "" + }, + "imageFocus": "" + } + }, + "draftsList": { + "header": { + "title": "" + }, + "content": { + "accessibilityHint": "", + "textEmpty": "" + }, + "checkAttachment": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/zh-Hant/screens/imageViewer.json b/src/i18n/zh-Hant/screens/imageViewer.json new file mode 100644 index 00000000..ad2b495c --- /dev/null +++ b/src/i18n/zh-Hant/screens/imageViewer.json @@ -0,0 +1,17 @@ +{ + "content": { + "actions": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "options": { + "save": "", + "share": "", + "cancel": "" + }, + "save": { + "succeed": "", + "failed": "" + } + } +} \ No newline at end of file diff --git a/src/i18n/zh-Hant/screens/tabs.json b/src/i18n/zh-Hant/screens/tabs.json new file mode 100644 index 00000000..4aa7b045 --- /dev/null +++ b/src/i18n/zh-Hant/screens/tabs.json @@ -0,0 +1,345 @@ +{ + "tabs": { + "local": { + "name": "追隨中" + }, + "public": { + "name": "", + "segments": { + "left": "聯邦宇宙", + "right": "本站" + } + }, + "notifications": { + "name": "通知" + }, + "me": { + "name": "關於我" + } + }, + "common": { + "search": { + "accessibilityLabel": "搜尋", + "accessibilityHint": "搜尋標籤、使用者或嘟文" + } + }, + "notifications": { + "filter": { + "accessibilityLabel": "篩選器", + "accessibilityHint": "" + } + }, + "me": { + "stacks": { + "bookmarks": { + "name": "書籤" + }, + "conversations": { + "name": "私訊" + }, + "favourites": { + "name": "最愛" + }, + "fontSize": { + "name": "嘟文字體大小" + }, + "lists": { + "name": "清單" + }, + "list": { + "name": "清單: {{list}}" + }, + "push": { + "name": "推播通知" + }, + "profile": { + "name": "編輯個人資料" + }, + "profileName": { + "name": "編輯顯示名稱" + }, + "profileNote": { + "name": "編輯簡介" + }, + "profileFields": { + "name": "編輯描述資料" + }, + "settings": { + "name": "App 設定" + }, + "webSettings": { + "name": "更多的帳號設定" + }, + "switch": { + "name": "切換帳號" + } + }, + "fontSize": { + "showcase": "嘟文範例", + "demo": "", + "availableSizes": "", + "sizes": { + "S": "", + "M": "", + "L": "", + "XL": "", + "XXL": "" + } + }, + "profile": { + "cancellation": { + "title": "", + "message": "", + "buttons": { + "cancel": "", + "discard": "" + } + }, + "feedback": { + "succeed": "", + "failed": "" + }, + "root": { + "name": { + "title": "" + }, + "avatar": { + "title": "", + "description": "" + }, + "header": { + "title": "", + "description": "" + }, + "note": { + "title": "" + }, + "fields": { + "title": "描述資料", + "total_one": "", + "total_other": "" + }, + "visibility": { + "title": "", + "options": { + "public": "", + "unlisted": "", + "private": "", + "cancel": "" + } + }, + "sensitive": { + "title": "" + }, + "lock": { + "title": "", + "description": "" + }, + "bot": { + "title": "", + "description": "" + } + }, + "fields": { + "group": "", + "label": "", + "content": "" + } + }, + "push": { + "notAvailable": "", + "enable": { + "direct": "", + "settings": "" + }, + "global": { + "heading": "", + "description": "" + }, + "decode": { + "heading": "", + "description": "" + }, + "default": { + "heading": "" + }, + "follow": { + "heading": "" + }, + "favourite": { + "heading": "" + }, + "reblog": { + "heading": "" + }, + "mention": { + "heading": "" + }, + "poll": { + "heading": "" + }, + "howitworks": "" + }, + "root": { + "announcements": { + "content": { + "unread": "", + "read": "", + "empty": "" + } + }, + "push": { + "content": { + "enabled": "", + "disabled": "" + } + }, + "update": { + "title": "" + }, + "logout": { + "button": "", + "alert": { + "title": "", + "message": "", + "buttons": { + "logout": "", + "cancel": "" + } + } + } + }, + "settings": { + "fontsize": { + "heading": "", + "content": { + "S": "", + "M": "", + "L": "", + "XL": "", + "XXL": "" + } + }, + "language": { + "heading": "", + "options": { + "cancel": "" + } + }, + "theme": { + "heading": "", + "options": { + "auto": "", + "light": "", + "dark": "", + "cancel": "" + } + }, + "darkTheme": { + "heading": "", + "options": { + "lighter": "", + "darker": "", + "cancel": "" + } + }, + "browser": { + "heading": "", + "options": { + "internal": "", + "external": "", + "cancel": "" + } + }, + "staticEmoji": { + "heading": "", + "description": "" + }, + "feedback": { + "heading": "" + }, + "support": { + "heading": "" + }, + "review": { + "heading": "" + }, + "contact": { + "heading": "" + }, + "analytics": { + "heading": "", + "description": "" + }, + "version": "", + "instanceVersion": "" + }, + "switch": { + "existing": "", + "new": "" + } + }, + "shared": { + "account": { + "actions": { + "accessibilityLabel": "", + "accessibilityHint": "" + }, + "followed_by": "", + "moved": "", + "created_at": "", + "summary": { + "statuses_count": "", + "following_count": "", + "followers_count": "" + }, + "toots": { + "default": "", + "all": "" + } + }, + "attachments": { + "name": "" + }, + "search": { + "header": { + "prefix": "", + "placeholder": "" + }, + "empty": { + "general": "", + "advanced": { + "header": "", + "example": { + "account": "", + "hashtag": "", + "statusLink": "", + "accountLink": "" + } + } + }, + "sections": { + "accounts": "", + "hashtags": "", + "statuses": "" + }, + "notFound": "" + }, + "toot": { + "name": "" + }, + "users": { + "accounts": { + "following": "", + "followers": "" + }, + "statuses": { + "reblogged_by": "", + "favourited_by": "" + } + }, + "history": { + "name": "" + } + } +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index dc98f89d..f5262eec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1309,6 +1309,27 @@ xcode "^3.0.1" xml2js "0.4.23" +"@expo/config-plugins@4.1.5", "@expo/config-plugins@^4.0.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-4.1.5.tgz#9d357d2cda9c095e511b51583ede8a3b76174068" + integrity sha512-RVvU40RtZt12HavuDAe+LDIq9lHj7sheOfMEHdmpJ/uTA8pgvkbc56XF6JHQD+yRr6+uhhb+JnAasGq49dsQbw== + dependencies: + "@expo/config-types" "^45.0.0" + "@expo/json-file" "8.2.36" + "@expo/plist" "0.0.18" + "@expo/sdk-runtime-versions" "^1.0.0" + "@react-native/normalize-color" "^2.0.0" + chalk "^4.1.2" + debug "^4.3.1" + find-up "~5.0.0" + getenv "^1.0.0" + glob "7.1.6" + resolve-from "^5.0.0" + semver "^7.3.5" + slash "^3.0.0" + xcode "^3.0.1" + xml2js "0.4.23" + "@expo/config-plugins@^2.0.2": version "2.0.4" resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-2.0.4.tgz#955fd70a2aeefbe99ec71cecb1d7ea7b626dc79e" @@ -1381,6 +1402,23 @@ slugify "^1.3.4" sucrase "^3.20.0" +"@expo/config@^6.0.6": + version "6.0.24" + resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.24.tgz#3602da8fdfa817e290a52fb328fc8ed9d6bc61e7" + integrity sha512-OcACI1md1Yo5TQmUxxueJ/RaTlR2Mgl6KswTFOYCL1XJERF/jjAx95zhWXH+JQGdlM0yB0vqM6vB6GbUFRvLxA== + dependencies: + "@babel/code-frame" "~7.10.4" + "@expo/config-plugins" "4.1.5" + "@expo/config-types" "^45.0.0" + "@expo/json-file" "8.2.36" + getenv "^1.0.0" + glob "7.1.6" + require-from-string "^2.0.2" + resolve-from "^5.0.0" + semver "7.3.2" + slugify "^1.3.4" + sucrase "^3.20.0" + "@expo/configure-splash-screen@^0.6.0": version "0.6.0" resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.6.0.tgz#07d97ee512fd859fcc09506ba3762fd6263ebc39" @@ -1433,7 +1471,7 @@ tmp "^0.0.33" tslib "^1.10.0" -"@expo/image-utils@0.3.20", "@expo/image-utils@^0.3.18": +"@expo/image-utils@0.3.20", "@expo/image-utils@^0.3.16": version "0.3.20" resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.3.20.tgz#b8777a2ca18e331f084e62ee8e0f047a6fc52c16" integrity sha512-NgF/80XENyCS+amwC0P6uk1fauEtUq7gijD19jvl2xknJaADq8M2dMCRHwWMVOXosr2v46f3Z++G/NjmyOVS7A== @@ -4102,6 +4140,11 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expo-application@~4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-4.0.2.tgz#860dbd12132a56de7cf75fe7b5146b6cd97ed30e" + integrity sha512-ngTaFplTkWn0X45gMC+VNXGyJfGxX4wOwKmtr17rNMVWOQUhhLlyMkTj9bAamzsuwZh35l3S/eD/N1aMWWUwMw== + expo-application@~4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-4.1.0.tgz#e0214ff7cf73db5a5e97e609ffbab3cc98288030" @@ -4145,6 +4188,14 @@ expo-constants@^13.1.1, expo-constants@~13.1.0, expo-constants@~13.1.1: "@expo/config" "^6.0.14" uuid "^3.3.2" +expo-constants@~13.0.0: + version "13.0.2" + resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-13.0.2.tgz#b489ecd575cc82a9a0b3dfbf2385d45a44300eb1" + integrity sha512-vGs/kI65vplPFvG8z4W1ariGEtVHHp9Avl28G0zJprt2v/q1E/BnXjwvFSBPc1GB+Zb/7crWSHWRwjaFULBjsg== + dependencies: + "@expo/config" "^6.0.6" + uuid "^3.3.2" + expo-crypto@10.2.0, expo-crypto@~10.2.0: version "10.2.0" resolved "https://registry.yarnpkg.com/expo-crypto/-/expo-crypto-10.2.0.tgz#86d16e7e93b62af37d9ded3d344744e94d6ab4e4" @@ -4286,20 +4337,21 @@ expo-modules-core@0.9.2: compare-versions "^3.4.0" invariant "^2.2.4" -expo-notifications@0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/expo-notifications/-/expo-notifications-0.15.2.tgz#8c9d3b43624e7a08bfc12ccec714717bfeb30c10" - integrity sha512-ZlOzQ8Lp1MgkwmiBsgg95nQHHbTOg8LHwmB816qxNKWeFvlyr/wQSgTZJNklL1uuv/+jC/YyKWoANfodahcAbQ== +expo-notifications@0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/expo-notifications/-/expo-notifications-0.14.1.tgz#fe2b122ed79488e754b7f993f9b802eaf60b51a3" + integrity sha512-0L+DFMQmVfMhonza8MFP4aI/6ADKEx/Mn5NzQlBZpo6PinpsPFpQP7of+pihx2onCkmeN8OIsLFS5O6QqzH3rA== dependencies: - "@expo/config-plugins" "^4.0.14" - "@expo/image-utils" "^0.3.18" + "@expo/config-plugins" "^4.0.2" + "@expo/image-utils" "^0.3.16" "@ide/backoff" "^1.0.0" abort-controller "^3.0.0" assert "^2.0.0" badgin "^1.1.5" - expo-application "~4.1.0" - expo-constants "~13.1.0" + expo-application "~4.0.0" + expo-constants "~13.0.0" fs-extra "^9.1.0" + unimodules-task-manager-interface "~7.1.0" uuid "^3.4.0" expo-random@12.2.0: @@ -8586,6 +8638,11 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== +unimodules-task-manager-interface@~7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-7.1.1.tgz#1d48585012018971a0f0b62bc5ac53508a7addb4" + integrity sha512-vvtxJO3O6fJXvSc9qvgB2FS9xJk2nWG4NOvwCMmTmfblmvzGPFcTheOKzV7Z1dvjlqTZZ+TDqd5XOGa+0+NXVA== + union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"