damus

nostr ios client
git clone git://jb55.com/damus
Log | Files | Refs | README | LICENSE

commit 2ed17a2509edbe2a571b0b613ce95be2677a6639
parent 08ca484d540cf520036ae8fb0b91c1d759578877
Author: Terry Yiu <963907+tyiu@users.noreply.github.com>
Date:   Sun, 29 Jan 2023 12:17:01 -0500

Add export and import translation scripts

Closes: #430

Diffstat:
MREADME.md | 38++++++++++++++++++++++++++++++++++----
Ddamus Localizations/de_DE.xcloc/Localized Contents/de_DE.xliff | 1254-------------------------------------------------------------------------------
Adevtools/export-source-translation.sh | 3+++
Adevtools/import-translation.sh | 8++++++++
Mtransifex.yml | 4++--
Rdamus Localizations/ar.xcloc/Localized Contents/ar.xliff -> translations/ar.xliff | 0
Rdamus Localizations/de_AT.xcloc/Localized Contents/de_AT.xliff -> translations/de_AT.xliff | 0
Rdamus Localizations/en-US.xcloc/Localized Contents/en-US.xliff -> translations/en-US.xcloc/Localized Contents/en-US.xliff | 0
Rdamus Localizations/en-US.xcloc/Source Contents/damus/en-US.lproj/InfoPlist.strings -> translations/en-US.xcloc/Source Contents/damus/en-US.lproj/InfoPlist.strings | 0
Rdamus Localizations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings -> translations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings | 0
Rdamus Localizations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict -> translations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict | 0
Rdamus Localizations/en-US.xcloc/contents.json -> translations/en-US.xcloc/contents.json | 0
Rdamus Localizations/es_419.xcloc/Localized Contents/es_419.xliff -> translations/es_419.xliff | 0
Rdamus Localizations/fr_FR.xcloc/Localized Contents/fr_FR.xliff -> translations/fr_FR.xliff | 0
Rdamus Localizations/it_IT.xcloc/Localized Contents/it_IT.xliff -> translations/it_IT.xliff | 0
Rdamus Localizations/lv_LV.xcloc/Localized Contents/lv_LV.xliff -> translations/lv_LV.xliff | 0
Rdamus Localizations/pt_PT.xcloc/Localized Contents/pt_PT.xliff -> translations/pt_PT.xliff | 0
Rdamus Localizations/tr_TR.xcloc/Localized Contents/tr_TR.xliff -> translations/tr_TR.xliff | 0
18 files changed, 47 insertions(+), 1260 deletions(-)

