* Have a Mac with Xcode installed, and set up for Xcode-managed app signing
* If you want automatic app installation to connected devices, make sure you have Apple Configurator installed, with the Automation Tools (`cfgutil`) enabled
* Set a few environment variables
* FLUFFYCHAT_NEW_TEAM: the Apple Developer team that your certificates should live under
* FLUFFYCHAT_NEW_GROUP: the group you want App IDs and such to live under (ie: com.example.fluffychat)
* FLUFFYCHAT_INSTALL_IPA: set to `1` if you want the IPA to be deployed to connected devices after building, otherwise unset
* Run `./scripts/build-ios.sh`
### Web
* Build with:
```bash
./scripts/prepare-web.sh # To install Vodozemac
flutter build web --release
```
* Optionally configure by serving a `config.json` at the same path as fluffychat.
An example can be found at `config.sample.json`. All values there are optional.
**Please only the values, you really need**. If you e.g. only want
to change the default homeserver, then only modify the `defaultHomeserver` key.
### Desktop (Linux, Windows, macOS)
* Enable Desktop support in Flutter: https://flutter.dev/desktop
"verifyOtherDeviceDescription": "Wenn du ein anderes Gerät verifizierst, können diese Geräte Schlüssel austauschen, was die Sicherheit insgesamt erhöht. 💪\n\nSobald du eine Verifizierung startest, erscheint ein Pop-up in der App auf beiden Geräten. Dort siehst du dann eine Reihe von Emojis oder Zahlen, die du miteinander vergleichen musst.\n\nAm besten hältst du beide Geräte bereit, bevor du die Verifizierung startest. 🤳",
"verifyOtherDeviceDescription": "Wenn du ein anderes Gerät verifizierst, können diese Geräte Schlüssel austauschen, was die Sicherheit insgesamt erhöht. 💪Sobald du eine Verifizierung startest, erscheint ein Pop-up in der App auf beiden Geräten. Dort siehst du dann eine Reihe von Emojis oder Zahlen, die du miteinander vergleichen musst.Am besten hältst du beide Geräte bereit, bevor du die Verifizierung startest. 🤳",
"@verifyOtherDeviceDescription": {},
"presenceStyle": "Statusmeldungen:",
"@presenceStyle": {
@ -3392,5 +3392,50 @@
"moreEvents": "Weitere Ereignisse",
"@moreEvents": {},
"declineInvitation": "Einladung ablehnen",
"@declineInvitation": {}
"@declineInvitation": {},
"noMessagesYet": "Noch keine Nachrichten",
"@noMessagesYet": {},
"longPressToRecordVoiceMessage": "Lange drücken, um eine Sprachnachricht aufzunehmen.",
"@longPressToRecordVoiceMessage": {},
"pause": "Pause",
"@pause": {},
"newSubSpace": "Neuer sub space",
"@newSubSpace": {},
"moveToDifferentSpace": "In einen anderen space wechseln",
"@moveToDifferentSpace": {},
"moveUp": "Nach oben",
"@moveUp": {},
"moveDown": "Nach unten",
"@moveDown": {},
"removeFromSpaceDescription": "Der Chat wird aus dem Space entfernt, erscheint aber weiterhin in Ihrer Chatliste.",
"@removeFromSpaceDescription": {},
"countChats": "{chats} Chats",
"@countChats": {
"type": "String",
"placeholders": {
"chats": {
"type": "int"
}
}
},
"spaceMemberOf": "Space-Mitglied von {spaces}",
"@spaceMemberOf": {
"type": "String",
"placeholders": {
"spaces": {
"type": "String"
}
}
},
"spaceMemberOfCanKnock": "Space-Mitglied von {spaces} kann klopfen",
"hideRedactedMessagesBody": "Hvis noen redigerer en melding, vil ikke denne meldingen lenger være synlig i chatten.",
"@hideRedactedMessagesBody": {},
"blockListDescription": "Du kan blokkere brukere som forstyrrer deg. Du vil ikke kunne motta meldinger eller rominvitasjoner fra brukerne på din personlige blokkeringsliste.",
"@blockListDescription": {},
"blockUsername": "Ignorer brukernavn",
"@blockUsername": {},
"inviteContactToGroupQuestion": "Vil du invitere {contact} til chatten «{groupName}»?",
"@inviteContactToGroupQuestion": {},
"noChatDescriptionYet": "Ingen chatbeskrivelse er opprettet ennå.",
"@noChatDescriptionYet": {},
"redactMessageDescription": "Meldingen vil bli redigert for alle deltakerne i denne samtalen. Dette kan ikke angres.",
"@redactMessageDescription": {},
"optionalRedactReason": "(Valgfritt) Årsak til redigering av denne meldingen...",
"@optionalRedactReason": {},
"locationDisabledNotice": "Lokasjonstjenester er deaktivert. Vennligst aktiver dem for at du skal kunne dele posisjonen din.",
"@locationDisabledNotice": {
"type": "String",
"placeholders": {}
},
"locationPermissionDeniedNotice": "Lokasjonstillatelse nektet. Gi dem tillatelse til å dele din lokasjon.",
"@locationPermissionDeniedNotice": {
"type": "String",
"placeholders": {}
},
"dehydrate": "Eksporter økten og slett enheten",
"@dehydrate": {},
"dehydrateWarning": "Denne handlingen kan ikke angres. Sørg for at du lagrer sikkerhetskopifilen på en trygg måte.",
"@dehydrateWarning": {},
"dehydrateTor": "TOR-brukere: Eksporter økt",
"@dehydrateTor": {},
"dehydrateTorLong": "For TOR-brukere anbefales det å eksportere økten før vinduet lukkes.",
"appIntroduction": "Med FluffyChat kan du chatte med vennene dine på tvers av forskjellige meldingstjenester. Finn ut mer på https://matrix.org eller trykk bare på *Fortsett*.",
"@appIntroduction": {},
"notificationRuleContainsUserNameDescription": "Varsler bruker når en melding inneholder ens brukernavn.",
"hideMemberChangesInPublicChats": "Skjul medlemsendringer i offentlige chatter",
"@hideMemberChangesInPublicChats": {},
"removeFromSpace": "Fjern fra området",
"@removeFromSpace": {},
"addToSpaceDescription": "Velg områder hvor denne chatten legges til.",
"@addToSpaceDescription": {},
"pleaseEnterRecoveryKeyDescription": "For å låse opp gamle meldinger, vennligst skriv inn gjenopprettingsnøkkelen som ble generert i en tidligere økt. Gjenopprettingsnøkkelen er IKKE passordet ditt.",
"@pleaseEnterRecoveryKeyDescription": {},
"reactedWith": "{sender} reagerte med {reaction}",
"@reactedWith": {
"type": "String",
"placeholders": {
"sender": {
"type": "String"
},
"reaction": {
"type": "String"
}
}
},
"pinMessage": "Fest til rommet",
"@pinMessage": {},
"emojis": "Emojier",
"@emojis": {},
"placeCall": "Ringe opp",
"@placeCall": {},
"unsupportedAndroidVersionLong": "Denne funksjonen krever en nyere Android-versjon. Se etter oppdateringer eller støtte for Lineage OS.",
"@unsupportedAndroidVersionLong": {},
"videoCallsBetaWarning": "Vær oppmerksom på at videosamtaler for øyeblikket er i betaversjon. Det fungerer kanskje ikke som forventet eller i det hele tatt.",
"chatHasBeenAddedToThisSpace": "Chatten er lagt til i dette området",
"@chatHasBeenAddedToThisSpace": {},
"clearArchive": "Tøm arkivet",
"@clearArchive": {},
"commandHint_markasgroup": "Merk som gruppe",
"@commandHint_markasgroup": {},
"commandHint_ban": "Utesteng den gitte brukeren fra dette rommet",
"@commandHint_ban": {
"type": "String",
"description": "Usage hint for the command /ban"
},
"commandHint_clearcache": "Tøm cache",
"@commandHint_clearcache": {
"type": "String",
"description": "Usage hint for the command /clearcache"
},
"homeserverDescription": "Alle dataene dine lagres på hjemmeserveren, akkurat som hos en e-postleverandør. Du kan velge hvilken hjemmeserver du vil bruke, samtidig som du fortsatt kan kommunisere med alle. Lær mer på https://matrix.org.",
"@homeserverDescription": {},
"doesNotSeemToBeAValidHomeserver": "Ser ikke ut til å være en kompatibel hjemmeserver. Feil URL?",
"@doesNotSeemToBeAValidHomeserver": {},
"prepareSendingAttachment": "Forbered sending av vedlegg...",
"welcomeText": "Hei, hei! 👋 Dette er FluffyChat. Du kan logge på hvilken som helst hjemmeserver som er kompatibel med https://matrix.org. Og deretter chatte med hvem som helst. Det er et stort desentralisert meldingsnettverk!",
"@welcomeText": {},
"notificationRuleIsUserMentionDescription": "Varsler brukeren når de er direkte nevnt i en melding.",