mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 19:49:33 +01:00
Compare commits
No commits in common. "master" and "alpha-220000006" have entirely different histories.
master
...
alpha-2200
10
.drone.yml
10
.drone.yml
@ -8,7 +8,7 @@ name: generic
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: generic
|
- name: generic
|
||||||
image: ghcr.io/nextcloud/continuous-integration-android8:4
|
image: ghcr.io/nextcloud/continuous-integration-android8:3
|
||||||
commands:
|
commands:
|
||||||
- ./gradlew --console=plain assembleGeneric
|
- ./gradlew --console=plain assembleGeneric
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ name: gplay
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: gplay
|
- name: gplay
|
||||||
image: ghcr.io/nextcloud/continuous-integration-android8:4
|
image: ghcr.io/nextcloud/continuous-integration-android8:3
|
||||||
commands:
|
commands:
|
||||||
- ./gradlew --console=plain assembleGplay
|
- ./gradlew --console=plain assembleGplay
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ name: tests
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: all
|
- name: all
|
||||||
image: ghcr.io/nextcloud/continuous-integration-android8:4
|
image: ghcr.io/nextcloud/continuous-integration-android8:3
|
||||||
privileged: true
|
privileged: true
|
||||||
commands:
|
commands:
|
||||||
- emulator -avd android -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
|
- emulator -avd android -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 &
|
||||||
@ -81,6 +81,4 @@ trigger:
|
|||||||
- pull_request
|
- pull_request
|
||||||
---
|
---
|
||||||
kind: signature
|
kind: signature
|
||||||
hmac: cf0c19e54fa45d1ee226f5f05202a32329b90aaf46711ea073c566a4c4a8a6c5
|
hmac: cdce3f7eea46ef85c0223f62f66d1fe53d7dad007ef095c9f70fa063450d8c75
|
||||||
|
|
||||||
...
|
|
||||||
|
2
.github/workflows/analysis.yml
vendored
2
.github/workflows/analysis.yml
vendored
@ -29,7 +29,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Disabled on forks
|
- name: Disabled on forks
|
||||||
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository }}
|
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
|
||||||
run: |
|
run: |
|
||||||
echo 'Can not analyze PRs from forks'
|
echo 'Can not analyze PRs from forks'
|
||||||
exit 1
|
exit 1
|
||||||
|
2
.github/workflows/assembleFlavors.yml
vendored
2
.github/workflows/assembleFlavors.yml
vendored
@ -34,7 +34,7 @@ jobs:
|
|||||||
java-version: 17
|
java-version: 17
|
||||||
|
|
||||||
- name: Gradle validate
|
- name: Gradle validate
|
||||||
uses: gradle/actions/wrapper-validation@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
|
uses: gradle/actions/wrapper-validation@8379f6a1328ee0e06e2bb424dadb7b159856a326 # v4.4.0
|
||||||
|
|
||||||
- name: Build ${{ matrix.flavor }}
|
- name: Build ${{ matrix.flavor }}
|
||||||
run: |
|
run: |
|
||||||
|
2
.github/workflows/unit-tests.yml
vendored
2
.github/workflows/unit-tests.yml
vendored
@ -33,7 +33,7 @@ jobs:
|
|||||||
java-version: 17
|
java-version: 17
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
|
uses: gradle/actions/setup-gradle@8379f6a1328ee0e06e2bb424dadb7b159856a326 # v4.4.0
|
||||||
|
|
||||||
- name: Run unit tests with coverage
|
- name: Run unit tests with coverage
|
||||||
run: ./gradlew testGplayDebugUnit
|
run: ./gradlew testGplayDebugUnit
|
||||||
|
@ -1,730 +0,0 @@
|
|||||||
{
|
|
||||||
"formatVersion": 1,
|
|
||||||
"database": {
|
|
||||||
"version": 17,
|
|
||||||
"identityHash": "5bc4247e179307faa995552da5d34324",
|
|
||||||
"entities": [
|
|
||||||
{
|
|
||||||
"tableName": "User",
|
|
||||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `userId` TEXT, `username` TEXT, `baseUrl` TEXT, `token` TEXT, `displayName` TEXT, `pushConfigurationState` TEXT, `capabilities` TEXT, `serverVersion` TEXT DEFAULT '', `clientCertificate` TEXT, `externalSignalingServer` TEXT, `current` INTEGER NOT NULL, `scheduledForDeletion` INTEGER NOT NULL)",
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"fieldPath": "id",
|
|
||||||
"columnName": "id",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "userId",
|
|
||||||
"columnName": "userId",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "username",
|
|
||||||
"columnName": "username",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "baseUrl",
|
|
||||||
"columnName": "baseUrl",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "token",
|
|
||||||
"columnName": "token",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "displayName",
|
|
||||||
"columnName": "displayName",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "pushConfigurationState",
|
|
||||||
"columnName": "pushConfigurationState",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "capabilities",
|
|
||||||
"columnName": "capabilities",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "serverVersion",
|
|
||||||
"columnName": "serverVersion",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"defaultValue": "''"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "clientCertificate",
|
|
||||||
"columnName": "clientCertificate",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "externalSignalingServer",
|
|
||||||
"columnName": "externalSignalingServer",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "current",
|
|
||||||
"columnName": "current",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "scheduledForDeletion",
|
|
||||||
"columnName": "scheduledForDeletion",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"primaryKey": {
|
|
||||||
"autoGenerate": true,
|
|
||||||
"columnNames": [
|
|
||||||
"id"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tableName": "ArbitraryStorage",
|
|
||||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`accountIdentifier` INTEGER NOT NULL, `key` TEXT NOT NULL, `object` TEXT, `value` TEXT, PRIMARY KEY(`accountIdentifier`, `key`))",
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"fieldPath": "accountIdentifier",
|
|
||||||
"columnName": "accountIdentifier",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "key",
|
|
||||||
"columnName": "key",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "storageObject",
|
|
||||||
"columnName": "object",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "value",
|
|
||||||
"columnName": "value",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"primaryKey": {
|
|
||||||
"autoGenerate": false,
|
|
||||||
"columnNames": [
|
|
||||||
"accountIdentifier",
|
|
||||||
"key"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tableName": "Conversations",
|
|
||||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`internalId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `token` TEXT NOT NULL, `displayName` TEXT NOT NULL, `actorId` TEXT NOT NULL, `actorType` TEXT NOT NULL, `avatarVersion` TEXT NOT NULL, `callFlag` INTEGER NOT NULL, `callRecording` INTEGER NOT NULL, `callStartTime` INTEGER NOT NULL, `canDeleteConversation` INTEGER NOT NULL, `canLeaveConversation` INTEGER NOT NULL, `canStartCall` INTEGER NOT NULL, `description` TEXT NOT NULL, `hasCall` INTEGER NOT NULL, `hasPassword` INTEGER NOT NULL, `isCustomAvatar` INTEGER NOT NULL, `isFavorite` INTEGER NOT NULL, `lastActivity` INTEGER NOT NULL, `lastCommonReadMessage` INTEGER NOT NULL, `lastMessage` TEXT, `lastPing` INTEGER NOT NULL, `lastReadMessage` INTEGER NOT NULL, `lobbyState` TEXT NOT NULL, `lobbyTimer` INTEGER NOT NULL, `messageExpiration` INTEGER NOT NULL, `name` TEXT NOT NULL, `notificationCalls` INTEGER NOT NULL, `notificationLevel` TEXT NOT NULL, `objectType` TEXT NOT NULL, `objectId` TEXT NOT NULL, `participantType` TEXT NOT NULL, `permissions` INTEGER NOT NULL, `readOnly` TEXT NOT NULL, `recordingConsent` INTEGER NOT NULL, `remoteServer` TEXT, `remoteToken` TEXT, `sessionId` TEXT NOT NULL, `status` TEXT, `statusClearAt` INTEGER, `statusIcon` TEXT, `statusMessage` TEXT, `type` TEXT NOT NULL, `unreadMention` INTEGER NOT NULL, `unreadMentionDirect` INTEGER NOT NULL, `unreadMessages` INTEGER NOT NULL, `hasArchived` INTEGER NOT NULL, `hasSensitive` INTEGER NOT NULL, `hasImportant` INTEGER NOT NULL, PRIMARY KEY(`internalId`), FOREIGN KEY(`accountId`) REFERENCES `User`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"fieldPath": "internalId",
|
|
||||||
"columnName": "internalId",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "accountId",
|
|
||||||
"columnName": "accountId",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "token",
|
|
||||||
"columnName": "token",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "displayName",
|
|
||||||
"columnName": "displayName",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "actorId",
|
|
||||||
"columnName": "actorId",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "actorType",
|
|
||||||
"columnName": "actorType",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "avatarVersion",
|
|
||||||
"columnName": "avatarVersion",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "callFlag",
|
|
||||||
"columnName": "callFlag",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "callRecording",
|
|
||||||
"columnName": "callRecording",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "callStartTime",
|
|
||||||
"columnName": "callStartTime",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "canDeleteConversation",
|
|
||||||
"columnName": "canDeleteConversation",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "canLeaveConversation",
|
|
||||||
"columnName": "canLeaveConversation",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "canStartCall",
|
|
||||||
"columnName": "canStartCall",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "description",
|
|
||||||
"columnName": "description",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "hasCall",
|
|
||||||
"columnName": "hasCall",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "hasPassword",
|
|
||||||
"columnName": "hasPassword",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "hasCustomAvatar",
|
|
||||||
"columnName": "isCustomAvatar",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "favorite",
|
|
||||||
"columnName": "isFavorite",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lastActivity",
|
|
||||||
"columnName": "lastActivity",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lastCommonReadMessage",
|
|
||||||
"columnName": "lastCommonReadMessage",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lastMessage",
|
|
||||||
"columnName": "lastMessage",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lastPing",
|
|
||||||
"columnName": "lastPing",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lastReadMessage",
|
|
||||||
"columnName": "lastReadMessage",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lobbyState",
|
|
||||||
"columnName": "lobbyState",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lobbyTimer",
|
|
||||||
"columnName": "lobbyTimer",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "messageExpiration",
|
|
||||||
"columnName": "messageExpiration",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "name",
|
|
||||||
"columnName": "name",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "notificationCalls",
|
|
||||||
"columnName": "notificationCalls",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "notificationLevel",
|
|
||||||
"columnName": "notificationLevel",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "objectType",
|
|
||||||
"columnName": "objectType",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "objectId",
|
|
||||||
"columnName": "objectId",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "participantType",
|
|
||||||
"columnName": "participantType",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "permissions",
|
|
||||||
"columnName": "permissions",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "conversationReadOnlyState",
|
|
||||||
"columnName": "readOnly",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "recordingConsentRequired",
|
|
||||||
"columnName": "recordingConsent",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "remoteServer",
|
|
||||||
"columnName": "remoteServer",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "remoteToken",
|
|
||||||
"columnName": "remoteToken",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "sessionId",
|
|
||||||
"columnName": "sessionId",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "status",
|
|
||||||
"columnName": "status",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "statusClearAt",
|
|
||||||
"columnName": "statusClearAt",
|
|
||||||
"affinity": "INTEGER"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "statusIcon",
|
|
||||||
"columnName": "statusIcon",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "statusMessage",
|
|
||||||
"columnName": "statusMessage",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "type",
|
|
||||||
"columnName": "type",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "unreadMention",
|
|
||||||
"columnName": "unreadMention",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "unreadMentionDirect",
|
|
||||||
"columnName": "unreadMentionDirect",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "unreadMessages",
|
|
||||||
"columnName": "unreadMessages",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "hasArchived",
|
|
||||||
"columnName": "hasArchived",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "hasSensitive",
|
|
||||||
"columnName": "hasSensitive",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "hasImportant",
|
|
||||||
"columnName": "hasImportant",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"primaryKey": {
|
|
||||||
"autoGenerate": false,
|
|
||||||
"columnNames": [
|
|
||||||
"internalId"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"indices": [
|
|
||||||
{
|
|
||||||
"name": "index_Conversations_accountId",
|
|
||||||
"unique": false,
|
|
||||||
"columnNames": [
|
|
||||||
"accountId"
|
|
||||||
],
|
|
||||||
"orders": [],
|
|
||||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_Conversations_accountId` ON `${TABLE_NAME}` (`accountId`)"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"foreignKeys": [
|
|
||||||
{
|
|
||||||
"table": "User",
|
|
||||||
"onDelete": "CASCADE",
|
|
||||||
"onUpdate": "CASCADE",
|
|
||||||
"columns": [
|
|
||||||
"accountId"
|
|
||||||
],
|
|
||||||
"referencedColumns": [
|
|
||||||
"id"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tableName": "ChatMessages",
|
|
||||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`internalId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `token` TEXT NOT NULL, `id` INTEGER NOT NULL, `internalConversationId` TEXT NOT NULL, `actorDisplayName` TEXT NOT NULL, `message` TEXT NOT NULL, `actorId` TEXT NOT NULL, `actorType` TEXT NOT NULL, `deleted` INTEGER NOT NULL, `expirationTimestamp` INTEGER NOT NULL, `isReplyable` INTEGER NOT NULL, `isTemporary` INTEGER NOT NULL, `lastEditActorDisplayName` TEXT, `lastEditActorId` TEXT, `lastEditActorType` TEXT, `lastEditTimestamp` INTEGER, `markdown` INTEGER, `messageParameters` TEXT, `messageType` TEXT NOT NULL, `parent` INTEGER, `reactions` TEXT, `reactionsSelf` TEXT, `referenceId` TEXT, `sendStatus` TEXT, `silent` INTEGER NOT NULL, `systemMessage` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, PRIMARY KEY(`internalId`), FOREIGN KEY(`internalConversationId`) REFERENCES `Conversations`(`internalId`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"fieldPath": "internalId",
|
|
||||||
"columnName": "internalId",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "accountId",
|
|
||||||
"columnName": "accountId",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "token",
|
|
||||||
"columnName": "token",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "id",
|
|
||||||
"columnName": "id",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "internalConversationId",
|
|
||||||
"columnName": "internalConversationId",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "actorDisplayName",
|
|
||||||
"columnName": "actorDisplayName",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "message",
|
|
||||||
"columnName": "message",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "actorId",
|
|
||||||
"columnName": "actorId",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "actorType",
|
|
||||||
"columnName": "actorType",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "deleted",
|
|
||||||
"columnName": "deleted",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "expirationTimestamp",
|
|
||||||
"columnName": "expirationTimestamp",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "replyable",
|
|
||||||
"columnName": "isReplyable",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "isTemporary",
|
|
||||||
"columnName": "isTemporary",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lastEditActorDisplayName",
|
|
||||||
"columnName": "lastEditActorDisplayName",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lastEditActorId",
|
|
||||||
"columnName": "lastEditActorId",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lastEditActorType",
|
|
||||||
"columnName": "lastEditActorType",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "lastEditTimestamp",
|
|
||||||
"columnName": "lastEditTimestamp",
|
|
||||||
"affinity": "INTEGER"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "renderMarkdown",
|
|
||||||
"columnName": "markdown",
|
|
||||||
"affinity": "INTEGER"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "messageParameters",
|
|
||||||
"columnName": "messageParameters",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "messageType",
|
|
||||||
"columnName": "messageType",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "parentMessageId",
|
|
||||||
"columnName": "parent",
|
|
||||||
"affinity": "INTEGER"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "reactions",
|
|
||||||
"columnName": "reactions",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "reactionsSelf",
|
|
||||||
"columnName": "reactionsSelf",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "referenceId",
|
|
||||||
"columnName": "referenceId",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "sendStatus",
|
|
||||||
"columnName": "sendStatus",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "silent",
|
|
||||||
"columnName": "silent",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "systemMessageType",
|
|
||||||
"columnName": "systemMessage",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "timestamp",
|
|
||||||
"columnName": "timestamp",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"primaryKey": {
|
|
||||||
"autoGenerate": false,
|
|
||||||
"columnNames": [
|
|
||||||
"internalId"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"indices": [
|
|
||||||
{
|
|
||||||
"name": "index_ChatMessages_internalId",
|
|
||||||
"unique": true,
|
|
||||||
"columnNames": [
|
|
||||||
"internalId"
|
|
||||||
],
|
|
||||||
"orders": [],
|
|
||||||
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_ChatMessages_internalId` ON `${TABLE_NAME}` (`internalId`)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "index_ChatMessages_internalConversationId",
|
|
||||||
"unique": false,
|
|
||||||
"columnNames": [
|
|
||||||
"internalConversationId"
|
|
||||||
],
|
|
||||||
"orders": [],
|
|
||||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_ChatMessages_internalConversationId` ON `${TABLE_NAME}` (`internalConversationId`)"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"foreignKeys": [
|
|
||||||
{
|
|
||||||
"table": "Conversations",
|
|
||||||
"onDelete": "CASCADE",
|
|
||||||
"onUpdate": "CASCADE",
|
|
||||||
"columns": [
|
|
||||||
"internalConversationId"
|
|
||||||
],
|
|
||||||
"referencedColumns": [
|
|
||||||
"internalId"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tableName": "ChatBlocks",
|
|
||||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `internalConversationId` TEXT NOT NULL, `accountId` INTEGER, `token` TEXT, `oldestMessageId` INTEGER NOT NULL, `newestMessageId` INTEGER NOT NULL, `hasHistory` INTEGER NOT NULL, FOREIGN KEY(`internalConversationId`) REFERENCES `Conversations`(`internalId`) ON UPDATE CASCADE ON DELETE CASCADE )",
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"fieldPath": "id",
|
|
||||||
"columnName": "id",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "internalConversationId",
|
|
||||||
"columnName": "internalConversationId",
|
|
||||||
"affinity": "TEXT",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "accountId",
|
|
||||||
"columnName": "accountId",
|
|
||||||
"affinity": "INTEGER"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "token",
|
|
||||||
"columnName": "token",
|
|
||||||
"affinity": "TEXT"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "oldestMessageId",
|
|
||||||
"columnName": "oldestMessageId",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "newestMessageId",
|
|
||||||
"columnName": "newestMessageId",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"fieldPath": "hasHistory",
|
|
||||||
"columnName": "hasHistory",
|
|
||||||
"affinity": "INTEGER",
|
|
||||||
"notNull": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"primaryKey": {
|
|
||||||
"autoGenerate": true,
|
|
||||||
"columnNames": [
|
|
||||||
"id"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"indices": [
|
|
||||||
{
|
|
||||||
"name": "index_ChatBlocks_internalConversationId",
|
|
||||||
"unique": false,
|
|
||||||
"columnNames": [
|
|
||||||
"internalConversationId"
|
|
||||||
],
|
|
||||||
"orders": [],
|
|
||||||
"createSql": "CREATE INDEX IF NOT EXISTS `index_ChatBlocks_internalConversationId` ON `${TABLE_NAME}` (`internalConversationId`)"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"foreignKeys": [
|
|
||||||
{
|
|
||||||
"table": "Conversations",
|
|
||||||
"onDelete": "CASCADE",
|
|
||||||
"onUpdate": "CASCADE",
|
|
||||||
"columns": [
|
|
||||||
"internalConversationId"
|
|
||||||
],
|
|
||||||
"referencedColumns": [
|
|
||||||
"internalId"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"setupQueries": [
|
|
||||||
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
|
|
||||||
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '5bc4247e179307faa995552da5d34324')"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@ -29,7 +29,6 @@ import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedA
|
|||||||
import com.nextcloud.talk.chat.ChatActivity
|
import com.nextcloud.talk.chat.ChatActivity
|
||||||
import com.nextcloud.talk.chat.data.ChatMessageRepository
|
import com.nextcloud.talk.chat.data.ChatMessageRepository
|
||||||
import com.nextcloud.talk.chat.data.model.ChatMessage
|
import com.nextcloud.talk.chat.data.model.ChatMessage
|
||||||
import com.nextcloud.talk.data.database.model.SendStatus
|
|
||||||
import com.nextcloud.talk.data.network.NetworkMonitor
|
import com.nextcloud.talk.data.network.NetworkMonitor
|
||||||
import com.nextcloud.talk.data.user.model.User
|
import com.nextcloud.talk.data.user.model.User
|
||||||
import com.nextcloud.talk.databinding.ItemCustomOutcomingTextMessageBinding
|
import com.nextcloud.talk.databinding.ItemCustomOutcomingTextMessageBinding
|
||||||
@ -185,7 +184,7 @@ class OutcomingTextMessageViewHolder(itemView: View) :
|
|||||||
binding.checkMark.visibility = View.INVISIBLE
|
binding.checkMark.visibility = View.INVISIBLE
|
||||||
binding.sendingProgress.visibility = View.GONE
|
binding.sendingProgress.visibility = View.GONE
|
||||||
|
|
||||||
if (message.sendStatus == SendStatus.FAILED) {
|
if (message.sendingFailed) {
|
||||||
updateStatus(R.drawable.baseline_error_outline_24, context.resources?.getString(R.string.nc_message_failed))
|
updateStatus(R.drawable.baseline_error_outline_24, context.resources?.getString(R.string.nc_message_failed))
|
||||||
} else if (message.isTemporary) {
|
} else if (message.isTemporary) {
|
||||||
updateStatus(R.drawable.baseline_schedule_24, context.resources?.getString(R.string.nc_message_sending))
|
updateStatus(R.drawable.baseline_schedule_24, context.resources?.getString(R.string.nc_message_sending))
|
||||||
|
@ -1245,9 +1245,8 @@ class ChatActivity :
|
|||||||
val deleteNoticeText = binding.conversationDeleteNotice.findViewById<TextView>(R.id.deletion_message)
|
val deleteNoticeText = binding.conversationDeleteNotice.findViewById<TextView>(R.id.deletion_message)
|
||||||
viewThemeUtils.material.themeCardView(binding.conversationDeleteNotice)
|
viewThemeUtils.material.themeCardView(binding.conversationDeleteNotice)
|
||||||
|
|
||||||
deleteNoticeText.text = resources.getQuantityString(
|
deleteNoticeText.text = String.format(
|
||||||
R.plurals.nc_conversation_auto_delete_info,
|
resources.getString(R.string.nc_conversation_auto_delete_notice),
|
||||||
retentionPeriod,
|
|
||||||
retentionPeriod
|
retentionPeriod
|
||||||
)
|
)
|
||||||
viewThemeUtils.material.colorMaterialButtonPrimaryTonal(
|
viewThemeUtils.material.colorMaterialButtonPrimaryTonal(
|
||||||
|
@ -200,7 +200,7 @@ class MessageInputFragment : Fragment() {
|
|||||||
val connectionGained = (!wasOnline && isOnline)
|
val connectionGained = (!wasOnline && isOnline)
|
||||||
Log.d(TAG, "isOnline: $isOnline\nwasOnline: $wasOnline\nconnectionGained: $connectionGained")
|
Log.d(TAG, "isOnline: $isOnline\nwasOnline: $wasOnline\nconnectionGained: $connectionGained")
|
||||||
if (connectionGained) {
|
if (connectionGained) {
|
||||||
chatActivity.messageInputViewModel.sendUnsentMessages(
|
chatActivity.messageInputViewModel.sendTempMessages(
|
||||||
chatActivity.conversationUser!!.getCredentials(),
|
chatActivity.conversationUser!!.getCredentials(),
|
||||||
ApiUtils.getUrlForChat(
|
ApiUtils.getUrlForChat(
|
||||||
chatActivity.chatApiVersion,
|
chatActivity.chatApiVersion,
|
||||||
|
@ -110,7 +110,7 @@ interface ChatMessageRepository : LifecycleAwareManager {
|
|||||||
|
|
||||||
suspend fun editTempChatMessage(message: ChatMessage, editedMessageText: String): Flow<Boolean>
|
suspend fun editTempChatMessage(message: ChatMessage, editedMessageText: String): Flow<Boolean>
|
||||||
|
|
||||||
suspend fun sendUnsentChatMessages(credentials: String, url: String)
|
suspend fun sendTempChatMessages(credentials: String, url: String)
|
||||||
|
|
||||||
suspend fun deleteTempMessage(chatMessage: ChatMessage)
|
suspend fun deleteTempMessage(chatMessage: ChatMessage)
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,6 @@ import android.util.Log
|
|||||||
import com.bluelinelabs.logansquare.annotation.JsonIgnore
|
import com.bluelinelabs.logansquare.annotation.JsonIgnore
|
||||||
import com.nextcloud.talk.R
|
import com.nextcloud.talk.R
|
||||||
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
|
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
|
||||||
import com.nextcloud.talk.data.database.model.SendStatus
|
|
||||||
import com.nextcloud.talk.data.user.model.User
|
import com.nextcloud.talk.data.user.model.User
|
||||||
import com.nextcloud.talk.models.json.chat.ChatUtils.Companion.getParsedMessage
|
import com.nextcloud.talk.models.json.chat.ChatUtils.Companion.getParsedMessage
|
||||||
import com.nextcloud.talk.models.json.chat.ReadStatus
|
import com.nextcloud.talk.models.json.chat.ReadStatus
|
||||||
@ -120,7 +119,7 @@ data class ChatMessage(
|
|||||||
|
|
||||||
var referenceId: String? = null,
|
var referenceId: String? = null,
|
||||||
|
|
||||||
var sendStatus: SendStatus? = null,
|
var sendingFailed: Boolean = true,
|
||||||
|
|
||||||
var silent: Boolean = false
|
var silent: Boolean = false
|
||||||
|
|
||||||
|
@ -19,7 +19,6 @@ import com.nextcloud.talk.data.database.mappers.asEntity
|
|||||||
import com.nextcloud.talk.data.database.mappers.asModel
|
import com.nextcloud.talk.data.database.mappers.asModel
|
||||||
import com.nextcloud.talk.data.database.model.ChatBlockEntity
|
import com.nextcloud.talk.data.database.model.ChatBlockEntity
|
||||||
import com.nextcloud.talk.data.database.model.ChatMessageEntity
|
import com.nextcloud.talk.data.database.model.ChatMessageEntity
|
||||||
import com.nextcloud.talk.data.database.model.SendStatus
|
|
||||||
import com.nextcloud.talk.data.network.NetworkMonitor
|
import com.nextcloud.talk.data.network.NetworkMonitor
|
||||||
import com.nextcloud.talk.data.user.model.User
|
import com.nextcloud.talk.data.user.model.User
|
||||||
import com.nextcloud.talk.extensions.toIntOrZero
|
import com.nextcloud.talk.extensions.toIntOrZero
|
||||||
@ -215,8 +214,7 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// this call could be deleted when we have a worker to send messages..
|
sendTempChatMessages(credentials, urlForChatting)
|
||||||
sendUnsentChatMessages(credentials, urlForChatting)
|
|
||||||
|
|
||||||
// delay is a dirty workaround to make sure messages are added to adapter on initial load before dealing
|
// delay is a dirty workaround to make sure messages are added to adapter on initial load before dealing
|
||||||
// with them (otherwise there is a race condition).
|
// with them (otherwise there is a race condition).
|
||||||
@ -367,18 +365,11 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
lookIntoFuture: Boolean,
|
lookIntoFuture: Boolean,
|
||||||
showUnreadMessagesMarker: Boolean
|
showUnreadMessagesMarker: Boolean
|
||||||
) {
|
) {
|
||||||
receivedChatMessages.forEach {
|
|
||||||
Log.d(TAG, "receivedChatMessage: " + it.message)
|
|
||||||
}
|
|
||||||
|
|
||||||
// remove all temp messages from UI
|
// remove all temp messages from UI
|
||||||
val oldTempMessages = chatDao.getTempMessagesForConversation(internalConversationId)
|
val oldTempMessages = chatDao.getTempMessagesForConversation(internalConversationId)
|
||||||
.first()
|
.first()
|
||||||
.map(ChatMessageEntity::asModel)
|
.map(ChatMessageEntity::asModel)
|
||||||
oldTempMessages.forEach {
|
oldTempMessages.forEach { _removeMessageFlow.emit(it) }
|
||||||
Log.d(TAG, "oldTempMessage to be removed from UI: " + it.message)
|
|
||||||
_removeMessageFlow.emit(it)
|
|
||||||
}
|
|
||||||
|
|
||||||
// add new messages to UI
|
// add new messages to UI
|
||||||
val tripleChatMessages = Triple(lookIntoFuture, showUnreadMessagesMarker, receivedChatMessages)
|
val tripleChatMessages = Triple(lookIntoFuture, showUnreadMessagesMarker, receivedChatMessages)
|
||||||
@ -387,9 +378,6 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
// remove temp messages from DB that are now found in the new messages
|
// remove temp messages from DB that are now found in the new messages
|
||||||
val chatMessagesReferenceIds = receivedChatMessages.mapTo(HashSet(receivedChatMessages.size)) { it.referenceId }
|
val chatMessagesReferenceIds = receivedChatMessages.mapTo(HashSet(receivedChatMessages.size)) { it.referenceId }
|
||||||
val tempChatMessagesThatCanBeReplaced = oldTempMessages.filter { it.referenceId in chatMessagesReferenceIds }
|
val tempChatMessagesThatCanBeReplaced = oldTempMessages.filter { it.referenceId in chatMessagesReferenceIds }
|
||||||
tempChatMessagesThatCanBeReplaced.forEach {
|
|
||||||
Log.d(TAG, "oldTempMessage that was identified in newMessages: " + it.message)
|
|
||||||
}
|
|
||||||
chatDao.deleteTempChatMessages(
|
chatDao.deleteTempChatMessages(
|
||||||
internalConversationId,
|
internalConversationId,
|
||||||
tempChatMessagesThatCanBeReplaced.map { it.referenceId!! }
|
tempChatMessagesThatCanBeReplaced.map { it.referenceId!! }
|
||||||
@ -401,10 +389,6 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
.sortedBy { it.internalId }
|
.sortedBy { it.internalId }
|
||||||
.map(ChatMessageEntity::asModel)
|
.map(ChatMessageEntity::asModel)
|
||||||
|
|
||||||
remainingTempMessages.forEach {
|
|
||||||
Log.d(TAG, "remainingTempMessage: " + it.message)
|
|
||||||
}
|
|
||||||
|
|
||||||
val triple = Triple(true, false, remainingTempMessages)
|
val triple = Triple(true, false, remainingTempMessages)
|
||||||
_messageFlow.emit(triple)
|
_messageFlow.emit(triple)
|
||||||
}
|
}
|
||||||
@ -859,17 +843,6 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
|
|
||||||
val chatMessageModel = response.ocs?.data?.asModel()
|
val chatMessageModel = response.ocs?.data?.asModel()
|
||||||
|
|
||||||
val sentMessage = chatDao.getTempMessageForConversation(
|
|
||||||
internalConversationId,
|
|
||||||
referenceId
|
|
||||||
).firstOrNull()
|
|
||||||
|
|
||||||
sentMessage?.let {
|
|
||||||
it.sendStatus = SendStatus.SENT_PENDING_ACK
|
|
||||||
chatDao.updateChatMessage(it)
|
|
||||||
}
|
|
||||||
|
|
||||||
Log.d(TAG, "sending chat message succeeded: " + message)
|
|
||||||
emit(Result.success(chatMessageModel))
|
emit(Result.success(chatMessageModel))
|
||||||
}
|
}
|
||||||
.catch { e ->
|
.catch { e ->
|
||||||
@ -880,7 +853,7 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
referenceId
|
referenceId
|
||||||
).firstOrNull()
|
).firstOrNull()
|
||||||
failedMessage?.let {
|
failedMessage?.let {
|
||||||
it.sendStatus = SendStatus.FAILED
|
it.sendingFailed = true
|
||||||
chatDao.updateChatMessage(it)
|
chatDao.updateChatMessage(it)
|
||||||
|
|
||||||
val failedMessageModel = it.asModel()
|
val failedMessageModel = it.asModel()
|
||||||
@ -901,7 +874,7 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
referenceId: String
|
referenceId: String
|
||||||
): Flow<Result<ChatMessage?>> {
|
): Flow<Result<ChatMessage?>> {
|
||||||
val messageToResend = chatDao.getTempMessageForConversation(internalConversationId, referenceId).first()
|
val messageToResend = chatDao.getTempMessageForConversation(internalConversationId, referenceId).first()
|
||||||
messageToResend.sendStatus = SendStatus.PENDING
|
messageToResend.sendingFailed = false
|
||||||
chatDao.updateChatMessage(messageToResend)
|
chatDao.updateChatMessage(messageToResend)
|
||||||
|
|
||||||
val messageToResendModel = messageToResend.asModel()
|
val messageToResendModel = messageToResend.asModel()
|
||||||
@ -957,8 +930,8 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun sendUnsentChatMessages(credentials: String, url: String) {
|
override suspend fun sendTempChatMessages(credentials: String, url: String) {
|
||||||
val tempMessages = chatDao.getTempUnsentMessagesForConversation(internalConversationId).first()
|
val tempMessages = chatDao.getTempMessagesForConversation(internalConversationId).first()
|
||||||
tempMessages.sortedBy { it.internalId }.onEach {
|
tempMessages.sortedBy { it.internalId }.onEach {
|
||||||
sendChatMessage(
|
sendChatMessage(
|
||||||
credentials,
|
credentials,
|
||||||
@ -1052,7 +1025,7 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
actorDisplayName = currentUser.displayName!!,
|
actorDisplayName = currentUser.displayName!!,
|
||||||
referenceId = referenceId,
|
referenceId = referenceId,
|
||||||
isTemporary = true,
|
isTemporary = true,
|
||||||
sendStatus = SendStatus.PENDING,
|
sendingFailed = false,
|
||||||
silent = sendWithoutNotification
|
silent = sendWithoutNotification
|
||||||
)
|
)
|
||||||
return entity
|
return entity
|
||||||
|
@ -169,9 +169,9 @@ class MessageInputViewModel @Inject constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun sendUnsentMessages(credentials: String, url: String) {
|
fun sendTempMessages(credentials: String, url: String) {
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
chatRepository.sendUnsentChatMessages(
|
chatRepository.sendTempChatMessages(
|
||||||
credentials,
|
credentials,
|
||||||
url
|
url
|
||||||
)
|
)
|
||||||
|
@ -50,18 +50,6 @@ interface ChatMessagesDao {
|
|||||||
)
|
)
|
||||||
fun getTempMessagesForConversation(internalConversationId: String): Flow<List<ChatMessageEntity>>
|
fun getTempMessagesForConversation(internalConversationId: String): Flow<List<ChatMessageEntity>>
|
||||||
|
|
||||||
@Query(
|
|
||||||
"""
|
|
||||||
SELECT *
|
|
||||||
FROM ChatMessages
|
|
||||||
WHERE internalConversationId = :internalConversationId
|
|
||||||
AND isTemporary = 1
|
|
||||||
AND sendStatus != 'SENT_PENDING_ACK'
|
|
||||||
ORDER BY timestamp DESC, id DESC
|
|
||||||
"""
|
|
||||||
)
|
|
||||||
fun getTempUnsentMessagesForConversation(internalConversationId: String): Flow<List<ChatMessageEntity>>
|
|
||||||
|
|
||||||
@Query(
|
@Query(
|
||||||
"""
|
"""
|
||||||
SELECT *
|
SELECT *
|
||||||
|
@ -68,7 +68,7 @@ fun ChatMessageEntity.asModel() =
|
|||||||
isDeleted = deleted,
|
isDeleted = deleted,
|
||||||
referenceId = referenceId,
|
referenceId = referenceId,
|
||||||
isTemporary = isTemporary,
|
isTemporary = isTemporary,
|
||||||
sendStatus = sendStatus,
|
sendingFailed = sendingFailed,
|
||||||
readStatus = ReadStatus.NONE,
|
readStatus = ReadStatus.NONE,
|
||||||
silent = silent
|
silent = silent
|
||||||
)
|
)
|
||||||
|
@ -64,7 +64,7 @@ data class ChatMessageEntity(
|
|||||||
@ColumnInfo(name = "reactions") var reactions: LinkedHashMap<String, Int>? = null,
|
@ColumnInfo(name = "reactions") var reactions: LinkedHashMap<String, Int>? = null,
|
||||||
@ColumnInfo(name = "reactionsSelf") var reactionsSelf: ArrayList<String>? = null,
|
@ColumnInfo(name = "reactionsSelf") var reactionsSelf: ArrayList<String>? = null,
|
||||||
@ColumnInfo(name = "referenceId") var referenceId: String? = null,
|
@ColumnInfo(name = "referenceId") var referenceId: String? = null,
|
||||||
@ColumnInfo(name = "sendStatus") var sendStatus: SendStatus? = null,
|
@ColumnInfo(name = "sendingFailed") var sendingFailed: Boolean = false,
|
||||||
@ColumnInfo(name = "silent") var silent: Boolean = false,
|
@ColumnInfo(name = "silent") var silent: Boolean = false,
|
||||||
@ColumnInfo(name = "systemMessage") var systemMessageType: ChatMessage.SystemMessageType,
|
@ColumnInfo(name = "systemMessage") var systemMessageType: ChatMessage.SystemMessageType,
|
||||||
@ColumnInfo(name = "timestamp") var timestamp: Long = 0
|
@ColumnInfo(name = "timestamp") var timestamp: Long = 0
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
/*
|
|
||||||
* Nextcloud Talk - Android Client
|
|
||||||
*
|
|
||||||
* SPDX-FileCopyrightText: 2025 Marcel Hibbe <dev@mhibbe.de>
|
|
||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.nextcloud.talk.data.database.model
|
|
||||||
|
|
||||||
enum class SendStatus {
|
|
||||||
PENDING,
|
|
||||||
SENT_PENDING_ACK,
|
|
||||||
FAILED
|
|
||||||
}
|
|
@ -1,31 +1,18 @@
|
|||||||
/*
|
/*
|
||||||
* Nextcloud Talk - Android Client
|
* Nextcloud Talk - Android Client
|
||||||
*
|
*
|
||||||
* SPDX-FileCopyrightText: 2024-2025 Marcel Hibbe <dev@mhibbe.de>
|
|
||||||
* SPDX-FileCopyrightText: 2022 Andy Scherzinger <info@andy-scherzinger.de>
|
* SPDX-FileCopyrightText: 2022 Andy Scherzinger <info@andy-scherzinger.de>
|
||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
package com.nextcloud.talk.data.source.local
|
package com.nextcloud.talk.data.source.local
|
||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.room.DeleteColumn
|
|
||||||
import androidx.room.migration.AutoMigrationSpec
|
|
||||||
import androidx.room.migration.Migration
|
import androidx.room.migration.Migration
|
||||||
import androidx.sqlite.db.SupportSQLiteDatabase
|
import androidx.sqlite.db.SupportSQLiteDatabase
|
||||||
import java.sql.SQLException
|
import java.sql.SQLException
|
||||||
|
|
||||||
@Suppress("MagicNumber")
|
@Suppress("MagicNumber")
|
||||||
object Migrations {
|
object Migrations {
|
||||||
|
|
||||||
//region Auto migrations
|
|
||||||
|
|
||||||
@DeleteColumn(tableName = "ChatMessages", columnName = "sendingFailed")
|
|
||||||
class AutoMigration16To17 : AutoMigrationSpec
|
|
||||||
|
|
||||||
//endregion
|
|
||||||
|
|
||||||
//region Manual migrations
|
|
||||||
|
|
||||||
val MIGRATION_6_8 = object : Migration(6, 8) {
|
val MIGRATION_6_8 = object : Migration(6, 8) {
|
||||||
override fun migrate(db: SupportSQLiteDatabase) {
|
override fun migrate(db: SupportSQLiteDatabase) {
|
||||||
Log.i("Migrations", "Migrating 6 to 8")
|
Log.i("Migrations", "Migrating 6 to 8")
|
||||||
@ -89,8 +76,6 @@ object Migrations {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//endregion
|
|
||||||
|
|
||||||
fun migrateToRoom(db: SupportSQLiteDatabase) {
|
fun migrateToRoom(db: SupportSQLiteDatabase) {
|
||||||
db.execSQL(
|
db.execSQL(
|
||||||
"CREATE TABLE User_new (" +
|
"CREATE TABLE User_new (" +
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Nextcloud Talk - Android Client
|
* Nextcloud Talk - Android Client
|
||||||
*
|
*
|
||||||
* SPDX-FileCopyrightText: 2023-2025 Marcel Hibbe <dev@mhibbe.de>
|
* SPDX-FileCopyrightText: 2023-2024 Marcel Hibbe <dev@mhibbe.de>
|
||||||
* SPDX-FileCopyrightText: 2022 Andy Scherzinger <info@andy-scherzinger.de>
|
* SPDX-FileCopyrightText: 2022 Andy Scherzinger <info@andy-scherzinger.de>
|
||||||
* SPDX-FileCopyrightText: 2017-2020 Mario Danic <mario@lovelyhq.com>
|
* SPDX-FileCopyrightText: 2017-2020 Mario Danic <mario@lovelyhq.com>
|
||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
@ -23,14 +23,12 @@ import com.nextcloud.talk.data.database.dao.ConversationsDao
|
|||||||
import com.nextcloud.talk.data.database.model.ChatBlockEntity
|
import com.nextcloud.talk.data.database.model.ChatBlockEntity
|
||||||
import com.nextcloud.talk.data.database.model.ChatMessageEntity
|
import com.nextcloud.talk.data.database.model.ChatMessageEntity
|
||||||
import com.nextcloud.talk.data.database.model.ConversationEntity
|
import com.nextcloud.talk.data.database.model.ConversationEntity
|
||||||
import com.nextcloud.talk.data.source.local.Migrations.AutoMigration16To17
|
|
||||||
import com.nextcloud.talk.data.source.local.converters.ArrayListConverter
|
import com.nextcloud.talk.data.source.local.converters.ArrayListConverter
|
||||||
import com.nextcloud.talk.data.source.local.converters.CapabilitiesConverter
|
import com.nextcloud.talk.data.source.local.converters.CapabilitiesConverter
|
||||||
import com.nextcloud.talk.data.source.local.converters.ExternalSignalingServerConverter
|
import com.nextcloud.talk.data.source.local.converters.ExternalSignalingServerConverter
|
||||||
import com.nextcloud.talk.data.source.local.converters.HashMapHashMapConverter
|
import com.nextcloud.talk.data.source.local.converters.HashMapHashMapConverter
|
||||||
import com.nextcloud.talk.data.source.local.converters.LinkedHashMapConverter
|
import com.nextcloud.talk.data.source.local.converters.LinkedHashMapConverter
|
||||||
import com.nextcloud.talk.data.source.local.converters.PushConfigurationConverter
|
import com.nextcloud.talk.data.source.local.converters.PushConfigurationConverter
|
||||||
import com.nextcloud.talk.data.source.local.converters.SendStatusConverter
|
|
||||||
import com.nextcloud.talk.data.source.local.converters.ServerVersionConverter
|
import com.nextcloud.talk.data.source.local.converters.ServerVersionConverter
|
||||||
import com.nextcloud.talk.data.source.local.converters.SignalingSettingsConverter
|
import com.nextcloud.talk.data.source.local.converters.SignalingSettingsConverter
|
||||||
import com.nextcloud.talk.data.storage.ArbitraryStoragesDao
|
import com.nextcloud.talk.data.storage.ArbitraryStoragesDao
|
||||||
@ -51,10 +49,9 @@ import java.util.Locale
|
|||||||
ChatMessageEntity::class,
|
ChatMessageEntity::class,
|
||||||
ChatBlockEntity::class
|
ChatBlockEntity::class
|
||||||
],
|
],
|
||||||
version = 17,
|
version = 16,
|
||||||
autoMigrations = [
|
autoMigrations = [
|
||||||
AutoMigration(from = 9, to = 10),
|
AutoMigration(from = 9, to = 10)
|
||||||
AutoMigration(from = 16, to = 17, spec = AutoMigration16To17::class)
|
|
||||||
],
|
],
|
||||||
exportSchema = true
|
exportSchema = true
|
||||||
)
|
)
|
||||||
@ -66,8 +63,7 @@ import java.util.Locale
|
|||||||
SignalingSettingsConverter::class,
|
SignalingSettingsConverter::class,
|
||||||
HashMapHashMapConverter::class,
|
HashMapHashMapConverter::class,
|
||||||
LinkedHashMapConverter::class,
|
LinkedHashMapConverter::class,
|
||||||
ArrayListConverter::class,
|
ArrayListConverter::class
|
||||||
SendStatusConverter::class
|
|
||||||
)
|
)
|
||||||
abstract class TalkDatabase : RoomDatabase() {
|
abstract class TalkDatabase : RoomDatabase() {
|
||||||
|
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
/*
|
|
||||||
* Nextcloud Talk - Android Client
|
|
||||||
*
|
|
||||||
* SPDX-FileCopyrightText: 2025 Marcel Hibbe <dev@mhibbe.de>
|
|
||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.nextcloud.talk.data.source.local.converters
|
|
||||||
|
|
||||||
import androidx.room.TypeConverter
|
|
||||||
import com.nextcloud.talk.data.database.model.SendStatus
|
|
||||||
|
|
||||||
class SendStatusConverter {
|
|
||||||
@TypeConverter
|
|
||||||
fun fromStatus(value: SendStatus): String {
|
|
||||||
return value.name
|
|
||||||
}
|
|
||||||
|
|
||||||
@TypeConverter
|
|
||||||
fun toStatus(value: String): SendStatus {
|
|
||||||
return SendStatus.valueOf(value)
|
|
||||||
}
|
|
||||||
}
|
|
@ -18,7 +18,6 @@ import com.nextcloud.talk.R
|
|||||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||||
import com.nextcloud.talk.chat.ChatActivity
|
import com.nextcloud.talk.chat.ChatActivity
|
||||||
import com.nextcloud.talk.chat.data.model.ChatMessage
|
import com.nextcloud.talk.chat.data.model.ChatMessage
|
||||||
import com.nextcloud.talk.data.database.model.SendStatus
|
|
||||||
import com.nextcloud.talk.data.network.NetworkMonitor
|
import com.nextcloud.talk.data.network.NetworkMonitor
|
||||||
import com.nextcloud.talk.databinding.DialogTempMessageActionsBinding
|
import com.nextcloud.talk.databinding.DialogTempMessageActionsBinding
|
||||||
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
||||||
@ -59,10 +58,9 @@ class TempMessageActionsDialog(
|
|||||||
|
|
||||||
private fun initMenuItems() {
|
private fun initMenuItems() {
|
||||||
this.lifecycleScope.launch {
|
this.lifecycleScope.launch {
|
||||||
val sendingFailed = message.sendStatus == SendStatus.FAILED
|
initResendMessage(message.sendingFailed && networkMonitor.isOnline.value)
|
||||||
initResendMessage(sendingFailed && networkMonitor.isOnline.value)
|
initMenuEditMessage(message.sendingFailed || !networkMonitor.isOnline.value)
|
||||||
initMenuEditMessage(sendingFailed || !networkMonitor.isOnline.value)
|
initMenuDeleteMessage(message.sendingFailed || !networkMonitor.isOnline.value)
|
||||||
initMenuDeleteMessage(sendingFailed || !networkMonitor.isOnline.value)
|
|
||||||
initMenuItemCopy()
|
initMenuItemCopy()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,11 +30,6 @@ class DummyChatMessagesDaoImpl : ChatMessagesDao {
|
|||||||
override fun getTempMessagesForConversation(internalConversationId: String): Flow<List<ChatMessageEntity>> =
|
override fun getTempMessagesForConversation(internalConversationId: String): Flow<List<ChatMessageEntity>> =
|
||||||
flowOf()
|
flowOf()
|
||||||
|
|
||||||
override fun getTempUnsentMessagesForConversation(internalConversationId: String): Flow<List<ChatMessageEntity>> {
|
|
||||||
// nothing to return here as long this class is only used for the Search window
|
|
||||||
return flowOf()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getTempMessageForConversation(
|
override fun getTempMessageForConversation(
|
||||||
internalConversationId: String,
|
internalConversationId: String,
|
||||||
referenceId: String
|
referenceId: String
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
android:id="@+id/deletion_message"
|
android:id="@+id/deletion_message"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/nc_conversation_auto_delete_notice"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:lineSpacingExtra="4dp"
|
android:lineSpacingExtra="4dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
|
@ -159,6 +159,7 @@
|
|||||||
<string name="nc_configure_cert_auth">Select authentication certificate</string>
|
<string name="nc_configure_cert_auth">Select authentication certificate</string>
|
||||||
<string name="nc_connecting_call">Connecting …</string>
|
<string name="nc_connecting_call">Connecting …</string>
|
||||||
<string name="nc_contacts_done">Done</string>
|
<string name="nc_contacts_done">Done</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">This conversation will be automatically deleted for everyone after %1$d days of inactivity</string>
|
||||||
<string name="nc_conversation_description">Conversation description</string>
|
<string name="nc_conversation_description">Conversation description</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">Conversation info</string>
|
<string name="nc_conversation_menu_conversation_info">Conversation info</string>
|
||||||
<string name="nc_conversation_menu_video_call">Video call</string>
|
<string name="nc_conversation_menu_video_call">Video call</string>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<string name="call_without_notification">Обаждане без известие</string>
|
<string name="call_without_notification">Обаждане без известие</string>
|
||||||
<string name="camera_permission_granted">Дадено е право на камера. Моля, изберете камера отново. </string>
|
<string name="camera_permission_granted">Дадено е право на камера. Моля, изберете камера отново. </string>
|
||||||
<string name="choose_avatar_from_cloud">Избор на аватар от облака</string>
|
<string name="choose_avatar_from_cloud">Избор на аватар от облака</string>
|
||||||
<string name="clear_status_message">Изчисти състоянието</string>
|
<string name="clear_status_message">Изчистване на съобщението за състоянието</string>
|
||||||
<string name="clear_status_message_after">Изчистване на съобщение за състоянието след</string>
|
<string name="clear_status_message_after">Изчистване на съобщение за състоянието след</string>
|
||||||
<string name="close">Затваряне</string>
|
<string name="close">Затваряне</string>
|
||||||
<string name="connection_established">Осъществена е връзка</string>
|
<string name="connection_established">Осъществена е връзка</string>
|
||||||
@ -38,7 +38,7 @@
|
|||||||
<string name="file_list_folder">папка</string>
|
<string name="file_list_folder">папка</string>
|
||||||
<string name="file_list_loading">Зареждане …</string>
|
<string name="file_list_loading">Зареждане …</string>
|
||||||
<string name="filename_progress">%1$s (%2$d)</string>
|
<string name="filename_progress">%1$s (%2$d)</string>
|
||||||
<string name="fourHours">4 чàса</string>
|
<string name="fourHours">4 часа</string>
|
||||||
<string name="invisible">Невидим</string>
|
<string name="invisible">Невидим</string>
|
||||||
<string name="leave_call">Напускане на обаждането</string>
|
<string name="leave_call">Напускане на обаждането</string>
|
||||||
<string name="load_more_results">Зареждане на още резултати</string>
|
<string name="load_more_results">Зареждане на още резултати</string>
|
||||||
@ -65,7 +65,7 @@
|
|||||||
<string name="nc_action_open_main_menu">Отворяне на главното меню</string>
|
<string name="nc_action_open_main_menu">Отворяне на главното меню</string>
|
||||||
<string name="nc_add_attachment">Добавяне на прикачен файл</string>
|
<string name="nc_add_attachment">Добавяне на прикачен файл</string>
|
||||||
<string name="nc_add_emojis">Добавяне на емотикони</string>
|
<string name="nc_add_emojis">Добавяне на емотикони</string>
|
||||||
<string name="nc_add_file">Добави към разговор</string>
|
<string name="nc_add_file">Добавяне към разговор</string>
|
||||||
<string name="nc_add_participants">Добавяне на участници</string>
|
<string name="nc_add_participants">Добавяне на участници</string>
|
||||||
<string name="nc_add_to_favorites">Добави към любимите</string>
|
<string name="nc_add_to_favorites">Добави към любимите</string>
|
||||||
<string name="nc_all_ok_operation">Добре, всичко е готово!</string>
|
<string name="nc_all_ok_operation">Добре, всичко е готово!</string>
|
||||||
@ -113,7 +113,6 @@
|
|||||||
<string name="nc_common_disabled">Изключено</string>
|
<string name="nc_common_disabled">Изключено</string>
|
||||||
<string name="nc_common_dismiss">Отхвърляне</string>
|
<string name="nc_common_dismiss">Отхвърляне</string>
|
||||||
<string name="nc_common_error_sorry">Съжалявам нещо се обърка!</string>
|
<string name="nc_common_error_sorry">Съжалявам нещо се обърка!</string>
|
||||||
<string name="nc_common_more_options">Още опции</string>
|
|
||||||
<string name="nc_common_set">Настройка</string>
|
<string name="nc_common_set">Настройка</string>
|
||||||
<string name="nc_common_skip">Пропусни</string>
|
<string name="nc_common_skip">Пропусни</string>
|
||||||
<string name="nc_common_unknown">Неизвестен</string>
|
<string name="nc_common_unknown">Неизвестен</string>
|
||||||
@ -226,7 +225,6 @@
|
|||||||
<string name="nc_missed_call">Пропуснахте обаждане от %s</string>
|
<string name="nc_missed_call">Пропуснахте обаждане от %s</string>
|
||||||
<string name="nc_moderator">Модератор</string>
|
<string name="nc_moderator">Модератор</string>
|
||||||
<string name="nc_new_conversation">Нов разговор</string>
|
<string name="nc_new_conversation">Нов разговор</string>
|
||||||
<string name="nc_new_conversation_visibility">Видимост</string>
|
|
||||||
<string name="nc_new_mention">Непрочетени споменавания</string>
|
<string name="nc_new_mention">Непрочетени споменавания</string>
|
||||||
<string name="nc_new_messages">Непрочетени съобщения.</string>
|
<string name="nc_new_messages">Непрочетени съобщения.</string>
|
||||||
<string name="nc_nextcloud_talk_app_not_installed">%1$s не е наличен (не е инсталиран или е ограничен от администратора)</string>
|
<string name="nc_nextcloud_talk_app_not_installed">%1$s не е наличен (не е инсталиран или е ограничен от администратора)</string>
|
||||||
@ -395,7 +393,7 @@
|
|||||||
<string name="no_phone_book_integration_due_to_permissions">Няма интеграция на телефонен номер поради липсващи права</string>
|
<string name="no_phone_book_integration_due_to_permissions">Няма интеграция на телефонен номер поради липсващи права</string>
|
||||||
<string name="oneHour">1 час</string>
|
<string name="oneHour">1 час</string>
|
||||||
<string name="online">На линия</string>
|
<string name="online">На линия</string>
|
||||||
<string name="online_status">Състояние</string>
|
<string name="online_status">Състояние на линия</string>
|
||||||
<string name="openConversations">Отворени разговори</string>
|
<string name="openConversations">Отворени разговори</string>
|
||||||
<string name="open_in_files_app">Отворяне в приложението Файлове</string>
|
<string name="open_in_files_app">Отворяне в приложението Файлове</string>
|
||||||
<string name="play_pause_voice_message">Възпроизвеждане/пауза на гласово съобщение</string>
|
<string name="play_pause_voice_message">Възпроизвеждане/пауза на гласово съобщение</string>
|
||||||
@ -431,10 +429,10 @@
|
|||||||
<string name="save">Записване</string>
|
<string name="save">Записване</string>
|
||||||
<string name="scope_federated_description">Синхронизиране само с доверени сървъри</string>
|
<string name="scope_federated_description">Синхронизиране само с доверени сървъри</string>
|
||||||
<string name="scope_federated_title">Федериран</string>
|
<string name="scope_federated_title">Федериран</string>
|
||||||
<string name="scope_local_description">Видимо за потребители на тази инстанция на сървъра, както и гости.</string>
|
<string name="scope_local_description">Видим само за хора от този случай и гости</string>
|
||||||
<string name="scope_local_title">Локално</string>
|
<string name="scope_local_title">Локално</string>
|
||||||
<string name="scope_private_description">Видим само за хора, открити по телефонен номер, който е зададен в \"Talk\".</string>
|
<string name="scope_private_description">Видим само за хора, съчетани чрез интегриране на телефонен номер чрез Talk на мобилен телефон</string>
|
||||||
<string name="scope_private_title">Лично</string>
|
<string name="scope_private_title">Частен</string>
|
||||||
<string name="scope_published_description">Синхронизиране с доверени сървъри и с глобалната и публичната адресна книга</string>
|
<string name="scope_published_description">Синхронизиране с доверени сървъри и с глобалната и публичната адресна книга</string>
|
||||||
<string name="scope_published_title">Публикувано</string>
|
<string name="scope_published_title">Публикувано</string>
|
||||||
<string name="scope_toggle">Превключване на обхват</string>
|
<string name="scope_toggle">Превключване на обхват</string>
|
||||||
@ -450,7 +448,7 @@
|
|||||||
<string name="set">Да се зададе</string>
|
<string name="set">Да се зададе</string>
|
||||||
<string name="set_avatar_from_camera">Задаване на аватар от камерата</string>
|
<string name="set_avatar_from_camera">Задаване на аватар от камерата</string>
|
||||||
<string name="set_status">Задаване на състояние</string>
|
<string name="set_status">Задаване на състояние</string>
|
||||||
<string name="set_status_message">Задай състояние</string>
|
<string name="set_status_message">Задаване на съобщение за състояние</string>
|
||||||
<string name="share">Споделяне</string>
|
<string name="share">Споделяне</string>
|
||||||
<string name="shared_items_audio">Аудио</string>
|
<string name="shared_items_audio">Аудио</string>
|
||||||
<string name="shared_items_file">Файл</string>
|
<string name="shared_items_file">Файл</string>
|
||||||
@ -498,7 +496,7 @@
|
|||||||
<string name="userinfo_no_info_headline">Няма зададена лична информация</string>
|
<string name="userinfo_no_info_headline">Няма зададена лична информация</string>
|
||||||
<string name="userinfo_no_info_text">Добавяне на име, снимка и подробности за контакт към страницата на вашия профил.</string>
|
<string name="userinfo_no_info_text">Добавяне на име, снимка и подробности за контакт към страницата на вашия профил.</string>
|
||||||
<string name="video_call">Видео разговор</string>
|
<string name="video_call">Видео разговор</string>
|
||||||
<string name="whats_your_status">Какво е вашето състояние?</string>
|
<string name="whats_your_status">Какъв е вашият статус?</string>
|
||||||
<plurals name="polls_amount_voters">
|
<plurals name="polls_amount_voters">
|
||||||
<item quantity="one">%dгласувания </item>
|
<item quantity="one">%dгласувания </item>
|
||||||
<item quantity="other">%d гласувания</item>
|
<item quantity="other">%d гласувания</item>
|
||||||
|
@ -159,6 +159,7 @@
|
|||||||
<string name="nc_configure_cert_auth">Vyberte certifikát pro ověřování se</string>
|
<string name="nc_configure_cert_auth">Vyberte certifikát pro ověřování se</string>
|
||||||
<string name="nc_connecting_call">Připojování…</string>
|
<string name="nc_connecting_call">Připojování…</string>
|
||||||
<string name="nc_contacts_done">Hotovo</string>
|
<string name="nc_contacts_done">Hotovo</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">Tato konverzace bude automaticky smazána pro kohokoli po %1$d dnech bez jakékoli aktivity.</string>
|
||||||
<string name="nc_conversation_description">Popis konverzace</string>
|
<string name="nc_conversation_description">Popis konverzace</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">Informace o konverzaci</string>
|
<string name="nc_conversation_menu_conversation_info">Informace o konverzaci</string>
|
||||||
<string name="nc_conversation_menu_video_call">Videohovor</string>
|
<string name="nc_conversation_menu_video_call">Videohovor</string>
|
||||||
@ -543,7 +544,6 @@
|
|||||||
<string name="online_status">Stav online</string>
|
<string name="online_status">Stav online</string>
|
||||||
<string name="openConversations">Otevřít konverzace</string>
|
<string name="openConversations">Otevřít konverzace</string>
|
||||||
<string name="open_in_files_app">Otevřít v aplikaci Soubory</string>
|
<string name="open_in_files_app">Otevřít v aplikaci Soubory</string>
|
||||||
<string name="open_notes">Otevřít poznámky</string>
|
|
||||||
<string name="play_pause_voice_message">Přehrát/pozastavit hlasovou zprávu</string>
|
<string name="play_pause_voice_message">Přehrát/pozastavit hlasovou zprávu</string>
|
||||||
<string name="playback_speed_control">Ovládání rychlosti přehrávání</string>
|
<string name="playback_speed_control">Ovládání rychlosti přehrávání</string>
|
||||||
<string name="polls_add_option">Přidat volbu</string>
|
<string name="polls_add_option">Přidat volbu</string>
|
||||||
@ -683,12 +683,6 @@
|
|||||||
<item quantity="many">Viz %d podobných zpráv</item>
|
<item quantity="many">Viz %d podobných zpráv</item>
|
||||||
<item quantity="other">Viz %d podobné zprávy</item>
|
<item quantity="other">Viz %d podobné zprávy</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="nc_conversation_auto_delete_info">
|
|
||||||
<item quantity="one">Tato konverzace bude automaticky smazána pro kohokoli po %1$d dni bez jakékoli aktivity.</item>
|
|
||||||
<item quantity="few">Tato konverzace bude automaticky smazána pro kohokoli po %1$d dnech bez jakékoli aktivity.</item>
|
|
||||||
<item quantity="many">Tato konverzace bude automaticky smazána pro kohokoli po %1$d dnech bez jakékoli aktivity.</item>
|
|
||||||
<item quantity="other">Tato konverzace bude automaticky smazána pro kohokoli po %1$d dnech bez jakékoli aktivity.</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="polls_amount_voters">
|
<plurals name="polls_amount_voters">
|
||||||
<item quantity="one">%d hlas</item>
|
<item quantity="one">%d hlas</item>
|
||||||
<item quantity="few">%d hlasy</item>
|
<item quantity="few">%d hlasy</item>
|
||||||
|
@ -159,6 +159,7 @@
|
|||||||
<string name="nc_configure_cert_auth">Authentifizierungs-Zertifikat auswählen</string>
|
<string name="nc_configure_cert_auth">Authentifizierungs-Zertifikat auswählen</string>
|
||||||
<string name="nc_connecting_call">Verbinde …</string>
|
<string name="nc_connecting_call">Verbinde …</string>
|
||||||
<string name="nc_contacts_done">Fertig</string>
|
<string name="nc_contacts_done">Fertig</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">Diese Unterhaltung wird für alle bei Inaktivität in %1$d Tagen gelöscht</string>
|
||||||
<string name="nc_conversation_description">Beschreibung der Unterhaltung</string>
|
<string name="nc_conversation_description">Beschreibung der Unterhaltung</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">Unterhaltungs-Information</string>
|
<string name="nc_conversation_menu_conversation_info">Unterhaltungs-Information</string>
|
||||||
<string name="nc_conversation_menu_video_call">Videoanruf</string>
|
<string name="nc_conversation_menu_video_call">Videoanruf</string>
|
||||||
@ -543,7 +544,6 @@
|
|||||||
<string name="online_status">Online-Status</string>
|
<string name="online_status">Online-Status</string>
|
||||||
<string name="openConversations">Offene Unterhaltungen</string>
|
<string name="openConversations">Offene Unterhaltungen</string>
|
||||||
<string name="open_in_files_app">In Dateien-App öffnen</string>
|
<string name="open_in_files_app">In Dateien-App öffnen</string>
|
||||||
<string name="open_notes">Notizen öffnen</string>
|
|
||||||
<string name="play_pause_voice_message">Sprachnachricht wiedergeben/pausieren</string>
|
<string name="play_pause_voice_message">Sprachnachricht wiedergeben/pausieren</string>
|
||||||
<string name="playback_speed_control">Steuerung der Wiedergabegeschwindigkeit</string>
|
<string name="playback_speed_control">Steuerung der Wiedergabegeschwindigkeit</string>
|
||||||
<string name="polls_add_option">Option hinzufügen</string>
|
<string name="polls_add_option">Option hinzufügen</string>
|
||||||
@ -681,10 +681,6 @@
|
|||||||
<item quantity="one">%d ähnliche Nachricht ansehen</item>
|
<item quantity="one">%d ähnliche Nachricht ansehen</item>
|
||||||
<item quantity="other">%d ähnliche Nachrichten ansehen</item>
|
<item quantity="other">%d ähnliche Nachrichten ansehen</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="nc_conversation_auto_delete_info">
|
|
||||||
<item quantity="one">Diese Unterhaltung wird für alle bei Inaktivität in %1$d Tag gelöscht</item>
|
|
||||||
<item quantity="other">Diese Unterhaltung wird für alle bei Inaktivität in %1$d Tagen gelöscht</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="polls_amount_voters">
|
<plurals name="polls_amount_voters">
|
||||||
<item quantity="one">%d Stimme</item>
|
<item quantity="one">%d Stimme</item>
|
||||||
<item quantity="other">%d Stimmen</item>
|
<item quantity="other">%d Stimmen</item>
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name= "nc_edit">Επεξεργασία</string>
|
<string name= "nc_edit">Επεξεργασία</string>
|
||||||
<string name="add_participants">Προσθήκη</string>
|
|
||||||
<string name="appbar_search_in">Αναζήτηση στο %s</string>
|
<string name="appbar_search_in">Αναζήτηση στο %s</string>
|
||||||
<string name="archived">Αρχειοθετήθηκε</string>
|
<string name="archived">Αρχειοθετήθηκε</string>
|
||||||
<string name="audio_output_dialog_headline">Έξοδος ήχου</string>
|
<string name="audio_output_dialog_headline">Έξοδος ήχου</string>
|
||||||
|
@ -159,6 +159,7 @@
|
|||||||
<string name="nc_configure_cert_auth">Vali autentimise sertifikaat</string>
|
<string name="nc_configure_cert_auth">Vali autentimise sertifikaat</string>
|
||||||
<string name="nc_connecting_call">Ühendan…</string>
|
<string name="nc_connecting_call">Ühendan…</string>
|
||||||
<string name="nc_contacts_done">Valmis</string>
|
<string name="nc_contacts_done">Valmis</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">See vestlus kustub automaatselt kõigi osalejate jaoks, kui siin pole olnud tegevust %1$d päeva jooksul.</string>
|
||||||
<string name="nc_conversation_description">Vestluse kirjeldus</string>
|
<string name="nc_conversation_description">Vestluse kirjeldus</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">Vestluse teave</string>
|
<string name="nc_conversation_menu_conversation_info">Vestluse teave</string>
|
||||||
<string name="nc_conversation_menu_video_call">Videokõne</string>
|
<string name="nc_conversation_menu_video_call">Videokõne</string>
|
||||||
@ -543,7 +544,6 @@
|
|||||||
<string name="online_status">Võrgus staatus</string>
|
<string name="online_status">Võrgus staatus</string>
|
||||||
<string name="openConversations">Ava vestlused</string>
|
<string name="openConversations">Ava vestlused</string>
|
||||||
<string name="open_in_files_app">Ava failirakenduses</string>
|
<string name="open_in_files_app">Ava failirakenduses</string>
|
||||||
<string name="open_notes">Ava märkmik</string>
|
|
||||||
<string name="play_pause_voice_message">Esita häälsõnumit või peata esitus</string>
|
<string name="play_pause_voice_message">Esita häälsõnumit või peata esitus</string>
|
||||||
<string name="playback_speed_control">Taasesituse kiiruse juhtimine</string>
|
<string name="playback_speed_control">Taasesituse kiiruse juhtimine</string>
|
||||||
<string name="polls_add_option">Lisa valik</string>
|
<string name="polls_add_option">Lisa valik</string>
|
||||||
@ -681,10 +681,6 @@
|
|||||||
<item quantity="one">Vaata %d sarnast sõnumit</item>
|
<item quantity="one">Vaata %d sarnast sõnumit</item>
|
||||||
<item quantity="other">Vaata %d sarnast sõnumit</item>
|
<item quantity="other">Vaata %d sarnast sõnumit</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="nc_conversation_auto_delete_info">
|
|
||||||
<item quantity="one">See vestlus kustub automaatselt kõigi osalejate jaoks, kui siin pole olnud tegevust %1$d päeva jooksul.</item>
|
|
||||||
<item quantity="other">See vestlus kustub automaatselt kõigi osalejate jaoks, kui siin pole olnud tegevust %1$d päeva jooksul.</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="polls_amount_voters">
|
<plurals name="polls_amount_voters">
|
||||||
<item quantity="one">%d hääl</item>
|
<item quantity="one">%d hääl</item>
|
||||||
<item quantity="other">%d häält</item>
|
<item quantity="other">%d häält</item>
|
||||||
|
@ -159,6 +159,7 @@
|
|||||||
<string name="nc_configure_cert_auth">Roghnaigh teastas fíordheimhnithe</string>
|
<string name="nc_configure_cert_auth">Roghnaigh teastas fíordheimhnithe</string>
|
||||||
<string name="nc_connecting_call">Ag nascadh…</string>
|
<string name="nc_connecting_call">Ag nascadh…</string>
|
||||||
<string name="nc_contacts_done">Déanta</string>
|
<string name="nc_contacts_done">Déanta</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">Scriosfar an comhrá seo go huathoibríoch do gach duine i %1$d lá gan aon ghníomhaíocht</string>
|
||||||
<string name="nc_conversation_description">Cur síos ar an gcomhrá</string>
|
<string name="nc_conversation_description">Cur síos ar an gcomhrá</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">Eolas faoin gcomhrá</string>
|
<string name="nc_conversation_menu_conversation_info">Eolas faoin gcomhrá</string>
|
||||||
<string name="nc_conversation_menu_video_call">Glao físe</string>
|
<string name="nc_conversation_menu_video_call">Glao físe</string>
|
||||||
|
@ -2,14 +2,9 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name= "nc_edit">Szerkesztés</string>
|
<string name= "nc_edit">Szerkesztés</string>
|
||||||
<string name="add_participants">Hozzáadás</string>
|
<string name="add_participants">Hozzáadás</string>
|
||||||
<string name="add_to_notes">Hozzáadás a jegyzetekhez</string>
|
|
||||||
<string name="added_to_favorites">A(z) %1$s beszélgetés hozzáadva a kedvencekhez</string>
|
<string name="added_to_favorites">A(z) %1$s beszélgetés hozzáadva a kedvencekhez</string>
|
||||||
<string name="appbar_search_in">Keresés itt: %s</string>
|
<string name="appbar_search_in">Keresés itt: %s</string>
|
||||||
<string name="archive_conversation">Beszélgetés archiválása</string>
|
|
||||||
<string name="archive_hint">Ha archivál egy beszélgetést, akkor alapértelmezetten el lesz rejtve. Válassza az „Archiválva” szűrőt az archivált beszélgetések megtekintéséhez. A közvetlen említéseket továbbra is meg fogja kapni.</string>
|
|
||||||
<string name="archived">Archiválva</string>
|
<string name="archived">Archiválva</string>
|
||||||
<string name="archived_conversation">Archiválva: %1$s</string>
|
|
||||||
<string name="audio_call">Hanghívás</string>
|
|
||||||
<string name="audio_output_bluetooth">Bluetooth</string>
|
<string name="audio_output_bluetooth">Bluetooth</string>
|
||||||
<string name="audio_output_dialog_headline">Hangkimenet</string>
|
<string name="audio_output_dialog_headline">Hangkimenet</string>
|
||||||
<string name="audio_output_phone">Telefon</string>
|
<string name="audio_output_phone">Telefon</string>
|
||||||
@ -18,10 +13,6 @@
|
|||||||
<string name="automatic_status_set">Az állapota automatikusan lett beállítva</string>
|
<string name="automatic_status_set">Az állapota automatikusan lett beállítva</string>
|
||||||
<string name="avatar">Profilkép</string>
|
<string name="avatar">Profilkép</string>
|
||||||
<string name="away">Távol</string>
|
<string name="away">Távol</string>
|
||||||
<string name="back_button">Vissza gomb</string>
|
|
||||||
<string name="ban">Tiltás</string>
|
|
||||||
<string name="ban_participant">Résztvevő letiltása</string>
|
|
||||||
<string name="bans_list">Tiltólista</string>
|
|
||||||
<string name="calendar">Naptár</string>
|
<string name="calendar">Naptár</string>
|
||||||
<string name="call_more_actions_dialog_headline">Speciális hívásbeállítások</string>
|
<string name="call_more_actions_dialog_headline">Speciális hívásbeállítások</string>
|
||||||
<string name="call_running_since_one_hour">A hívás egy órája tart.</string>
|
<string name="call_running_since_one_hour">A hívás egy órája tart.</string>
|
||||||
@ -33,46 +24,33 @@
|
|||||||
<string name="close">Bezárás</string>
|
<string name="close">Bezárás</string>
|
||||||
<string name="close_icon">Bezárás ikon</string>
|
<string name="close_icon">Bezárás ikon</string>
|
||||||
<string name="connection_established">A kapcsolat létrejött</string>
|
<string name="connection_established">A kapcsolat létrejött</string>
|
||||||
<string name="connection_lost">Nincs kapcsolat a kiszolgálóval</string>
|
|
||||||
<string name="connection_lost_sent_messages_are_queued">A kapcsolat elveszett – Elküldött üzenetek sorba állítva</string>
|
|
||||||
<string name="continuous_voice_message_recording">Felvétel zárolása a hangüzenet folyamatos rögzítéséhez</string>
|
<string name="continuous_voice_message_recording">Felvétel zárolása a hangüzenet folyamatos rögzítéséhez</string>
|
||||||
<string name="conversation_archived">A beszélgetés archiválva van</string>
|
|
||||||
<string name="conversation_is_read_only">A beszélgetés csak olvasható</string>
|
|
||||||
<string name="conversation_read_only_failed">Nem sikerült csak olvashatóvá állítani a beszélgetést</string>
|
|
||||||
<string name="conversations">Beszélgetések</string>
|
<string name="conversations">Beszélgetések</string>
|
||||||
<string name="create_conversation">Beszélgetés létrehozása</string>
|
<string name="create_conversation">Beszélgetés létrehozása</string>
|
||||||
<string name="create_issue">Hibajegy létrehozása</string>
|
<string name="create_issue">Hibajegy létrehozása</string>
|
||||||
<string name="custom">Egyéni</string>
|
<string name="custom">Egyéni</string>
|
||||||
<string name="danger_zone">Veszélyes területet</string>
|
<string name="danger_zone">Veszélyes területet</string>
|
||||||
<string name="deck_card_description">%1$s itt: %2$s</string>
|
|
||||||
<string name="delete_avatar">Profilkép törlése</string>
|
<string name="delete_avatar">Profilkép törlése</string>
|
||||||
<string name="deleted_conversation">%1$s beszélgetés törlése</string>
|
<string name="deleted_conversation">%1$s beszélgetés törlése</string>
|
||||||
<string name="dnd">Ne zavarjanak</string>
|
<string name="dnd">Ne zavarjanak</string>
|
||||||
<string name="dontClear">Ne törölje</string>
|
<string name="dontClear">Ne törölje</string>
|
||||||
<string name="edit">Szerkesztés</string>
|
<string name="edit">Szerkesztés</string>
|
||||||
<string name="edit_error_24_hours_old_message">A 24 óránál régebbi beszélgetések nem szerkeszthetőek</string>
|
|
||||||
<string name="edit_message_icon_description">Üzenet szerkesztése</string>
|
<string name="edit_message_icon_description">Üzenet szerkesztése</string>
|
||||||
<string name="emoji_category_recent">Legutóbbiak</string>
|
<string name="emoji_category_recent">Legutóbbiak</string>
|
||||||
<string name="encrypted">Titkosított</string>
|
<string name="encrypted">Titkosított</string>
|
||||||
<string name="end_call_for_everyone">Hívás befejezése mindenki számára</string>
|
<string name="end_call_for_everyone">Hívás befejezése mindenki számára</string>
|
||||||
<string name="error_loading_chats">Hiba történt a csevegések betöltése során</string>
|
<string name="error_loading_chats">Hiba történt a csevegések betöltése során</string>
|
||||||
<string name="error_unbanning">Hiba történt a résztvevő tiltásának visszavonása során</string>
|
|
||||||
<string name="failed_to_save">Sikertelen mentés: %1$s</string>
|
<string name="failed_to_save">Sikertelen mentés: %1$s</string>
|
||||||
<string name="file_list_folder">mappa</string>
|
<string name="file_list_folder">mappa</string>
|
||||||
<string name="file_list_loading">Betöltés…</string>
|
<string name="file_list_loading">Betöltés…</string>
|
||||||
<string name="filename_progress">%1$s (%2$d)</string>
|
<string name="filename_progress">%1$s (%2$d)</string>
|
||||||
<string name="fourHours">4 óra </string>
|
<string name="fourHours">4 óra </string>
|
||||||
<string name="get_invitations_error">A függőben lévő meghívások lekérése sikertelen</string>
|
|
||||||
<string name="hint_edited_message">(szerkesztve)</string>
|
|
||||||
<string name="internal_note">Belső jegyzet</string>
|
<string name="internal_note">Belső jegyzet</string>
|
||||||
<string name="invisible">Láthatatlan</string>
|
<string name="invisible">Láthatatlan</string>
|
||||||
<string name="languages_error_message">A nyelveket nem lehet lekérni</string>
|
|
||||||
<string name="languages_error_title">Lekérés sikertelen</string>
|
|
||||||
<string name="later_today">Mai nap később</string>
|
<string name="later_today">Mai nap később</string>
|
||||||
<string name="leave_call">Hívás elhagyása</string>
|
<string name="leave_call">Hívás elhagyása</string>
|
||||||
<string name="left_conversation">Elhagyta a következő beszélgetést: %1$s</string>
|
<string name="left_conversation">Elhagyta a következő beszélgetést: %1$s</string>
|
||||||
<string name="load_more_results">További találatok betöltése</string>
|
<string name="load_more_results">További találatok betöltése</string>
|
||||||
<string name="local_time">Helyi idő: %1$s</string>
|
|
||||||
<string name="lock_conversation">Beszélgetés zárolása</string>
|
<string name="lock_conversation">Beszélgetés zárolása</string>
|
||||||
<string name="lock_symbol">Zár szimbólum</string>
|
<string name="lock_symbol">Zár szimbólum</string>
|
||||||
<string name="lower_hand">Kéz letétele</string>
|
<string name="lower_hand">Kéz letétele</string>
|
||||||
@ -85,9 +63,7 @@
|
|||||||
<string name="menu_item_sort_by_name_z_a">Z – A</string>
|
<string name="menu_item_sort_by_name_z_a">Z – A</string>
|
||||||
<string name="menu_item_sort_by_size_biggest_first">Legnagyobb elöl</string>
|
<string name="menu_item_sort_by_size_biggest_first">Legnagyobb elöl</string>
|
||||||
<string name="menu_item_sort_by_size_smallest_first">Legkisebb elöl</string>
|
<string name="menu_item_sort_by_size_smallest_first">Legkisebb elöl</string>
|
||||||
<string name="message_copied">Üzenet másolva</string>
|
|
||||||
<string name="message_deleted_by_you">Törölte az üzenetet</string>
|
<string name="message_deleted_by_you">Törölte az üzenetet</string>
|
||||||
<string name="message_last_edited_by">Szerkesztette: %1$s</string>
|
|
||||||
<string name="message_poll_tap_to_open">Koppintson a szavazás megnyitásához</string>
|
<string name="message_poll_tap_to_open">Koppintson a szavazás megnyitásához</string>
|
||||||
<string name="message_search_begin_empty">Nincs találat</string>
|
<string name="message_search_begin_empty">Nincs találat</string>
|
||||||
<string name="message_search_begin_typing">Kezdjen el gépelni a kereséshez…</string>
|
<string name="message_search_begin_typing">Kezdjen el gépelni a kereséshez…</string>
|
||||||
@ -107,7 +83,6 @@
|
|||||||
<string name="nc_all_ok_operation">Rendben, minden kész!</string>
|
<string name="nc_all_ok_operation">Rendben, minden kész!</string>
|
||||||
<string name="nc_attendee_pin">PIN: %1$s</string>
|
<string name="nc_attendee_pin">PIN: %1$s</string>
|
||||||
<string name="nc_biometric_unlock">%1$s feloldása</string>
|
<string name="nc_biometric_unlock">%1$s feloldása</string>
|
||||||
<string name="nc_bluetooth_permission_hint">A bluetooth-os hangszórók engedélyezéséhez adja meg a „Közeli eszközök” engedélyt.</string>
|
|
||||||
<string name="nc_call_button_content_description_answer_video_call">Válasz videóhívásként</string>
|
<string name="nc_call_button_content_description_answer_video_call">Válasz videóhívásként</string>
|
||||||
<string name="nc_call_button_content_description_answer_voice_only">Válasz csak hanghívásként</string>
|
<string name="nc_call_button_content_description_answer_voice_only">Válasz csak hanghívásként</string>
|
||||||
<string name="nc_call_button_content_description_audio_output">Hangkimenet módosítása</string>
|
<string name="nc_call_button_content_description_audio_output">Hangkimenet módosítása</string>
|
||||||
@ -127,12 +102,11 @@
|
|||||||
<string name="nc_call_state_with_video">%1$s videóval</string>
|
<string name="nc_call_state_with_video">%1$s videóval</string>
|
||||||
<string name="nc_call_timeout">Nincs válasz 45 másodpercen belül, koppintson az újrapróbálkozáshoz</string>
|
<string name="nc_call_timeout">Nincs válasz 45 másodpercen belül, koppintson az újrapróbálkozáshoz</string>
|
||||||
<string name="nc_call_unknown">%s hívás</string>
|
<string name="nc_call_unknown">%s hívás</string>
|
||||||
<string name="nc_call_video">%s videóhívás</string>
|
<string name="nc_call_video">%s videohívás</string>
|
||||||
<string name="nc_call_voice">%s hanghívás</string>
|
<string name="nc_call_voice">%s hanghívás</string>
|
||||||
<string name="nc_camera_permission_hint">A videóhívás engedélyezéséhez adja meg a „Kamera” engedélyt.</string>
|
<string name="nc_camera_permission_hint">A videohívás engedélyezéséhez meg kell adnia a „Kamera” engedélyt.</string>
|
||||||
<string name="nc_cancel">Mégse</string>
|
<string name="nc_cancel">Mégse</string>
|
||||||
<string name="nc_capabilities_failed">A lehetőségek lekérdezése sikertelen, megszakítás</string>
|
<string name="nc_capabilities_failed">A lehetőségek lekérdezése sikertelen, megszakítás</string>
|
||||||
<string name="nc_caption">Felirat</string>
|
|
||||||
<string name="nc_certificate_dialog_text">Megbízik a(z) %1$s által a(z) %2$s részére kiállított, %3$s és %4$s között érvényes, korábban ismeretlen SSL tanúsítványban?</string>
|
<string name="nc_certificate_dialog_text">Megbízik a(z) %1$s által a(z) %2$s részére kiállított, %3$s és %4$s között érvényes, korábban ismeretlen SSL tanúsítványban?</string>
|
||||||
<string name="nc_certificate_dialog_title">Ellenőrizze a tanúsítványt</string>
|
<string name="nc_certificate_dialog_title">Ellenőrizze a tanúsítványt</string>
|
||||||
<string name="nc_certificate_error">Az SSL beállítás megakadályozta a kapcsolódást</string>
|
<string name="nc_certificate_error">Az SSL beállítás megakadályozta a kapcsolódást</string>
|
||||||
@ -161,16 +135,14 @@
|
|||||||
<string name="nc_contacts_done">Kész</string>
|
<string name="nc_contacts_done">Kész</string>
|
||||||
<string name="nc_conversation_description">Beszélgetés leírása</string>
|
<string name="nc_conversation_description">Beszélgetés leírása</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">Beszélgetés információk</string>
|
<string name="nc_conversation_menu_conversation_info">Beszélgetés információk</string>
|
||||||
<string name="nc_conversation_menu_video_call">Videóhívás</string>
|
<string name="nc_conversation_menu_video_call">Videohívás</string>
|
||||||
<string name="nc_conversation_menu_voice_call">Hanghívás</string>
|
<string name="nc_conversation_menu_voice_call">Hanghívás</string>
|
||||||
<string name="nc_conversation_not_found">Beszélgetés nem található</string>
|
|
||||||
<string name="nc_conversation_settings">Beszélgetésbeállítások</string>
|
<string name="nc_conversation_settings">Beszélgetésbeállítások</string>
|
||||||
<string name="nc_conversations_empty">Csatlakozzon egy beszélgetéshez, vagy indítson egy újat</string>
|
<string name="nc_conversations_empty">Csatlakozzon egy beszélgetéshez, vagy indítson egy újat</string>
|
||||||
<string name="nc_conversations_empty_details">Üdvözölje a barátait és munkatársait!</string>
|
<string name="nc_conversations_empty_details">Üdvözölje a barátait és munkatársait!</string>
|
||||||
<string name="nc_copy_message">Másolás</string>
|
<string name="nc_copy_message">Másolás</string>
|
||||||
<string name="nc_create_new_conversation">Új beszélgetés létrehozása</string>
|
<string name="nc_create_new_conversation">Új beszélgetés létrehozása</string>
|
||||||
<string name="nc_create_poll">Szavazás létrehozása</string>
|
<string name="nc_create_poll">Szavazás létrehozása</string>
|
||||||
<string name="nc_current_user">Ön:</string>
|
|
||||||
<string name="nc_date_header_today">Ma</string>
|
<string name="nc_date_header_today">Ma</string>
|
||||||
<string name="nc_date_header_yesterday">Tegnap</string>
|
<string name="nc_date_header_yesterday">Tegnap</string>
|
||||||
<string name="nc_delete">Törlés</string>
|
<string name="nc_delete">Törlés</string>
|
||||||
@ -179,38 +151,19 @@
|
|||||||
<string name="nc_delete_conversation_more">Ha törli a beszélgetést, akkor az összes többi résztvevő számára is törölve lesz.</string>
|
<string name="nc_delete_conversation_more">Ha törli a beszélgetést, akkor az összes többi résztvevő számára is törölve lesz.</string>
|
||||||
<string name="nc_delete_message">Törlés</string>
|
<string name="nc_delete_message">Törlés</string>
|
||||||
<string name="nc_delete_message_leaked_to_matterbridge">Az üzenet törlése sikeresen megtörtént, de lehet, hogy az már megjelent más szolgáltatásokon</string>
|
<string name="nc_delete_message_leaked_to_matterbridge">Az üzenet törlése sikeresen megtörtént, de lehet, hogy az már megjelent más szolgáltatásokon</string>
|
||||||
<string name="nc_delete_now">Törlés most</string>
|
|
||||||
<string name="nc_deleted_user">%1$s felhasználó el lett távolítva</string>
|
|
||||||
<string name="nc_demote">Lefokozás moderátorról</string>
|
<string name="nc_demote">Lefokozás moderátorról</string>
|
||||||
<string name="nc_description_record_voice">Hangüzenet felvétele</string>
|
<string name="nc_description_record_voice">Hangüzenet felvétele</string>
|
||||||
<string name="nc_description_send_message_button">Üzenet küldése</string>
|
<string name="nc_description_send_message_button">Üzenet küldése</string>
|
||||||
<string name="nc_diagnose_account_category_title">Jelenlegi fiók</string>
|
<string name="nc_diagnose_account_category_title">Jelenlegi fiók</string>
|
||||||
<string name="nc_diagnose_account_server">Kiszolgáló</string>
|
<string name="nc_diagnose_account_server">Kiszolgáló</string>
|
||||||
<string name="nc_diagnose_account_server_notification_app">A kiszolgálóértesítések alkalmazása telepítve van?</string>
|
|
||||||
<string name="nc_diagnose_account_user_name">Felhasználó</string>
|
<string name="nc_diagnose_account_user_name">Felhasználó</string>
|
||||||
<string name="nc_diagnose_account_user_status_enabled">A felhasználói állapot engedélyezett?</string>
|
|
||||||
<string name="nc_diagnose_android_version_title">Android verzió</string>
|
<string name="nc_diagnose_android_version_title">Android verzió</string>
|
||||||
<string name="nc_diagnose_app_category_title">Alkalmazás</string>
|
<string name="nc_diagnose_app_category_title">Alkalmazás</string>
|
||||||
<string name="nc_diagnose_app_name_title">Alkalmazásnév</string>
|
<string name="nc_diagnose_app_name_title">Alkalmazásnév</string>
|
||||||
<string name="nc_diagnose_app_users_amount">Regisztrált felhasználók</string>
|
<string name="nc_diagnose_app_users_amount">Regisztrált felhasználók</string>
|
||||||
<string name="nc_diagnose_app_version_title">Alkalmazásverzió</string>
|
|
||||||
<string name="nc_diagnose_battery_optimization_ignored">Az akkumulátoroptimalizálás figyelmen kívül hagyva, minden rendben</string>
|
|
||||||
<string name="nc_diagnose_battery_optimization_not_ignored">Az akkumulátoroptimalizálás engedélyezve van, amely problémákat okozhat. Ajánlatos letiltani az akkumulátoroptimalizálást.</string>
|
|
||||||
<string name="nc_diagnose_battery_optimization_title">Akkumulátorbeállítások</string>
|
<string name="nc_diagnose_battery_optimization_title">Akkumulátorbeállítások</string>
|
||||||
<string name="nc_diagnose_device_name_title">Eszköz</string>
|
<string name="nc_diagnose_device_name_title">Eszköz</string>
|
||||||
<string name="nc_diagnose_dialog_open_checklist">Hibaelhárítási ellenőrzőlista megnyitása</string>
|
|
||||||
<string name="nc_diagnose_dialog_open_diagnose">Diagnosztikai képernyő megnyitása</string>
|
|
||||||
<string name="nc_diagnose_dialog_open_dontkillmyapp_website">A dontkillmyapp.com megnyitása</string>
|
|
||||||
<string name="nc_diagnose_gplay_available_title">Google Play szolgáltatások</string>
|
|
||||||
<string name="nc_diagnose_gplay_available_yes">A Google Play szolgáltatások elérhetőek</string>
|
|
||||||
<string name="nc_diagnose_meta_category_title">Metainformációk</string>
|
|
||||||
<string name="nc_diagnose_meta_system_report_date">Rendszerjelentés előállítása</string>
|
|
||||||
<string name="nc_diagnose_notification_calls_channel_permission">Engedélyezve van a hívások értesítési csatornája?</string>
|
|
||||||
<string name="nc_diagnose_notification_messages_channel_permission">Engedélyezve van az üzenetek értesítési csatornája?</string>
|
|
||||||
<string name="nc_diagnose_notification_permission">Értesítési engedély</string>
|
|
||||||
<string name="nc_diagnose_phone_category_title">Telefon</string>
|
<string name="nc_diagnose_phone_category_title">Telefon</string>
|
||||||
<string name="nc_diagnose_server_talk_version">Kiszolgáló Beszélgetés verziója</string>
|
|
||||||
<string name="nc_diagnose_server_version">Kiszolgáló verziója</string>
|
|
||||||
<string name="nc_diagnose_signaling_mode_extern">Külső</string>
|
<string name="nc_diagnose_signaling_mode_extern">Külső</string>
|
||||||
<string name="nc_diagnose_signaling_mode_intern">Belső</string>
|
<string name="nc_diagnose_signaling_mode_intern">Belső</string>
|
||||||
<string name="nc_dialog_invalid_password">Érvénytelen jelszó</string>
|
<string name="nc_dialog_invalid_password">Érvénytelen jelszó</string>
|
||||||
@ -219,9 +172,7 @@
|
|||||||
<string name="nc_dialog_outdated_client_description">Az alkalmazás túl régi, és már nem támogatja ez a kiszolgáló. Frissítse.</string>
|
<string name="nc_dialog_outdated_client_description">Az alkalmazás túl régi, és már nem támogatja ez a kiszolgáló. Frissítse.</string>
|
||||||
<string name="nc_dialog_outdated_client_option_update">Frissítés</string>
|
<string name="nc_dialog_outdated_client_option_update">Frissítés</string>
|
||||||
<string name="nc_dialog_reauth_or_delete">Újrahitelesíti vagy törli ezt a fiókot?</string>
|
<string name="nc_dialog_reauth_or_delete">Újrahitelesíti vagy törli ezt a fiókot?</string>
|
||||||
<string name="nc_dialog_save_to_storage_continue">Folytatja?</string>
|
|
||||||
<string name="nc_dialog_save_to_storage_no">Nem</string>
|
<string name="nc_dialog_save_to_storage_no">Nem</string>
|
||||||
<string name="nc_dialog_save_to_storage_title">Menti a tárolóba?</string>
|
|
||||||
<string name="nc_dialog_save_to_storage_yes">Igen</string>
|
<string name="nc_dialog_save_to_storage_yes">Igen</string>
|
||||||
<string name="nc_display_name_not_fetched">A megjelenítendő név nem kérhető le, megszakítás</string>
|
<string name="nc_display_name_not_fetched">A megjelenítendő név nem kérhető le, megszakítás</string>
|
||||||
<string name="nc_display_name_not_stored">A megjelenítendő név nem tárolható, megszakítás</string>
|
<string name="nc_display_name_not_stored">A megjelenítendő név nem tárolható, megszakítás</string>
|
||||||
@ -265,7 +216,6 @@
|
|||||||
<string name="nc_guest_access_share_link">Beszélgetés hivatkozásának megosztása</string>
|
<string name="nc_guest_access_share_link">Beszélgetés hivatkozásának megosztása</string>
|
||||||
<string name="nc_hint_enter_a_message">Írjon üzenetet…</string>
|
<string name="nc_hint_enter_a_message">Írjon üzenetet…</string>
|
||||||
<string name="nc_important_conversation">Fontos beszélgetés</string>
|
<string name="nc_important_conversation">Fontos beszélgetés</string>
|
||||||
<string name="nc_invalid_time">Érvénytelen idő</string>
|
|
||||||
<string name="nc_invitations">Meghívások</string>
|
<string name="nc_invitations">Meghívások</string>
|
||||||
<string name="nc_join_open_conversations">Csatlakozás a nyílt beszélgetésekhez</string>
|
<string name="nc_join_open_conversations">Csatlakozás a nyílt beszélgetésekhez</string>
|
||||||
<string name="nc_keep">Megtartás</string>
|
<string name="nc_keep">Megtartás</string>
|
||||||
@ -328,9 +278,9 @@
|
|||||||
<string name="nc_participants">Résztvevők</string>
|
<string name="nc_participants">Résztvevők</string>
|
||||||
<string name="nc_participants_add">Résztvevők hozzáadása</string>
|
<string name="nc_participants_add">Résztvevők hozzáadása</string>
|
||||||
<string name="nc_password">Jelszó</string>
|
<string name="nc_password">Jelszó</string>
|
||||||
<string name="nc_permissions_ask">Engedélyek beállítása</string>
|
<string name="nc_permissions_ask">Jogosultságok beállításaa</string>
|
||||||
<string name="nc_permissions_denied">Néhány engedély meg lett tagadva.</string>
|
<string name="nc_permissions_denied">Néhány jogosultság meg lett tagadva.</string>
|
||||||
<string name="nc_permissions_rationale_dialog_title">Adja meg az engedélyeket</string>
|
<string name="nc_permissions_rationale_dialog_title">Engedélyezzen jogosultságokat</string>
|
||||||
<string name="nc_permissions_settings">Beállítások megnyitása</string>
|
<string name="nc_permissions_settings">Beállítások megnyitása</string>
|
||||||
<string name="nc_permissions_settings_hint">Adjon engedélyt a Beállítások > Engedélyek menüpontban</string>
|
<string name="nc_permissions_settings_hint">Adjon engedélyt a Beállítások > Engedélyek menüpontban</string>
|
||||||
<string name="nc_phone_book_integration_account_not_found">A fiók nem található</string>
|
<string name="nc_phone_book_integration_account_not_found">A fiók nem található</string>
|
||||||
@ -399,7 +349,7 @@
|
|||||||
<string name="nc_settings_notification_sounds_post_oreo">Értesítések</string>
|
<string name="nc_settings_notification_sounds_post_oreo">Értesítések</string>
|
||||||
<string name="nc_settings_other_notifications_ringtone">Üzenetek</string>
|
<string name="nc_settings_other_notifications_ringtone">Üzenetek</string>
|
||||||
<string name="nc_settings_phone_book_integration_desc">Párosítsa a névjegyeket telefonszám alapján, hogy integrálja a Beszélgetéseket a rendszer Névjegyek alkalmazásba</string>
|
<string name="nc_settings_phone_book_integration_desc">Párosítsa a névjegyeket telefonszám alapján, hogy integrálja a Beszélgetéseket a rendszer Névjegyek alkalmazásba</string>
|
||||||
<string name="nc_settings_phone_book_integration_phone_number_dialog_429">429-es hiba – Túl sok kérés</string>
|
<string name="nc_settings_phone_book_integration_phone_number_dialog_429">429-es hiba Túl Sok Kérés</string>
|
||||||
<string name="nc_settings_phone_book_integration_phone_number_dialog_description">Beállíthatja telefonszámát, hogy a többi felhasználó megtalálja Önt</string>
|
<string name="nc_settings_phone_book_integration_phone_number_dialog_description">Beállíthatja telefonszámát, hogy a többi felhasználó megtalálja Önt</string>
|
||||||
<string name="nc_settings_phone_book_integration_phone_number_dialog_edit_text_hint">Írja be a telefonszámot</string>
|
<string name="nc_settings_phone_book_integration_phone_number_dialog_edit_text_hint">Írja be a telefonszámot</string>
|
||||||
<string name="nc_settings_phone_book_integration_phone_number_dialog_invalid">Érvénytelen telefonszám-formátum</string>
|
<string name="nc_settings_phone_book_integration_phone_number_dialog_invalid">Érvénytelen telefonszám-formátum</string>
|
||||||
@ -563,7 +513,7 @@
|
|||||||
<string name="take_photo_toggle_torch">Lámpa be/ki</string>
|
<string name="take_photo_toggle_torch">Lámpa be/ki</string>
|
||||||
<string name="thirtyMinutes">30 perc</string>
|
<string name="thirtyMinutes">30 perc</string>
|
||||||
<string name="thisWeek">Ez a hét</string>
|
<string name="thisWeek">Ez a hét</string>
|
||||||
<string name="this_is_a_test_message">Ez egy tesztüzenet</string>
|
<string name="this_is_a_test_message">Ez egy teszt üzenet</string>
|
||||||
<string name="this_weekend">Ezen a hétvégén</string>
|
<string name="this_weekend">Ezen a hétvégén</string>
|
||||||
<string name="today">Ma</string>
|
<string name="today">Ma</string>
|
||||||
<string name="tomorrow">Holnap</string>
|
<string name="tomorrow">Holnap</string>
|
||||||
|
@ -159,6 +159,7 @@
|
|||||||
<string name="nc_configure_cert_auth">Wybierz certyfikat uwierzytelnienia</string>
|
<string name="nc_configure_cert_auth">Wybierz certyfikat uwierzytelnienia</string>
|
||||||
<string name="nc_connecting_call">Łączę…</string>
|
<string name="nc_connecting_call">Łączę…</string>
|
||||||
<string name="nc_contacts_done">Gotowe</string>
|
<string name="nc_contacts_done">Gotowe</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">Ta konwersacja zostanie automatycznie usunięta dla wszystkich po %1$d dniach braku aktywności.</string>
|
||||||
<string name="nc_conversation_description">Opis rozmowy</string>
|
<string name="nc_conversation_description">Opis rozmowy</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">Informacje o rozmowie</string>
|
<string name="nc_conversation_menu_conversation_info">Informacje o rozmowie</string>
|
||||||
<string name="nc_conversation_menu_video_call">Rozmowa wideo</string>
|
<string name="nc_conversation_menu_video_call">Rozmowa wideo</string>
|
||||||
@ -396,8 +397,6 @@
|
|||||||
<string name="nc_screen_lock_timeout_three_hundred">300</string>
|
<string name="nc_screen_lock_timeout_three_hundred">300</string>
|
||||||
<string name="nc_search">Szukaj</string>
|
<string name="nc_search">Szukaj</string>
|
||||||
<string name="nc_select_an_account">Wybierz konto</string>
|
<string name="nc_select_an_account">Wybierz konto</string>
|
||||||
<string name="nc_sensitive_conversation">Rozmowa poufna</string>
|
|
||||||
<string name="nc_sensitive_conversation_hint">Podgląd wiadomości zostanie wyłączony na liście rozmów i w powiadomieniach.</string>
|
|
||||||
<string name="nc_sent_a_gif" formatted="true">%1$s wysłał GIF.</string>
|
<string name="nc_sent_a_gif" formatted="true">%1$s wysłał GIF.</string>
|
||||||
<string name="nc_sent_a_gif_you">Wysłałeś GIF.</string>
|
<string name="nc_sent_a_gif_you">Wysłałeś GIF.</string>
|
||||||
<string name="nc_sent_a_video" formatted="true">%1$s wysłał plik wideo.</string>
|
<string name="nc_sent_a_video" formatted="true">%1$s wysłał plik wideo.</string>
|
||||||
|
@ -159,6 +159,7 @@
|
|||||||
<string name="nc_configure_cert_auth">Selecionar certificado de autenticação</string>
|
<string name="nc_configure_cert_auth">Selecionar certificado de autenticação</string>
|
||||||
<string name="nc_connecting_call">Conectando …</string>
|
<string name="nc_connecting_call">Conectando …</string>
|
||||||
<string name="nc_contacts_done">Concluído</string>
|
<string name="nc_contacts_done">Concluído</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">Esta conversa será excluída automaticamente para todos em %1$d dias sem atividade</string>
|
||||||
<string name="nc_conversation_description">Descrição da conversa</string>
|
<string name="nc_conversation_description">Descrição da conversa</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">Informação da conversa</string>
|
<string name="nc_conversation_menu_conversation_info">Informação da conversa</string>
|
||||||
<string name="nc_conversation_menu_video_call">Chamada de vídeo</string>
|
<string name="nc_conversation_menu_video_call">Chamada de vídeo</string>
|
||||||
@ -312,7 +313,7 @@
|
|||||||
<string name="nc_mark_conversation_as_important">Conversa marcada como importante</string>
|
<string name="nc_mark_conversation_as_important">Conversa marcada como importante</string>
|
||||||
<string name="nc_mark_conversation_as_insensitive">Conversa desmarcada como sensível</string>
|
<string name="nc_mark_conversation_as_insensitive">Conversa desmarcada como sensível</string>
|
||||||
<string name="nc_mark_conversation_as_sensitive">Conversa marcada como sensível</string>
|
<string name="nc_mark_conversation_as_sensitive">Conversa marcada como sensível</string>
|
||||||
<string name="nc_mark_conversation_as_unimportant">Conversa desmarcada como importante</string>
|
<string name="nc_mark_conversation_as_unimportant">Conversa não marcada como importante</string>
|
||||||
<string name="nc_meeting_ended">Reunião encerrada</string>
|
<string name="nc_meeting_ended">Reunião encerrada</string>
|
||||||
<string name="nc_message_added_to_notes">Mensagem adicionada às notas</string>
|
<string name="nc_message_added_to_notes">Mensagem adicionada às notas</string>
|
||||||
<string name="nc_message_failed">Falhou</string>
|
<string name="nc_message_failed">Falhou</string>
|
||||||
|
@ -159,6 +159,7 @@
|
|||||||
<string name="nc_configure_cert_auth">Одабери сертификат за пријаву</string>
|
<string name="nc_configure_cert_auth">Одабери сертификат за пријаву</string>
|
||||||
<string name="nc_connecting_call">Повезивање ..</string>
|
<string name="nc_connecting_call">Повезивање ..</string>
|
||||||
<string name="nc_contacts_done">Готово</string>
|
<string name="nc_contacts_done">Готово</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">Овај разговор ће се аутоматски обрисати за све након %1$d дана неактивности</string>
|
||||||
<string name="nc_conversation_description">Опис разговора</string>
|
<string name="nc_conversation_description">Опис разговора</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">Информације о разговору</string>
|
<string name="nc_conversation_menu_conversation_info">Информације о разговору</string>
|
||||||
<string name="nc_conversation_menu_video_call">Видео позив</string>
|
<string name="nc_conversation_menu_video_call">Видео позив</string>
|
||||||
|
@ -158,6 +158,7 @@
|
|||||||
<string name="nc_configure_cert_auth">Välj autentiseringscertifikat</string>
|
<string name="nc_configure_cert_auth">Välj autentiseringscertifikat</string>
|
||||||
<string name="nc_connecting_call">Ansluter…</string>
|
<string name="nc_connecting_call">Ansluter…</string>
|
||||||
<string name="nc_contacts_done">Färdig</string>
|
<string name="nc_contacts_done">Färdig</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">Den här konversationen kommer automatiskt att tas bort för alla om %1$d dagar utan aktivitet</string>
|
||||||
<string name="nc_conversation_description">Konversationsbeskrivning</string>
|
<string name="nc_conversation_description">Konversationsbeskrivning</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">Konversationsinfo</string>
|
<string name="nc_conversation_menu_conversation_info">Konversationsinfo</string>
|
||||||
<string name="nc_conversation_menu_video_call">Videosamtal</string>
|
<string name="nc_conversation_menu_video_call">Videosamtal</string>
|
||||||
@ -542,7 +543,6 @@
|
|||||||
<string name="online_status">Online-status</string>
|
<string name="online_status">Online-status</string>
|
||||||
<string name="openConversations">Öppna konversationer</string>
|
<string name="openConversations">Öppna konversationer</string>
|
||||||
<string name="open_in_files_app">Öppna i appen Filer</string>
|
<string name="open_in_files_app">Öppna i appen Filer</string>
|
||||||
<string name="open_notes">Öppna anteckningar</string>
|
|
||||||
<string name="play_pause_voice_message">Spela/pausa röstmeddelande</string>
|
<string name="play_pause_voice_message">Spela/pausa röstmeddelande</string>
|
||||||
<string name="playback_speed_control">Kontroll av uppspelningshastighet</string>
|
<string name="playback_speed_control">Kontroll av uppspelningshastighet</string>
|
||||||
<string name="polls_add_option">Lägg till alternativ</string>
|
<string name="polls_add_option">Lägg till alternativ</string>
|
||||||
@ -679,10 +679,6 @@
|
|||||||
<item quantity="one">Se %d liknande meddelande</item>
|
<item quantity="one">Se %d liknande meddelande</item>
|
||||||
<item quantity="other">Se %d liknande meddelanden</item>
|
<item quantity="other">Se %d liknande meddelanden</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="nc_conversation_auto_delete_info">
|
|
||||||
<item quantity="one">Den här konversationen kommer automatiskt att tas bort för alla om %1$d dag utan aktivitet</item>
|
|
||||||
<item quantity="other">Den här konversationen kommer automatiskt att tas bort för alla om %1$d dagar utan aktivitet</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="polls_amount_voters">
|
<plurals name="polls_amount_voters">
|
||||||
<item quantity="one">%d röst</item>
|
<item quantity="one">%d röst</item>
|
||||||
<item quantity="other">%d röster</item>
|
<item quantity="other">%d röster</item>
|
||||||
|
@ -159,6 +159,7 @@
|
|||||||
<string name="nc_configure_cert_auth">選擇驗證證書</string>
|
<string name="nc_configure_cert_auth">選擇驗證證書</string>
|
||||||
<string name="nc_connecting_call">連線中 …</string>
|
<string name="nc_connecting_call">連線中 …</string>
|
||||||
<string name="nc_contacts_done">完成</string>
|
<string name="nc_contacts_done">完成</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">此對話如無人於%1$d天內互動,將會自動為所有人刪除。</string>
|
||||||
<string name="nc_conversation_description">對話描述</string>
|
<string name="nc_conversation_description">對話描述</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">對話資訊</string>
|
<string name="nc_conversation_menu_conversation_info">對話資訊</string>
|
||||||
<string name="nc_conversation_menu_video_call">視訊通話</string>
|
<string name="nc_conversation_menu_video_call">視訊通話</string>
|
||||||
|
@ -159,6 +159,7 @@
|
|||||||
<string name="nc_configure_cert_auth">選擇驗證憑證</string>
|
<string name="nc_configure_cert_auth">選擇驗證憑證</string>
|
||||||
<string name="nc_connecting_call">連線中 …</string>
|
<string name="nc_connecting_call">連線中 …</string>
|
||||||
<string name="nc_contacts_done">完成</string>
|
<string name="nc_contacts_done">完成</string>
|
||||||
|
<string name="nc_conversation_auto_delete_notice">%1$d天內沒有活動的每個人都會自動刪除此對話。</string>
|
||||||
<string name="nc_conversation_description">對話描述</string>
|
<string name="nc_conversation_description">對話描述</string>
|
||||||
<string name="nc_conversation_menu_conversation_info">對話資訊</string>
|
<string name="nc_conversation_menu_conversation_info">對話資訊</string>
|
||||||
<string name="nc_conversation_menu_video_call">視訊通話</string>
|
<string name="nc_conversation_menu_video_call">視訊通話</string>
|
||||||
@ -543,7 +544,6 @@
|
|||||||
<string name="online_status">線上狀態</string>
|
<string name="online_status">線上狀態</string>
|
||||||
<string name="openConversations">開啟對話</string>
|
<string name="openConversations">開啟對話</string>
|
||||||
<string name="open_in_files_app">在「檔案」應用程式中開啟</string>
|
<string name="open_in_files_app">在「檔案」應用程式中開啟</string>
|
||||||
<string name="open_notes">開啟筆記</string>
|
|
||||||
<string name="play_pause_voice_message">播放/暫停語音訊息</string>
|
<string name="play_pause_voice_message">播放/暫停語音訊息</string>
|
||||||
<string name="playback_speed_control">播放速度控制</string>
|
<string name="playback_speed_control">播放速度控制</string>
|
||||||
<string name="polls_add_option">新增選項</string>
|
<string name="polls_add_option">新增選項</string>
|
||||||
@ -680,9 +680,6 @@
|
|||||||
<plurals name="see_similar_system_messages">
|
<plurals name="see_similar_system_messages">
|
||||||
<item quantity="other">檢視 %d 則類似的訊息</item>
|
<item quantity="other">檢視 %d 則類似的訊息</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="nc_conversation_auto_delete_info">
|
|
||||||
<item quantity="other">此對話若於%1$d天內沒有活動,將會自動為所有人刪除</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="polls_amount_voters">
|
<plurals name="polls_amount_voters">
|
||||||
<item quantity="other">%d 票</item>
|
<item quantity="other">%d 票</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
@ -520,11 +520,12 @@ How to translate with transifex:
|
|||||||
<string name="nc_forward_message">Forward</string>
|
<string name="nc_forward_message">Forward</string>
|
||||||
<string name="nc_reply">Reply</string>
|
<string name="nc_reply">Reply</string>
|
||||||
<string name="nc_reply_privately">Reply privately</string>
|
<string name="nc_reply_privately">Reply privately</string>
|
||||||
<plurals name="nc_conversation_auto_delete_info">
|
<string name="nc_delete_message">Delete</string>
|
||||||
|
<plurals name="nc_conversation_auto_delete_notice">
|
||||||
<item quantity="one">This conversation will be automatically deleted for everyone in %1$d day of no activity</item>
|
<item quantity="one">This conversation will be automatically deleted for everyone in %1$d day of no activity</item>
|
||||||
<item quantity="other">This conversation will be automatically deleted for everyone in %1$d days of no activity</item>
|
<item quantity="other">This conversation will be automatically deleted for everyone in %1$d days of no activity</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="nc_delete_message">Delete</string>
|
<string name="nc_conversation_auto_delete_notice">This conversation will be automatically deleted for everyone in %1$d days of no activity</string>
|
||||||
<string name="nc_delete_now">Delete now</string>
|
<string name="nc_delete_now">Delete now</string>
|
||||||
<string name="nc_keep">Keep</string>
|
<string name="nc_keep">Keep</string>
|
||||||
<string name="nc_delete_message_leaked_to_matterbridge">Message deleted successfully, but it might have been leaked to other services</string>
|
<string name="nc_delete_message_leaked_to_matterbridge">Message deleted successfully, but it might have been leaked to other services</string>
|
||||||
|
Loading…
Reference in New Issue
Block a user