diff --git a/README.md b/README.md @@ -91,15 +91,41 @@ damus implements the following [Nostr Implementation Possibilities][nips] ## Contributing -Contributors welcome! [Email patches][git-send-email] to jb55@jb55.com are preferred, but I accept PRs on github as well. +Contributors welcome! + +### Code + +[Email patches][git-send-email] to jb55@jb55.com are preferred, but I accept PRs on GitHub as well. [git-send-email]: http://git-send-email.io -## git log bot +### Translations -npub1fjtdwclt9lspjy8huu3qklr7eklp5uq90u6yh8mec290pqxraccqlufnas +Translators welcome! Join the [Transifex][transifex] project. + +All user-facing strings must have a comment in order to provide context to translators. If a SwiftUI component has a `comment` parameter, use that. Otherwise, wrap your string with `NSLocalizedString` with the `comment` field populated. + +[transifex]: https://explore.transifex.com/damus/damus-ios/ + +#### Export Source Translations + +If user-facing strings have been added or changed, please export them for translation as part of your pull request or commit by running: + +```zsh +./devtools/export-source-translation.sh +``` -### Awards +This command will export source translations to `translations/en-US.xcloc/Localized Contents/en-US.xliff`, which the Transifex integration will read from the `master` branch and allow translators to translate those strings. + +#### Import Translations + +Once 100% of strings have been translated for a given locale, Transifex will open up a pull request with the `translations/<locale>.xliff` file changed. Currently, it must be manually imported into the project before merging the pull request by running: + +```zsh +./devtools/import-translation.sh <locale_code_in_snake_case> +``` + +### Awards There may be nostr badges awarded for contributors in the future... :) @@ -107,3 +133,7 @@ First contributors: 1. @randymcmillan 2. @jcarucci27 + +### git log bot + +npub1fjtdwclt9lspjy8huu3qklr7eklp5uq90u6yh8mec290pqxraccqlufnas diff --git a/damus Localizations/de_DE.xcloc/Localized Contents/de_DE.xliff b/damus Localizations/de_DE.xcloc/Localized Contents/de_DE.xliff @@ -1,1253 +0,0 @@ -<?xml version="1.0" ?><xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 http://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd"> - <file original="damus/en-US.lproj/InfoPlist.strings" source-language="en-US" target-language="de-DE" datatype="plaintext"> - <header> - <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="14.2" build-num="14C18"/> - </header> - <body> - <trans-unit id="CFBundleDisplayName" xml:space="preserve"> - <source>Damus</source> - <target>Damus</target> - - <note>Bundle display name</note> - </trans-unit> - <trans-unit id="CFBundleName" xml:space="preserve"> - <source>damus</source> - <target>damus</target> - - <note>Bundle name</note> - </trans-unit> - <trans-unit id="NSPhotoLibraryAddUsageDescription" xml:space="preserve"> - <source>Granting Damus access to your photos allows you to save images.</source> - <target>Damus Zugriff auf deine Fotos zu gewähren erlaubt dir Bilder zu sichern.</target> - - <note>Privacy - Photo Library Additions Usage Description</note> - </trans-unit> - </body> - </file> - <file original="damus/en-US.lproj/Localizable.strings" source-language="en-US" target-language="de-DE" datatype="plaintext"> - <header> - <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="14.2" build-num="14C18"/> - </header> - <body> - <trans-unit id=" " xml:space="preserve"> - <source> </source> - <target>61b6edf1108e6f396680a33b02486a70_tr</target> - <note>Blank space to separate profile picture from profile editor form.</note> - </trans-unit> - <trans-unit id="%@" xml:space="preserve"> - <source>%@</source> - <target>%@</target> - - <note>Amount of time that has passed since reply quote event occurred. -Abbreviated version of a nostr public key.</note> - </trans-unit> - <trans-unit id="%@ %@" xml:space="preserve"> - <source>%@ %@</source> - <target>%@ %@</target> - - <note>Sentence composed of 2 variables to describe how many reposts. In source English, the first variable is the number of reposts, and the second variable is 'Repost' or 'Reposts'. -Sentence composed of 2 variables to describe how many profiles a user is following. In source English, the first variable is the number of profiles being followed, and the second variable is 'Following'.</note> - </trans-unit> - <trans-unit id="%@. Creating an account doesn't require a phone number, email or name. Get started right away with zero friction." xml:space="preserve"> - <source>%@. Creating an account doesn't require a phone number, email or name. Get started right away with zero friction.</source> - <target>Für das Erstellen eines Accounts ist keine Telefonnumer, E-Mail-Adresse und kein Name notwendig. Lege direkt los!</target> - - <note>Explanation of what is done to keep personally identifiable information private. There is a heading that precedes this explanation which is a variable to this string.</note> - </trans-unit> - <trans-unit id="%@. End-to-End encrypted private messaging. Keep Big Tech out of your DMs" xml:space="preserve"> - <source>%@. End-to-End encrypted private messaging. Keep Big Tech out of your DMs</source> - <target>%@. Ende-zu-Ende verschlüsselte private Nachrichten. Halte „Big Tech“ aus deinen Direktnachrichten heraus.</target> - - <note>Explanation of what is done to keep private data encrypted. There is a heading that precedes this explanation which is a variable to this string.</note> - </trans-unit> - <trans-unit id="%@. Tip your friend's posts and stack sats with Bitcoin⚡️, the native currency of the internet." xml:space="preserve"> - <source>%@. Tip your friend's posts and stack sats with Bitcoin⚡️, the native currency of the internet.</source> - <target>%@. Belohne Beiträge deiner Freunde und sammle Sats mit Bitcoin⚡️, der eigenen Währung des Internets.</target> - - <note>Explanation of what can be done by users to earn money. There is a heading that precedes this explanation which is a variable to this string.</note> - </trans-unit> - <trans-unit id="%lld" xml:space="preserve"> - <source>%lld</source> - <target>%lld</target> - - <note>Number of reposts. -Number of profiles a user is following.</note> - </trans-unit> - <trans-unit id="%lld/%lld" xml:space="preserve"> - <source>%lld/%lld</source> - <target>%lld/%lld</target> - - <note>Fraction of how many of the user's relay servers that are operational.</note> - </trans-unit> - <trans-unit id="'%@' at '%@' will be used for verification" xml:space="preserve"> - <source>'%@' at '%@' will be used for verification</source> - <target>'%@' bei '%@' wird zur Verifizierung benutzt werden.</target> - - <note>Description of how the nip05 identifier would be used for verification.</note> - </trans-unit> - <trans-unit id="'%@' is an invalid nip05 identifier. It should look like an email." xml:space="preserve"> - <source>'%@' is an invalid nip05 identifier. It should look like an email.</source> - <target>'%@' ist eine ungültige nip05 Kennzeichnung. Diese sollte wie eine Emailadresse aussehen. </target> - - <note>Description of why the nip05 identifier is invalid.</note> - </trans-unit> - <trans-unit id="(Profile.displayName(profile: profile, pubkey: whos))'s Followers" xml:space="preserve"> - <source>(Profile.displayName(profile: profile, pubkey: whos))'s Followers</source> - <target>(Profile.displayName(profile: profile, pubkey: whos)) Follower</target> - - <note>Navigation bar title for view that shows who is following a user.</note> - </trans-unit> - <trans-unit id="(who) following" xml:space="preserve"> - <source>(who) following</source> - <target>(who) folgt</target> - - <note>Navigation bar title for view that shows who a user is following.</note> - </trans-unit> - <trans-unit id="&lt; e &gt;" xml:space="preserve"> - <source>&lt; e &gt;</source> - <target>&lt; e &gt;</target> - - <note>Placeholder for event mention.</note> - </trans-unit> - <trans-unit id="@" xml:space="preserve"> - <source>@</source> - <target>@</target> - - <note>Prefix character to username.</note> - </trans-unit> - <trans-unit id="About" xml:space="preserve"> - <source>About</source> - <target>Über</target> - - <note>Label to prompt for about text entry for user to describe about themself.</note> - </trans-unit> - <trans-unit id="About Me" xml:space="preserve"> - <source>About Me</source> - <target>Über mich</target> - - <note>Label for About Me section of user profile form.</note> - </trans-unit> - <trans-unit id="Absolute Boss" xml:space="preserve"> - <source>Absolute Boss</source> - <target>Absoluter Macher</target> - - <note>Placeholder text for About Me description.</note> - </trans-unit> - <trans-unit id="Account ID" xml:space="preserve"> - <source>Account ID</source> - <target>Konto-ID</target> - - <note>Label to indicate the public ID of the account.</note> - </trans-unit> - <trans-unit id="Add" xml:space="preserve"> - <source>Add</source> - <target>Hinzufügen</target> - - <note>Button to add recommended relay server. - Button to confirm adding user inputted relay.</note> - </trans-unit> - <trans-unit id="Add Relay" xml:space="preserve"> - <source>Add Relay</source> - <target>Relay hinzufügen</target> - - <note>Label for section for adding a relay server.</note> - </trans-unit> - <trans-unit id="Add all" xml:space="preserve"> - <source>Add all</source> - <target>Alle hinzufügen</target> - - <note>Button label to re-add all original participants as profiles to reply to in a note</note> - </trans-unit> - <trans-unit id="Any" xml:space="preserve"> - <source>Any</source> - <target>beliebig</target> - - <note>Any amount of sats</note> - </trans-unit> - <trans-unit id="Are you sure you want to repost this?" xml:space="preserve"> - <source>Are you sure you want to repost this?</source> - <target>Bist du sicher dass Du den Beitrag auf deinem Profil teilen möchtest?</target> - - <note>Alert message to ask if user wants to repost a post.</note> - </trans-unit> - <trans-unit id="Banner Image" xml:space="preserve"> - <source>Banner Image</source> - <target>Banner Bild</target> - - <note>Label for Banner Image section of user profile form.</note> - </trans-unit> - <trans-unit id="Before we get started, you'll need to save your account info, otherwise you won't be able to login in the future if you ever uninstall Damus." xml:space="preserve"> - <source>Before we get started, you'll need to save your account info, otherwise you won't be able to login in the future if you ever uninstall Damus.</source> - <target>Bevor wir anfangen, musst du deine Kontodaten sichern, sonst kannst du dich in Zukunft nicht mehr anmelden, wenn du Damus jemals deinstallierst.</target> - - <note>Reminder to user that they should save their account information.</note> - </trans-unit> - <trans-unit id="Bitcoin Beach" xml:space="preserve"> - <source>Bitcoin Beach</source> - <target>Bitcoin Beach</target> - - <note>Dropdown option label for Lightning wallet, Bitcoin Beach.</note> - </trans-unit> - <trans-unit id="Bitcoin Lightning Tips" xml:space="preserve"> - <source>Bitcoin Lightning Tips</source> - <target>Bitcoin Lightning Zahlungen</target> - - <note>Label for Bitcoin Lightning Tips section of user profile form.</note> - </trans-unit> - <trans-unit id="Blixt Wallet" xml:space="preserve"> - <source>Blixt Wallet</source> - <target>Blixt Wallet</target> - - <note>Dropdown option label for Lightning wallet, Blixt Wallet</note> - </trans-unit> - <trans-unit id="Blue Wallet" xml:space="preserve"> - <source>Blue Wallet</source> - <target>Blue Wallet</target> - - <note>Dropdown option label for Lightning wallet, Blue Wallet.</note> - </trans-unit> - <trans-unit id="Breez" xml:space="preserve"> - <source>Breez</source> - <target>Breez</target> - - <note>Dropdown option label for Lightning wallet, Breez.</note> - </trans-unit> - <trans-unit id="Broadcast" xml:space="preserve"> - <source>Broadcast</source> - <target>Senden</target> - - <note>Context menu option for broadcasting the user's note to all of the user's connected relay servers.</note> - </trans-unit> - <trans-unit id="Cancel" xml:space="preserve"> - <source>Cancel</source> - <target>Abbrechen</target> - - <note>Button to cancel out of posting a note. - Button to cancel out of reposting a post. - Button to cancel out of view adding user inputted relay. - Cancel out of logging out the user.</note> - </trans-unit> - <trans-unit id="Cash App" xml:space="preserve"> - <source>Cash App</source> - <target>Cash App</target> - - <note>Dropdown option label for Lightning wallet, Cash App.</note> - </trans-unit> - <trans-unit id="Chat" xml:space="preserve"> - <source>Chat</source> - <target>Unterhaltung</target> - - <note>Navigation bar title for Chatroom view.</note> - </trans-unit> - <trans-unit id="Clear" xml:space="preserve"> - <source>Clear</source> - <target>Löschen</target> - - <note>Button for clearing cached data.</note> - </trans-unit> - <trans-unit id="Clear Cache" xml:space="preserve"> - <source>Clear Cache</source> - <target>Zwischenspeicher löschen</target> - - <note>Section title for clearing cached data.</note> - </trans-unit> - <trans-unit id="Copied" xml:space="preserve"> - <source>Copied</source> - <target>Kopiert</target> - - <note>Label indicating that a user's key was copied.</note> - </trans-unit> - <trans-unit id="Copy" xml:space="preserve"> - <source>Copy</source> - <target>Kopieren</target> - - <note>Button to copy a relay server address.</note> - </trans-unit> - <trans-unit id="Copy Account ID" xml:space="preserve"> - <source>Copy Account ID</source> - <target>Konto-ID kopieren</target> - - <note>Context menu option for copying the ID of the account that created the note.</note> - </trans-unit> - <trans-unit id="Copy Image" xml:space="preserve"> - <source>Copy Image</source> - <target>Bild kopieren</target> - - <note>Context menu option to copy an image into clipboard. - Context menu option to copy an image to clipboard.</note> - </trans-unit> - <trans-unit id="Copy Image URL" xml:space="preserve"> - <source>Copy Image URL</source> - <target>Bild-URL kopieren</target> - - <note>Context menu option to copy the URL of an image into clipboard.</note> - </trans-unit> - <trans-unit id="Copy LNURL" xml:space="preserve"> - <source>Copy LNURL</source> - <target>LNURL kopieren</target> - - <note>Context menu option for copying a user's Lightning URL.</note> - </trans-unit> - <trans-unit id="Copy Note ID" xml:space="preserve"> - <source>Copy Note ID</source> - <target>Notiz-ID kopieren</target> - - <note>Context menu option for copying the ID of the note.</note> - </trans-unit> - <trans-unit id="Copy Note JSON" xml:space="preserve"> - <source>Copy Note JSON</source> - <target>Notiz-JSON kopieren</target> - - <note>Context menu option for copying the JSON text from the note.</note> - </trans-unit> - <trans-unit id="Copy Text" xml:space="preserve"> - <source>Copy Text</source> - <target>Text kopieren</target> - - <note>Context menu option for copying the text from an note.</note> - </trans-unit> - <trans-unit id="Copy User ID" xml:space="preserve"> - <source>Copy User ID</source> - <target>Benutzer-ID kopieren</target> - - <note>Context menu option for copying the ID of the user who created the note.</note> - </trans-unit> - <trans-unit id="Copy invoice" xml:space="preserve"> - <source>Copy invoice</source> - <target>Rechnung kopieren</target> - - <note>Title of section for copying a Lightning invoice identifier.</note> - </trans-unit> - <trans-unit id="Create" xml:space="preserve"> - <source>Create</source> - <target>Erstellen</target> - - <note>Button to create account.</note> - </trans-unit> - <trans-unit id="Create Account" xml:space="preserve"> - <source>Create Account</source> - <target>Konto erstellen</target> - - <note>Button to create an account.</note> - </trans-unit> - <trans-unit id="Creator(s) of Bitcoin. Absolute legend." xml:space="preserve"> - <source>Creator(s) of Bitcoin. Absolute legend.</source> - <target>Erfinder von Bitcoin. Absolute Legende(n).</target> - - <note>Example description about Bitcoin creator(s), Satoshi Nakamoto.</note> - </trans-unit> - <trans-unit id="DM Type" xml:space="preserve"> - <source>DM Type</source> - <target>PN Art</target> - - <note>DM selector for seeing either DMs or message requests, which are messages that have not been responded to yet. DM is the English abbreviation for Direct Message.</note> - </trans-unit> - <trans-unit id="DMs" xml:space="preserve"> - <source>DMs</source> - <target>PNs</target> - - <note>Navigation title for DMs view, where DM is the English abbreviation for Direct Message. - Navigation title for view of DMs, where DM is an English abbreviation for Direct Message.</note> - </trans-unit> - <trans-unit id="Damus" xml:space="preserve"> - <source>Damus</source> - <target>Damus</target> - - <note>Name of the app, shown on the first screen when user is not logged in.</note> - </trans-unit> - <trans-unit id="Default Wallet" xml:space="preserve"> - <source>Default Wallet</source> - <target>Voreingestellte Wallet</target> - - <note>Button to pay a Lightning invoice with the user's default Lightning wallet.</note> - </trans-unit> - <trans-unit id="Delete" xml:space="preserve"> - <source>Delete</source> - <target>Löschen</target> - - <note>Button to delete a relay server that the user connects to.</note> - </trans-unit> - <trans-unit id="Dismiss" xml:space="preserve"> - <source>Dismiss</source> - <target>Schließen</target> - - <note>Button to dismiss a text field alert.</note> - </trans-unit> - <trans-unit id="Display Name" xml:space="preserve"> - <source>Display Name</source> - <target>Profilname</target> - - <note>Label to prompt display name entry.</note> - </trans-unit> - <trans-unit id="Done" xml:space="preserve"> - <source>Done</source> - <target>Fertig</target> - - <note>Button to dismiss wallet selection view for paying Lightning invoice.</note> - </trans-unit> - <trans-unit id="Earn Money" xml:space="preserve"> - <source>Earn Money</source> - <target>Verdiene Geld</target> - - <note>Heading indicating that this application allows users to earn money.</note> - </trans-unit> - <trans-unit id="Edit" xml:space="preserve"> - <source>Edit</source> - <target>Bearbeiten</target> - - <note>Button to edit user's profile.</note> - </trans-unit> - <trans-unit id="Edit participants" xml:space="preserve"> - <source>Edit participants</source> - <target>Teilnehmer editieren</target> - - <note>Text indicating that the view is used for editing which participants are replied to in a note.</note> - </trans-unit> - <trans-unit id="Encrypted" xml:space="preserve"> - <source>Encrypted</source> - <target>Verschlüsselt</target> - - <note>Heading indicating that this application keeps private messaging end-to-end encrypted.</note> - </trans-unit> - <trans-unit id="Enter your account key to login:" xml:space="preserve"> - <source>Enter your account key to login:</source> - <target>Gib deinen Kontoschlüssel ein um dich anzumelden:</target> - - <note>Prompt for user to enter an account key to login.</note> - </trans-unit> - <trans-unit id="Error: %@" xml:space="preserve"> - <source>Error: %@</source> - <target>Fehler: %@</target> - - <note>Error message indicating why saving keys failed.</note> - </trans-unit> - <trans-unit id="Filter State" xml:space="preserve"> - <source>Filter State</source> - <target>Filter Einstellung</target> - - <note>Filter state for seeing either only posts, or posts &amp; replies.</note> - </trans-unit> - <trans-unit id="Follow" xml:space="preserve"> - <source>Follow</source> - <target>Folgen</target> - - <note>Button to follow a user.</note> - </trans-unit> - <trans-unit id="Followers" xml:space="preserve"> - <source>Followers</source> - <target>Follower</target> - - <note>Label describing followers of a user.</note> - </trans-unit> - <trans-unit id="Following" xml:space="preserve"> - <source>Following</source> - <target>Folgt</target> - - <note>Text to indicate that the button next to it is in a state that indicates that it is in the process of following a profile. -Part of a larger sentence to describe how many profiles a user is following.</note> - </trans-unit> - <trans-unit id="Following..." xml:space="preserve"> - <source>Following...</source> - <target>Folge…</target> - - <note>Label to indicate that the user is in the process of following another user.</note> - </trans-unit> - <trans-unit id="Follows" xml:space="preserve"> - <source>Follows</source> - <target>Folgt</target> - - <note>Text to indicate that button next to it is in a state that will follow a profile when tapped.</note> - </trans-unit> - <trans-unit id="Global" xml:space="preserve"> - <source>Global</source> - <target>Weltweit</target> - - <note>Navigation bar title for Global view where posts from all connected relay servers appear.</note> - </trans-unit> - <trans-unit id="Goto post %@" xml:space="preserve"> - <source>Goto post %@</source> - <target>Gehe zum Beitrag %@</target> - - <note>Navigation link to go to post referenced by hex code.</note> - </trans-unit> - <trans-unit id="Goto profile %@" xml:space="preserve"> - <source>Goto profile %@</source> - <target>Gehe zum Profil %@</target> - - <note>Navigation link to go to profile.</note> - </trans-unit> - <trans-unit id="Home" xml:space="preserve"> - <source>Home</source> - <target>Heim</target> - - <note>Navigation bar title for Home view where posts and replies appear from those who the user is following.</note> - </trans-unit> - <trans-unit id="Invalid key" xml:space="preserve"> - <source>Invalid key</source> - <target>Ungültiger Schlüssel</target> - - <note>Error message indicating that an invalid account key was entered for login.</note> - </trans-unit> - <trans-unit id="LNLink" xml:space="preserve"> - <source>LNLink</source> - <target>LNLink</target> - - <note>Dropdown option label for Lightning wallet, LNLink.</note> - </trans-unit> - <trans-unit id="Left Handed" xml:space="preserve"> - <source>Left Handed</source> - <target>Linkshändig</target> - - <note>Moves the post button to the left side of the screen</note> - </trans-unit> - <trans-unit id="Let's go!" xml:space="preserve"> - <source>Let's go!</source> - <target>Los gehts!</target> - - <note>Button to complete account creation and start using the app.</note> - </trans-unit> - <trans-unit id="Lightning Address or LNURL" xml:space="preserve"> - <source>Lightning Address or LNURL</source> - <target>Lightning-Adresse oder LNURL</target> - - <note>Placeholder text for entry of Lightning Address or LNURL.</note> - </trans-unit> - <trans-unit id="Lightning Invoice" xml:space="preserve"> - <source>Lightning Invoice</source> - <target>Lightning-Rechnung</target> - - <note>Indicates that the view is for paying a Lightning invoice.</note> - </trans-unit> - <trans-unit id="Local default" xml:space="preserve"> - <source>Local default</source> - <target>System-Standard</target> - - <note>Dropdown option label for system default for Lightning wallet.</note> - </trans-unit> - <trans-unit id="Login" xml:space="preserve"> - <source>Login</source> - <target>Anmelden</target> - - <note>Button to log into account. - Button to log into an account.</note> - </trans-unit> - <trans-unit id="Logout" xml:space="preserve"> - <source>Logout</source> - <target>Abmelden</target> - - <note>Alert for logging out the user. - Button for logging out the user. - Button to logout the user.</note> - </trans-unit> - <trans-unit id="Make sure your nsec account key is saved before you logout or you will lose access to this account" xml:space="preserve"> - <source>Make sure your nsec account key is saved before you logout or you will lose access to this account</source> - <target>Stelle sicher dass dein nsec Kontoschlüssel gesichert ist bevor du dich abmeldest oder du wirst den Zugang zu diesem Konto verlieren</target> - - <note>Reminder message in alert to get customer to verify that their private security account key is saved saved before logging out.</note> - </trans-unit> - <trans-unit id="Muun" xml:space="preserve"> - <source>Muun</source> - <target>Muun</target> - - <note>Dropdown option label for Lightning wallet, Muun.</note> - </trans-unit> - <trans-unit id="NIP-05 Verification" xml:space="preserve"> - <source>NIP-05 Verification</source> - <target>NIP-05-Verifizierung</target> - - <note>Label for NIP-05 Verification section of user profile form.</note> - </trans-unit> - <trans-unit id="Nothing to see here. Check back later!" xml:space="preserve"> - <source>Nothing to see here. Check back later!</source> - <target>Hier gibts nichts zu sehen. Schau später wieder vorbei!</target> - - <note>Indicates that there are no notes in the timeline to view.</note> - </trans-unit> - <trans-unit id="Notifications" xml:space="preserve"> - <source>Notifications</source> - <target>Benachrichtigungen</target> - - <note>Navigation title for notifications.</note> - </trans-unit> - <trans-unit id="Pay" xml:space="preserve"> - <source>Pay</source> - <target>Bezahlen</target> - - <note>Button to pay a Lightning invoice.</note> - </trans-unit> - <trans-unit id="Pay the Lightning invoice" xml:space="preserve"> - <source>Pay the Lightning invoice</source> - <target>Bezahle die Lightning-Rechnung</target> - - <note>Navigation bar title for view to pay Lightning invoice.</note> - </trans-unit> - <trans-unit id="Phoenix" xml:space="preserve"> - <source>Phoenix</source> - <target>Phoenix</target> - - <note>Dropdown option label for Lightning wallet, Phoenix.</note> - </trans-unit> - <trans-unit id="Post" xml:space="preserve"> - <source>Post</source> - <target>Teilen</target> - - <note>Button to post a note.</note> - </trans-unit> - <trans-unit id="Posts" xml:space="preserve"> - <source>Posts</source> - <target>Beiträge</target> - - <note>Label for filter for seeing only posts (instead of posts and replies).</note> - </trans-unit> - <trans-unit id="Posts &amp; Replies" xml:space="preserve"> - <source>Posts &amp; Replies</source> - <target>Beiträge &amp; Antworten</target> - - <note>Label for filter for seeing posts and replies (instead of only posts).</note> - </trans-unit> - <trans-unit id="Private" xml:space="preserve"> - <source>Private</source> - <target>Privatsphäre</target> - - <note>Heading indicating that this application keeps personally identifiable information private. A sentence describing what is done to keep data private comes after this heading.</note> - </trans-unit> - <trans-unit id="Private Key" xml:space="preserve"> - <source>Private Key</source> - <target>Privater Schlüssel</target> - - <note>Title of the secure field that holds the user's private key.</note> - </trans-unit> - <trans-unit id="Profile" xml:space="preserve"> - <source>Profile</source> - <target>Profil</target> - - <note>Sidebar menu label for Profile view.</note> - </trans-unit> - <trans-unit id="Profile Picture" xml:space="preserve"> - <source>Profile Picture</source> - <target>Profilbild</target> - - <note>Label for Profile Picture section of user profile form.</note> - </trans-unit> - <trans-unit id="Public Account ID" xml:space="preserve"> - <source>Public Account ID</source> - <target>Öffentliche Konto ID</target> - - <note>Section title for the user's public account ID.</note> - </trans-unit> - <trans-unit id="Public Key" xml:space="preserve"> - <source>Public Key</source> - <target>Öffentlicher Schlüssel</target> - - <note>Label indicating that the text is a user's public account key.</note> - </trans-unit> - <trans-unit id="Public Key?" xml:space="preserve"> - <source>Public Key?</source> - <target>Öffentlicher Schlüssel?</target> - - <note>Prompt to ask user if the key they entered is a public key.</note> - </trans-unit> - <trans-unit id="Public key" xml:space="preserve"> - <source>Public key</source> - <target>Öffentlicher Schlüssel</target> - - <note>Label indicating that the text is a user's public account key.</note> - </trans-unit> - <trans-unit id="Reactions" xml:space="preserve"> - <source>Reactions</source> - <target>Reaktionen</target> - - <note>Navigation bar title for Reactions view.</note> - </trans-unit> - <trans-unit id="Recommended Relays" xml:space="preserve"> - <source>Recommended Relays</source> - <target>Empfohlene Relays</target> - - <note>Section title for recommend relay servers that could be added as part of configuration</note> - </trans-unit> - <trans-unit id="Relay" xml:space="preserve"> - <source>Relay</source> - <target>Relay</target> - - <note>Text field for relay server. Used for testing purposes.</note> - </trans-unit> - <trans-unit id="Relays" xml:space="preserve"> - <source>Relays</source> - <target>Relays</target> - - <note>Sidebar menu label for Relay servers view</note> - </trans-unit> - <trans-unit id="Remove all" xml:space="preserve"> - <source>Remove all</source> - <target>Alle entfernen</target> - - <note>Button label to remove all participants from a note reply.</note> - </trans-unit> - <trans-unit id="Reply to self" xml:space="preserve"> - <source>Reply to self</source> - <target>Antwort an dich selbst</target> - - <note>Label to indicate that the user is replying to themself.</note> - </trans-unit> - <trans-unit id="Replying to %@ &amp; %@" xml:space="preserve"> - <source>Replying to %1$@ &amp; %2$@</source> - <target>%1$@ &amp; %2$@ antworten</target> - - <note>Label to indicate that the user is replying to 2 users.</note> - </trans-unit> - <trans-unit id="Replying to:" xml:space="preserve"> - <source>Replying to:</source> - <target>Du antwortest:</target> - - <note>Indicating that the user is replying to the following listed people.</note> - </trans-unit> - <trans-unit id="Repost" xml:space="preserve"> - <source>Repost</source> - <target>Teilen</target> - - <note>Button to confirm reposting a post. - Title of alert for confirming to repost a post.</note> - </trans-unit> - <trans-unit id="Reposted" xml:space="preserve"> - <source>Reposted</source> - <target>Geteilt</target> - - <note>Text indicating that the post was reposted (i.e. re-shared).</note> - </trans-unit> - <trans-unit id="Requests" xml:space="preserve"> - <source>Requests</source> - <target>Anfragen</target> - - <note>Picker option for DM selector for seeing only message requests (DMs that someone else sent the user which has not been responded to yet). DM is the English abbreviation for Direct Message.</note> - </trans-unit> - <trans-unit id="Reset" xml:space="preserve"> - <source>Reset</source> - <target>Zurücksetzen</target> - - <note>Section title for resetting the user</note> - </trans-unit> - <trans-unit id="Retry" xml:space="preserve"> - <source>Retry</source> - <target>Wiederholung</target> - - <note>Button to retry completing account creation after an error occurred.</note> - </trans-unit> - <trans-unit id="River" xml:space="preserve"> - <source>River</source> - <target>River</target> - - <note>Dropdown option label for Lightning wallet, River</note> - </trans-unit> - <trans-unit id="Satoshi Nakamoto" xml:space="preserve"> - <source>Satoshi Nakamoto</source> - <target>Satoshi Nakamoto</target> - - <note>Name of Bitcoin creator(s).</note> - </trans-unit> - <trans-unit id="Save" xml:space="preserve"> - <source>Save</source> - <target>Speichern</target> - - <note>Button for saving profile.</note> - </trans-unit> - <trans-unit id="Save Image" xml:space="preserve"> - <source>Save Image</source> - <target>Bild speichern</target> - - <note>Context menu option to save an image.</note> - </trans-unit> - <trans-unit id="Search hashtag: #%@" xml:space="preserve"> - <source>Search hashtag: #%@</source> - <target>Hashtag suchen: #%@</target> - - <note>Navigation link to search hashtag.</note> - </trans-unit> - <trans-unit id="Search..." xml:space="preserve"> - <source>Search...</source> - <target>Suchen...</target> - - <note>Placeholder text to prompt entry of search query.</note> - </trans-unit> - <trans-unit id="Secret Account Login Key" xml:space="preserve"> - <source>Secret Account Login Key</source> - <target>Geheimer Konto-Anmeldeschlüssel</target> - - <note>Section title for user's secret account login key.</note> - </trans-unit> - <trans-unit id="Select a Lightning wallet" xml:space="preserve"> - <source>Select a Lightning wallet</source> - <target>Wähle eine Lightning-Wallet</target> - - <note>Title of section for selecting a Lightning wallet to pay a Lightning invoice.</note> - </trans-unit> - <trans-unit id="Select default wallet" xml:space="preserve"> - <source>Select default wallet</source> - <target>Wähle ein voreingestelltes Wallet</target> - - <note>Prompt selection of user's default wallet</note> - </trans-unit> - <trans-unit id="Send a message to start the conversation..." xml:space="preserve"> - <source>Send a message to start the conversation...</source> - <target>Sende eine Nachricht um die Unterhaltung zu beginnen...</target> - - <note>Text prompt for user to send a message to the other user.</note> - </trans-unit> - <trans-unit id="Settings" xml:space="preserve"> - <source>Settings</source> - <target>Einstellungen</target> - - <note>Navigation title for Settings view. - Sidebar menu label for accessing the app settings</note> - </trans-unit> - <trans-unit id="Share" xml:space="preserve"> - <source>Share</source> - <target>Teilen</target> - - <note>Button to share an image.</note> - </trans-unit> - <trans-unit id="Show" xml:space="preserve"> - <source>Show</source> - <target>Anzeigen</target> - - <note>Toggle to show or hide user's secret account login key.</note> - </trans-unit> - <trans-unit id="Show wallet selector" xml:space="preserve"> - <source>Show wallet selector</source> - <target>Wallet-Auswahl anzeigen</target> - - <note>Toggle to show or hide selection of wallet.</note> - </trans-unit> - <trans-unit id="Sign out" xml:space="preserve"> - <source>Sign out</source> - <target>Abmelden</target> - - <note>Sidebar menu label to sign out of the account.</note> - </trans-unit> - <trans-unit id="Strike" xml:space="preserve"> - <source>Strike</source> - <target>Strike</target> - - <note>Dropdown option label for Lightning wallet, Strike.</note> - </trans-unit> - <trans-unit id="This is a public key, you will not be able to make posts or interact in any way. This is used for viewing accounts from their perspective." xml:space="preserve"> - <source>This is a public key, you will not be able to make posts or interact in any way. This is used for viewing accounts from their perspective.</source> - <target>Dies ist ein öffentlicher Schlüssel, Du wirst keine Beiträge teilen oder oder auf irgendeine Weise interagieren können. Dies wird genutzt um Kontos aus deren Perspektive zu sehen.</target> - - <note>Warning that the inputted account key is a public key and the result of what happens because of it.</note> - </trans-unit> - <trans-unit id="This is an old-style nostr key. We're not sure if it's a pubkey or private key. Please toggle the button below if this a public key." xml:space="preserve"> - <source>This is an old-style nostr key. We're not sure if it's a pubkey or private key. Please toggle the button below if this a public key.</source> - <target>Dies ist ein veralteter nostr-Schlüssel. Wir sind und unsicher ob es ein öffentlicher Schlüssel oder ein privater Schlüssel ist. Bitte betätige die untenstehende Schaltfläche wenn es ein öffentlicher Schlüssel ist.</target> - - <note>Warning that the inputted account key for login is an old-style and asking user to verify if it is a public key.</note> - </trans-unit> - <trans-unit id="This is your account ID, you can give this to your friends so that they can follow you. Click to copy." xml:space="preserve"> - <source>This is your account ID, you can give this to your friends so that they can follow you. Click to copy.</source> - <target>Dies ist deine Konto-ID, die du an deine Freunde weitergeben kannst, damit sie dir folgen können. Zum Kopieren anklicken.</target> - - <note>Label to describe that a public key is the user's account ID and what they can do with it.</note> - </trans-unit> - <trans-unit id="This is your secret account key. You need this to access your account. Don't share this with anyone! Save it in a password manager and keep it safe!" xml:space="preserve"> - <source>This is your secret account key. You need this to access your account. Don't share this with anyone! Save it in a password manager and keep it safe!</source> - <target>Dies ist dein geheimer, privater Schlüssel. Du benötigst ihn, um auf dein Konto zuzugreifen. Gib den privaten Schlüssel an niemanden weiter! Speichere ihn in einem Passwort-Manager und bewahre ihn sicher auf!</target> - - <note>Label to describe that a private key is the user's secret account key and what they should do with it.</note> - </trans-unit> - <trans-unit id="Thread" xml:space="preserve"> - <source>Thread</source> - <target>Thema</target> - - <note>Navigation bar title for note thread. - Navigation bar title for threaded event detail view.</note> - </trans-unit> - <trans-unit id="Type your post here..." xml:space="preserve"> - <source>Type your post here...</source> - <target>Schreibe deinen Beitrag hier...</target> - - <note>Text box prompt to ask user to type their post.</note> - </trans-unit> - <trans-unit id="Unfollow" xml:space="preserve"> - <source>Unfollow</source> - <target>Entfolgen</target> - - <note>Button to unfollow a user.</note> - </trans-unit> - <trans-unit id="Unfollowing" xml:space="preserve"> - <source>Unfollowing</source> - <target>Entfolgen...</target> - - <note>Text to indicate that the button next to it is in a state that indicates that it is in the process of unfollowing a profile.</note> - </trans-unit> - <trans-unit id="Unfollowing..." xml:space="preserve"> - <source>Unfollowing...</source> - <target>Entfolgen...</target> - - <note>Label to indicate that the user is in the process of unfollowing another user.</note> - </trans-unit> - <trans-unit id="Unfollows" xml:space="preserve"> - <source>Unfollows</source> - <target>Entfolgen</target> - - <note>Text to indicate that the button next to it is in a state that will unfollow a profile when tapped.</note> - </trans-unit> - <trans-unit id="Username" xml:space="preserve"> - <source>Username</source> - <target>Benutzername</target> - - <note>Label for Username section of user profile form. - Label to prompt username entry.</note> - </trans-unit> - <trans-unit id="Wallet" xml:space="preserve"> - <source>Wallet</source> - <target>Wallet</target> - - <note>Sidebar menu label for Wallet view.</note> - </trans-unit> - <trans-unit id="Wallet Of Satoshi" xml:space="preserve"> - <source>Wallet Of Satoshi</source> - <target>Wallet Of Satoshi</target> - - <note>Dropdown option label for Lightning wallet, Wallet Of Satoshi.</note> - </trans-unit> - <trans-unit id="Wallet Selector" xml:space="preserve"> - <source>Wallet Selector</source> - <target>Wallet-Auswahl</target> - - <note>Section title for selection of wallet.</note> - </trans-unit> - <trans-unit id="Website" xml:space="preserve"> - <source>Website</source> - <target>Website</target> - - <note>Label for Website section of user profile form.</note> - </trans-unit> - <trans-unit id="Welcome to the social network %@ control." xml:space="preserve"> - <source>Welcome to the social network %@ control.</source> - <target>Willkommen in dem sozialen Netzwerk das %@ kontrollierst.</target> - - <note>Welcoming message to the reader. The variable is 'you', the reader.</note> - </trans-unit> - <trans-unit id="Welcome, %@!" xml:space="preserve"> - <source>Welcome, %@!</source> - <target>Willkommen, %@!</target> - - <note>Text to welcome user.</note> - </trans-unit> - <trans-unit id="Your Name" xml:space="preserve"> - <source>Your Name</source> - <target>Dein Name</target> - - <note>Label for Your Name section of user profile form.</note> - </trans-unit> - <trans-unit id="Zebedee" xml:space="preserve"> - <source>Zebedee</source> - <target>Zebedee</target> - - <note>Dropdown option label for Lightning wallet, Zebedee.</note> - </trans-unit> - <trans-unit id="Zeus LN" xml:space="preserve"> - <source>Zeus LN</source> - <target>Zeus LN</target> - - <note>Dropdown option label for Lightning wallet, Zeus LN.</note> - </trans-unit> - <trans-unit id="collapsed_event_view_other_notes" translate="no" xml:space="preserve"> - <source>collapsed_event_view_other_notes</source> - <target>collapsed_event_view_other_notes</target> - - <note>Text to indicate that the thread was collapsed and that there are other notes to view if tapped. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="followers_count" translate="no" xml:space="preserve"> - <source>followers_count</source> - <target>followers_count</target> - - <note>Part of a larger sentence to describe how many people are following a user. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="https://example.com/pic.jpg" xml:space="preserve"> - <source>https://example.com/pic.jpg</source> - <target>https://beispiel.de/bild.jpg</target> - - <note>Placeholder example text for profile picture URL.</note> - </trans-unit> - <trans-unit id="https://jb55.com" xml:space="preserve"> - <source>https://jb55.com</source> - <target>https://jb55.com</target> - - <note>Placeholder example text for website URL for user profile.</note> - </trans-unit> - <trans-unit id="jb55@jb55.com" xml:space="preserve"> - <source>jb55@jb55.com</source> - <target>jb55@jb55.com</target> - - <note>Placeholder example text for identifier used for NIP-05 verification.</note> - </trans-unit> - <trans-unit id="none" xml:space="preserve"> - <source>none</source> - <target>keine</target> - - <note>No search results.</note> - </trans-unit> - <trans-unit id="now" xml:space="preserve"> - <source>now</source> - <target>jetzt</target> - - <note>String indicating that a given timestamp just occurred</note> - </trans-unit> - <trans-unit id="nsec1..." xml:space="preserve"> - <source>nsec1...</source> - <target>nsec1...</target> - - <note>Prompt for user to enter in an account key to login. This text shows the characters the key could start with if it was a private key.</note> - </trans-unit> - <trans-unit id="optional" xml:space="preserve"> - <source>optional</source> - <target>optional</target> - - <note>Label indicating that a form input is optional.</note> - </trans-unit> - <trans-unit id="reactions_count" translate="no" xml:space="preserve"> - <source>reactions_count</source> - <target>reactions_count</target> - - <note>Part of a larger sentence to describe how many reactions there are on a post. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="relays_count" translate="no" xml:space="preserve"> - <source>relays_count</source> - <target>relays_count</target> - - <note>Part of a larger sentence to describe how many relay servers a user is connected. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="replying_to_one_and_others" translate="no" xml:space="preserve"> - <source>replying_to_one_and_others</source> - <target>replying_to_one_and_others</target> - - <note>Label to indicate that the user is replying to 1 user and others. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="replying_to_two_and_others" translate="no" xml:space="preserve"> - <source>replying_to_two_and_others</source> - <target>replying_to_two_and_others</target> - - <note>Label to indicate that the user is replying to 2 users and others. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="reposts_count" translate="no" xml:space="preserve"> - <source>reposts_count</source> - <target>reposts_count</target> - - <note>Part of a larger sentence to describe how many reposts there are. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="satoshi" xml:space="preserve"> - <source>satoshi</source> - <target>satoshi</target> - - <note>Example username of Bitcoin creator(s), Satoshi Nakamoto.</note> - </trans-unit> - <trans-unit id="sats_count" translate="no" xml:space="preserve"> - <source>sats_count</source> - <target>sats_count</target> - - <note>Amount of sats. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="tips_count" translate="no" xml:space="preserve"> - <source>tips_count</source> - <target>tips_count</target> - - <note>Part of a larger sentence to describe how many tip payments there are on a post. (Key in .stringsdict)</note> - </trans-unit> - <trans-unit id="u{00A0}" xml:space="preserve"> - <source>u{00A0}</source> - <target>u{00A0}</target> - - <note>Non-breaking space character to fill in blank space next to event action button icons.</note> - </trans-unit> - <trans-unit id="wss://some.relay.com" xml:space="preserve"> - <source>wss://some.relay.com</source> - <target>wss://irgendein.relay.de</target> - - <note>Placeholder example for relay server address.</note> - </trans-unit> - <trans-unit id="you" xml:space="preserve"> - <source>you</source> - <target>Du</target> - - <note>You, in this context, is the person who controls their own social network. You is used in the context of a larger sentence that welcomes the reader to the social network that they control themself.</note> - </trans-unit> - </body> - </file> - <file original="damus/en-US.lproj/Localizable.stringsdict" source-language="en-US" target-language="de-DE" datatype="plaintext"> - <header> - <tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="14.2" build-num="14C18"/> - </header> - <body> - <trans-unit id="/collapsed_event_view_other_notes:dict/NOTES:dict/one:dict/:string" xml:space="preserve"> - <source>%d other note</source> - <target>%d andere Notiz</target> - - <note>Text to indicate that the thread was collapsed and that there are other notes to view if tapped.</note> - </trans-unit> - <trans-unit id="/collapsed_event_view_other_notes:dict/NOTES:dict/other:dict/:string" xml:space="preserve"> - <source>%d other notes</source> - <target>%d andere Notizen</target> - - <note>Text to indicate that the thread was collapsed and that there are other notes to view if tapped.</note> - </trans-unit> - <trans-unit id="/collapsed_event_view_other_notes:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>··· %#@NOTES@ ···</source> - <target>··· %#@NOTES@ ···</target> - - <note>Text to indicate that the thread was collapsed and that there are other notes to view if tapped.</note> - </trans-unit> - <trans-unit id="/followers_count:dict/FOLLOWERS:dict/one:dict/:string" xml:space="preserve"> - <source>Follower</source> - <target>Follower</target> - - <note>Part of a larger sentence to describe how many people are following a user.</note> - </trans-unit> - <trans-unit id="/followers_count:dict/FOLLOWERS:dict/other:dict/:string" xml:space="preserve"> - <source>Followers</source> - <target>Follower</target> - - <note>Part of a larger sentence to describe how many people are following a user.</note> - </trans-unit> - <trans-unit id="/followers_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%#@FOLLOWERS@</source> - <target>%#@FOLLOWERS@</target> - - <note>Part of a larger sentence to describe how many people are following a user.</note> - </trans-unit> - <trans-unit id="/reactions_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%#@REACTIONS@</source> - <target>%#@REACTIONS@</target> - - <note>Part of a larger sentence to describe how many reactions there are on a post.</note> - </trans-unit> - <trans-unit id="/reactions_count:dict/REACTIONS:dict/one:dict/:string" xml:space="preserve"> - <source>Reaction</source> - <target>Reaktion</target> - - <note>Part of a larger sentence to describe how many reactions there are on a post.</note> - </trans-unit> - <trans-unit id="/reactions_count:dict/REACTIONS:dict/other:dict/:string" xml:space="preserve"> - <source>Reactions</source> - <target>Reaktionen</target> - - <note>Part of a larger sentence to describe how many reactions there are on a post.</note> - </trans-unit> - <trans-unit id="/relays_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%#@RELAYS@</source> - <target>%#@RELAYS@</target> - - <note>Part of a larger sentence to describe how many relay servers a user is connected.</note> - </trans-unit> - <trans-unit id="/relays_count:dict/RELAYS:dict/one:dict/:string" xml:space="preserve"> - <source>Relay</source> - <target>Relay</target> - - <note>Part of a larger sentence to describe how many relay servers a user is connected.</note> - </trans-unit> - <trans-unit id="/relays_count:dict/RELAYS:dict/other:dict/:string" xml:space="preserve"> - <source>Relays</source> - <target>Relays</target> - - <note>Part of a larger sentence to describe how many relay servers a user is connected.</note> - </trans-unit> - <trans-unit id="/replying_to_one_and_others:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>Replying to %@%#@OTHERS@</source> - <target>Antwort an %@%#@OTHERS@</target> - - <note>Label to indicate that the user is replying to 1 user and others.</note> - </trans-unit> - <trans-unit id="/replying_to_one_and_others:dict/OTHERS:dict/one:dict/:string" xml:space="preserve"> - <source> &amp; %d other</source> - <target>&amp; %d andere</target> - - <note>Label to indicate that the user is replying to 1 user and others.</note> - </trans-unit> - <trans-unit id="/replying_to_one_and_others:dict/OTHERS:dict/other:dict/:string" xml:space="preserve"> - <source> &amp; %d others</source> - <target>&amp; %d andere</target> - - <note>Label to indicate that the user is replying to 1 user and others.</note> - </trans-unit> - <trans-unit id="/replying_to_one_and_others:dict/OTHERS:dict/zero:dict/:string" xml:space="preserve"> - <source/> - <note>Label to indicate that the user is replying to 1 user and others.</note> - </trans-unit> - <trans-unit id="/replying_to_two_and_others:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>Replying to %@, %@%#@OTHERS@</source> - <target>Antwort an %@, %@%#@OTHERS@</target> - - <note>Label to indicate that the user is replying to 2 users and others.</note> - </trans-unit> - <trans-unit id="/replying_to_two_and_others:dict/OTHERS:dict/one:dict/:string" xml:space="preserve"> - <source> &amp; %d other</source> - <target>&amp; %d andere</target> - - <note>Label to indicate that the user is replying to 2 users and others.</note> - </trans-unit> - <trans-unit id="/replying_to_two_and_others:dict/OTHERS:dict/other:dict/:string" xml:space="preserve"> - <source> &amp; %d others</source> - <target>&amp; %d andere</target> - - <note>Label to indicate that the user is replying to 2 users and others.</note> - </trans-unit> - <trans-unit id="/replying_to_two_and_others:dict/OTHERS:dict/zero:dict/:string" xml:space="preserve"> - <source/> - <note>Label to indicate that the user is replying to 2 users and others.</note> - </trans-unit> - <trans-unit id="/reposts_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%#@REPOSTS@</source> - <target>%#@REPOSTS@</target> - - <note>Part of a larger sentence to describe how many reposts there are.</note> - </trans-unit> - <trans-unit id="/reposts_count:dict/REPOSTS:dict/one:dict/:string" xml:space="preserve"> - <source>Repost</source> - <target>Mal geteilt</target> - - <note>Part of a larger sentence to describe how many reposts there are.</note> - </trans-unit> - <trans-unit id="/reposts_count:dict/REPOSTS:dict/other:dict/:string" xml:space="preserve"> - <source>Reposts</source> - <target>Mal geteilt</target> - - <note>Part of a larger sentence to describe how many reposts there are.</note> - </trans-unit> - <trans-unit id="/sats_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%1$#@SATS@</source> - <target>%1$#@SATS@</target> - - <note>Amount of sats.</note> - </trans-unit> - <trans-unit id="/sats_count:dict/SATS:dict/one:dict/:string" xml:space="preserve"> - <source>%2$@ sat</source> - <target>%2$@ sat</target> - - <note>Amount of sats.</note> - </trans-unit> - <trans-unit id="/sats_count:dict/SATS:dict/other:dict/:string" xml:space="preserve"> - <source>%2$@ sats</source> - <target>%2$@ sats</target> - - <note>Amount of sats.</note> - </trans-unit> - <trans-unit id="/tips_count:dict/NSStringLocalizedFormatKey:dict/:string" xml:space="preserve"> - <source>%#@TIPS@</source> - <target>%#@TIPS@</target> - - <note>Part of a larger sentence to describe how many tip payments there are on a post.</note> - </trans-unit> - <trans-unit id="/tips_count:dict/TIPS:dict/one:dict/:string" xml:space="preserve"> - <source>Tip</source> - <target>Trinkgeld</target> - - <note>Part of a larger sentence to describe how many tip payments there are on a post.</note> - </trans-unit> - <trans-unit id="/tips_count:dict/TIPS:dict/other:dict/:string" xml:space="preserve"> - <source>Tips</source> - <target>Trinkgelder</target> - - <note>Part of a larger sentence to describe how many tip payments there are on a post.</note> - </trans-unit> - </body> - </file> -</xliff>- \ No newline at end of file diff --git a/devtools/export-source-translation.sh b/devtools/export-source-translation.sh @@ -0,0 +1,3 @@ +#!/bin/zsh + +xcodebuild -exportLocalizations -project damus.xcodeproj -localizationPath "translations" -exportLanguage en-US diff --git a/devtools/import-translation.sh b/devtools/import-translation.sh @@ -0,0 +1,8 @@ +#!/bin/zsh + +if [ -z "$*" ]; then + echo "Usage: ./devtools/import-translation.sh <locale_code_in_snake_case>" + return +fi + +find "translations" -name "${1}.xliff" | grep -v "en-US.xliff" | xargs -I % xcodebuild -importLocalizations -project damus.xcodeproj -localizationPath % diff --git a/transifex.yml b/transifex.yml @@ -3,8 +3,8 @@ git: - filter_type: file file_format: XLIFF source_language: en_US - source_file: damus Localizations/en-US.xcloc/Localized Contents/en-US.xliff - translation_files_expression: damus Localizations/<lang>.xcloc/Localized Contents/<lang>.xliff + source_file: translations/en-US.xcloc/Localized Contents/en-US.xliff + translation_files_expression: translations/<lang>.xliff settings: pr_branch_name: transifex/<br_unique_id> \ No newline at end of file diff --git a/damus Localizations/ar.xcloc/Localized Contents/ar.xliff b/translations/ar.xliff diff --git a/damus Localizations/de_AT.xcloc/Localized Contents/de_AT.xliff b/translations/de_AT.xliff diff --git a/damus Localizations/en-US.xcloc/Localized Contents/en-US.xliff b/translations/en-US.xcloc/Localized Contents/en-US.xliff diff --git a/damus Localizations/en-US.xcloc/Source Contents/damus/en-US.lproj/InfoPlist.strings b/translations/en-US.xcloc/Source Contents/damus/en-US.lproj/InfoPlist.strings diff --git a/damus Localizations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings b/translations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.strings Binary files differ. diff --git a/damus Localizations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict b/translations/en-US.xcloc/Source Contents/damus/en-US.lproj/Localizable.stringsdict diff --git a/damus Localizations/en-US.xcloc/contents.json b/translations/en-US.xcloc/contents.json diff --git a/damus Localizations/es_419.xcloc/Localized Contents/es_419.xliff b/translations/es_419.xliff diff --git a/damus Localizations/fr_FR.xcloc/Localized Contents/fr_FR.xliff b/translations/fr_FR.xliff diff --git a/damus Localizations/it_IT.xcloc/Localized Contents/it_IT.xliff b/translations/it_IT.xliff diff --git a/damus Localizations/lv_LV.xcloc/Localized Contents/lv_LV.xliff b/translations/lv_LV.xliff diff --git a/damus Localizations/pt_PT.xcloc/Localized Contents/pt_PT.xliff b/translations/pt_PT.xliff diff --git a/damus Localizations/tr_TR.xcloc/Localized Contents/tr_TR.xliff b/translations/tr_TR.xliff