Lines B, D and H of docs/curated-to-mantra.md, pulled from the Curated fork this
morning, go again this afternoon: the group's nostr profile (kind 0), its four relay
lists (NIP-65, NIP-17, NIP-50, NIP-51), its posts (kind 1), the curated schemas it
publishes (31889), the suggestions it reads (31888) and the entries it accepts
(31890). Eighty-two files, twelve screens, the `nostr/curated/` package, the readings
(`GroupNostrProfile`, `GroupRelayList`, `GroupPost`, `GroupCuratedSchema`,
`GroupCuratedEntry`, `CuratedSuggestion`), the `applyInnerEvent` arms for all eight
kinds, the `ChatRepository` and `NostrRepository` reads that fed them, 226 strings,
and every test that came with them. A translation collective has no list to curate
and no reason to describe itself under a key no member controls, and five rows
saying so on every group's screen were five rows about somebody else's product.
**The pasted-event proposal goes with them, because it was theirs.**
`GroupEventProposal.ACCEPTED_KINDS` was exactly kinds 0, 1, the four relay-list
kinds and 31889 -- "the kinds the group's screen has a place for", in its own words --
so with the five rows gone it would have refused every paste. Keeping it as a
generic "sign any event" was considered and rejected: the screen's whole argument
was that a member goes to the row to see the event landed, and there is no row. The
`ProposedEvent` summaries for the same kinds go too; the one test of its pre-existing
fallback ("Event of kind N") is kept, as the only line of `ProposedEventTest` that
was about code this repository had before the pull.
**Broadcast stays, and nothing opens it.** `BroadcastGroupSignedEventScreen`, its
route, view model, state and `BroadcastButton` are kept, on the decision that a way
to send a group-signed event to relays is worth having against the day something
wires a button in -- the button's only call sites were the five removed screens.
Two things had to change for it to compile against a tree with no relay lists:
`defaultRelaysFor(kind)` is now the app's own publish set for every kind, since the
General list it preferred, the Blocked list it filtered by and the schema relays it
widened to no longer exist; and `relayUrlOrNull` moves into the view model's
companion from the deleted `GroupRelaySet`, unchanged. The hint on the screen says
"the relays this app publishes to" rather than "where the group has said it lives".
Its two tests are rewritten around the new seed: the screen test answers for the
first two seeded relays and counts the rest as asked, and empties the list by hand
to see the empty state, since the seed always has something in it. Deleting
broadcast outright -- the tidier tree -- was the recommendation and was declined.
**Every pre-existing file is back at its pre-pull content plus the kept lines'
hunks, and nothing else.** Eleven files -- `ChatMessage.kt`, `NostrEventDao.kt`,
`NostrEvent.kt`, `LocalChatRoom.kt`, `Member.kt`, `ProposedEvent.kt`,
`ChatTranscript.kt`, `ProfileAvatar.kt`, the group screen's view model and state,
and `m3-title-case.py` -- were touched by no kept commit and are restored from
ba0830a3 byte for byte, so `inComparableGroups` is a private helper of the group
screen again rather than a shared extension one deleted screen needed, and
`ProfileAvatar` has one overload again. The rest were restored and had the kept
hunks re-applied: the back button's three on `ChatRoomDetailScreen`, broadcast's
`groupSignedEvent` read on the two chat repositories, and on the two nostr
repositories the sign-in reads, by reverse-applying the queue commit's hunk. The
check is `git diff ba0830a3 -- <file>`, which shows only those. Reverting the eight
commits was rejected because the back button and the read-only identity work landed
on top of them and would have conflicted in every one of the shared files; editing
the current files by hand was rejected because it leaves residue that a diff against
the base cannot distinguish from a decision.
**The strings that went are exactly the ones nothing references any more and that
the pull added.** Six strings were unreferenced before the pull and stay; the header
sentence and one capitalised "Mantra" that the queue commit's join carried are prose,
not feature, and stay too. The seven section comments that described removed blocks
go; the broadcast block's stays.
**The plan's third decision said "hide the two rows behind a constant".** That
covered the curated rows and not the profile, relays and posts beside them, and the
call was to take the whole identity block out. The record of what went and what
stayed is the paragraph after the built table in docs/curated-to-mantra.md, with the
seam it leaves for the next pull: an upstream commit that touches the identity block
conflicts at `ChatRoomDetailScreen`, `MantraNavHost` and `strings.xml`, and is
dropped. docs/README.md says the same in a sentence. The nsec and npub notes still
name `EditGroupCuratedSchemaViewModel`; they are records of what was built upstream
and are left as written.
Verified with :composeApp:compileDebugKotlinAndroid, :composeApp:compileKotlinJvm,
:composeApp:jvmTest (826 tests, from 1,039), :composeApp:testDebugUnitTest (413,
from 530) and :composeApp:m3Audit, every budget met, 12 adaptive uses at the floor.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
474 lines
40 KiB
XML
474 lines
40 KiB
XML
<resources>
|
|
<!--
|
|
The app's own string catalogue. Nearly empty, for now.
|
|
|
|
This file previously held 1101 strings inherited from the phoenix wallet fork
|
|
(notification channel titles, electrum server settings, swap timeouts), and
|
|
app_name was "Machankura". Nothing referenced any of them: the only two
|
|
stringResource calls in the tree were both commented out, and one of them named an
|
|
R.string, which does not exist in a Compose Multiplatform resource set at all.
|
|
Keeping 1101 dead strings made this look like the app's catalogue while the app's
|
|
actual 334 strings sat inside composables.
|
|
|
|
The launcher label is a separate resource, in androidMain/res/values/strings.xml,
|
|
which is what AndroidManifest.xml points at. Both now say "Mantra".
|
|
|
|
Externalising the 334 is the rest of phase 4 in
|
|
docs/material-design-conformance.md. They land here.
|
|
|
|
Note for whoever edits this: XML forbids a double hyphen inside a comment, so use
|
|
an em dash or a comma. The compose resources plugin reports that only as
|
|
"XML file ... is not valid. Check the file content."
|
|
-->
|
|
<string name="app_name">Mantra</string>
|
|
<string name="add_a_dialect_the_group_can_translate_into">Add a dialect the group can translate into</string>
|
|
<string name="add_artifact_to_library">Add artifact to library</string>
|
|
<string name="add_artifact_to_the_group_library">Add artifact to the group library</string>
|
|
<string name="add_chapter">Add chapter</string>
|
|
<string name="add_dialect">Add dialect</string>
|
|
<string name="add_to_group">Add to group</string>
|
|
<string name="add_translation">Add translation</string>
|
|
<string name="after_this_there_is_no_turning_back">After this there is no turning back.</string>
|
|
<string name="all_broadcasts_are_queued_so_that_we_can">All broadcasts are queued so that we can manage data usage on metered connections.</string>
|
|
<string name="any_amount">Any amount</string>
|
|
<string name="article">ARTICLE</string>
|
|
<string name="artifact_detail">Artifact detail</string>
|
|
<string name="as_long_as_you_control_your_keys_there_can">As long as you control your keys there can be no dispute about who YOU actually is.</string>
|
|
<string name="back">Back</string>
|
|
<string name="backup_confirmation">Backup confirmation</string>
|
|
<string name="be_sure_to_keep_this_nsec_safe">Be sure to keep this nsec safe.</string>
|
|
<string name="be_the_first_to_comment">Be the first to comment.</string>
|
|
<string name="bio">Bio</string>
|
|
<string name="bip39_seed_with_the_standard_bip84">BIP39 seed with the standard BIP84 derivation path. The profile\'s nostr key comes off the same seed, so these 12 words restore both.</string>
|
|
<string name="block_user">Block user</string>
|
|
<string name="cancel">Cancel</string>
|
|
<string name="change_account">Change account</string>
|
|
<string name="chapter_detail">Chapter detail</string>
|
|
<string name="chapter_name">Chapter name</string>
|
|
<string name="chapter_translation">Chapter translation</string>
|
|
<string name="chapters">Chapters</string>
|
|
<string name="choose_who_to_chat_with">Choose who to chat with</string>
|
|
<string name="close">Close</string>
|
|
<string name="cloud_backup">Cloud backup</string>
|
|
<string name="copy_url">Copy URL</string>
|
|
<string name="could_not_unlock_your_phrase_please_try">Could not unlock your phrase. Please try again.</string>
|
|
<string name="country">Country</string>
|
|
<string name="create_chat">Create chat</string>
|
|
<string name="create_new_chat">Create new chat</string>
|
|
<string name="create_profile">Create profile</string>
|
|
<string name="create_project">Create project</string>
|
|
<string name="create_the_admin_room">Create the admin room</string>
|
|
<string name="agree_the_groups_signing_key">Agree the group's signing key</string>
|
|
<string name="the_group_is_agreeing_what_the_admin_room">The group is agreeing what the admin room will sign with. It takes %1$s of %2$s members, and the request is in this chat.</string>
|
|
<string name="the_group_has_agreed_what_the_admin_room">The group has agreed what the admin room will sign with.</string>
|
|
<string name="the_group_could_not_agree_what_the_admin">The group could not agree what the admin room will sign with. Ask again — a fresh request is the only safe way to retry.</string>
|
|
<string name="before_the_room_exists_the_group_signs">Before the room exists, the group signs a statement of which key it will sign with. The room is then created already knowing it.</string>
|
|
<string name="creating_new_chat">Creating new chat.</string>
|
|
<string name="currently_no_contacts_please_search_and_chat">Currently no contacts. Please search and chat with a few people.</string>
|
|
<string name="currently_no_messages_have_been_shared">Currently no messages have been shared.\nBreak the ice.</string>
|
|
<string name="delete_group">Delete group</string>
|
|
<string name="details">Details</string>
|
|
<string name="dialect_name">Dialect name</string>
|
|
<string name="dialects">Dialects</string>
|
|
<string name="direct_message_detail">Direct message detail</string>
|
|
<string name="direct_message_functionality_will_be_here">Direct message functionality will be here.</string>
|
|
<string name="direct_message_via_npub">Direct message via npub</string>
|
|
<string name="display_recovery_phrase">Display recovery phrase</string>
|
|
<string name="don_t_sign">Don't sign</string>
|
|
<string name="download">Download</string>
|
|
<string name="download_and_securely_store_everything">Download and securely store everything needed to recover this profile and the coins it holds.</string>
|
|
<string name="edit_profile">Edit profile</string>
|
|
<string name="eg_chapter_1_the_beginning">eg. Chapter 1 — The Beginning</string>
|
|
<string name="eg_first_edition">eg. First Edition</string>
|
|
<string name="eg_https_harper_com_2_kill_bird">eg. https://harper.com/2-kill-Bird</string>
|
|
<string name="eg_lesotho">eg. Lesotho</string>
|
|
<string name="eg_sesotho">eg. Sesotho</string>
|
|
<string name="eg_st">eg. st</string>
|
|
<string name="eg_to_kill_a_mocking_bird">eg. To Kill a Mocking Bird</string>
|
|
<string name="emergency_kit">Emergency kit</string>
|
|
<string name="end_this">end this</string>
|
|
<string name="ended">ENDED</string>
|
|
<string name="encrypt_and_back_your_recovery_information">Encrypt and back your recovery information up to your Google Drive or iCloud.</string>
|
|
<string name="enter_the_name_you_want_to_use_for_your">Enter the name you want to use for your group</string>
|
|
<string name="enter_the_name_you_want_to_use_for_your_2">Enter the name you want to use for your profile</string>
|
|
<string name="enter_the_translation_for_this_chunk">Enter the translation for this chunk</string>
|
|
<string name="events_are_indexed_so_that_we_can_deliver_a">Events are indexed so that we can deliver a premium local first experience.</string>
|
|
<string name="everything_else">Everything else</string>
|
|
<string name="everything_is_cryptographical_sound_just">Everything is cryptographical sound. Just announcing your profile to the world.</string>
|
|
<string name="everything_is_cryptographical_sound_just_2">Everything is cryptographical sound. Just indexing your profile on the device.</string>
|
|
<string name="everything_is_cryptographical_sound_just_3">Everything is cryptographical sound. Just need to queue your profile and announce it to the world.</string>
|
|
<string name="expired">Expired</string>
|
|
<string name="failed">✗ Failed</string>
|
|
<string name="follow">follow</string>
|
|
<string name="follow_back">follow back</string>
|
|
<string name="functionality_coming_soon">functionality coming soon.</string>
|
|
<string name="has_not_taken_part_yet">Has not taken part yet</string>
|
|
<string name="hide">Hide</string>
|
|
<string name="how_many_admins_have_to_approve_a_change">How many admins have to approve a change?</string>
|
|
<string name="how_many_members_will_it_take_to_sign">How many members will it take to sign?</string>
|
|
<string name="i_have_saved_my_recovery_phrase_somewhere">I have saved my recovery phrase somewhere safe.</string>
|
|
<string name="i_understand_that_if_i_lose_this_phone_and">I understand that if I lose this phone and my recovery phrase, I lose this profile and the funds in its wallet.</string>
|
|
<string name="if_you_are_new_to_torch_or_just_want_to">If you are new to Mantra or just want to create a fresh profile</string>
|
|
<string name="initial_version_label">Initial version label</string>
|
|
<string name="input_npub_or_nip05">Input npub... or nip05</string>
|
|
<string name="introduce_yourself">Introduce yourself</string>
|
|
<string name="invite">Invite</string>
|
|
<string name="invite_a_friend">Invite a friend</string>
|
|
<string name="invite_new_member">Invite new member</string>
|
|
<string name="it_is_cryptographical_secure_and">It is cryptographical secure, and decentralized, putting you in total control of your digital profile</string>
|
|
<string name="just_you_for_now">Just you for now</string>
|
|
<string name="keep_the_feed_alive">Keep the feed alive.</string>
|
|
<string name="keep_this_phrase_safe_do_not_share_it">Keep this phrase safe.\nDo not share it.</string>
|
|
<string name="key">Key</string>
|
|
<string name="key_package_management">Key package management</string>
|
|
<string name="key_recovery">Key recovery</string>
|
|
<string name="language">Language</string>
|
|
<string name="learn_more">Learn more</string>
|
|
<string name="leave_group">Leave group</string>
|
|
<string name="library">Library</string>
|
|
<string name="lightning_invoice">Lightning invoice</string>
|
|
<string name="live">LIVE</string>
|
|
<string name="live_stream">Live stream</string>
|
|
<string name="loading">Loading</string>
|
|
<string name="loading_article">Loading article...</string>
|
|
<string name="loading_author_information">Loading author information</string>
|
|
<string name="loading_author_information_2">Loading author information...</string>
|
|
<string name="loading_information">loading information...</string>
|
|
<string name="loading_note">Loading note...</string>
|
|
<string name="loading_stream">Loading stream...</string>
|
|
<string name="loading_preferences">Loading preferences…</string>
|
|
<string name="lose_this_phone_before_you_do_and_the">Lose this phone before you do, and the profile goes with it.</string>
|
|
<string name="lock_prompt_coming_soon">Lock prompt coming soon.</string>
|
|
<string name="malformed_note">Malformed note</string>
|
|
<string name="mantra">Mantra</string>
|
|
<string name="members">Members</string>
|
|
<string name="members_2">members</string>
|
|
<string name="name">Name</string>
|
|
<string name="name_eg_alan_turing">Name (eg. Alan Turing)</string>
|
|
<string name="name_eg_group_discussions">Name (eg. Group Discussions)</string>
|
|
<string name="name_of_artifact">Name of artifact</string>
|
|
<string name="network_relays">Network relays</string>
|
|
<string name="no_wallet_is_open_on_this_device_so_there">No wallet is open on this device, so there is no phrase to show.</string>
|
|
<string name="not_backed_up_yet">Not backed up yet</string>
|
|
<string name="new_chat">New chat</string>
|
|
<string name="next">Next</string>
|
|
<string name="no_artifacts_exists_in_this_groups_library">No artifacts exists in this groups library.</string>
|
|
<string name="no_chapters">No chapters.</string>
|
|
<string name="no_chapters_yet">No chapters yet.</string>
|
|
<string name="no_chat_message_relays_were_found_for_this">No chat message relays were found for this user.</string>
|
|
<string name="no_chunks">No chunks.</string>
|
|
<string name="no_dialects_have_been_defined_in_this_group">No dialects have been defined in this group yet. Add one from the group's detail screen first.</string>
|
|
<string name="no_dialects_have_been_defined_in_this_group_2">No dialects have been defined in this group.</string>
|
|
<string name="no_messages_go_to_a_profile_and_send_them_a">No messages. Go to a profile and send them a message.</string>
|
|
<string name="no_one_selected_yet">No one selected yet</string>
|
|
<string name="no_one_to_add_yet">No one to add yet.</string>
|
|
<string name="no_projects_exists_in_this_group">No projects exists in this group.</string>
|
|
<string name="no_translations_yet">No translations yet.</string>
|
|
<string name="no_versions">No versions.</string>
|
|
<string name="not_now">Not now</string>
|
|
<string name="nothing_was_created_and_no_key_exists_it_is">Nothing was created and no key exists. It is safe to run it again.</string>
|
|
<string name="open_chat">Open chat</string>
|
|
<string name="original">Original</string>
|
|
<string name="original_text">Original text</string>
|
|
<string name="original_text_markdown">Original text (markdown)</string>
|
|
<string name="paid">✓ Paid</string>
|
|
<string name="paste_the_chapter_s_markdown_blank_lines">Paste the chapter's markdown. Blank lines separate paragraphs into chunks.</string>
|
|
<string name="pay">Pay</string>
|
|
<string name="pay_now">Pay now</string>
|
|
<string name="post">Post</string>
|
|
<string name="post_functionality_coming_soon">post functionality coming soon.</string>
|
|
<string name="private_to_you">Private to you</string>
|
|
<string name="messages">Messages</string>
|
|
<string name="profile">Profile</string>
|
|
<string name="pick_a_conversation_to_read_it_here">Pick a conversation to read it here.</string>
|
|
<string name="profile_is_ready">Profile is ready</string>
|
|
<string name="profiles">Profiles</string>
|
|
<string name="projects">Projects</string>
|
|
<string name="proposals">Proposals</string>
|
|
<string name="propose">Propose</string>
|
|
<string name="propose_artifact">Propose artifact</string>
|
|
<string name="propose_chapter">Propose chapter</string>
|
|
<string name="propose_dialect">Propose dialect</string>
|
|
<string name="propose_translation">Propose translation</string>
|
|
<string name="publish_new_key_package">Publish new key package</string>
|
|
<string name="re_broadcast">Re-broadcast</string>
|
|
<string name="read_to_the_end_of_the_list_to_sign">Read to the end of the list to sign.</string>
|
|
<string name="recovery_phrase">Recovery phrase</string>
|
|
<string name="ready_to_sign">Ready to sign</string>
|
|
<string name="recents">Recents</string>
|
|
<string name="reindex_events">Reindex events</string>
|
|
<string name="reposted">reposted</string>
|
|
<string name="review">Review</string>
|
|
<string name="review_and_confirm">Review and confirm</string>
|
|
<string name="review_and_contribute">Review and contribute</string>
|
|
<string name="review_and_join">Review and join</string>
|
|
<string name="say_what_now">Say what now?</string>
|
|
<string name="search">Search</string>
|
|
<string name="search_for_people_and_chat_with_them_first">Search for people and chat with them first — everyone you know locally shows up here.</string>
|
|
<string name="search_hashtags">Search hashtags</string>
|
|
<string name="search_member_functionality">Search member functionality</string>
|
|
<string name="search_message_functionality_will_be_here">Search message functionality will be here.</string>
|
|
<string name="see_how_deep_the_rabbit_hole_goes">See how deep the rabbit hole goes</string>
|
|
<string name="select_a_wallet">Select a wallet</string>
|
|
<string name="send_message">Send message</string>
|
|
<string name="share_profile">Share profile</string>
|
|
<string name="shared_key">Shared key</string>
|
|
<string name="signing_key">Signing key</string>
|
|
<string name="the_key_this_room_signs_as">The key this room signs as, and the ceremony it came from.</string>
|
|
<string name="what_the_group_signed">What the group signed</string>
|
|
<string name="this_room_signs_as">This room signs as</string>
|
|
<string name="derivation_path">Derivation path</string>
|
|
<string name="key_ceremony">Key ceremony</string>
|
|
<string name="agreed_on">Agreed on</string>
|
|
<string name="the_signed_event">The signed event</string>
|
|
<string name="copy_the_signed_event">Copy the signed event</string>
|
|
<string name="copied_the_signed_event">Copied the signed event</string>
|
|
<string name="this_device_does_not_hold_the_event">This device holds the group's reading of this, but not the signed event itself. Nothing here can be checked against a signature.</string>
|
|
<string name="sign">Sign</string>
|
|
<string name="sign_in">Sign in</string>
|
|
<string name="sign_out">Sign out</string>
|
|
<string name="sign_with_the_group_s_key">Sign with the group's key</string>
|
|
<string name="signed_their_part">Signed their part</string>
|
|
<string name="skip_for_now">Skip for now</string>
|
|
<string name="something_went_wrong">Something went wrong</string>
|
|
<string name="something_went_wrong_and_we_were_unable_to">Something went wrong and we were unable to sign in to your provided profile. Please try again later.</string>
|
|
<string name="something_went_wrong_and_we_were_unable_to_2">Something went wrong and we were unable to sign you up. Please try again later.</string>
|
|
<string name="something_went_wrong_and_we_were_unable_to_3">Something went wrong and we were unable to write a new note. Please try again later.</string>
|
|
<string name="source_dialect">Source dialect</string>
|
|
<string name="start">Start</string>
|
|
<string name="start_a_group_chat">Start a group chat</string>
|
|
<string name="start_chat">Start chat</string>
|
|
<string name="start_chat_via_npub_or_nip05">Start chat via npub or nip05</string>
|
|
<string name="start_key_ceremony">Start key ceremony</string>
|
|
<string name="startup_error">Startup error</string>
|
|
<string name="taking_part_with_these_members">Taking part with these members</string>
|
|
<string name="tap_to_load">Tap to load</string>
|
|
<string name="tell_friends_to_join_you_so_your_feed_stays">Tell friends to join you so your feed stays lively and fresh.</string>
|
|
<string name="the_above_will_be_your_new_note">The above will be your new note.</string>
|
|
<string name="the_above_will_be_your_profile">The above will be your profile.</string>
|
|
<string name="the_ceremony_was_abandoned">The ceremony was abandoned.</string>
|
|
<string name="the_group_can_hold_one_key_together_split_so">The group can hold one key together, split so that no single member holds it. Signing with it takes a quorum.</string>
|
|
<string name="the_group_has_a_shared_key">The group has a shared key.</string>
|
|
<string name="the_recovery_phrase_sometimes_called_a_seed">The recovery phrase (sometimes called a seed) is a list of 12 English words. It is the only way back to this profile: the key that signs as you, and the wallet that holds your coins, are both derived from it.\n\nOnly you have this phrase. Keep it private — nobody from Mantra will ever ask you for it.\n\nDo not lose it. Write it down and keep it somewhere safe that is not this phone. If you lose both the phone and the phrase, this profile and its funds are gone for good.</string>
|
|
<string name="these_are_your_keys_keep_them_safe_so_they">These are your keys. Keep them safe so they can keep unlocking this profile and its coins, even when you lose or change your phone.</string>
|
|
<string name="this_artifact_has_no_version_for_a">This artifact has no version for a translation to be of.</string>
|
|
<string name="this_artifact_has_no_version_for_a_chapter">This artifact has no version for a chapter to attach to.</string>
|
|
<string name="this_chapter_has_no_chunks">This chapter has no chunks.</string>
|
|
<string name="this_device_holds_no_phrase_for_the_profile">This device holds no phrase for the profile that is signed in.</string>
|
|
<string name="this_decides_who_can_change_the_group_later">This decides who can change the group later. You can't switch afterwards.</string>
|
|
<string name="this_group_has_no_shared_key_so_it_cannot">This group has no shared key, so it cannot sign them in.</string>
|
|
<string name="this_group_has_not_been_asked_to_sign">This group has not been asked to sign anything yet.</string>
|
|
<string name="this_is_fixed_once_the_ceremony_runs">This is fixed once the ceremony runs. Changing it later means generating a new key.</string>
|
|
<string name="this_is_the_last_thing_the_ceremony_needs">This is the last thing the ceremony needs from you.</string>
|
|
<string name="this_will_be_shown_when_people_open_the_chat">This will be shown when people open the chat for more details.</string>
|
|
<string name="this_will_be_shown_when_people_open_your">This will be shown when people open your profile.</string>
|
|
<string name="this_will_be_the_display_name_for_this_chat">This will be the display name for this chat room.</string>
|
|
<string name="this_will_be_the_display_name_for_your">This will be the display name for your profile and also important for search.</string>
|
|
<string name="read_only">Read only</string>
|
|
<string name="messages_need_the_secret_key_this_profile">Messages need the secret key. This profile is read only: you can see it and the people it follows, but nothing here can be opened or sent.</string>
|
|
<string name="sign_in_with_the_nsec">Sign in with the nsec</string>
|
|
<string name="sign_out_of_this_profile_question">Sign out of this profile?</string>
|
|
<string name="use_a_different_key_question">Use a different key?</string>
|
|
<string name="this_device_holds_no_key_for_s_so_there">This device holds no key for %1$s, so there is nothing to lose. The profile stays on the relays, and you can sign in again any time.</string>
|
|
<string name="could_not_sign_out_please_try_again">Could not sign out. Please try again.</string>
|
|
<string name="this_will_give_you_write_access_to_the">This will give you write access to the profile.</string>
|
|
<string name="torch_will_be_broadcast_what_you_publish_to">Mantra broadcasts what you publish to a distributed set of relays, so it stays decentralised.</string>
|
|
<string name="translate_chunk">Translate chunk</string>
|
|
<string name="translate_into_which_dialect">Translate into which dialect?</string>
|
|
<string name="translated_text">Translated text</string>
|
|
<string name="translation">Translation</string>
|
|
<string name="translation_detail">Translation detail</string>
|
|
<string name="translations">Translations</string>
|
|
<string name="transmit_note">Transmit note</string>
|
|
<string name="trending_notes_functionality_coming_soon_in">Trending notes functionality coming soon. In the meantime search for what you are looking for.</string>
|
|
<string name="try_again">Try again</string>
|
|
<string name="type_out_what_you_would_like_to_publish">Type out what you would like to publish</string>
|
|
<string name="unfollow">Unfollow</string>
|
|
<string name="unlocking_your_phrase">Unlocking your phrase…</string>
|
|
<string name="unsupported_event_kind">Unsupported event kind</string>
|
|
<string name="untitled_article">Untitled article</string>
|
|
<string name="url">Url</string>
|
|
<string name="version">Version</string>
|
|
<string name="versions">Versions</string>
|
|
<string name="view_and_accept_invites_you_may_have">View and accept invites you may have received to stay connected with others.</string>
|
|
<string name="view_invites">View invites</string>
|
|
<string name="waiting_for_you">Waiting for you</string>
|
|
<string name="waiting_for_your_signature">Waiting for your signature</string>
|
|
<string name="we_are_looking_for_your_profile_on_as_many">We are looking for your profile on as many relays as possible. Nostr aims to be decentralized by distributing data to multiple nodse.</string>
|
|
<string name="we_are_searching_the_internet_to_find_your">We are searching the internet to find your profile and complete sign in.</string>
|
|
<string name="we_couldn_t_find_the_local_profile_please">We couldn't find the local profile. Please try again later.</string>
|
|
<string name="we_couldn_t_find_your_nostr_event_please_try">We couldn't find your nostr event. Please try again later.</string>
|
|
<string name="what_s_your_comment_on_the_below">What's your comment on the below</string>
|
|
<string name="what_s_your_reply_to_the_above">What's your reply to the above</string>
|
|
<string name="what_should_people_know_about_you">What should people know about you?</string>
|
|
<string name="what_vibrations_do_you_want_to_send_out">What vibrations do you want to send out?</string>
|
|
<string name="what_will_be_discussed_in_this_chat_room">What will be discussed in this chat room.</string>
|
|
<string name="write_down_and_secure_the_12_word_phrase">Write down and secure the 12 word phrase that this profile and its wallet are derived from.</string>
|
|
<string name="who_will_you_be_passing_the_aux_to">Who will you be passing the aux to?</string>
|
|
<string name="you">You</string>
|
|
<string name="you_and_1_other">You and 1 other</string>
|
|
<string name="you_are_about_to_create_a_nostr_profile">You are about to create a NOSTR profile.</string>
|
|
<string name="you_can_still_carry_on_and_invite_people">You can still carry on and invite people later.</string>
|
|
<string name="you_have_not_backed_up_your_recovery_phrase">You have not backed up your recovery phrase</string>
|
|
<string name="you_only_live_once_lose_this_phone_and_the">You only live once. Lose this phone and the profile goes with it, along with anything it holds.</string>
|
|
<string name="you_said_you_wrote_it_down">You said you wrote it down</string>
|
|
<string name="yolo">YOLO</string>
|
|
<string name="you_will_be_in_full_control_of_this_profile">You will be in full control of this profile. If you would like to use it for the long term please remember to backup the profile/keys.</string>
|
|
<string name="your_profile_is_almost_ready_just_getting_it">Your profile is almost ready... just getting it's first cryptographic signature together.</string>
|
|
<string name="your_share_of_it_is_on_this_device_only_your">Your share of it is on this device only. Your wallet backup restores it — nobody else's share can.</string>
|
|
|
|
<string name="add_chapter_to">Add chapter to %1$s</string>
|
|
<string name="add_people_to">Add people to %1$s</string>
|
|
<string name="chapter">Chapter %1$s</string>
|
|
<string name="chapter_words_characters">Chapter %1$s · %2$s words · %3$s characters</string>
|
|
<string name="chunk">Chunk %1$s</string>
|
|
<string name="chunks">Chunks (%1$s)</string>
|
|
<string name="chunks_translated">%1$s/%2$s chunks translated</string>
|
|
<string name="event_s_still_unreadable">%1$s event(s) still unreadable%2$s</string>
|
|
<string name="events_signed_together">%1$s events, signed together</string>
|
|
<string name="everyone_has_to_be_online_at_the_same_time">Everyone has to be online at the same time — the ceremony can only finish once all %1$s of you have taken part.</string>
|
|
<string name="functionality_coming_soon_2">"%1$s" functionality coming soon</string>
|
|
<string name="how_should_be_run">How should %1$s be run?</string>
|
|
<string name="invite_2">Invite %1$s</string>
|
|
<string name="key_packages">%1$s key packages</string>
|
|
<string name="next_with">Next with %1$s</string>
|
|
<string name="nostr">nostr:%1$s..</string>
|
|
<string name="nostr_2">nostr:%1$s...</string>
|
|
<string name="of">%1$s of %2$s</string>
|
|
<string name="of_members_will_be_needed_to_sign_with_this">%1$s of %2$s members will be needed to sign with this key.</string>
|
|
<string name="of_them_could_not_be_read">%1$s of them could not be read</string>
|
|
<string name="once_invited_will_be_able_to_receive_and">Once invited will be able to receive and send private message sent to all the %1$s members in the chat room.</string>
|
|
<string name="private_message_to">Private message to %1$s</string>
|
|
<string name="private_to">Private to %1$s</string>
|
|
<string name="proposals_are_waiting_for_your_signature">%1$s proposals are waiting for your signature</string>
|
|
<string name="recovered_of_event_s">Recovered %1$s of %2$s event(s)%3$s</string>
|
|
<string name="recovered_of_still_unreadable">Recovered %1$s of %2$s · %3$s still unreadable%4$s</string>
|
|
<string name="reply_privately_to">Reply privately to %1$s</string>
|
|
<string name="reply_to">Reply to %1$s</string>
|
|
<string name="replying_to">Replying to %1$s</string>
|
|
<string name="searching_for_on">Searching for %1$s on "%2$s"</string>
|
|
<string name="selected">%1$s selected</string>
|
|
<string name="sent_a_private_message_to">%1$s sent a private message to %2$s</string>
|
|
<string name="shared_key_for">Shared key for %1$s</string>
|
|
<string name="to_join_the_chat_room">to join the %1$s chat room.</string>
|
|
<string name="translate">Translate %1$s</string>
|
|
<string name="unsupported_event_kind_2">Unsupported event kind: %1$s</string>
|
|
<string name="was_created_but_couldn_t_be_added_yet_invite">%1$s was created, but %2$s couldn't be added yet. Invite them again from the chat once they're on Mantra.</string>
|
|
<string name="was_created_but_its_shared_key_ceremony">%1$s was created, but its shared key ceremony couldn't be started. Open the chat and start it from the group's details — until then the group has no key of its own.</string>
|
|
<string name="words_characters">%1$s words · %2$s characters</string>
|
|
<string name="word_position">#%1$s</string>
|
|
<string name="you_and_others">You and %1$s others</string>
|
|
<string name="not_following_anyone_yet">You aren't following anyone yet.</string>
|
|
<string name="nobody_following_you_yet">Nobody is following you yet.</string>
|
|
<string name="nothing_in_this_feed_yet">Nothing in this feed yet.</string>
|
|
<string name="no_replies_to_this_yet">No replies to this yet.</string>
|
|
<string name="nothing_matched_that_search">Nothing matched that search.</string>
|
|
<string name="key_package_published">Key package published</string>
|
|
<string name="key_package_rotated">Key package rotated</string>
|
|
<string name="subgroups">Subgroups</string>
|
|
<string name="add_subgroup">Add subgroup</string>
|
|
<string name="no_subgroups_have_been_made_by_this_group">No subgroups have been made by this group.</string>
|
|
<string name="certified_not_yet_created">Certified, not created yet</string>
|
|
<string name="created_you_are_not_a_member">Created, you aren't a member</string>
|
|
<string name="a_subgroup">A subgroup</string>
|
|
<string name="parent_group">Parent group</string>
|
|
<string name="the_group_this_one_is_a_subgroup_of">The group this one is a subgroup of</string>
|
|
<string name="run_by_members">Run by %1$s members</string>
|
|
<string name="new_subgroup">New subgroup</string>
|
|
<string name="what_is_the_subgroup_called">What is the subgroup called?</string>
|
|
<string name="who_runs_the_subgroup">Who runs the subgroup?</string>
|
|
<string name="a_subgroup_needs_at_least_three_admins">A subgroup needs at least three admins, you included, so pick at least two more people.</string>
|
|
<string name="anyone_in_this_group_can_run_a_subgroup">Anyone in this group can run a subgroup, whether or not they administer this one.</string>
|
|
<string name="has_no_key_package_yet">Has no key package yet</string>
|
|
<string name="admin_of_this_group">Admin of this group</string>
|
|
<string name="you_coordinate_this_subgroup">You coordinate this subgroup</string>
|
|
<string name="start_the_key_ceremony">Start the key ceremony</string>
|
|
<string name="checking_who_can_be_added">Checking who can be added…</string>
|
|
<string name="the_parent_group_has_certified_this_subgroup">The parent group has certified this subgroup</string>
|
|
<string name="the_parent_group_could_not_certify_this_subgroup">The parent group could not certify this subgroup</string>
|
|
<string name="the_parent_group_is_certifying_this_subgroup">The parent group is certifying this subgroup — %1$s of %2$s admins have to sign</string>
|
|
<string name="before_the_subgroup_exists_its_parent_signs">Before the subgroup exists, its parent signs for it. That signature is what lets anyone check where this group came from.</string>
|
|
<string name="ask_the_parent_group_to_certify">Ask the parent group to certify this subgroup</string>
|
|
<string name="create_the_subgroup">Create the subgroup</string>
|
|
<string name="the_key_ceremony_needs_you">The key ceremony needs you</string>
|
|
<string name="the_subgroups_key_ceremony_needs_you">The subgroup's key ceremony needs you</string>
|
|
<string name="ceremonies_need_you">%1$s key ceremonies need you</string>
|
|
<string name="join_the_ceremony_by_publishing_your_key">Join it by publishing your device's key</string>
|
|
<string name="send_your_contribution_to_the_key">Send your contribution to the key</string>
|
|
<string name="check_the_combined_result">Check the combined result and confirm it</string>
|
|
<string name="the_group_has_its_key_finish_setting_it_up">The group has its key — finish setting it up</string>
|
|
<string name="open">Open</string>
|
|
<string name="signed_by_the_group_on">Signed by the group on %1$s</string>
|
|
<string name="relays">Relays</string>
|
|
<string name="relay_url">Relay url</string>
|
|
<string name="eg_wss_relay_example_com">eg. wss://relay.example.com</string>
|
|
<string name="add_relay">Add relay</string>
|
|
<string name="that_is_not_a_relay_address">That isn't a relay address. Relays start with wss:// and cannot be on this device.</string>
|
|
<string name="that_relay_is_already_in_this_list">That relay is already in this list.</string>
|
|
<!-- Broadcasting one event the group signed to relays a member picks. -->
|
|
<string name="broadcast">Broadcast</string>
|
|
<string name="sends_the_event_exactly_as_the_group_signed_it">Sends the event to each relay below, exactly as the group signed it. Any member holding it can send it: the signature is the group's, not yours.</string>
|
|
<string name="the_relays_this_app_publishes_to_are_filled_in">The relays this app publishes to are filled in. Add or remove relays before sending.</string>
|
|
<string name="no_relays_to_broadcast_to">No relays to broadcast to. Add one above.</string>
|
|
<string name="add_a_relay_to_broadcast_to">Add a relay to broadcast to.</string>
|
|
<string name="relay_sending">Sending…</string>
|
|
<string name="relay_accepted">Accepted</string>
|
|
<string name="relay_rejected">Rejected: %1$s</string>
|
|
<string name="relay_could_not_send">Couldn't send: %1$s</string>
|
|
<string name="relay_no_answer">No answer</string>
|
|
<string name="accepted_by_n_of_m_relays">Accepted by %1$s of %2$s relays.</string>
|
|
<string name="copy_raw_json">Copy raw JSON</string>
|
|
<string name="copied_the_raw_json">Copied the raw JSON</string>
|
|
<!-- Sign in: docs/nsec-sign-in.md, phase 4. -->
|
|
<string name="a_password_protected_key_ncryptsec_is_not">A password-protected key (ncryptsec) is not supported yet. Decrypt it in the app it came from and paste the nsec.</string>
|
|
<string name="enter_a_recovery_phrase_or_an_nsec_to_sign_in">Enter a recovery phrase or an nsec to sign in.</string>
|
|
<string name="paste">Paste</string>
|
|
<string name="recognised_as_a_nostr_secret_key_no_wallet">Recognised as a nostr secret key. No wallet comes with it.</string>
|
|
<string name="recognised_as_a_recovery_phrase_it_also">Recognised as a recovery phrase. It also restores the wallet.</string>
|
|
<string name="recognised_as_a_public_key_you_will_see">Recognised as a public key. You will see this profile and the people it follows; messages stay closed and nothing can be sent. Paste the nsec later to open it.</string>
|
|
<string name="recovery_phrase_nsec_or_npub">Recovery phrase, nsec or npub</string>
|
|
<string name="sign_in_with_a_recovery_phrase_an_nsec_or">Sign in with a recovery phrase, an nsec, or an npub to look around</string>
|
|
<string name="signed_in">Signed in</string>
|
|
<string name="signing_you_in">Signing you in…</string>
|
|
<string name="that_is_not_a_recovery_phrase_or_a_nostr_key">That is not a recovery phrase or a nostr key.</string>
|
|
<string name="that_nostr_secret_key_is_not_valid">That nostr secret key is not valid.</string>
|
|
<string name="that_recovery_phrase_is_not_valid_check">That recovery phrase is not valid. Check each word and the order.</string>
|
|
<string name="the_key_could_not_be_saved_on_this_device">The key could not be saved on this device.</string>
|
|
<string name="the_words_or_the_key_never_leave_this_device">Whatever you paste stays on this device. Mantra checks it, shows you the profile it opens, and writes nothing until you confirm.</string>
|
|
<string name="this_key_is_already_on_this_device">This key is already on this device.</string>
|
|
<string name="twelve_words_nsec1_or_npub1">Twelve words, nsec1… or npub1…</string>
|
|
<string name="use_a_different_key">Use a different key</string>
|
|
<string name="you_are_signing_in_as">You are signing in as</string>
|
|
<!-- Sign in: the search that found nothing, docs/nsec-sign-in.md, phase 5. -->
|
|
<string name="enter_a_name_for_the_profile">Enter a name for the profile.</string>
|
|
<string name="it_may_be_new_or_it_may_live_on_relays_we">It may be new, or it may live on relays we do not know about. Ask again, or set one up now and publish it from here.</string>
|
|
<string name="set_up_a_profile">Set up a profile</string>
|
|
<string name="we_could_not_find_a_profile_for_this_key">We could not find a profile for this key on the relays we asked.</string>
|
|
<!-- Recovery for an identity with a key and no phrase, docs/nsec-sign-in.md, phase 6. -->
|
|
<string name="copied_the_nsec">Copied the nsec</string>
|
|
<string name="copy_nsec">Copy nsec</string>
|
|
<string name="could_not_forget_the_key_please_try_again">Could not forget the key. Please try again.</string>
|
|
<string name="could_not_unlock_your_key_please_try">Could not unlock your key. Please try again.</string>
|
|
<string name="mantra_will_delete_the_nsec_for_s_from_this">Mantra will delete the nsec for %1$s from this device. Anything not yet published is lost. The profile stays on the relays, and the key can be signed in again.</string>
|
|
<string name="display_nostr_secret_key">Display nostr secret key</string>
|
|
<string name="forget">Forget</string>
|
|
<string name="forget_this_key">Forget this key</string>
|
|
<string name="forget_this_key_question">Forget this key?</string>
|
|
<string name="i_have_saved_my_nostr_secret_key_somewhere">I have saved my nostr secret key somewhere safe.</string>
|
|
<string name="i_understand_that_if_i_lose_this_phone_and_my_key">I understand that if I lose this phone and my nostr secret key, I lose this profile.</string>
|
|
<string name="keep_this_key_safe_do_not_share_it">Keep this key safe.\nDo not share it.</string>
|
|
<string name="key_forgotten">Key forgotten</string>
|
|
<string name="no_identity_is_open_on_this_device_so_there">No profile is open on this device, so there is no key to show.</string>
|
|
<string name="nostr_secret_key">Nostr secret key</string>
|
|
<string name="remove_the_key_from_this_device_the_profile">Remove the key from this device. The profile stays on the relays.</string>
|
|
<string name="store_the_nsec_that_signs_as_this_profile">Store the nsec that signs as this profile. There is no phrase behind it: the key is the whole backup.</string>
|
|
<string name="the_nsec_is_the_key_that_signs_as_you_this">The nsec is the key that signs as you. This profile was signed in with it rather than made from a recovery phrase, so there is no phrase to write down and no wallet attached: the key is the whole of the backup.\n\nOnly you have it. Keep it private — nobody from Mantra will ever ask you for it.\n\nDo not lose it. Store it somewhere safe that is not this phone. If you lose both the phone and the key, this profile is gone for good.</string>
|
|
<string name="this_device_holds_no_key_for_the_profile">This device holds no nostr secret key for the profile that is open. If it was made from a recovery phrase, the phrase is its backup.</string>
|
|
<string name="unlocking_your_key">Unlocking your key…</string>
|
|
<string name="you_have_not_backed_up_your_nostr_secret_key">You have not backed up your nostr secret key</string>
|
|
<string name="these_are_your_keys_keep_them_safe_no_wallet">These are your keys. Keep them safe so they can keep unlocking this profile, even when you lose or change your phone.</string>
|
|
<string name="you_said_you_stored_it">You said you stored it</string>
|
|
<!-- The bar on the note composer, which had no bar before it had a back button. -->
|
|
<string name="new_note">New note</string>
|
|
</resources>
|