From 22ab728be0f2a070f074f9578252c3c5b97a5881 Mon Sep 17 00:00:00 2001 From: Andy Valdez Date: Thu, 18 Jan 2024 16:07:45 -0500 Subject: [PATCH 001/170] [Bug] Made updates related to targetSdk update for media. I omitted the targetSdk update in this PR simply to allow testing with the previous version to ensure everything remains the same. Additionally, I added the foreground service types related to images. --- WordPress/src/main/AndroidManifest.xml | 7 +++++-- .../wordpress/android/ui/media/MediaSettingsActivity.java | 8 +++++++- .../android/ui/mediapicker/loader/DeviceListBuilder.kt | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/WordPress/src/main/AndroidManifest.xml b/WordPress/src/main/AndroidManifest.xml index 56d049968bb8..f06af72f1ec4 100644 --- a/WordPress/src/main/AndroidManifest.xml +++ b/WordPress/src/main/AndroidManifest.xml @@ -28,6 +28,7 @@ + @@ -823,11 +824,13 @@ + android:label="Upload Service" + android:foregroundServiceType="dataSync"/> + android:exported="false" > diff --git a/WordPress/src/main/java/org/wordpress/android/ui/media/MediaSettingsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/media/MediaSettingsActivity.java index 15672b09cd48..ba86d66631a8 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/media/MediaSettingsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/media/MediaSettingsActivity.java @@ -9,6 +9,7 @@ import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; +import android.content.ContextWrapper; import android.content.Intent; import android.content.IntentFilter; import android.database.Cursor; @@ -16,6 +17,7 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Build; +import android.os.Build.VERSION_CODES; import android.os.Bundle; import android.os.Environment; import android.os.Handler; @@ -467,7 +469,11 @@ protected void onSaveInstanceState(@NonNull Bundle outState) { @SuppressLint("UnspecifiedRegisterReceiverFlag") public void onStart() { super.onStart(); - registerReceiver(mDownloadReceiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); + if (Build.VERSION.SDK_INT >= VERSION_CODES.UPSIDE_DOWN_CAKE) { + registerReceiver(mDownloadReceiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE), ContextWrapper.RECEIVER_NOT_EXPORTED); + } else { + registerReceiver(mDownloadReceiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); + } mDispatcher.register(this); // we only register with EventBus the first time - necessary since we don't unregister in onStop() diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceListBuilder.kt b/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceListBuilder.kt index c9549d250ec1..99be2e0f8dc7 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceListBuilder.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceListBuilder.kt @@ -69,7 +69,7 @@ class DeviceListBuilder( // This item sets the threshold for the visible items in all the list val lastShownTimestamp = results.fold(0L) { timestamp, (_, result) -> val nextTimestamp = result?.nextTimestamp - if (nextTimestamp != null && nextTimestamp > timestamp) { + if (result?.items?.isNotEmpty() == true && nextTimestamp != null && nextTimestamp > timestamp) { nextTimestamp } else { timestamp From eaa406c7f9bfb9448835aebcc8524c3429ed6def Mon Sep 17 00:00:00 2001 From: Andy Valdez Date: Thu, 18 Jan 2024 17:24:46 -0500 Subject: [PATCH 002/170] [Fix] Add foreground service types to all our manifest defined services --- WordPress/src/main/AndroidManifest.xml | 57 +++++++++++++++++--------- 1 file changed, 38 insertions(+), 19 deletions(-) diff --git a/WordPress/src/main/AndroidManifest.xml b/WordPress/src/main/AndroidManifest.xml index f06af72f1ec4..1477bacbe66f 100644 --- a/WordPress/src/main/AndroidManifest.xml +++ b/WordPress/src/main/AndroidManifest.xml @@ -836,88 +836,105 @@ + android:label="Reader Update Service" + android:foregroundServiceType="dataSync"/> + android:label="Reader Update JobService" + android:foregroundServiceType="dataSync"/> + android:label="Reader Discover Service" + android:foregroundServiceType="dataSync"/> + android:label="Reader Discover JobService" + android:foregroundServiceType="dataSync"/> + android:label="Reader Post Service" + android:foregroundServiceType="dataSync"/> + android:label="Reader Post JobService" + android:foregroundServiceType="dataSync"/> + android:label="Reader Search Service" + android:foregroundServiceType="dataSync"/> + android:label="Reader Search Job Service" + android:foregroundServiceType="dataSync"/> + android:label="Reader Comment Service" + android:foregroundServiceType="dataSync"/> + android:label="Suggestion Service" + android:foregroundServiceType="dataSync"/> + android:label="Notifications Quick Actions processing Service" + android:foregroundServiceType="dataSync"/> + android:label="Notifications Update Service" + android:foregroundServiceType="dataSync"/> + android:label="Notifications Update Job Service" + android:foregroundServiceType="dataSync"/> + android:label="Installation Referrer Service" + android:foregroundServiceType="dataSync"/> + android:label="Installation Referrer Service" + android:foregroundServiceType="dataSync"/> + android:label="Login to WPCOM Service" + android:foregroundServiceType="dataSync"/> + android:label="Site Creation Service" + android:foregroundServiceType="dataSync"/> + android:permission="android.permission.BIND_REMOTEVIEWS" + android:foregroundServiceType="dataSync"/> + android:exported="false" + android:foregroundServiceType="dataSync"> From b1ebd86c366f6d26b4ac0030104b46b1b89b25d6 Mon Sep 17 00:00:00 2001 From: Andy Valdez Date: Wed, 24 Jan 2024 12:49:56 -0500 Subject: [PATCH 003/170] [Bug] Move a small bug fix to a more appropriate place. --- .../android/ui/mediapicker/loader/DeviceListBuilder.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceListBuilder.kt b/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceListBuilder.kt index 99be2e0f8dc7..2627f5c008f0 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceListBuilder.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mediapicker/loader/DeviceListBuilder.kt @@ -69,7 +69,7 @@ class DeviceListBuilder( // This item sets the threshold for the visible items in all the list val lastShownTimestamp = results.fold(0L) { timestamp, (_, result) -> val nextTimestamp = result?.nextTimestamp - if (result?.items?.isNotEmpty() == true && nextTimestamp != null && nextTimestamp > timestamp) { + if (nextTimestamp != null && nextTimestamp > timestamp) { nextTimestamp } else { timestamp @@ -118,7 +118,7 @@ class DeviceListBuilder( null } } - addPage(mediaType, result, deviceMediaList.next) + addPage(mediaType, result, if (result.isEmpty()) null else deviceMediaList.next) return cache[mediaType] } From b3f18f9e431f9af94a2517eab9654f0e3bcf7595 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Fri, 26 Jan 2024 16:51:17 -0800 Subject: [PATCH 004/170] Add light/dark color palette definitions --- .../designsystem/DesignSystemColors.kt | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt new file mode 100644 index 000000000000..77bf3eb01907 --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt @@ -0,0 +1,46 @@ +package org.wordpress.android.designsystem + +import android.annotation.SuppressLint +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.runtime.Composable + +@SuppressLint("ConflictingOnColor") +val DesignSystemLightPalette = lightColors( + primaryForeground = DesignSystemAppColor.Black, + primaryBackground = DesignSystemAppColor.White, + secondaryForeground = DesignSystemAppColor.Gray60, + secondaryBackground = DesignSystemAppColor.OffWhite, + tertiaryForeground = DesignSystemAppColor.Gray30, + tertiaryBackground = DesignSystemAppColor.Gray, + quartenaryBackground = DesignSystemAppColor.Gray2, + brandForeground = DesignSystemAppColor.JetpackGreen50, + brandBackground = DesignSystemAppColor.JetpackGreen50, + error = DesignSystemAppColor.Red50, + warning = DesignSystemAppColor.Orange40, + wp = DesignSystemAppColor.Blue50, + wpBackground = DesignSystemAppColor.Blue50 + +) + +@SuppressLint("ConflictingOnColor") +val DesignSystemDarkPalette = darkColors( + primaryForeground = DesignSystemAppColor.White, + primaryBackground = DesignSystemAppColor.Black, + secondaryForeground = DesignSystemAppColor.OffWhite60, + secondaryBackground = DesignSystemAppColor.DarkGrey, + tertiaryForeground = DesignSystemAppColor.Gray, + tertiaryBackground = DesignSystemAppColor.Gray3, + quartenaryBackground = DesignSystemAppColor.Gray4, + brandForeground = DesignSystemAppColor.JetpackGreen30, + brandBackground = DesignSystemAppColor.JetpackGreen1, + error = DesignSystemAppColor.Red1, + warning = DesignSystemAppColor.Orange1, + wp = DesignSystemAppColor.Blue30, + wpBackground = DesignSystemAppColor.Blue1 +) + +@Composable +fun designSystemColorPalette(isDarkTheme: Boolean = isSystemInDarkTheme()) = when (isDarkTheme) { + true -> DesignSystemDarkPalette + else -> DesignSystemLightPalette +} From d68ade55db8bf1fbcda974f35e0c92350a66e141 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 01:22:15 +0000 Subject: [PATCH 005/170] Bump androidx.webkit:webkit from 1.7.0 to 1.10.0 Bumps androidx.webkit:webkit from 1.7.0 to 1.10.0. --- updated-dependencies: - dependency-name: androidx.webkit:webkit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- WordPress/build.gradle | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/WordPress/build.gradle b/WordPress/build.gradle index ac98ada035c5..d71b57bbc617 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -342,7 +342,7 @@ kapt { } dependencies { - implementation 'androidx.webkit:webkit:1.7.0' + implementation 'androidx.webkit:webkit:1.10.0' implementation "androidx.navigation:navigation-compose:$androidxComposeNavigationVersion" compileOnly project(path: ':libs:annotations') kapt project(':libs:processors') diff --git a/build.gradle b/build.gradle index 798c633edea8..3222ff5a07a0 100644 --- a/build.gradle +++ b/build.gradle @@ -57,7 +57,7 @@ ext { androidxSwipeToRefreshVersion = '1.1.0' androidxViewpager2Version = '1.0.0' androidxWorkManagerVersion = "2.8.1" - androidxWebkitVersion = '1.7.0' + androidxWebkitVersion = '1.10.0' androidxComposeMaterial3Version = '1.1.1' apacheCommonsTextVersion = '1.10.0' coilComposeVersion = '2.4.0' From fc883b45fe25fafbf1f25d9aa5748a5397bd9229 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Mon, 29 Jan 2024 15:41:10 -0800 Subject: [PATCH 006/170] Color definitions --- .../designsystem/DesignSystemAppColor.kt | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemAppColor.kt diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemAppColor.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemAppColor.kt new file mode 100644 index 000000000000..8bbcbfc933f7 --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemAppColor.kt @@ -0,0 +1,80 @@ +package org.wordpress.android.designsystem + +import androidx.compose.runtime.Stable +import androidx.compose.ui.graphics.Color + +/** + * Object containing static common colors used throughout the project. Note that the colors here are not SEMANTIC, + * meaning they don't represent the usage of the color (e.g.: PrimaryButtonBackground) but instead they are raw + * colors used throughout this app's design (e.g.: Green50). + */ +object DesignSystemAppColor { + // Black & White + @Stable + val Black = Color(0xFF000000) + + @Stable + val White = Color(0xFFFFFFFF) + + // Grays + @Stable + val Gray = Color(0xFFF2F2F7) + + @Stable + val Gray10 = Color(0xFFC2C2C6) + + @Stable + val Gray20 = Color(0x99EBEBF5) + + @Stable + val Gray30 = Color(0xFF9B9B9E) + + @Stable + val Gray40 = Color(0xFF4E4E4F) + + @Stable + val Gray50 = Color(0xFF3A3A3C) + + @Stable + val Gray60 = Color(0xFF2C2C2E) + + @Stable + val GrayWIP2 = Color(0x993C3C43) // this doesn't look right - foreground light mode: secondary + + @Stable + val GrayWIP = Color(0x4D3C3C43) // this doesn't look right - foreground light mode: tertiary + + // Blues + @Stable + val Blue = Color(0xFF0675C4) + + @Stable + val Blue10 = Color(0xFF399CE3) + + @Stable + val Blue20 = Color(0xFF1689DB) + + // Greens + @Stable + val Green = Color(0xFF008710) + + @Stable + val Green10 = Color(0xFF2FB41F) + + @Stable + val Green20 = Color(0xFF069E08) + + // Reds + @Stable + val Red = Color(0xFFD63638) + + @Stable + val Red10 = Color(0xFFE65054) + + // Oranges + @Stable + val Orange = Color(0xFFD67709) + + @Stable + val Orange10 = Color(0xFFE68B28) +} From 8db9e7e4c128225a4d0f45ca3231f1ae3df3cbea Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Tue, 30 Jan 2024 11:49:50 -0800 Subject: [PATCH 007/170] Add dark theme to activity --- .../android/designsystem/DesignSystemActivity.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt index 5d15ef196cc9..c8ce323af22b 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt @@ -2,6 +2,7 @@ package org.wordpress.android.designsystem import android.content.res.Configuration import android.os.Bundle +import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import org.wordpress.android.ui.LocaleAwareActivity @@ -10,8 +11,11 @@ import org.wordpress.android.util.extensions.setContent class DesignSystemActivity : LocaleAwareActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContent { - DesignSystem(onBackPressedDispatcher::onBackPressed) + setContent { + val colors = if (isSystemInDarkTheme()) darkColors() else lightColors() + DesignSystemTheme(colors) { + DesignSystem(onBackPressedDispatcher::onBackPressed) + } } } @@ -21,11 +25,8 @@ class DesignSystemActivity : LocaleAwareActivity() { showBackground = true, name = "Dark Mode" ) - @Composable fun PreviewDesignSystemActivity() { DesignSystem(onBackPressedDispatcher::onBackPressed) } } - - From f218f17ea9c684b43b103d916b6a2a03323ebc04 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Tue, 30 Jan 2024 11:50:50 -0800 Subject: [PATCH 008/170] Clean up color naming --- .../designsystem/DesignSystemColors.kt | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt index 77bf3eb01907..b02fb68ff75b 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt @@ -8,17 +8,17 @@ import androidx.compose.runtime.Composable val DesignSystemLightPalette = lightColors( primaryForeground = DesignSystemAppColor.Black, primaryBackground = DesignSystemAppColor.White, - secondaryForeground = DesignSystemAppColor.Gray60, - secondaryBackground = DesignSystemAppColor.OffWhite, - tertiaryForeground = DesignSystemAppColor.Gray30, - tertiaryBackground = DesignSystemAppColor.Gray, - quartenaryBackground = DesignSystemAppColor.Gray2, - brandForeground = DesignSystemAppColor.JetpackGreen50, - brandBackground = DesignSystemAppColor.JetpackGreen50, - error = DesignSystemAppColor.Red50, - warning = DesignSystemAppColor.Orange40, - wp = DesignSystemAppColor.Blue50, - wpBackground = DesignSystemAppColor.Blue50 + secondaryForeground = DesignSystemAppColor.GrayWIP2, + secondaryBackground = DesignSystemAppColor.Gray, + tertiaryForeground = DesignSystemAppColor.GrayWIP, + tertiaryBackground = DesignSystemAppColor.Gray10, + quartenaryBackground = DesignSystemAppColor.Gray30, + brandForeground = DesignSystemAppColor.Green, + brandBackground = DesignSystemAppColor.Green, + error = DesignSystemAppColor.Red, + warning = DesignSystemAppColor.Orange, + wp = DesignSystemAppColor.Blue, + wpBackground = DesignSystemAppColor.Blue ) @@ -26,17 +26,17 @@ val DesignSystemLightPalette = lightColors( val DesignSystemDarkPalette = darkColors( primaryForeground = DesignSystemAppColor.White, primaryBackground = DesignSystemAppColor.Black, - secondaryForeground = DesignSystemAppColor.OffWhite60, - secondaryBackground = DesignSystemAppColor.DarkGrey, - tertiaryForeground = DesignSystemAppColor.Gray, - tertiaryBackground = DesignSystemAppColor.Gray3, - quartenaryBackground = DesignSystemAppColor.Gray4, - brandForeground = DesignSystemAppColor.JetpackGreen30, - brandBackground = DesignSystemAppColor.JetpackGreen1, - error = DesignSystemAppColor.Red1, - warning = DesignSystemAppColor.Orange1, - wp = DesignSystemAppColor.Blue30, - wpBackground = DesignSystemAppColor.Blue1 + secondaryForeground = DesignSystemAppColor.Gray20, + secondaryBackground = DesignSystemAppColor.Gray50, + tertiaryForeground = DesignSystemAppColor.Gray10, + tertiaryBackground = DesignSystemAppColor.Gray60, + quartenaryBackground = DesignSystemAppColor.Gray40, + brandForeground = DesignSystemAppColor.Green10, + brandBackground = DesignSystemAppColor.Green20, + error = DesignSystemAppColor.Red10, + warning = DesignSystemAppColor.Orange10, + wp = DesignSystemAppColor.Blue10, + wpBackground = DesignSystemAppColor.Blue20 ) @Composable From 1832a8b67308c59fa00974b43e0c1fb7fa944cb9 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Tue, 30 Jan 2024 11:50:58 -0800 Subject: [PATCH 009/170] Create DesignSystemTheme.kt --- .../android/designsystem/DesignSystemTheme.kt | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt new file mode 100644 index 000000000000..cec6735aba31 --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt @@ -0,0 +1,27 @@ +package org.wordpress.android.designsystem + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.ReadOnlyComposable +import androidx.compose.runtime.remember + +@Composable +fun DesignSystemTheme( + colors: DesignSystemColorsBase = DesignSystemTheme.colors, + content: @Composable () -> Unit +) { + val rememberedColors = remember { colors.copy() }.apply { updateColorsFrom(colors) } + CompositionLocalProvider( + LocalColors provides rememberedColors + ) { + content() + } +} + + object DesignSystemTheme { + val colors: DesignSystemColorsBase + @Composable + @ReadOnlyComposable + get() = LocalColors.current + } + From 74af32506491346876606dbc7d1197dd3d6db2c0 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Tue, 30 Jan 2024 13:59:54 -0800 Subject: [PATCH 010/170] Update preview to use dark/light mode --- .../wordpress/android/designsystem/DesignSystemActivity.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt index c8ce323af22b..96857d9b4264 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt @@ -27,6 +27,9 @@ class DesignSystemActivity : LocaleAwareActivity() { ) @Composable fun PreviewDesignSystemActivity() { - DesignSystem(onBackPressedDispatcher::onBackPressed) + val colors = if (isSystemInDarkTheme()) darkColors() else lightColors() + DesignSystemTheme(colors) { + DesignSystem(onBackPressedDispatcher::onBackPressed) + } } } From d1bda1aea86a5ae966d2592044ebf354b1ce9460 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Tue, 30 Jan 2024 14:03:57 -0800 Subject: [PATCH 011/170] Create DesignSystemColorsBase.kt --- .../designsystem/DesignSystemColorsBase.kt | 205 ++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt new file mode 100644 index 000000000000..74667affb62d --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt @@ -0,0 +1,205 @@ +package org.wordpress.android.designsystem + +import androidx.compose.material.Colors +import androidx.compose.runtime.Stable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue +import androidx.compose.runtime.staticCompositionLocalOf +import androidx.compose.runtime.structuralEqualityPolicy +import androidx.compose.ui.graphics.Color + +@Stable +class DesignSystemColorsBase( + primaryForeground: Color, + primaryBackground: Color, + secondaryForeground: Color, + secondaryBackground: Color, + tertiaryForeground: Color, + tertiaryBackground: Color, + quartenaryBackground: Color, + brandForeground: Color, + brandBackground: Color, + error: Color, + warning: Color, + wp: Color, + wpBackground: Color, + isLight: Boolean +) { + var primaryForeground by mutableStateOf(primaryForeground, structuralEqualityPolicy()) + internal set + var primaryBackground by mutableStateOf(primaryBackground, structuralEqualityPolicy()) + internal set + var secondaryForeground by mutableStateOf(secondaryForeground, structuralEqualityPolicy()) + internal set + var secondaryBackground by mutableStateOf(secondaryBackground, structuralEqualityPolicy()) + internal set + var tertiaryForeground by mutableStateOf(tertiaryForeground, structuralEqualityPolicy()) + internal set + var tertiaryBackground by mutableStateOf(tertiaryBackground, structuralEqualityPolicy()) + internal set + var quartenaryBackground by mutableStateOf(quartenaryBackground, structuralEqualityPolicy()) + internal set + var brandForeground by mutableStateOf(brandForeground, structuralEqualityPolicy()) + internal set + var brandBackground by mutableStateOf(brandBackground, structuralEqualityPolicy()) + internal set + var error by mutableStateOf(error, structuralEqualityPolicy()) + internal set + var warning by mutableStateOf(warning, structuralEqualityPolicy()) + internal set + var wp by mutableStateOf(wp, structuralEqualityPolicy()) + internal set + var wpBackground by mutableStateOf(wpBackground, structuralEqualityPolicy()) + internal set + var isLight by mutableStateOf(isLight, structuralEqualityPolicy()) + internal set + + /** + * Returns a copy of this Colors, optionally overriding some of the values. + */ + fun copy( + primaryForeground: Color = this.primaryForeground, + primaryBackground: Color = this.primaryBackground, + secondaryForeground: Color = this.secondaryForeground, + secondaryBackground: Color = this.secondaryBackground, + tertiaryForeground: Color = this.tertiaryForeground, + tertiaryBackground: Color = this.tertiaryBackground, + quartenaryBackground: Color = this.quartenaryBackground, + brandForeground: Color = this.brandForeground, + brandBackground: Color = this.brandBackground, + error: Color = this.error, + warning: Color = this.warning, + wp: Color = this.wp, + wpBackground: Color = this.wpBackground, + isLight: Boolean = this.isLight + ): DesignSystemColorsBase = DesignSystemColorsBase( + primaryForeground, + primaryBackground, + secondaryForeground, + secondaryBackground, + tertiaryForeground, + tertiaryBackground, + quartenaryBackground, + brandForeground, + brandBackground, + error, + warning, + wp, + wpBackground, + isLight + ) + + override fun toString(): String { + return "Colors(" + + "primaryForeground=$primaryForeground, " + + "primaryBackground=$primaryBackground, " + + "secondaryForeground=$secondaryForeground, " + + "secondaryBackground=$secondaryBackground, " + + "tertiaryForeground=$tertiaryForeground, " + + "tertiaryBackground=$tertiaryBackground, " + + "quartenaryBackground=$quartenaryBackground, " + + "brandForeground=$brandForeground, " + + "brandBackground=$brandBackground, " + + "error=$error, " + + "warning=$warning, " + + "wp=$wp, " + + "wpBackground=$wpBackground, " + + "isLight=$isLight" + + ")" + } +} + +/** + * Creates a complete color definition for the Design System light theme. + * + * @see darkColors + */ +fun lightColors( + primaryForeground: Color = DesignSystemAppColor.Black, + primaryBackground: Color = DesignSystemAppColor.White, + secondaryForeground: Color = DesignSystemAppColor.GrayWIP2, + secondaryBackground: Color = DesignSystemAppColor.Gray, + tertiaryForeground: Color = DesignSystemAppColor.GrayWIP, + tertiaryBackground: Color = DesignSystemAppColor.Gray10, + quartenaryBackground: Color = DesignSystemAppColor.Gray30, + brandForeground: Color = DesignSystemAppColor.Green, + brandBackground: Color = DesignSystemAppColor.Green, + error: Color = DesignSystemAppColor.Red, + warning: Color = DesignSystemAppColor.Orange, + wp: Color = DesignSystemAppColor.Blue, + wpBackground: Color = DesignSystemAppColor.Blue +): DesignSystemColorsBase = DesignSystemColorsBase( + primaryForeground, + primaryBackground, + secondaryForeground, + secondaryBackground, + tertiaryForeground, + tertiaryBackground, + quartenaryBackground, + brandForeground, + brandBackground, + error, + warning, + wp, + wpBackground, + true +) + +/** + * Creates a complete color definition for the Design System dark theme. + * + * @see lightColors + */ +fun darkColors( + primaryForeground: Color = DesignSystemAppColor.White, + primaryBackground: Color = DesignSystemAppColor.Black, + secondaryForeground: Color = DesignSystemAppColor.Gray20, + secondaryBackground: Color = DesignSystemAppColor.Gray50, + tertiaryForeground: Color = DesignSystemAppColor.Gray10, + tertiaryBackground: Color = DesignSystemAppColor.Gray60, + quartenaryBackground: Color = DesignSystemAppColor.Gray40, + brandForeground: Color = DesignSystemAppColor.Green10, + brandBackground: Color = DesignSystemAppColor.Green20, + error: Color = DesignSystemAppColor.Red10, + warning: Color = DesignSystemAppColor.Orange10, + wp: Color = DesignSystemAppColor.Blue10, + wpBackground: Color = DesignSystemAppColor.Blue20 +): DesignSystemColorsBase = DesignSystemColorsBase( + primaryForeground, + primaryBackground, + secondaryForeground, + secondaryBackground, + tertiaryForeground, + tertiaryBackground, + quartenaryBackground, + brandForeground, + brandBackground, + error, + warning, + wp, + wpBackground, + false +) + +internal fun DesignSystemColorsBase.updateColorsFrom(other: DesignSystemColorsBase) { + primaryForeground = other.primaryForeground + primaryBackground = other.primaryBackground + secondaryForeground = other.secondaryForeground + secondaryBackground = other.secondaryBackground + tertiaryForeground = other.tertiaryForeground + tertiaryBackground = other.tertiaryBackground + quartenaryBackground = other.quartenaryBackground + brandForeground = other.brandForeground + error = other.error + warning = other.warning + wp = other.wp + wpBackground = other.wpBackground + isLight = other.isLight +} + +/** + * CompositionLocal used to pass [Colors] down the tree. + */ +internal val LocalColors = staticCompositionLocalOf { lightColors() } + From 0207293f0909fba85e3409da0ca00e53c9ff4c59 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Tue, 30 Jan 2024 15:54:20 -0800 Subject: [PATCH 012/170] Update colors + renaming --- .../android/designsystem/DesignSystemScreen.kt | 13 +++++++------ .../android/designsystem/DesignSystemStartScreen.kt | 6 +++--- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemScreen.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemScreen.kt index 2168e7048b22..9d154c4c7b94 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemScreen.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemScreen.kt @@ -1,12 +1,12 @@ package org.wordpress.android.designsystem import androidx.annotation.StringRes +import androidx.compose.foundation.background import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.widthIn import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults -import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -37,7 +37,7 @@ fun SelectOptionButton( Button( onClick = onClick, modifier = modifier.widthIn(min = 250.dp), - colors = ButtonDefaults.buttonColors(containerColor = MaterialTheme.colorScheme.primary) + colors = ButtonDefaults.buttonColors(containerColor = DesignSystemTheme.colors.brandForeground) ) { Text(stringResource(labelResourceId)) } @@ -60,18 +60,19 @@ fun DesignSystem( title = stringResource(R.string.preference_design_system), navigationIcon = NavigationIcons.BackIcon, onNavigationIconClick = { onBackTapped() }, - backgroundColor = MaterialTheme.colorScheme.surface, - contentColor = MaterialTheme.colorScheme.onSurface, + backgroundColor = DesignSystemTheme.colors.primaryBackground, + contentColor = DesignSystemTheme.colors.primaryForeground, ) - }, + } ) { innerPadding -> NavHost( + modifier = Modifier.background(DesignSystemTheme.colors.primaryBackground), navController = navController, startDestination = DesignSystemScreen.Start.name ) { composable(route = DesignSystemScreen.Start.name) { DesignSystemStartScreen( - onNextButtonClicked = { + onButtonClicked = { navController.navigate(it) }, modifier = Modifier diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemStartScreen.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemStartScreen.kt index e082a6fb5f64..3a4fecb26c92 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemStartScreen.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemStartScreen.kt @@ -13,7 +13,7 @@ import org.wordpress.android.R @Composable fun DesignSystemStartScreen( - onNextButtonClicked: (String) -> Unit, + onButtonClicked: (String) -> Unit, modifier: Modifier = Modifier ) { LazyColumn ( @@ -27,7 +27,7 @@ fun DesignSystemStartScreen( DesignSystemDataSource.startScreenButtonOptions.forEach { item -> SelectOptionButton( labelResourceId = item.first, - onClick = { onNextButtonClicked(item.second) } + onClick = { onButtonClicked(item.second) } ) } } @@ -38,7 +38,7 @@ fun DesignSystemStartScreen( @Composable fun StartDesignSystemStartScreenPreview(){ DesignSystemStartScreen( - onNextButtonClicked = {}, + onButtonClicked = {}, modifier = Modifier .fillMaxSize() .padding(dimensionResource(R.dimen.button_container_shadow_height)) From 509302a6d30b05bb7b4a2d6cf2d67e503075f70c Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Tue, 30 Jan 2024 16:29:41 -0800 Subject: [PATCH 013/170] Remove redundancy + detekt --- .../designsystem/DesignSystemColors.kt | 46 ------------------- .../designsystem/DesignSystemColorsBase.kt | 1 + 2 files changed, 1 insertion(+), 46 deletions(-) delete mode 100644 WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt deleted file mode 100644 index b02fb68ff75b..000000000000 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt +++ /dev/null @@ -1,46 +0,0 @@ -package org.wordpress.android.designsystem - -import android.annotation.SuppressLint -import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.runtime.Composable - -@SuppressLint("ConflictingOnColor") -val DesignSystemLightPalette = lightColors( - primaryForeground = DesignSystemAppColor.Black, - primaryBackground = DesignSystemAppColor.White, - secondaryForeground = DesignSystemAppColor.GrayWIP2, - secondaryBackground = DesignSystemAppColor.Gray, - tertiaryForeground = DesignSystemAppColor.GrayWIP, - tertiaryBackground = DesignSystemAppColor.Gray10, - quartenaryBackground = DesignSystemAppColor.Gray30, - brandForeground = DesignSystemAppColor.Green, - brandBackground = DesignSystemAppColor.Green, - error = DesignSystemAppColor.Red, - warning = DesignSystemAppColor.Orange, - wp = DesignSystemAppColor.Blue, - wpBackground = DesignSystemAppColor.Blue - -) - -@SuppressLint("ConflictingOnColor") -val DesignSystemDarkPalette = darkColors( - primaryForeground = DesignSystemAppColor.White, - primaryBackground = DesignSystemAppColor.Black, - secondaryForeground = DesignSystemAppColor.Gray20, - secondaryBackground = DesignSystemAppColor.Gray50, - tertiaryForeground = DesignSystemAppColor.Gray10, - tertiaryBackground = DesignSystemAppColor.Gray60, - quartenaryBackground = DesignSystemAppColor.Gray40, - brandForeground = DesignSystemAppColor.Green10, - brandBackground = DesignSystemAppColor.Green20, - error = DesignSystemAppColor.Red10, - warning = DesignSystemAppColor.Orange10, - wp = DesignSystemAppColor.Blue10, - wpBackground = DesignSystemAppColor.Blue20 -) - -@Composable -fun designSystemColorPalette(isDarkTheme: Boolean = isSystemInDarkTheme()) = when (isDarkTheme) { - true -> DesignSystemDarkPalette - else -> DesignSystemLightPalette -} diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt index 74667affb62d..f736caad4013 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt @@ -9,6 +9,7 @@ import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.runtime.structuralEqualityPolicy import androidx.compose.ui.graphics.Color +@Suppress("complexity:LongParameterList") @Stable class DesignSystemColorsBase( primaryForeground: Color, From cb4ec5738083bb0d1b81a2ed63cca3e39645da8e Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Tue, 30 Jan 2024 16:35:04 -0800 Subject: [PATCH 014/170] Rename DesignSystemColors --- ...DesignSystemColorsBase.kt => DesignSystemColors.kt} | 10 +++++----- .../android/designsystem/DesignSystemTheme.kt | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) rename WordPress/src/main/java/org/wordpress/android/designsystem/{DesignSystemColorsBase.kt => DesignSystemColors.kt} (96%) diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt similarity index 96% rename from WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt rename to WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt index f736caad4013..326a4249f6b3 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColorsBase.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.graphics.Color @Suppress("complexity:LongParameterList") @Stable -class DesignSystemColorsBase( +class DesignSystemColors( primaryForeground: Color, primaryBackground: Color, secondaryForeground: Color, @@ -74,7 +74,7 @@ class DesignSystemColorsBase( wp: Color = this.wp, wpBackground: Color = this.wpBackground, isLight: Boolean = this.isLight - ): DesignSystemColorsBase = DesignSystemColorsBase( + ): DesignSystemColors = DesignSystemColors( primaryForeground, primaryBackground, secondaryForeground, @@ -130,7 +130,7 @@ fun lightColors( warning: Color = DesignSystemAppColor.Orange, wp: Color = DesignSystemAppColor.Blue, wpBackground: Color = DesignSystemAppColor.Blue -): DesignSystemColorsBase = DesignSystemColorsBase( +): DesignSystemColors = DesignSystemColors( primaryForeground, primaryBackground, secondaryForeground, @@ -166,7 +166,7 @@ fun darkColors( warning: Color = DesignSystemAppColor.Orange10, wp: Color = DesignSystemAppColor.Blue10, wpBackground: Color = DesignSystemAppColor.Blue20 -): DesignSystemColorsBase = DesignSystemColorsBase( +): DesignSystemColors = DesignSystemColors( primaryForeground, primaryBackground, secondaryForeground, @@ -183,7 +183,7 @@ fun darkColors( false ) -internal fun DesignSystemColorsBase.updateColorsFrom(other: DesignSystemColorsBase) { +internal fun DesignSystemColors.updateColorsFrom(other: DesignSystemColors) { primaryForeground = other.primaryForeground primaryBackground = other.primaryBackground secondaryForeground = other.secondaryForeground diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt index cec6735aba31..53caf983dd7b 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt @@ -7,7 +7,7 @@ import androidx.compose.runtime.remember @Composable fun DesignSystemTheme( - colors: DesignSystemColorsBase = DesignSystemTheme.colors, + colors: DesignSystemColors = DesignSystemTheme.colors, content: @Composable () -> Unit ) { val rememberedColors = remember { colors.copy() }.apply { updateColorsFrom(colors) } @@ -19,7 +19,7 @@ fun DesignSystemTheme( } object DesignSystemTheme { - val colors: DesignSystemColorsBase + val colors: DesignSystemColors @Composable @ReadOnlyComposable get() = LocalColors.current From 7eb2507802d6e51d79002e20edbff035dd23a7df Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Wed, 31 Jan 2024 14:24:05 -0800 Subject: [PATCH 015/170] Update color names --- .../android/designsystem/DesignSystemAppColor.kt | 10 +++++----- .../android/designsystem/DesignSystemColors.kt | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemAppColor.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemAppColor.kt index 8bbcbfc933f7..fe3cf85b052c 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemAppColor.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemAppColor.kt @@ -30,19 +30,19 @@ object DesignSystemAppColor { val Gray30 = Color(0xFF9B9B9E) @Stable - val Gray40 = Color(0xFF4E4E4F) + val Gray40 = Color(0x993C3C43) @Stable - val Gray50 = Color(0xFF3A3A3C) + val Gray50 = Color(0x4D3C3C43) @Stable - val Gray60 = Color(0xFF2C2C2E) + val Gray60 = Color(0xFF4E4E4F) @Stable - val GrayWIP2 = Color(0x993C3C43) // this doesn't look right - foreground light mode: secondary + val Gray70 = Color(0xFF3A3A3C) @Stable - val GrayWIP = Color(0x4D3C3C43) // this doesn't look right - foreground light mode: tertiary + val Gray80 = Color(0xFF2C2C2E) // Blues @Stable diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt index 326a4249f6b3..36ccf4d72b08 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt @@ -119,9 +119,9 @@ class DesignSystemColors( fun lightColors( primaryForeground: Color = DesignSystemAppColor.Black, primaryBackground: Color = DesignSystemAppColor.White, - secondaryForeground: Color = DesignSystemAppColor.GrayWIP2, + secondaryForeground: Color = DesignSystemAppColor.Gray40, secondaryBackground: Color = DesignSystemAppColor.Gray, - tertiaryForeground: Color = DesignSystemAppColor.GrayWIP, + tertiaryForeground: Color = DesignSystemAppColor.Gray50, tertiaryBackground: Color = DesignSystemAppColor.Gray10, quartenaryBackground: Color = DesignSystemAppColor.Gray30, brandForeground: Color = DesignSystemAppColor.Green, @@ -156,10 +156,10 @@ fun darkColors( primaryForeground: Color = DesignSystemAppColor.White, primaryBackground: Color = DesignSystemAppColor.Black, secondaryForeground: Color = DesignSystemAppColor.Gray20, - secondaryBackground: Color = DesignSystemAppColor.Gray50, + secondaryBackground: Color = DesignSystemAppColor.Gray70, tertiaryForeground: Color = DesignSystemAppColor.Gray10, - tertiaryBackground: Color = DesignSystemAppColor.Gray60, - quartenaryBackground: Color = DesignSystemAppColor.Gray40, + tertiaryBackground: Color = DesignSystemAppColor.Gray80, + quartenaryBackground: Color = DesignSystemAppColor.Gray60, brandForeground: Color = DesignSystemAppColor.Green10, brandBackground: Color = DesignSystemAppColor.Green20, error: Color = DesignSystemAppColor.Red10, From 5b54a1e8d4200c21c42a7b090c97d31eaf0e759d Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Wed, 31 Jan 2024 21:18:55 -0300 Subject: [PATCH 016/170] Implement createIntentShowReaderSubs in ReaderActivityLauncher --- .../android/ui/reader/ReaderActivityLauncher.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderActivityLauncher.java index 81843376bae2..1299d325b157 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderActivityLauncher.java @@ -312,9 +312,13 @@ public static void showReaderSubs(Context context) { } public static void showReaderSubs(Context context, int selectPosition) { - Intent intent = new Intent(context, ReaderSubsActivity.class); + context.startActivity(createIntentShowReaderSubs(context, selectPosition)); + } + + public static Intent createIntentShowReaderSubs(@NonNull final Context context, final int selectPosition) { + final Intent intent = new Intent(context, ReaderSubsActivity.class); intent.putExtra(ReaderConstants.ARG_SUBS_TAB_POSITION, selectPosition); - context.startActivity(intent); + return intent; } public static void showReaderInterests(Activity activity) { From 8066f2fd74c2c1fadf7f7bb90629b75db9797b96 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Wed, 31 Jan 2024 21:21:56 -0300 Subject: [PATCH 017/170] Implement ReaderSubsActivity activity result in ReaderPostListFragment to detect if subscriptions should be refreshed --- .../ui/reader/ReaderPostListFragment.java | 26 ++++++++++++++++--- .../android/ui/reader/ReaderSubsActivity.java | 5 ++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java index 37b91bfa56e5..47756f2eee02 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java @@ -20,6 +20,8 @@ import android.widget.ProgressBar; import android.widget.TextView; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; @@ -213,6 +215,7 @@ public class ReaderPostListFragment extends ViewPagerFragment private boolean mIsUpdating; private boolean mIsFilterableScreen; private boolean mIsFiltered = false; + private ActivityResultLauncher mReaderSubsActivityResultLauncher; /* * called by post adapter to load older posts when user scrolls to the last post */ @@ -650,9 +653,11 @@ private void initSubFilterViewModel(@Nullable Bundle savedInstanceState) { mSubFilterViewModel.getBottomSheetAction().observe(getViewLifecycleOwner(), event -> { event.applyIfNotHandled(action -> { if (action instanceof OpenSubsAtPage) { - ReaderActivityLauncher.showReaderSubs( - requireActivity(), - ((OpenSubsAtPage) action).getTabIndex() + mReaderSubsActivityResultLauncher.launch( + ReaderActivityLauncher.createIntentShowReaderSubs( + requireActivity(), + ((OpenSubsAtPage) action).getTabIndex() + ) ); } else if (action instanceof OpenLoginPage) { wpMainActivityViewModel.onOpenLoginPage(); @@ -844,6 +849,21 @@ public void onAttach(@NonNull Context context) { if (context instanceof BottomNavController) { mBottomNavController = (BottomNavController) context; } + + mReaderSubsActivityResultLauncher = registerForActivityResult( + new ActivityResultContracts.StartActivityForResult(), + result -> { + if (result.getResultCode() == Activity.RESULT_OK) { + final Intent data = result.getData(); + if (data != null) { + final boolean shouldRefreshSubscriptions = + data.getBooleanExtra(ReaderSubsActivity.RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, false); + if (shouldRefreshSubscriptions) { + // TODO refresh tags if list have changed + } + } + } + }); } @Override diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java index fd0d8281fddf..6eaa55b488f1 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java @@ -87,6 +87,8 @@ public class ReaderSubsActivity extends LocaleAwareActivity public static final int TAB_IDX_FOLLOWED_TAGS = 0; public static final int TAB_IDX_FOLLOWED_BLOGS = 1; + public static final String RESULT_SHOULD_REFRESH_SUBSCRIPTIONS = "should_refresh_subscriptions"; + @Inject AccountStore mAccountStore; @Inject ReaderTracker mReaderTracker; @@ -102,6 +104,9 @@ public void handleOnBackPressed() { EventBus.getDefault().postSticky(new ReaderEvents.TagAdded(mLastAddedTagName)); } mReaderTracker.track(Stat.READER_MANAGE_VIEW_DISMISSED); + final Intent data = new Intent(); + data.putExtra(RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, true); + setResult(RESULT_OK, data); CompatExtensionsKt.onBackPressedCompat(getOnBackPressedDispatcher(), this); } }; From 31d126c1f1624b57fa55cec8e393021fb69d3e42 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Thu, 1 Feb 2024 15:19:39 -0300 Subject: [PATCH 018/170] Check if subscribed tags have changed in ReaderSubsActivity --- .../android/ui/reader/ReaderSubsActivity.java | 23 ++++++++++++--- .../android/ui/reader/ReaderTagFragment.java | 28 +++++++++++++++++++ .../ui/reader/adapters/ReaderTagAdapter.java | 4 +++ 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java index 6eaa55b488f1..95b3a32f882b 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java @@ -105,7 +105,14 @@ public void handleOnBackPressed() { } mReaderTracker.track(Stat.READER_MANAGE_VIEW_DISMISSED); final Intent data = new Intent(); - data.putExtra(RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, true); + boolean shouldRefreshSubscriptions = false; + if (mPageAdapter != null) { + final ReaderTagFragment readerTagFragment = mPageAdapter.getReaderTagFragment(); + if (readerTagFragment != null) { + shouldRefreshSubscriptions = readerTagFragment.hasChangedSelectedTags(); + } + } + data.putExtra(RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, shouldRefreshSubscriptions); setResult(RESULT_OK, data); CompatExtensionsKt.onBackPressedCompat(getOnBackPressedDispatcher(), this); } @@ -569,12 +576,20 @@ public Object instantiateItem(ViewGroup container, int position) { } private void refreshFollowedTagFragment() { - for (Fragment fragment : mFragments) { + final ReaderTagFragment fragment = getReaderTagFragment(); + if (fragment != null) { + fragment.refresh(); + } + } + + @Nullable + private ReaderTagFragment getReaderTagFragment() { + for (final Fragment fragment : mFragments) { if (fragment instanceof ReaderTagFragment) { - ReaderTagFragment tagFragment = (ReaderTagFragment) fragment; - tagFragment.refresh(); + return (ReaderTagFragment) fragment; } } + return null; } private void refreshBlogFragments(ReaderBlogType blogType) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java index 5b06e050695a..ec2e85b3f567 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java @@ -11,12 +11,18 @@ import org.wordpress.android.R; import org.wordpress.android.models.ReaderTag; +import org.wordpress.android.models.ReaderTagList; import org.wordpress.android.ui.ActionableEmptyView; import org.wordpress.android.ui.reader.adapters.ReaderTagAdapter; import org.wordpress.android.ui.reader.views.ReaderRecyclerView; import org.wordpress.android.util.AppLog; import org.wordpress.android.util.WPActivityUtils; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + /* * fragment hosted by ReaderSubsActivity which shows followed tags */ @@ -24,6 +30,10 @@ public class ReaderTagFragment extends Fragment implements ReaderTagAdapter.TagD private ReaderRecyclerView mRecyclerView; private ReaderTagAdapter mTagAdapter; + private boolean mIsFirstDataLoaded = true; + // TODO set to true onAttach? + private ReaderTagList mInitialReaderTagList = new ReaderTagList(); + static ReaderTagFragment newInstance() { AppLog.d(AppLog.T.READER, "reader tag list > newInstance"); return new ReaderTagFragment(); @@ -36,6 +46,19 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, return view; } + public boolean hasChangedSelectedTags() { + final Set initialTagsSlugs = new HashSet<>(); + for (final ReaderTag readerTag : mInitialReaderTagList) { + initialTagsSlugs.add(readerTag.getTagSlug()); + } + final List currentReaderTagList = getTagAdapter().getItems(); + final Set currentTagsSlugs = new HashSet<>(); + for (final ReaderTag readerTag : currentReaderTagList) { + currentTagsSlugs.add(readerTag.getTagSlug()); + } + return !(initialTagsSlugs.containsAll(currentTagsSlugs)); + } + private void checkEmptyView() { if (!isAdded() || getView() == null) { return; @@ -78,6 +101,11 @@ private ReaderTagAdapter getTagAdapter() { @Override public void onDataLoaded(boolean isEmpty) { checkEmptyView(); + if (mIsFirstDataLoaded) { + mIsFirstDataLoaded = false; + mInitialReaderTagList.clear(); + mInitialReaderTagList.addAll(mTagAdapter.getItems()); + } } }); } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java index 57a3d3fe42a7..1b4f5ba399ef 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java @@ -93,6 +93,10 @@ public TagViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new TagViewHolder(view); } + public ReaderTagList getItems() { + return mTags; + } + @Override public void onBindViewHolder(TagViewHolder holder, int position) { final ReaderTag tag = mTags.get(position); From ddcf6cbcb6238e7ad89fa1cfe2a52a387dd77f28 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Thu, 1 Feb 2024 15:51:00 -0300 Subject: [PATCH 019/170] Reset is first data loaded flag on onAttach --- .../android/ui/reader/ReaderTagFragment.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java index ec2e85b3f567..0286fe447808 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java @@ -30,9 +30,8 @@ public class ReaderTagFragment extends Fragment implements ReaderTagAdapter.TagD private ReaderRecyclerView mRecyclerView; private ReaderTagAdapter mTagAdapter; - private boolean mIsFirstDataLoaded = true; - // TODO set to true onAttach? - private ReaderTagList mInitialReaderTagList = new ReaderTagList(); + private boolean mIsFirstDataLoaded; + private final ReaderTagList mInitialReaderTagList = new ReaderTagList(); static ReaderTagFragment newInstance() { AppLog.d(AppLog.T.READER, "reader tag list > newInstance"); @@ -85,6 +84,12 @@ public void onActivityCreated(Bundle savedInstanceState) { refresh(); } + @Override + public void onAttach(Context context) { + super.onAttach(context); + mIsFirstDataLoaded = true; + } + void refresh() { if (hasTagAdapter()) { AppLog.d(AppLog.T.READER, "reader subs > refreshing tag fragment"); From 42f24c37d6280b9a6f24f11f5c7bb3e0c567d643 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Thu, 1 Feb 2024 17:06:42 -0300 Subject: [PATCH 020/170] Check if subscribed blogs have changed in ReaderSubsActivity --- .../android/ui/reader/ReaderBlogFragment.java | 43 +++++++++++++++++-- .../android/ui/reader/ReaderSubsActivity.java | 16 ++++++- .../android/ui/reader/ReaderTagFragment.java | 19 ++++---- .../ui/reader/adapters/ReaderBlogAdapter.java | 6 +++ .../ui/reader/adapters/ReaderTagAdapter.java | 2 + 5 files changed, 71 insertions(+), 15 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java index f2c842c66c0a..8be3227aac7c 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java @@ -1,5 +1,6 @@ package org.wordpress.android.ui.reader; +import android.content.Context; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; @@ -17,6 +18,8 @@ import org.wordpress.android.R; import org.wordpress.android.WordPress; import org.wordpress.android.models.ReaderBlog; +import org.wordpress.android.models.ReaderBlogList; +import org.wordpress.android.models.ReaderTagList; import org.wordpress.android.ui.ActionableEmptyView; import org.wordpress.android.ui.reader.adapters.ReaderBlogAdapter; import org.wordpress.android.ui.reader.adapters.ReaderBlogAdapter.ReaderBlogType; @@ -24,6 +27,10 @@ import org.wordpress.android.ui.reader.views.ReaderRecyclerView; import org.wordpress.android.util.AppLog; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + import javax.inject.Inject; /* @@ -39,6 +46,9 @@ public class ReaderBlogFragment extends Fragment @Inject ReaderTracker mReaderTracker; + private boolean mIsFirstDataLoaded; + private final ReaderBlogList mInitialReaderBlogList = new ReaderBlogList(); + private static final String ARG_BLOG_TYPE = "blog_type"; private static final String KEY_SEARCH_FILTER = "search_filter"; @@ -79,6 +89,21 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, return view; } + public boolean hasChangedSelectedBlogs() { + final Set initialBlogsUrls = new HashSet<>(); + for (final ReaderBlog readerBlog : mInitialReaderBlogList) { + initialBlogsUrls.add(readerBlog.getUrl()); + } + final List currentReaderBlogList = mAdapter.getItems(); + final Set currentBlogsUrls = new HashSet<>(); + if (currentReaderBlogList != null) { + for (final ReaderBlog readerBlog : currentReaderBlogList) { + currentBlogsUrls.add(readerBlog.getUrl()); + } + } + return !(initialBlogsUrls.containsAll(currentBlogsUrls)); + } + private void checkEmptyView() { if (!isAdded() || getView() == null) { return; @@ -147,6 +172,12 @@ public void onResume() { refresh(); } + @Override + public void onAttach(Context context) { + super.onAttach(context); + mIsFirstDataLoaded = true; + } + /* * note this will only be called for followed blogs */ @@ -227,10 +258,14 @@ private ReaderBlogAdapter getBlogAdapter() { ReaderTracker.SOURCE_SETTINGS ); mAdapter.setBlogClickListener(this); - mAdapter.setDataLoadedListener(new ReaderInterfaces.DataLoadedListener() { - @Override - public void onDataLoaded(boolean isEmpty) { - checkEmptyView(); + mAdapter.setDataLoadedListener(isEmpty -> { + checkEmptyView(); + if (mIsFirstDataLoaded) { + mIsFirstDataLoaded = false; + mInitialReaderBlogList.clear(); + if (mAdapter != null && mAdapter.getItems() != null) { + mInitialReaderBlogList.addAll(mAdapter.getItems()); + } } }); } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java index 95b3a32f882b..ba247bd9c463 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java @@ -108,8 +108,10 @@ public void handleOnBackPressed() { boolean shouldRefreshSubscriptions = false; if (mPageAdapter != null) { final ReaderTagFragment readerTagFragment = mPageAdapter.getReaderTagFragment(); - if (readerTagFragment != null) { - shouldRefreshSubscriptions = readerTagFragment.hasChangedSelectedTags(); + final ReaderBlogFragment readerBlogFragment = mPageAdapter.getReaderBlogFragment(); + if (readerTagFragment != null && readerBlogFragment != null) { + shouldRefreshSubscriptions = readerTagFragment.hasChangedSelectedTags() + || readerBlogFragment.hasChangedSelectedBlogs(); } } data.putExtra(RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, shouldRefreshSubscriptions); @@ -592,6 +594,16 @@ private ReaderTagFragment getReaderTagFragment() { return null; } + @Nullable + private ReaderBlogFragment getReaderBlogFragment() { + for (final Fragment fragment : mFragments) { + if (fragment instanceof ReaderBlogFragment) { + return (ReaderBlogFragment) fragment; + } + } + return null; + } + private void refreshBlogFragments(ReaderBlogType blogType) { for (Fragment fragment : mFragments) { if (fragment instanceof ReaderBlogFragment) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java index 0286fe447808..ec3f877200c6 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java @@ -52,8 +52,10 @@ public boolean hasChangedSelectedTags() { } final List currentReaderTagList = getTagAdapter().getItems(); final Set currentTagsSlugs = new HashSet<>(); - for (final ReaderTag readerTag : currentReaderTagList) { - currentTagsSlugs.add(readerTag.getTagSlug()); + if (currentReaderTagList != null) { + for (final ReaderTag readerTag : currentReaderTagList) { + currentTagsSlugs.add(readerTag.getTagSlug()); + } } return !(initialTagsSlugs.containsAll(currentTagsSlugs)); } @@ -102,13 +104,12 @@ private ReaderTagAdapter getTagAdapter() { Context context = WPActivityUtils.getThemedContext(getActivity()); mTagAdapter = new ReaderTagAdapter(context); mTagAdapter.setTagDeletedListener(this); - mTagAdapter.setDataLoadedListener(new ReaderInterfaces.DataLoadedListener() { - @Override - public void onDataLoaded(boolean isEmpty) { - checkEmptyView(); - if (mIsFirstDataLoaded) { - mIsFirstDataLoaded = false; - mInitialReaderTagList.clear(); + mTagAdapter.setDataLoadedListener(isEmpty -> { + checkEmptyView(); + if (mIsFirstDataLoaded) { + mIsFirstDataLoaded = false; + mInitialReaderTagList.clear(); + if (mTagAdapter != null && mTagAdapter.getItems() != null) { mInitialReaderTagList.addAll(mTagAdapter.getItems()); } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java index 095981ff9370..4b782b3d14b8 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java @@ -10,6 +10,7 @@ import android.widget.ImageView; import android.widget.TextView; +import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import org.wordpress.android.R; @@ -99,6 +100,11 @@ public void refresh() { new LoadBlogsTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } + @Nullable + public ReaderBlogList getItems() { + return mFollowedBlogs; + } + private ReaderBlogType getBlogType() { return mBlogType; } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java index 1b4f5ba399ef..5dc99a307cea 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java @@ -9,6 +9,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import org.wordpress.android.R; @@ -93,6 +94,7 @@ public TagViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new TagViewHolder(view); } + @Nullable public ReaderTagList getItems() { return mTags; } From beae7b9a6b07477613506bc2cb0c1f02aedc1d5f Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Thu, 1 Feb 2024 17:59:30 -0300 Subject: [PATCH 021/170] Extract setResult and initReaderSubsActivityResultLauncher methods --- .../ui/reader/ReaderPostListFragment.java | 6 +++- .../android/ui/reader/ReaderSubsActivity.java | 28 +++++++++++-------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java index 47756f2eee02..08e795ff6f88 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java @@ -850,6 +850,10 @@ public void onAttach(@NonNull Context context) { mBottomNavController = (BottomNavController) context; } + initReaderSubsActivityResultLauncher(); + } + + private void initReaderSubsActivityResultLauncher() { mReaderSubsActivityResultLauncher = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), result -> { @@ -859,7 +863,7 @@ public void onAttach(@NonNull Context context) { final boolean shouldRefreshSubscriptions = data.getBooleanExtra(ReaderSubsActivity.RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, false); if (shouldRefreshSubscriptions) { - // TODO refresh tags if list have changed + // TODO refresh chips if there were changes } } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java index ba247bd9c463..8fc981cbaeb5 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java @@ -104,18 +104,7 @@ public void handleOnBackPressed() { EventBus.getDefault().postSticky(new ReaderEvents.TagAdded(mLastAddedTagName)); } mReaderTracker.track(Stat.READER_MANAGE_VIEW_DISMISSED); - final Intent data = new Intent(); - boolean shouldRefreshSubscriptions = false; - if (mPageAdapter != null) { - final ReaderTagFragment readerTagFragment = mPageAdapter.getReaderTagFragment(); - final ReaderBlogFragment readerBlogFragment = mPageAdapter.getReaderBlogFragment(); - if (readerTagFragment != null && readerBlogFragment != null) { - shouldRefreshSubscriptions = readerTagFragment.hasChangedSelectedTags() - || readerBlogFragment.hasChangedSelectedBlogs(); - } - } - data.putExtra(RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, shouldRefreshSubscriptions); - setResult(RESULT_OK, data); + setResult(); CompatExtensionsKt.onBackPressedCompat(getOnBackPressedDispatcher(), this); } }; @@ -185,6 +174,21 @@ public void onPageSelected(int position) { mReaderTracker.track(Stat.READER_MANAGE_VIEW_DISPLAYED); } + private void setResult() { + final Intent data = new Intent(); + boolean shouldRefreshSubscriptions = false; + if (mPageAdapter != null) { + final ReaderTagFragment readerTagFragment = mPageAdapter.getReaderTagFragment(); + final ReaderBlogFragment readerBlogFragment = mPageAdapter.getReaderBlogFragment(); + if (readerTagFragment != null && readerBlogFragment != null) { + shouldRefreshSubscriptions = readerTagFragment.hasChangedSelectedTags() + || readerBlogFragment.hasChangedSelectedBlogs(); + } + } + data.putExtra(RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, shouldRefreshSubscriptions); + setResult(RESULT_OK, data); + } + @Override protected void onPause() { EventBus.getDefault().unregister(this); From 39d6127daea171ab16986230811dae9758071d35 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Thu, 1 Feb 2024 23:22:44 -0300 Subject: [PATCH 022/170] Refresh number of tags in subscriptions chip when returning from manage blogs and tags screen --- .../org/wordpress/android/ui/reader/ReaderBlogFragment.java | 2 +- .../wordpress/android/ui/reader/ReaderPostListFragment.java | 2 +- .../org/wordpress/android/ui/reader/ReaderTagFragment.java | 3 +-- .../wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java index 8be3227aac7c..e168575e0598 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java @@ -101,7 +101,7 @@ public boolean hasChangedSelectedBlogs() { currentBlogsUrls.add(readerBlog.getUrl()); } } - return !(initialBlogsUrls.containsAll(currentBlogsUrls)); + return !(initialBlogsUrls.equals(currentBlogsUrls)); } private void checkEmptyView() { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java index 08e795ff6f88..f499c9b80497 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java @@ -863,7 +863,7 @@ private void initReaderSubsActivityResultLauncher() { final boolean shouldRefreshSubscriptions = data.getBooleanExtra(ReaderSubsActivity.RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, false); if (shouldRefreshSubscriptions) { - // TODO refresh chips if there were changes + mSubFilterViewModel.loadSubFilters(); } } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java index ec3f877200c6..1638e7ae1eb0 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java @@ -18,7 +18,6 @@ import org.wordpress.android.util.AppLog; import org.wordpress.android.util.WPActivityUtils; -import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -57,7 +56,7 @@ public boolean hasChangedSelectedTags() { currentTagsSlugs.add(readerTag.getTagSlug()); } } - return !(initialTagsSlugs.containsAll(currentTagsSlugs)); + return !(initialTagsSlugs.equals(currentTagsSlugs)); } private void checkEmptyView() { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt index 4b6d3b5ce45f..be8d4be71660 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt @@ -466,7 +466,7 @@ class ReaderViewModel @Inject constructor( ) } - fun showTopBarFilterGroup(readerTab: ReaderTag, subFilterItems: List) { + fun showTopBarFilterGroup(readerTag: ReaderTag, subFilterItems: List) { val selectedReaderTag = _topBarUiState.value?.selectedItem?.let { readerTagsList[readerTopBarMenuHelper.getReaderTagIndexFromMenuItem(it)] } ?: return From 62c01d024ce3df39792d3c8119659046dd761afe Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Fri, 2 Feb 2024 14:45:04 -0800 Subject: [PATCH 023/170] Remove independent theme --- .../designsystem/DesignSystemColors.kt | 206 ------------------ .../android/designsystem/DesignSystemTheme.kt | 27 --- 2 files changed, 233 deletions(-) delete mode 100644 WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt delete mode 100644 WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt deleted file mode 100644 index 36ccf4d72b08..000000000000 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemColors.kt +++ /dev/null @@ -1,206 +0,0 @@ -package org.wordpress.android.designsystem - -import androidx.compose.material.Colors -import androidx.compose.runtime.Stable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.setValue -import androidx.compose.runtime.staticCompositionLocalOf -import androidx.compose.runtime.structuralEqualityPolicy -import androidx.compose.ui.graphics.Color - -@Suppress("complexity:LongParameterList") -@Stable -class DesignSystemColors( - primaryForeground: Color, - primaryBackground: Color, - secondaryForeground: Color, - secondaryBackground: Color, - tertiaryForeground: Color, - tertiaryBackground: Color, - quartenaryBackground: Color, - brandForeground: Color, - brandBackground: Color, - error: Color, - warning: Color, - wp: Color, - wpBackground: Color, - isLight: Boolean -) { - var primaryForeground by mutableStateOf(primaryForeground, structuralEqualityPolicy()) - internal set - var primaryBackground by mutableStateOf(primaryBackground, structuralEqualityPolicy()) - internal set - var secondaryForeground by mutableStateOf(secondaryForeground, structuralEqualityPolicy()) - internal set - var secondaryBackground by mutableStateOf(secondaryBackground, structuralEqualityPolicy()) - internal set - var tertiaryForeground by mutableStateOf(tertiaryForeground, structuralEqualityPolicy()) - internal set - var tertiaryBackground by mutableStateOf(tertiaryBackground, structuralEqualityPolicy()) - internal set - var quartenaryBackground by mutableStateOf(quartenaryBackground, structuralEqualityPolicy()) - internal set - var brandForeground by mutableStateOf(brandForeground, structuralEqualityPolicy()) - internal set - var brandBackground by mutableStateOf(brandBackground, structuralEqualityPolicy()) - internal set - var error by mutableStateOf(error, structuralEqualityPolicy()) - internal set - var warning by mutableStateOf(warning, structuralEqualityPolicy()) - internal set - var wp by mutableStateOf(wp, structuralEqualityPolicy()) - internal set - var wpBackground by mutableStateOf(wpBackground, structuralEqualityPolicy()) - internal set - var isLight by mutableStateOf(isLight, structuralEqualityPolicy()) - internal set - - /** - * Returns a copy of this Colors, optionally overriding some of the values. - */ - fun copy( - primaryForeground: Color = this.primaryForeground, - primaryBackground: Color = this.primaryBackground, - secondaryForeground: Color = this.secondaryForeground, - secondaryBackground: Color = this.secondaryBackground, - tertiaryForeground: Color = this.tertiaryForeground, - tertiaryBackground: Color = this.tertiaryBackground, - quartenaryBackground: Color = this.quartenaryBackground, - brandForeground: Color = this.brandForeground, - brandBackground: Color = this.brandBackground, - error: Color = this.error, - warning: Color = this.warning, - wp: Color = this.wp, - wpBackground: Color = this.wpBackground, - isLight: Boolean = this.isLight - ): DesignSystemColors = DesignSystemColors( - primaryForeground, - primaryBackground, - secondaryForeground, - secondaryBackground, - tertiaryForeground, - tertiaryBackground, - quartenaryBackground, - brandForeground, - brandBackground, - error, - warning, - wp, - wpBackground, - isLight - ) - - override fun toString(): String { - return "Colors(" + - "primaryForeground=$primaryForeground, " + - "primaryBackground=$primaryBackground, " + - "secondaryForeground=$secondaryForeground, " + - "secondaryBackground=$secondaryBackground, " + - "tertiaryForeground=$tertiaryForeground, " + - "tertiaryBackground=$tertiaryBackground, " + - "quartenaryBackground=$quartenaryBackground, " + - "brandForeground=$brandForeground, " + - "brandBackground=$brandBackground, " + - "error=$error, " + - "warning=$warning, " + - "wp=$wp, " + - "wpBackground=$wpBackground, " + - "isLight=$isLight" + - ")" - } -} - -/** - * Creates a complete color definition for the Design System light theme. - * - * @see darkColors - */ -fun lightColors( - primaryForeground: Color = DesignSystemAppColor.Black, - primaryBackground: Color = DesignSystemAppColor.White, - secondaryForeground: Color = DesignSystemAppColor.Gray40, - secondaryBackground: Color = DesignSystemAppColor.Gray, - tertiaryForeground: Color = DesignSystemAppColor.Gray50, - tertiaryBackground: Color = DesignSystemAppColor.Gray10, - quartenaryBackground: Color = DesignSystemAppColor.Gray30, - brandForeground: Color = DesignSystemAppColor.Green, - brandBackground: Color = DesignSystemAppColor.Green, - error: Color = DesignSystemAppColor.Red, - warning: Color = DesignSystemAppColor.Orange, - wp: Color = DesignSystemAppColor.Blue, - wpBackground: Color = DesignSystemAppColor.Blue -): DesignSystemColors = DesignSystemColors( - primaryForeground, - primaryBackground, - secondaryForeground, - secondaryBackground, - tertiaryForeground, - tertiaryBackground, - quartenaryBackground, - brandForeground, - brandBackground, - error, - warning, - wp, - wpBackground, - true -) - -/** - * Creates a complete color definition for the Design System dark theme. - * - * @see lightColors - */ -fun darkColors( - primaryForeground: Color = DesignSystemAppColor.White, - primaryBackground: Color = DesignSystemAppColor.Black, - secondaryForeground: Color = DesignSystemAppColor.Gray20, - secondaryBackground: Color = DesignSystemAppColor.Gray70, - tertiaryForeground: Color = DesignSystemAppColor.Gray10, - tertiaryBackground: Color = DesignSystemAppColor.Gray80, - quartenaryBackground: Color = DesignSystemAppColor.Gray60, - brandForeground: Color = DesignSystemAppColor.Green10, - brandBackground: Color = DesignSystemAppColor.Green20, - error: Color = DesignSystemAppColor.Red10, - warning: Color = DesignSystemAppColor.Orange10, - wp: Color = DesignSystemAppColor.Blue10, - wpBackground: Color = DesignSystemAppColor.Blue20 -): DesignSystemColors = DesignSystemColors( - primaryForeground, - primaryBackground, - secondaryForeground, - secondaryBackground, - tertiaryForeground, - tertiaryBackground, - quartenaryBackground, - brandForeground, - brandBackground, - error, - warning, - wp, - wpBackground, - false -) - -internal fun DesignSystemColors.updateColorsFrom(other: DesignSystemColors) { - primaryForeground = other.primaryForeground - primaryBackground = other.primaryBackground - secondaryForeground = other.secondaryForeground - secondaryBackground = other.secondaryBackground - tertiaryForeground = other.tertiaryForeground - tertiaryBackground = other.tertiaryBackground - quartenaryBackground = other.quartenaryBackground - brandForeground = other.brandForeground - error = other.error - warning = other.warning - wp = other.wp - wpBackground = other.wpBackground - isLight = other.isLight -} - -/** - * CompositionLocal used to pass [Colors] down the tree. - */ -internal val LocalColors = staticCompositionLocalOf { lightColors() } - diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt deleted file mode 100644 index 53caf983dd7b..000000000000 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt +++ /dev/null @@ -1,27 +0,0 @@ -package org.wordpress.android.designsystem - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider -import androidx.compose.runtime.ReadOnlyComposable -import androidx.compose.runtime.remember - -@Composable -fun DesignSystemTheme( - colors: DesignSystemColors = DesignSystemTheme.colors, - content: @Composable () -> Unit -) { - val rememberedColors = remember { colors.copy() }.apply { updateColorsFrom(colors) } - CompositionLocalProvider( - LocalColors provides rememberedColors - ) { - content() - } -} - - object DesignSystemTheme { - val colors: DesignSystemColors - @Composable - @ReadOnlyComposable - get() = LocalColors.current - } - From ab145c7686946b9bf903171e9404a7c5b2e09cc5 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Fri, 2 Feb 2024 14:53:30 -0800 Subject: [PATCH 024/170] Create DesignSystemTheme.kt --- .../android/designsystem/DesignSystemTheme.kt | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt new file mode 100644 index 000000000000..6581b6bc180d --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt @@ -0,0 +1,137 @@ +package org.wordpress.android.designsystem + +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.ColorScheme +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.ProvideTextStyle +import androidx.compose.material3.Surface +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.ReadOnlyComposable +import androidx.compose.runtime.staticCompositionLocalOf +import androidx.compose.ui.graphics.Color + +private val localColors = staticCompositionLocalOf { extraPaletteLight } + +@Composable +fun DesignSystemTheme( + isDarkTheme: Boolean = isSystemInDarkTheme(), + content: @Composable () -> Unit +) { + DesignSystemThemeWithoutBackground(isDarkTheme) { + ContentInSurface(content) + } +} + +@Composable +fun DesignSystemThemeWithoutBackground( + isDarkTheme: Boolean = isSystemInDarkTheme(), + content: @Composable () -> Unit +) { + val extraColors = if (isDarkTheme) { + extraPaletteDark + } else { + extraPaletteLight + } + CompositionLocalProvider (localColors provides extraColors) { + MaterialTheme( + colorScheme = if (isDarkTheme) { + darkColorScheme( + primary = DesignSystemAppColor.White, + primaryContainer = DesignSystemAppColor.Black, + secondary = DesignSystemAppColor.Gray20, + secondaryContainer = DesignSystemAppColor.Gray70, + tertiary = DesignSystemAppColor.Gray10, + tertiaryContainer = DesignSystemAppColor.Gray80, + error = DesignSystemAppColor.Red10, + ) + } else { + lightColorScheme( + primary = DesignSystemAppColor.Black, + primaryContainer = DesignSystemAppColor.White, + secondary = DesignSystemAppColor.Gray40, + secondaryContainer = DesignSystemAppColor.Gray, + tertiary = DesignSystemAppColor.Gray50, + tertiaryContainer = DesignSystemAppColor.Gray10, + error = DesignSystemAppColor.Red, + ) + }, + content = content + ) + } +} + +private val extraPaletteLight = ExtraColors( + quartenaryContainer = DesignSystemAppColor.Gray30, + brand = DesignSystemAppColor.Green, + brandContainer = DesignSystemAppColor.Green, + warning = DesignSystemAppColor.Orange, + wp = DesignSystemAppColor.Blue, + wpContainer = DesignSystemAppColor.Blue + ) + +private val extraPaletteDark = ExtraColors( + quartenaryContainer = DesignSystemAppColor.Gray60, + brand = DesignSystemAppColor.Green10, + brandContainer = DesignSystemAppColor.Green20, + warning = DesignSystemAppColor.Orange10, + wp = DesignSystemAppColor.Blue10, + wpContainer = DesignSystemAppColor.Blue20 + ) + +data class ExtraColors( + val quartenaryContainer: Color, + val brand: Color, + val brandContainer: Color, + val warning: Color, + val wp: Color, + val wpContainer: Color, + ) +@Suppress("UnusedReceiverParameter") +val ColorScheme.quartenary + @Composable + @ReadOnlyComposable + get() = localColors.current.quartenaryContainer + +@Suppress("UnusedReceiverParameter") +val ColorScheme.brand + @Composable + @ReadOnlyComposable + get() = localColors.current.brand + +@Suppress("UnusedReceiverParameter") +val ColorScheme.brandContainer + @Composable + @ReadOnlyComposable + get() = localColors.current.brandContainer + +@Suppress("UnusedReceiverParameter") +val ColorScheme.warning + @Composable + @ReadOnlyComposable + get() = localColors.current.warning + +@Suppress("UnusedReceiverParameter") +val ColorScheme.wp + @Composable + @ReadOnlyComposable + get() = localColors.current.wp + +@Suppress("UnusedReceiverParameter") +val ColorScheme.wpContainer + @Composable + @ReadOnlyComposable + get() = localColors.current.wpContainer + +@Composable +private fun ContentInSurface( + content: @Composable () -> Unit +) { + Surface(color = MaterialTheme.colorScheme.background) { + ProvideTextStyle(value = MaterialTheme.typography.bodyMedium) { + content() + } + } +} From c78fb91fb66f8ce0bba299073447043ee023ed22 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Fri, 2 Feb 2024 15:05:53 -0800 Subject: [PATCH 025/170] Update DesignSystemActivity.kt to use new theme --- .../wordpress/android/designsystem/DesignSystemActivity.kt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt index 96857d9b4264..cdfca9f87357 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemActivity.kt @@ -12,8 +12,7 @@ class DesignSystemActivity : LocaleAwareActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { - val colors = if (isSystemInDarkTheme()) darkColors() else lightColors() - DesignSystemTheme(colors) { + DesignSystemTheme(isSystemInDarkTheme()) { DesignSystem(onBackPressedDispatcher::onBackPressed) } } @@ -27,8 +26,7 @@ class DesignSystemActivity : LocaleAwareActivity() { ) @Composable fun PreviewDesignSystemActivity() { - val colors = if (isSystemInDarkTheme()) darkColors() else lightColors() - DesignSystemTheme(colors) { + DesignSystemTheme(isSystemInDarkTheme()) { DesignSystem(onBackPressedDispatcher::onBackPressed) } } From 9e80727b75844baf293b0661666392049c78eb94 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Fri, 2 Feb 2024 15:07:16 -0800 Subject: [PATCH 026/170] Update DesignSystemScreen.kt to use new theme --- .../android/designsystem/DesignSystemScreen.kt | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemScreen.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemScreen.kt index 9d154c4c7b94..bbe2753a09ac 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemScreen.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemScreen.kt @@ -2,11 +2,13 @@ package org.wordpress.android.designsystem import androidx.annotation.StringRes import androidx.compose.foundation.background +import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.widthIn import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -37,7 +39,10 @@ fun SelectOptionButton( Button( onClick = onClick, modifier = modifier.widthIn(min = 250.dp), - colors = ButtonDefaults.buttonColors(containerColor = DesignSystemTheme.colors.brandForeground) + colors = ButtonDefaults.buttonColors( + containerColor = MaterialTheme.colorScheme.brand, + contentColor = MaterialTheme.colorScheme.primaryContainer + ) ) { Text(stringResource(labelResourceId)) } @@ -46,7 +51,9 @@ fun SelectOptionButton( @Preview @Composable fun StartDesignSystemPreview(){ - DesignSystem {} + DesignSystemTheme(isSystemInDarkTheme()) { + DesignSystem {} + } } @Composable @@ -60,13 +67,13 @@ fun DesignSystem( title = stringResource(R.string.preference_design_system), navigationIcon = NavigationIcons.BackIcon, onNavigationIconClick = { onBackTapped() }, - backgroundColor = DesignSystemTheme.colors.primaryBackground, - contentColor = DesignSystemTheme.colors.primaryForeground, + backgroundColor = MaterialTheme.colorScheme.primaryContainer, + contentColor = MaterialTheme.colorScheme.primary, ) } ) { innerPadding -> NavHost( - modifier = Modifier.background(DesignSystemTheme.colors.primaryBackground), + modifier = Modifier.background(MaterialTheme.colorScheme.primaryContainer), navController = navController, startDestination = DesignSystemScreen.Start.name ) { From f9ec23673eb12671ca2eee087e4b7f45fbef6ab6 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Mon, 5 Feb 2024 01:19:34 -0300 Subject: [PATCH 027/170] Fix checkstyle --- .../java/org/wordpress/android/ui/reader/ReaderBlogFragment.java | 1 - 1 file changed, 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java index e168575e0598..39c606e776be 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java @@ -19,7 +19,6 @@ import org.wordpress.android.WordPress; import org.wordpress.android.models.ReaderBlog; import org.wordpress.android.models.ReaderBlogList; -import org.wordpress.android.models.ReaderTagList; import org.wordpress.android.ui.ActionableEmptyView; import org.wordpress.android.ui.reader.adapters.ReaderBlogAdapter; import org.wordpress.android.ui.reader.adapters.ReaderBlogAdapter.ReaderBlogType; From 28c97e25f4ab961308599fdfda2c41a825e22a66 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Mon, 5 Feb 2024 19:47:02 +0300 Subject: [PATCH 028/170] Make TRAFFIC_USE_CASE not singleton --- .../java/org/wordpress/android/ui/stats/refresh/StatsModule.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt index 74984c278010..0954456df7d5 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt @@ -271,7 +271,6 @@ class StatsModule { * @param useCasesFactories build the use cases for the DAYS granularity */ @Provides - @Singleton @Named(TRAFFIC_USE_CASE) @Suppress("LongParameterList") fun provideTrafficUseCase( From 69996b769eaddfc44fc85d5ee7769888fd8f3a3b Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Mon, 5 Feb 2024 19:50:07 +0300 Subject: [PATCH 029/170] Update StatsDateSelector when granularity changed --- .../refresh/lists/sections/granular/SelectedDateProvider.kt | 5 +---- .../android/ui/stats/refresh/utils/StatsDateSelector.kt | 5 +++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/sections/granular/SelectedDateProvider.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/sections/granular/SelectedDateProvider.kt index 1ce18f0db9b7..c4e5c0879c9a 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/sections/granular/SelectedDateProvider.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/sections/granular/SelectedDateProvider.kt @@ -16,7 +16,6 @@ import org.wordpress.android.ui.stats.refresh.utils.trackWithGranularity import org.wordpress.android.util.analytics.AnalyticsTrackerWrapper import org.wordpress.android.util.extensions.getParcelableCompat import org.wordpress.android.util.extensions.readListCompat -import org.wordpress.android.util.filter import java.util.Date import javax.inject.Inject import javax.inject.Singleton @@ -38,9 +37,7 @@ class SelectedDateProvider private val selectedDateChanged = MutableLiveData() - fun granularSelectedDateChanged(statsGranularity: StatsGranularity): LiveData { - return selectedDateChanged.filter { it?.selectedGranularity == statsGranularity } - } + fun granularSelectedDateChanged(): LiveData = selectedDateChanged fun selectDate(date: Date, statsGranularity: StatsGranularity) { val selectedDate = getSelectedDateState(statsGranularity) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsDateSelector.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsDateSelector.kt index bf7d89e37a20..c9b52de596c2 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsDateSelector.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsDateSelector.kt @@ -22,10 +22,11 @@ constructor( private val _dateSelectorUiModel = MutableLiveData() val dateSelectorData: LiveData = _dateSelectorUiModel - val selectedDate = selectedDateProvider.granularSelectedDateChanged(statsGranularity) - .perform { + var selectedDate = selectedDateProvider.granularSelectedDateChanged().perform { + if (statsGranularity == it?.selectedGranularity) { updateDateSelector() } + } fun start(startDate: SelectedDate) { selectedDateProvider.updateSelectedDate(startDate, statsGranularity) From 4d934dae0aff11b7497c3559ac11df523a8157ba Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Mon, 5 Feb 2024 19:56:21 +0300 Subject: [PATCH 030/170] Handle granularity change from TrafficListViewModel --- .../android/ui/stats/refresh/StatsModule.kt | 6 ++- .../ui/stats/refresh/lists/BaseListUseCase.kt | 11 +++++- .../stats/refresh/lists/StatsListFragment.kt | 5 ++- .../stats/refresh/lists/StatsListViewModel.kt | 39 +++++++++++++++---- .../stats/refresh/utils/StatsDateSelector.kt | 2 +- 5 files changed, 52 insertions(+), 11 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt index 0954456df7d5..377388b1113b 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt @@ -62,6 +62,7 @@ import org.wordpress.android.ui.stats.refresh.lists.sections.insights.usecases.T import org.wordpress.android.ui.stats.refresh.lists.sections.insights.usecases.TotalFollowersUseCase.TotalFollowersUseCaseFactory import org.wordpress.android.ui.stats.refresh.lists.sections.insights.usecases.TotalLikesUseCase.TotalLikesUseCaseFactory import org.wordpress.android.ui.stats.refresh.lists.sections.insights.usecases.ViewsAndVisitorsUseCase.ViewsAndVisitorsUseCaseFactory +import org.wordpress.android.ui.stats.refresh.utils.SelectedTrafficGranularityManager import org.wordpress.android.ui.stats.refresh.utils.StatsSiteProvider import javax.inject.Named import javax.inject.Singleton @@ -279,13 +280,16 @@ class StatsModule { @Named(UI_THREAD) mainDispatcher: CoroutineDispatcher, statsSiteProvider: StatsSiteProvider, @Named(GRANULAR_USE_CASE_FACTORIES) useCasesFactories: List<@JvmSuppressWildcards GranularUseCaseFactory>, + selectedTrafficGranularityManager: SelectedTrafficGranularityManager, uiModelMapper: UiModelMapper ): BaseListUseCase { return BaseListUseCase( bgDispatcher, mainDispatcher, statsSiteProvider, - useCasesFactories.map { it.build(DAYS, BLOCK) }, + useCasesFactories.map { + it.build(selectedTrafficGranularityManager.getSelectedTrafficGranularity(), BLOCK) + }, { statsStore.getTimeStatsTypes(it) }, uiModelMapper::mapTimeStats ) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/BaseListUseCase.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/BaseListUseCase.kt index b01c21f2abc7..a64406487935 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/BaseListUseCase.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/BaseListUseCase.kt @@ -22,8 +22,8 @@ import org.wordpress.android.ui.utils.UiString.UiStringRes import org.wordpress.android.util.PackageUtils import org.wordpress.android.util.combineMap import org.wordpress.android.util.distinct -import org.wordpress.android.util.mapSafe import org.wordpress.android.util.mapAsync +import org.wordpress.android.util.mapSafe import org.wordpress.android.util.mergeAsyncNotNull import org.wordpress.android.util.mergeNotNull import org.wordpress.android.viewmodel.Event @@ -147,4 +147,13 @@ class BaseListUseCase( fun onListSelected() { mutableListSelected.call() } + + fun clone(newUseCases: List>) = BaseListUseCase( + bgDispatcher, + mainDispatcher, + statsSiteProvider, + newUseCases, + getStatsTypes, + mapUiModel + ) } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt index 1469325b5c26..2d6a8c78277a 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt @@ -169,7 +169,10 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) { dateSelector.granularitySpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { - selectedTrafficGranularityManager.setSelectedTrafficGranularity(StatsGranularity.entries[position]) + with(StatsGranularity.entries[position]) { + selectedTrafficGranularityManager.setSelectedTrafficGranularity(this) + (viewModel as TrafficListViewModel).onGranularitySelected(this) + } } @Suppress("EmptyFunctionBlock") diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt index 1643bedabaae..dfc27d1db615 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt @@ -43,9 +43,9 @@ const val SCROLL_EVENT_DELAY = 2000L abstract class StatsListViewModel( defaultDispatcher: CoroutineDispatcher, - private val statsUseCase: BaseListUseCase, + protected var statsUseCase: BaseListUseCase, private val analyticsTracker: AnalyticsTrackerWrapper, - protected val dateSelector: StatsDateSelector?, + protected var dateSelector: StatsDateSelector?, popupMenuHandler: ItemPopupMenuHandler? = null, private val newsCardHandler: NewsCardHandler? = null, actionCardHandler: ActionCardHandler? = null @@ -196,15 +196,40 @@ class InsightsListViewModel class TrafficListViewModel @Inject constructor( @Named(UI_THREAD) mainDispatcher: CoroutineDispatcher, - @Named(TRAFFIC_USE_CASE) statsUseCase: BaseListUseCase, + @Named(TRAFFIC_USE_CASE) private val trafficStatsUseCase: BaseListUseCase, analyticsTracker: AnalyticsTrackerWrapper, - dateSelectorFactory: StatsDateSelector.Factory + dateSelectorFactory: StatsDateSelector.Factory, + @Named(GRANULAR_USE_CASE_FACTORIES) + private val useCasesFactories: List<@JvmSuppressWildcards GranularUseCaseFactory>, + private val selectedTrafficGranularityManager: SelectedTrafficGranularityManager, ) : StatsListViewModel( mainDispatcher, - statsUseCase, + trafficStatsUseCase, analyticsTracker, - dateSelectorFactory.build(StatsGranularity.DAYS, isGranularitySpinnerVisible = true) -) + dateSelectorFactory.build( + selectedTrafficGranularityManager.getSelectedTrafficGranularity(), + isGranularitySpinnerVisible = true + ) +) { + fun onGranularitySelected(statsGranularity: StatsGranularity) { + if (dateSelector?.statsGranularity != statsGranularity) { + dateSelector?.statsGranularity = statsGranularity + val newUseCases = useCasesFactories.map { + it.build( + selectedTrafficGranularityManager.getSelectedTrafficGranularity(), + BaseStatsUseCase.UseCaseMode.BLOCK + ) + } + statsUseCase.onCleared() + statsUseCase = statsUseCase.clone(newUseCases) // Create new BaseListUseCase with updated useCases + launch { + statsUseCase.loadData() + dateSelector?.updateDateSelector() + } + setUiLiveData() + } + } +} class YearsListViewModel @Inject constructor( @Named(UI_THREAD) mainDispatcher: CoroutineDispatcher, diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsDateSelector.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsDateSelector.kt index c9b52de596c2..1e092d4f2812 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsDateSelector.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsDateSelector.kt @@ -15,7 +15,7 @@ constructor( private val selectedDateProvider: SelectedDateProvider, private val statsDateFormatter: StatsDateFormatter, private val siteProvider: StatsSiteProvider, - private val statsGranularity: StatsGranularity, + var statsGranularity: StatsGranularity, private val isGranularitySpinnerVisible: Boolean, private val statsTrafficTabFeatureConfig: StatsTrafficTabFeatureConfig ) { From a64917841f4b50539323fc4e650900cad46bdcab Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Mon, 5 Feb 2024 19:57:41 +0300 Subject: [PATCH 031/170] Update LIST_STATS_USE_CASES by state of StatsTrafficTabFeatureConfig --- .../android/ui/stats/refresh/StatsModule.kt | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt index 377388b1113b..08881ec68a44 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsModule.kt @@ -64,6 +64,7 @@ import org.wordpress.android.ui.stats.refresh.lists.sections.insights.usecases.T import org.wordpress.android.ui.stats.refresh.lists.sections.insights.usecases.ViewsAndVisitorsUseCase.ViewsAndVisitorsUseCaseFactory import org.wordpress.android.ui.stats.refresh.utils.SelectedTrafficGranularityManager import org.wordpress.android.ui.stats.refresh.utils.StatsSiteProvider +import org.wordpress.android.util.config.StatsTrafficTabFeatureConfig import javax.inject.Named import javax.inject.Singleton @@ -411,16 +412,20 @@ class StatsModule { @Named(DAY_STATS_USE_CASE) dayStatsUseCase: BaseListUseCase, @Named(WEEK_STATS_USE_CASE) weekStatsUseCase: BaseListUseCase, @Named(MONTH_STATS_USE_CASE) monthStatsUseCase: BaseListUseCase, - @Named(YEAR_STATS_USE_CASE) yearStatsUseCase: BaseListUseCase + @Named(YEAR_STATS_USE_CASE) yearStatsUseCase: BaseListUseCase, + trafficTabFeatureConfig: StatsTrafficTabFeatureConfig ): Map { - return mapOf( - StatsSection.INSIGHTS to insightsUseCase, - StatsSection.TRAFFIC to trafficUseCase, - StatsSection.DAYS to dayStatsUseCase, - StatsSection.WEEKS to weekStatsUseCase, - StatsSection.MONTHS to monthStatsUseCase, - StatsSection.YEARS to yearStatsUseCase - ) + return if (trafficTabFeatureConfig.isEnabled()) { + mapOf(StatsSection.TRAFFIC to trafficUseCase, StatsSection.INSIGHTS to insightsUseCase) + } else { + mapOf( + StatsSection.INSIGHTS to insightsUseCase, + StatsSection.DAYS to dayStatsUseCase, + StatsSection.WEEKS to weekStatsUseCase, + StatsSection.MONTHS to monthStatsUseCase, + StatsSection.YEARS to yearStatsUseCase + ) + } } /** From 707832682d17b18670f79723bffccbfae3a29c0e Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Mon, 5 Feb 2024 20:04:49 +0300 Subject: [PATCH 032/170] Observe use case changes from StatsListFragment --- .../stats/refresh/lists/StatsListFragment.kt | 23 +++++++------- .../stats/refresh/lists/StatsListViewModel.kt | 30 ++++++++++++++----- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt index 2d6a8c78277a..01dc2cb9d3bb 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt @@ -238,8 +238,8 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) { } private fun StatsListFragmentBinding.setupObservers(activity: FragmentActivity) { - viewModel.uiModel.observe(viewLifecycleOwner) { - showUiModel(it) + viewModel.uiSourceUpdated.observe(viewLifecycleOwner) { + observeUiChanges(activity) } viewModel.dateSelectorData.observe(viewLifecycleOwner) { dateSelectorUiModel -> @@ -251,20 +251,12 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) { } } - viewModel.navigationTarget.observeEvent(viewLifecycleOwner) { target -> - navigator.navigate(activity, target) - } - viewModel.selectedDate?.observe(viewLifecycleOwner) { event -> if (event != null) { viewModel.onDateChanged(event.selectedGranularity) } } - viewModel.listSelected.observe(viewLifecycleOwner) { - viewModel.onListSelected() - } - viewModel.typesChanged.observeEvent(viewLifecycleOwner) { viewModel.onTypesChanged() } @@ -274,6 +266,16 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) { recyclerView.smoothScrollToPosition(adapter.positionOf(statsType)) } } + } + + private fun StatsListFragmentBinding.observeUiChanges(activity: FragmentActivity) { + viewModel.uiModel.observe(viewLifecycleOwner) { + showUiModel(it) + } + + viewModel.navigationTarget.observeEvent(viewLifecycleOwner) { target -> navigator.navigate(activity, target) } + + viewModel.listSelected.observe(viewLifecycleOwner) { viewModel.onListSelected() } viewModel.scrollToNewCard.observeEvent(viewLifecycleOwner) { (recyclerView.adapter as? StatsBlockAdapter)?.let { adapter -> @@ -334,6 +336,7 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) { val layoutManager = recyclerView.layoutManager val recyclerViewState = layoutManager?.onSaveInstanceState() adapter.update(statsState) + recyclerView.scrollToPosition(0) layoutManager?.onRestoreInstanceState(recyclerViewState) } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt index dfc27d1db615..3d1fd90673cf 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt @@ -11,8 +11,10 @@ import kotlinx.coroutines.delay import org.wordpress.android.R import org.wordpress.android.analytics.AnalyticsTracker.Stat import org.wordpress.android.fluxc.network.utils.StatsGranularity +import org.wordpress.android.fluxc.store.StatsStore import org.wordpress.android.modules.UI_THREAD import org.wordpress.android.ui.stats.refresh.DAY_STATS_USE_CASE +import org.wordpress.android.ui.stats.refresh.GRANULAR_USE_CASE_FACTORIES import org.wordpress.android.ui.stats.refresh.INSIGHTS_USE_CASE import org.wordpress.android.ui.stats.refresh.MONTH_STATS_USE_CASE import org.wordpress.android.ui.stats.refresh.NavigationTarget @@ -25,9 +27,12 @@ import org.wordpress.android.ui.stats.refresh.TRAFFIC_USE_CASE import org.wordpress.android.ui.stats.refresh.VIEWS_AND_VISITORS_USE_CASE import org.wordpress.android.ui.stats.refresh.WEEK_STATS_USE_CASE import org.wordpress.android.ui.stats.refresh.YEAR_STATS_USE_CASE +import org.wordpress.android.ui.stats.refresh.lists.sections.BaseStatsUseCase +import org.wordpress.android.ui.stats.refresh.lists.sections.granular.GranularUseCaseFactory import org.wordpress.android.ui.stats.refresh.utils.ActionCardHandler import org.wordpress.android.ui.stats.refresh.utils.ItemPopupMenuHandler import org.wordpress.android.ui.stats.refresh.utils.NewsCardHandler +import org.wordpress.android.ui.stats.refresh.utils.SelectedTrafficGranularityManager import org.wordpress.android.ui.stats.refresh.utils.StatsDateSelector import org.wordpress.android.util.analytics.AnalyticsTrackerWrapper import org.wordpress.android.util.mapNullable @@ -36,6 +41,7 @@ import org.wordpress.android.util.mergeNotNull import org.wordpress.android.util.throttle import org.wordpress.android.viewmodel.Event import org.wordpress.android.viewmodel.ScopedViewModel +import org.wordpress.android.viewmodel.SingleLiveEvent import javax.inject.Inject import javax.inject.Named @@ -71,15 +77,14 @@ abstract class StatsListViewModel( val selectedDate = dateSelector?.selectedDate private val mutableNavigationTarget = MutableLiveData>() - val navigationTarget: LiveData> = mergeNotNull( - statsUseCase.navigationTarget, mutableNavigationTarget - ) + lateinit var navigationTarget: LiveData> - val listSelected = statsUseCase.listSelected + lateinit var listSelected: LiveData - val uiModel: LiveData by lazy { - statsUseCase.data.throttle(viewModelScope, distinct = true) - } + private val mutableUiSourceUpdated = SingleLiveEvent() + val uiSourceUpdated: LiveData = mutableUiSourceUpdated + + lateinit var uiModel: LiveData val dateSelectorData: LiveData = dateSelector?.dateSelectorData?.mapNullable { it ?: DateSelectorUiModel(false) @@ -93,7 +98,7 @@ abstract class StatsListViewModel( val scrollTo = newsCardHandler?.scrollTo - val scrollToNewCard = statsUseCase.scrollTo + lateinit var scrollToNewCard: LiveData> override fun onCleared() { statsUseCase.onCleared() @@ -150,6 +155,7 @@ abstract class StatsListViewModel( fun start() { if (!isInitialized) { isInitialized = true + setUiLiveData() launch { statsUseCase.loadData() dateSelector?.updateDateSelector() @@ -158,6 +164,14 @@ abstract class StatsListViewModel( dateSelector?.updateDateSelector() } + protected fun setUiLiveData() { + uiModel = statsUseCase.data.throttle(viewModelScope, distinct = true) + listSelected = statsUseCase.listSelected + navigationTarget = mergeNotNull(statsUseCase.navigationTarget, mutableNavigationTarget) + scrollToNewCard = statsUseCase.scrollTo + mutableUiSourceUpdated.call() + } + sealed class UiModel { data class Success(val data: List) : UiModel() data class Error(val message: Int = R.string.stats_loading_error) : UiModel() From 3c71970ba17a0be45a363c9f9ca424170b4d8234 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Mon, 5 Feb 2024 20:13:06 +0300 Subject: [PATCH 033/170] Fix `StatsDateSelectorTest` --- .../android/ui/stats/refresh/lists/StatsDateSelectorTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/lists/StatsDateSelectorTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/lists/StatsDateSelectorTest.kt index af7fd0adf5f2..48ba3faf6764 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/lists/StatsDateSelectorTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/lists/StatsDateSelectorTest.kt @@ -44,7 +44,7 @@ class StatsDateSelectorTest : BaseUnitTest() { @Before fun setUp() { dateProviderSelectedDate.value = GranularityChange(statsGranularity) - whenever(selectedDateProvider.granularSelectedDateChanged(statsGranularity)) + whenever(selectedDateProvider.granularSelectedDateChanged()) .thenReturn(dateProviderSelectedDate) dateSelector = StatsDateSelector( From b3147f98d1e73b087dd1f6225ec62b1b113be4d8 Mon Sep 17 00:00:00 2001 From: Aditi Bhatia Date: Mon, 5 Feb 2024 11:42:01 -0800 Subject: [PATCH 034/170] Move out light/dark scheme definitions to separate variables --- .../android/designsystem/DesignSystemTheme.kt | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt index 6581b6bc180d..42e76196ac5e 100644 --- a/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt +++ b/WordPress/src/main/java/org/wordpress/android/designsystem/DesignSystemTheme.kt @@ -35,33 +35,33 @@ fun DesignSystemThemeWithoutBackground( } else { extraPaletteLight } + CompositionLocalProvider (localColors provides extraColors) { MaterialTheme( - colorScheme = if (isDarkTheme) { - darkColorScheme( - primary = DesignSystemAppColor.White, - primaryContainer = DesignSystemAppColor.Black, - secondary = DesignSystemAppColor.Gray20, - secondaryContainer = DesignSystemAppColor.Gray70, - tertiary = DesignSystemAppColor.Gray10, - tertiaryContainer = DesignSystemAppColor.Gray80, - error = DesignSystemAppColor.Red10, - ) - } else { - lightColorScheme( - primary = DesignSystemAppColor.Black, - primaryContainer = DesignSystemAppColor.White, - secondary = DesignSystemAppColor.Gray40, - secondaryContainer = DesignSystemAppColor.Gray, - tertiary = DesignSystemAppColor.Gray50, - tertiaryContainer = DesignSystemAppColor.Gray10, - error = DesignSystemAppColor.Red, - ) - }, + colorScheme = if (isDarkTheme) paletteDarkScheme else paletteLightScheme, content = content ) } } +private val paletteLightScheme = lightColorScheme( + primary = DesignSystemAppColor.Black, + primaryContainer = DesignSystemAppColor.White, + secondary = DesignSystemAppColor.Gray40, + secondaryContainer = DesignSystemAppColor.Gray, + tertiary = DesignSystemAppColor.Gray50, + tertiaryContainer = DesignSystemAppColor.Gray10, + error = DesignSystemAppColor.Red, + ) + +private val paletteDarkScheme = darkColorScheme( + primary = DesignSystemAppColor.White, + primaryContainer = DesignSystemAppColor.Black, + secondary = DesignSystemAppColor.Gray20, + secondaryContainer = DesignSystemAppColor.Gray70, + tertiary = DesignSystemAppColor.Gray10, + tertiaryContainer = DesignSystemAppColor.Gray80, + error = DesignSystemAppColor.Red10, + ) private val extraPaletteLight = ExtraColors( quartenaryContainer = DesignSystemAppColor.Gray30, From 7b51bf27d5f03c912bd52c63e87c1f97063fd150 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Mon, 5 Feb 2024 18:31:27 -0300 Subject: [PATCH 035/170] Remove logic that makes latest added tag selected when moving to Reader feed from manage blogs and tags screen --- .../org/wordpress/android/ui/reader/ReaderSubsActivity.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java index 8fc981cbaeb5..3f462b6b7b1f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java @@ -100,9 +100,6 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { OnBackPressedCallback callback = new OnBackPressedCallback(true) { @Override public void handleOnBackPressed() { - if (!TextUtils.isEmpty(mLastAddedTagName)) { - EventBus.getDefault().postSticky(new ReaderEvents.TagAdded(mLastAddedTagName)); - } mReaderTracker.track(Stat.READER_MANAGE_VIEW_DISMISSED); setResult(); CompatExtensionsKt.onBackPressedCompat(getOnBackPressedDispatcher(), this); From 7cc8a3275e68969441c48f160d0665825af3a920 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Mon, 5 Feb 2024 21:31:40 +0000 Subject: [PATCH 036/170] Bump version number --- version.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.properties b/version.properties index 2d7244af2f5d..bebb7d297a3d 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -versionName=24.1 -versionCode=1406 \ No newline at end of file +versionName=24.2-rc-1 +versionCode=1407 \ No newline at end of file From c54f258e1bdce9ed0a95eac59fca1f849ee6b58d Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Mon, 5 Feb 2024 21:31:40 +0000 Subject: [PATCH 037/170] Update draft release notes for 24.2. --- WordPress/metadata/release_notes.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/WordPress/metadata/release_notes.txt b/WordPress/metadata/release_notes.txt index ab3a2cba51aa..0a10f2d83d1c 100644 --- a/WordPress/metadata/release_notes.txt +++ b/WordPress/metadata/release_notes.txt @@ -1,4 +1,5 @@ -- Get notified when you’re working offline. -- Image block uploads pause when you lose internet and resume when you reconnect. -- Select a custom gradient in the editor and see a color indicator. -- “Forward” and “back” arrows are correct for right-to-left readers. +* [**] Fix editor crash occurring on large posts [https://github.com/wordpress-mobile/WordPress-Android/pull/20046] +* [*] [Jetpack-only] Site Monitoring: Add Metrics, PHP Logs, and Web Server Logs under Site Monitoring [https://github.com/wordpress-mobile/WordPress-Android/issues/20067] +* [**] Prevent images from temporarily disappearing when uploading media [https://github.com/WordPress/gutenberg/pull/57869] +* [***] [Jetpack-only] Reader: introduced new UI/UX for content navigation and filtering [https://github.com/wordpress-mobile/WordPress-Android/pull/19978] + From 9f88fa52a34e42cb61f5a7a0d305015f2f3e08f2 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Mon, 5 Feb 2024 21:31:40 +0000 Subject: [PATCH 038/170] Update draft release notes for Jetpack 24.2. --- WordPress/jetpack_metadata/release_notes.txt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/WordPress/jetpack_metadata/release_notes.txt b/WordPress/jetpack_metadata/release_notes.txt index e7b4006244cd..0a10f2d83d1c 100644 --- a/WordPress/jetpack_metadata/release_notes.txt +++ b/WordPress/jetpack_metadata/release_notes.txt @@ -1,6 +1,5 @@ -- Get notified when you’re working offline. -- Image block uploads pause/resume with internet connection. -- See custom gradient selections in the editor. -- Fixed forward/back arrows for right-to-left readers. -- Daily Prompt tags work properly. -- Tap Site Domain cards to manage domains. +* [**] Fix editor crash occurring on large posts [https://github.com/wordpress-mobile/WordPress-Android/pull/20046] +* [*] [Jetpack-only] Site Monitoring: Add Metrics, PHP Logs, and Web Server Logs under Site Monitoring [https://github.com/wordpress-mobile/WordPress-Android/issues/20067] +* [**] Prevent images from temporarily disappearing when uploading media [https://github.com/WordPress/gutenberg/pull/57869] +* [***] [Jetpack-only] Reader: introduced new UI/UX for content navigation and filtering [https://github.com/wordpress-mobile/WordPress-Android/pull/19978] + From bf06328b1a72a9918497ad8b959be21b1fcaefd9 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Mon, 5 Feb 2024 21:31:40 +0000 Subject: [PATCH 039/170] Release Notes: add new section for next version (24.3) --- RELEASE-NOTES.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 652806339579..ae53f411fddc 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,5 +1,9 @@ *** PLEASE FOLLOW THIS FORMAT: [] [] +24.3 +----- + + 24.2 ----- * [**] Fix editor crash occurring on large posts [https://github.com/wordpress-mobile/WordPress-Android/pull/20046] From 23e8fa3923d022d951a921a9fa1a11ca387d26aa Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Mon, 5 Feb 2024 18:39:25 -0300 Subject: [PATCH 040/170] Remove hasChangedSelectedBlogs logic --- .../android/ui/reader/ReaderBlogFragment.java | 15 --------------- .../android/ui/reader/ReaderSubsActivity.java | 3 +-- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java index 39c606e776be..1499b95422ee 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java @@ -88,21 +88,6 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, return view; } - public boolean hasChangedSelectedBlogs() { - final Set initialBlogsUrls = new HashSet<>(); - for (final ReaderBlog readerBlog : mInitialReaderBlogList) { - initialBlogsUrls.add(readerBlog.getUrl()); - } - final List currentReaderBlogList = mAdapter.getItems(); - final Set currentBlogsUrls = new HashSet<>(); - if (currentReaderBlogList != null) { - for (final ReaderBlog readerBlog : currentReaderBlogList) { - currentBlogsUrls.add(readerBlog.getUrl()); - } - } - return !(initialBlogsUrls.equals(currentBlogsUrls)); - } - private void checkEmptyView() { if (!isAdded() || getView() == null) { return; diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java index 3f462b6b7b1f..9b0d02c08482 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java @@ -178,8 +178,7 @@ private void setResult() { final ReaderTagFragment readerTagFragment = mPageAdapter.getReaderTagFragment(); final ReaderBlogFragment readerBlogFragment = mPageAdapter.getReaderBlogFragment(); if (readerTagFragment != null && readerBlogFragment != null) { - shouldRefreshSubscriptions = readerTagFragment.hasChangedSelectedTags() - || readerBlogFragment.hasChangedSelectedBlogs(); + shouldRefreshSubscriptions = readerTagFragment.hasChangedSelectedTags(); } } data.putExtra(RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, shouldRefreshSubscriptions); From b17aacc2337587dadbe4c18d6a61c4f5e018c58d Mon Sep 17 00:00:00 2001 From: Spencer Transier Date: Mon, 5 Feb 2024 13:43:37 -0800 Subject: [PATCH 041/170] Remove unrelated release notes for WP/JP --- WordPress/jetpack_metadata/release_notes.txt | 1 - WordPress/metadata/release_notes.txt | 3 --- 2 files changed, 4 deletions(-) diff --git a/WordPress/jetpack_metadata/release_notes.txt b/WordPress/jetpack_metadata/release_notes.txt index 0a10f2d83d1c..2a490f10579f 100644 --- a/WordPress/jetpack_metadata/release_notes.txt +++ b/WordPress/jetpack_metadata/release_notes.txt @@ -2,4 +2,3 @@ * [*] [Jetpack-only] Site Monitoring: Add Metrics, PHP Logs, and Web Server Logs under Site Monitoring [https://github.com/wordpress-mobile/WordPress-Android/issues/20067] * [**] Prevent images from temporarily disappearing when uploading media [https://github.com/WordPress/gutenberg/pull/57869] * [***] [Jetpack-only] Reader: introduced new UI/UX for content navigation and filtering [https://github.com/wordpress-mobile/WordPress-Android/pull/19978] - diff --git a/WordPress/metadata/release_notes.txt b/WordPress/metadata/release_notes.txt index 0a10f2d83d1c..d4aea576c6dd 100644 --- a/WordPress/metadata/release_notes.txt +++ b/WordPress/metadata/release_notes.txt @@ -1,5 +1,2 @@ * [**] Fix editor crash occurring on large posts [https://github.com/wordpress-mobile/WordPress-Android/pull/20046] -* [*] [Jetpack-only] Site Monitoring: Add Metrics, PHP Logs, and Web Server Logs under Site Monitoring [https://github.com/wordpress-mobile/WordPress-Android/issues/20067] * [**] Prevent images from temporarily disappearing when uploading media [https://github.com/WordPress/gutenberg/pull/57869] -* [***] [Jetpack-only] Reader: introduced new UI/UX for content navigation and filtering [https://github.com/wordpress-mobile/WordPress-Android/pull/19978] - From dc9d7c1c5221088e62fb26cd31d457dad04a4560 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Mon, 5 Feb 2024 21:46:44 +0000 Subject: [PATCH 042/170] Freeze strings for translation --- fastlane/resources/values/strings.xml | 162 +++++++++++++++++--------- 1 file changed, 105 insertions(+), 57 deletions(-) diff --git a/fastlane/resources/values/strings.xml b/fastlane/resources/values/strings.xml index 4c38e8df0c9c..1c2a647c5c95 100644 --- a/fastlane/resources/values/strings.xml +++ b/fastlane/resources/values/strings.xml @@ -958,6 +958,10 @@ Design System Foundation Components + Colors + Fonts + Lengths + DSButton Stats @@ -1280,6 +1284,10 @@ Weeks Months Years + By day + By week + By month + By year Last 7-days Previous 7-days Views @@ -1630,9 +1638,21 @@ Reader Filter - Sites - Topics - Following + Filter by blog + Filter by tag + See the newest posts from blogs you\'re subscribed to + You can subscribe to posts on a specific subject by adding a tag + Log in to WordPress.com to see the latest posts from blogs you\'re subscribed to + Log in to WordPress.com to see the latest posts from tags you\'re subscribed to + Subscribe to a blog + Add a tag + No blog subscriptions + Subscribe to blogs in Discover and you’ll see their latest posts here. Or search for a blog that you like already. + No tags + Subscribe to a tag and you’ll be able to see the best posts from it here. + Search for a blog + Suggested tags + Subscribe to a tag Log in to WordPress.com \u0020\u2022\u0020 There was a problem handling the request. Please try again later. @@ -1640,12 +1660,16 @@ +%1$s Hide You might like + Blogs to subscribe to You might like By %1$s more items Welcome! + Subscribe to tags to discover new blogs No recent posts + Try subscribing to more tags to broaden the search Get Started + Subscribe to tags %1$s ▸ %2$s No response received Invalid response received @@ -1665,6 +1689,19 @@ Marked post as seen Marked post as unseen Can\'t toggle seen status of this post + Search + Discover + Subscriptions + Saved + Liked + Automattic + Lists + 0 Blogs + 1 Blog + %d Blogs + 0 Tags + 1 Tag + %d Tags Post saved online @@ -2044,6 +2081,7 @@ Saved Discover Likes + Subscribed now @@ -2056,21 +2094,22 @@ Application log - Reader Site - Topic + Reader Blog + Tag Reader Post Related Post - Manage Topics & Sites + Manage Tags & Blogs %1$d of %2$d @string/comments + Follow tags - Followed topics - Followed sites + Subscribed tags + Subscribed blogs - Edit topics and sites - Block this site + Edit tags and blogs + Block this blog Report this post Report this user Mark as seen @@ -2079,14 +2118,17 @@ Share + Follow + Subscribe + Subscribed Save Saved Add to saved posts Remove from saved posts View All Post saved - Turn off site notifications - Turn on site notifications + Turn off blog notifications + Turn on blog notifications Select a few to continue Done Follow conversation by email @@ -2095,9 +2137,8 @@ Remove the current filter - Select a Site or Tag to filter posts - Select a Tag or Site, Pop Up Window - Choose your topics + Select a Tag or Blog, Pop Up Window + Choose your tags Enable notifications for %1$s%2$s%3$s? Enable @@ -2106,27 +2147,27 @@ Reply to post… Reply to comment… - Enter a URL or topic to follow + Enter a URL or tag to subscribe to Search WordPress - Search followed sites + Search subscribed blogs New posts Tap to show them Added %s Removed %s - Site followed + Blog subscribed Comments are closed View original article - %,d Followers - %s followers - 1 follower + %,d Subscribers + %s subscribers + 1 subscriber Load more posts What would you like to find? More from %s More on WordPress.com Visit site - Choose your topics + Choose your interests View comments Welcome to Reader. Discover millions of blogs at your fingertips. Back @@ -2134,9 +2175,9 @@ Reblog - No available WordPress.com sites - Once you create a WordPress.com site, you can reblog content that you like to your own site. - Manage Sites + No available WordPress.com blogs + Once you create a WordPress.com blog, you can reblog content that you like to your own site. + Manage Blogs Reblog failed Continue @@ -2157,20 +2198,20 @@ Couldn\'t post your comment - You already follow this topic - That isn\'t a valid topic - Unable to add this topic - Unable to remove this topic + You\'re already subscribed to this tag + That isn\'t a valid tag + Unable to add this tag + Unable to remove this tag Unable to share Unable to view image - Unable to show this site - You already follow this site - Unable to follow this site - This site could not be found - You are not authorized to access this site - Unable to unfollow this site - Posts from this site will no longer be shown - Unable to block this site + Unable to show this blog + You are already subscribed to this blog + Unable to subscribe to this blog + This blog could not be found + You are not authorized to access this blog + Unable to unsubscribe from blog + Posts from this blog will no longer be shown + Unable to block this blog Posts from this user will no longer be shown Unable to perform this action Failed to like this post @@ -2194,19 +2235,20 @@ @string/no_network_title Unable to retrieve posts Use the filter button to find posts on specific subjects - No posts with this topic + No posts with this tag Fetching posts… - The sites in this list haven\'t posted anything recently - Add topics here to find posts about your favorite topics - No followed topics - No recommended sites - No followed sites - No sites matching your search - When you follow sites, you\'ll see their content here + The blogs in this list have not posted anything recently + Add tags here to find posts about your favorite topics + No subscribed tags + No recommended blogs + @string/reader_filter_empty_blogs_list_title + No blogs matching your search + @string/reader_filter_empty_blogs_list_text + Subscribe to blogs in Discover or search for a blog that you like already. No recent posts - The sites you follow haven\'t posted anything recently - Discover sites - Go to following + The blogs you\'re subscribed to haven\'t posted anything recently + Discover blogs + Go to subscriptions Nothing liked yet Posts that you like will appear here No posts saved — yet! @@ -2218,7 +2260,7 @@ View all comments Be the first to comment Follow Conversation - This site is empty + This blog is empty No results found No results found for %s for your language Unable to perform search @@ -4785,14 +4827,14 @@ translators: %s: Select control option value e.g: "Auto, 25%". --> - Scan Barcode - Camera permission is required to scan the barcode. - Grant Camera Permission - Camera permission is required in order to scan the barcode - You have permanently denied Camera permission. It is required in order to scan the barcode. Please enable it from the app settings - Grant - Cancel - Go to settings + Scan Barcode + Camera permission is required to scan the barcode. + Grant Camera Permission + Camera permission is required in order to scan the barcode + You have permanently denied Camera permission. It is required in order to scan the barcode. Please enable it from the app settings + Grant + Cancel + Go to settings Use a security key There was some trouble with the Security key login @@ -4830,4 +4872,10 @@ translators: %s: Select control option value e.g: "Auto, 25%". --> Working Offline Waiting for connection + + Site Monitoring + Metrics + PHP Logs + Web Server Logs + We cannot open site monitoring at the moment. Please try again later From bcc72b87ac17c8080d9955d85e11f7123c637d95 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Mon, 5 Feb 2024 20:09:07 -0300 Subject: [PATCH 043/170] Fix checkstyle --- .../org/wordpress/android/ui/reader/ReaderBlogFragment.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java index 1499b95422ee..3447a649800a 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java @@ -26,10 +26,6 @@ import org.wordpress.android.ui.reader.views.ReaderRecyclerView; import org.wordpress.android.util.AppLog; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - import javax.inject.Inject; /* From e4c4f93d1ec772b864ee84ef79113de63cd78a6d Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Tue, 6 Feb 2024 11:48:02 -0300 Subject: [PATCH 044/170] Remove unused code --- .../android/ui/reader/ReaderBlogFragment.java | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java index 3447a649800a..642aaae12480 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java @@ -41,9 +41,6 @@ public class ReaderBlogFragment extends Fragment @Inject ReaderTracker mReaderTracker; - private boolean mIsFirstDataLoaded; - private final ReaderBlogList mInitialReaderBlogList = new ReaderBlogList(); - private static final String ARG_BLOG_TYPE = "blog_type"; private static final String KEY_SEARCH_FILTER = "search_filter"; @@ -152,12 +149,6 @@ public void onResume() { refresh(); } - @Override - public void onAttach(Context context) { - super.onAttach(context); - mIsFirstDataLoaded = true; - } - /* * note this will only be called for followed blogs */ @@ -240,13 +231,6 @@ private ReaderBlogAdapter getBlogAdapter() { mAdapter.setBlogClickListener(this); mAdapter.setDataLoadedListener(isEmpty -> { checkEmptyView(); - if (mIsFirstDataLoaded) { - mIsFirstDataLoaded = false; - mInitialReaderBlogList.clear(); - if (mAdapter != null && mAdapter.getItems() != null) { - mInitialReaderBlogList.addAll(mAdapter.getItems()); - } - } }); } return mAdapter; From 9196d36f2fe9f0c3b3d10a73a19a5e6c4f6725f5 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Tue, 6 Feb 2024 11:56:51 -0300 Subject: [PATCH 045/170] Fix checkstyle --- .../org/wordpress/android/ui/reader/ReaderBlogFragment.java | 2 -- .../android/ui/reader/adapters/ReaderBlogAdapter.java | 5 ----- 2 files changed, 7 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java index 642aaae12480..33ea702b6a9c 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderBlogFragment.java @@ -1,6 +1,5 @@ package org.wordpress.android.ui.reader; -import android.content.Context; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; @@ -18,7 +17,6 @@ import org.wordpress.android.R; import org.wordpress.android.WordPress; import org.wordpress.android.models.ReaderBlog; -import org.wordpress.android.models.ReaderBlogList; import org.wordpress.android.ui.ActionableEmptyView; import org.wordpress.android.ui.reader.adapters.ReaderBlogAdapter; import org.wordpress.android.ui.reader.adapters.ReaderBlogAdapter.ReaderBlogType; diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java index 4b782b3d14b8..064a219152aa 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java @@ -100,11 +100,6 @@ public void refresh() { new LoadBlogsTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } - @Nullable - public ReaderBlogList getItems() { - return mFollowedBlogs; - } - private ReaderBlogType getBlogType() { return mBlogType; } From 16cae761c49ee4f3775d7760ed73f1693cb175f1 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Tue, 6 Feb 2024 12:04:57 -0300 Subject: [PATCH 046/170] Remove unused import from ReaderBlogAdapter --- .../wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java | 1 - 1 file changed, 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java index 064a219152aa..095981ff9370 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java @@ -10,7 +10,6 @@ import android.widget.ImageView; import android.widget.TextView; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import org.wordpress.android.R; From e97bad868116a224a24d89dd101e265e2182e764 Mon Sep 17 00:00:00 2001 From: Thomas Horta Date: Mon, 5 Feb 2024 18:29:00 -0300 Subject: [PATCH 047/170] Delete unused old top bar and associated resources --- .../android/ui/reader/ReaderFragment.kt | 55 +-------------- .../ui/reader/viewmodels/ReaderViewModel.kt | 62 +---------------- ...eader_home_settings_menu_action_layout.xml | 36 ---------- WordPress/src/main/res/menu/reader_home.xml | 17 ----- .../reader/viewmodels/ReaderViewModelTest.kt | 69 +++---------------- 5 files changed, 13 insertions(+), 226 deletions(-) delete mode 100644 WordPress/src/main/res/layout/reader_home_settings_menu_action_layout.xml delete mode 100644 WordPress/src/main/res/menu/reader_home.xml diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt index 49bc8607a84c..28397a28fb70 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt @@ -1,14 +1,10 @@ package org.wordpress.android.ui.reader import android.os.Bundle -import android.view.Menu -import android.view.MenuInflater -import android.view.MenuItem import android.view.View import androidx.compose.runtime.getValue import androidx.compose.runtime.livedata.observeAsState import androidx.compose.ui.platform.ViewCompositionStrategy -import androidx.core.view.MenuProvider import androidx.core.view.isVisible import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider @@ -48,12 +44,11 @@ import org.wordpress.android.util.SnackbarItem.Action import org.wordpress.android.util.SnackbarItem.Info import org.wordpress.android.util.SnackbarSequencer import org.wordpress.android.viewmodel.observeEvent -import org.wordpress.android.widgets.QuickStartFocusPoint import java.util.EnumSet import javax.inject.Inject @AndroidEntryPoint -class ReaderFragment : Fragment(R.layout.reader_fragment_layout), MenuProvider, ScrollableViewInitializedListener { +class ReaderFragment : Fragment(R.layout.reader_fragment_layout), ScrollableViewInitializedListener { @Inject lateinit var viewModelFactory: ViewModelProvider.Factory @@ -70,14 +65,9 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), MenuProvider, lateinit var snackbarSequencer: SnackbarSequencer private lateinit var viewModel: ReaderViewModel - private var searchMenuItem: MenuItem? = null - private var settingsMenuItem: MenuItem? = null - private var settingsMenuItemFocusPoint: QuickStartFocusPoint? = null - private var binding: ReaderFragmentLayoutBinding? = null override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - requireActivity().addMenuProvider(this, viewLifecycleOwner) binding = ReaderFragmentLayoutBinding.bind(view).apply { initTopAppBar() initViewModel(savedInstanceState) @@ -86,9 +76,6 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), MenuProvider, override fun onDestroyView() { super.onDestroyView() - searchMenuItem = null - settingsMenuItem = null - settingsMenuItemFocusPoint = null binding = null } @@ -102,36 +89,6 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), MenuProvider, activity?.let { viewModel.onScreenInBackground(it.isChangingConfigurations) } } - override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) { - menuInflater.inflate(R.menu.reader_home, menu) - menu.findItem(R.id.menu_search).apply { - searchMenuItem = this - this.isVisible = viewModel.uiState.value?.searchMenuItemUiState?.isVisible ?: false - } - menu.findItem(R.id.menu_settings).apply { - settingsMenuItem = this - settingsMenuItemFocusPoint = this.actionView?.findViewById(R.id.menu_quick_start_focus_point) - this.isVisible = viewModel.uiState.value?.settingsMenuItemUiState?.isVisible ?: false - settingsMenuItemFocusPoint?.isVisible = - viewModel.uiState.value?.settingsMenuItemUiState?.showQuickStartFocusPoint ?: false - this.actionView?.setOnClickListener { viewModel.onSettingsActionClicked() } - } - } - - override fun onMenuItemSelected(menuItem: MenuItem) = when (menuItem.itemId) { - R.id.menu_search -> { - viewModel.onSearchActionClicked() - true - } - - R.id.menu_settings -> { - viewModel.onSettingsActionClicked() - true - } - - else -> false - } - private fun ReaderFragmentLayoutBinding.initTopAppBar() { readerTopBarComposeView.apply { setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) @@ -171,10 +128,6 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), MenuProvider, ReaderActivityLauncher.showReaderSearch(context) } - viewModel.showSettings.observeEvent(viewLifecycleOwner) { - ReaderActivityLauncher.showReaderSubs(context) - } - viewModel.showReaderInterests.observeEvent(viewLifecycleOwner) { showReaderInterests() } @@ -225,12 +178,6 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), MenuProvider, initContentContainer(uiState) } } - // TODO As part of Reader IA changes this view is going to be replaced - // uiHelpers.updateVisibility(tabLayout, uiState.tabLayoutVisible) - searchMenuItem?.isVisible = uiState.searchMenuItemUiState.isVisible - settingsMenuItem?.isVisible = uiState.settingsMenuItemUiState.isVisible - settingsMenuItemFocusPoint?.isVisible = - viewModel.uiState.value?.settingsMenuItemUiState?.showQuickStartFocusPoint ?: false } private fun initContentContainer(uiState: ContentUiState) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt index 2f97cf4fcbea..2d39679da01c 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt @@ -42,7 +42,6 @@ import org.wordpress.android.ui.reader.usecases.LoadReaderTabsUseCase import org.wordpress.android.ui.reader.utils.DateProvider import org.wordpress.android.ui.reader.utils.ReaderTopBarMenuHelper import org.wordpress.android.ui.reader.viewmodels.ReaderViewModel.ReaderUiState.ContentUiState -import org.wordpress.android.ui.reader.viewmodels.ReaderViewModel.ReaderUiState.ContentUiState.MenuItemUiState import org.wordpress.android.ui.reader.viewmodels.ReaderViewModel.ReaderUiState.ContentUiState.TabUiState import org.wordpress.android.ui.reader.views.compose.filter.ReaderFilterSelectedItem import org.wordpress.android.ui.reader.views.compose.filter.ReaderFilterType @@ -94,9 +93,6 @@ class ReaderViewModel @Inject constructor( private val _showSearch = MutableLiveData>() val showSearch: LiveData> = _showSearch - private val _showSettings = MutableLiveData>() - val showSettings: LiveData> = _showSettings - private val _showReaderInterests = MutableLiveData>() val showReaderInterests: LiveData> = _showReaderInterests @@ -138,7 +134,6 @@ class ReaderViewModel @Inject constructor( private fun loadTabs(savedInstanceState: Bundle? = null) { launch { - val currentContentUiState = _uiState.value as? ContentUiState val tagList = loadReaderTabsUseCase.loadTabs() if (tagList.isNotEmpty() && readerTagsList != tagList) { updateReaderTagsList(tagList) @@ -146,12 +141,6 @@ class ReaderViewModel @Inject constructor( _uiState.value = ContentUiState( tabUiStates = tagList.map { TabUiState(label = UiStringText(it.label)) }, selectedReaderTag = selectedReaderTag(), - searchMenuItemUiState = MenuItemUiState(isVisible = isSearchSupported()), - settingsMenuItemUiState = MenuItemUiState( - isVisible = isSettingsSupported(), - showQuickStartFocusPoint = - currentContentUiState?.settingsMenuItemUiState?.showQuickStartFocusPoint ?: false - ) ) if (!initialized) { initialized = true @@ -221,16 +210,6 @@ class ReaderViewModel @Inject constructor( } } - @Suppress("UseCheckOrError") - fun onSettingsActionClicked() { - if (isSettingsSupported()) { - completeQuickStartFollowSiteTaskIfNeeded() - _showSettings.value = Event(Unit) - } else if (BuildConfig.DEBUG) { - throw IllegalStateException("Settings should be hidden when isSettingsSupported returns false.") - } - } - @Suppress("unused", "UNUSED_PARAMETER") @Subscribe(threadMode = MAIN) fun onTagsUpdated(event: ReaderEvents.FollowedTagsChanged) { @@ -253,7 +232,6 @@ class ReaderViewModel @Inject constructor( readerTracker.stop(MAIN_READER) wasPaused = true if (!isChangingConfigurations) { - hideQuickStartFocusPointIfNeeded() dismissQuickStartSnackbarIfNeeded() if (quickStartRepository.isPendingTask(getFollowSiteTask())) { quickStartRepository.clearPendingTask() @@ -287,7 +265,7 @@ class ReaderViewModel @Inject constructor( private fun checkAndStartQuickStartFollowSiteTaskNextStep() { val isDiscover = appPrefsWrapper.getReaderTag()?.isDiscover == true if (isDiscover) { - startQuickStartFollowSiteTaskDiscoverTabStep() + startQuickStartFollowSiteTask() } else { autoSwitchToDiscoverTab() } @@ -299,11 +277,11 @@ class ReaderViewModel @Inject constructor( readerTagsList.find { it.isDiscover }?.let { updateSelectedContent(it) } - startQuickStartFollowSiteTaskDiscoverTabStep() + startQuickStartFollowSiteTask() } } - private fun startQuickStartFollowSiteTaskDiscoverTabStep() { + private fun startQuickStartFollowSiteTask() { val shortMessagePrompt = if (isSettingsSupported()) { R.string.quick_start_dialog_follow_sites_message_short_discover_and_settings } else { @@ -317,13 +295,11 @@ class ReaderViewModel @Inject constructor( R.drawable.ic_cog_white_24dp ) ) - updateContentUiState(showQuickStartFocusPoint = isSettingsSupported()) } fun completeQuickStartFollowSiteTaskIfNeeded() { if (quickStartRepository.isPendingTask(getFollowSiteTask())) { selectedSiteRepository.getSelectedSite()?.let { - hideQuickStartFocusPointIfNeeded() quickStartRepository.completeTask(getFollowSiteTask()) } } @@ -334,30 +310,9 @@ class ReaderViewModel @Inject constructor( isQuickStartPromptShown = false } - private fun hideQuickStartFocusPointIfNeeded() { - val currentUiState = _uiState.value as? ContentUiState - if (currentUiState?.settingsMenuItemUiState?.showQuickStartFocusPoint == true) { - updateContentUiState(showQuickStartFocusPoint = false) - } - } - private fun getFollowSiteTask() = quickStartRepository.quickStartType.getTaskFromString(QuickStartStore.QUICK_START_FOLLOW_SITE_LABEL) - private fun updateContentUiState( - showQuickStartFocusPoint: Boolean - ) { - val currentUiState = _uiState.value as? ContentUiState - currentUiState?.let { - _uiState.value = currentUiState.copy( - settingsMenuItemUiState = it.settingsMenuItemUiState.copy( - isVisible = isSettingsSupported(), - showQuickStartFocusPoint = showQuickStartFocusPoint - ), - ) - } - } - private fun selectedReaderTag(): ReaderTag? = _topBarUiState.value?.let { readerTagsList[readerTopBarMenuHelper.getReaderTagIndexFromMenuItem(it.selectedItem)] @@ -561,30 +516,19 @@ class ReaderViewModel @Inject constructor( } sealed class ReaderUiState( - open val searchMenuItemUiState: MenuItemUiState, - open val settingsMenuItemUiState: MenuItemUiState, val appBarExpanded: Boolean = false, val tabLayoutVisible: Boolean = false ) { data class ContentUiState( val tabUiStates: List, val selectedReaderTag: ReaderTag?, - override val searchMenuItemUiState: MenuItemUiState, - override val settingsMenuItemUiState: MenuItemUiState, ) : ReaderUiState( - searchMenuItemUiState = searchMenuItemUiState, - settingsMenuItemUiState = settingsMenuItemUiState, appBarExpanded = true, tabLayoutVisible = true ) { data class TabUiState( val label: UiString ) - - data class MenuItemUiState( - val isVisible: Boolean, - val showQuickStartFocusPoint: Boolean = false - ) } } diff --git a/WordPress/src/main/res/layout/reader_home_settings_menu_action_layout.xml b/WordPress/src/main/res/layout/reader_home_settings_menu_action_layout.xml deleted file mode 100644 index 6f0bed3826f6..000000000000 --- a/WordPress/src/main/res/layout/reader_home_settings_menu_action_layout.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - diff --git a/WordPress/src/main/res/menu/reader_home.xml b/WordPress/src/main/res/menu/reader_home.xml deleted file mode 100644 index 3e225ff3f08d..000000000000 --- a/WordPress/src/main/res/menu/reader_home.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - diff --git a/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt index 3cb4f933e28e..b806ce2c3968 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt @@ -38,6 +38,7 @@ import org.wordpress.android.ui.reader.utils.DateProvider import org.wordpress.android.ui.reader.viewmodels.ReaderViewModel.QuickStartReaderPrompt import org.wordpress.android.ui.reader.viewmodels.ReaderViewModel.ReaderUiState import org.wordpress.android.ui.reader.viewmodels.ReaderViewModel.ReaderUiState.ContentUiState +import org.wordpress.android.ui.reader.viewmodels.ReaderViewModel.TopBarUiState import org.wordpress.android.util.JetpackBrandingUtils import org.wordpress.android.util.SnackbarSequencer import org.wordpress.android.viewmodel.Event @@ -282,74 +283,30 @@ class ReaderViewModelTest : BaseUnitTest() { @Test fun `Search is disabled for self-hosted login`() = testWithNonEmptyTags { // Arrange - var state: ReaderUiState? = null - viewModel.uiState.observeForever { + var state: TopBarUiState? = null + viewModel.topBarUiState.observeForever { state = it } // Act triggerReaderTabContentDisplay(hasAccessToken = false) // Assert - assertThat(state!!.searchMenuItemUiState.isVisible).isFalse + assertThat(state!!.isSearchActionVisible).isFalse } @Test fun `Search is enabled for dot com login`() = testWithNonEmptyTags { // Arrange whenever(accountStore.hasAccessToken()).thenReturn(true) - var state: ReaderUiState? = null - viewModel.uiState.observeForever { - state = it - } - // Act - triggerReaderTabContentDisplay() - - // Assert - assertThat(state!!.searchMenuItemUiState.isVisible).isTrue - } - - @Test - fun `OnSettingsActionClicked emits showSettings event`() { - // Arrange - whenever(accountStore.hasAccessToken()).thenReturn(true) - var event: Event? = null - viewModel.showSettings.observeForever { - event = it - } - // Act - viewModel.onSettingsActionClicked() - - // Assert - assertThat(event).isNotNull - } - - @Test - fun `Settings menu is disabled for self-hosted login`() = testWithNonEmptyTags { - // Arrange - var state: ReaderUiState? = null - viewModel.uiState.observeForever { - state = it - } - // Act - triggerReaderTabContentDisplay(hasAccessToken = false) - - // Assert - assertThat(state!!.settingsMenuItemUiState.isVisible).isFalse - } - - @Test - fun `Settings menu is enabled for dot com login`() = testWithNonEmptyTags { - // Arrange - whenever(accountStore.hasAccessToken()).thenReturn(true) - var state: ReaderUiState? = null - viewModel.uiState.observeForever { + var state: TopBarUiState? = null + viewModel.topBarUiState.observeForever { state = it } // Act triggerReaderTabContentDisplay() // Assert - assertThat(state!!.settingsMenuItemUiState.isVisible).isTrue + assertThat(state!!.isSearchActionVisible).isTrue } @Test @@ -492,7 +449,7 @@ class ReaderViewModelTest : BaseUnitTest() { viewModel.onSettingsActionClicked() - assertQsFollowSiteTaskCompleted(observers) + assertQsFollowSiteTaskCompleted() } } @@ -561,7 +518,6 @@ class ReaderViewModelTest : BaseUnitTest() { R.string.quick_start_dialog_follow_sites_message_short_discover } ) - assertThat(uiStates.last().findSettingsMenuQsFocusPoint()).isEqualTo(isSettingsSupported) } } @@ -570,20 +526,13 @@ class ReaderViewModelTest : BaseUnitTest() { ) { with(observers) { assertThat(quickStartReaderPrompts).isEmpty() - assertThat(uiStates.last().findSettingsMenuQsFocusPoint()).isEqualTo(false) } } - private fun assertQsFollowSiteTaskCompleted( - observers: Observers - ) { + private fun assertQsFollowSiteTaskCompleted() { verify(quickStartRepository).completeTask(QuickStartNewSiteTask.FOLLOW_SITE) - assertThat(observers.uiStates.last().findSettingsMenuQsFocusPoint()).isEqualTo(false) } - private fun ReaderUiState.findSettingsMenuQsFocusPoint() = - (this as? ContentUiState)?.settingsMenuItemUiState?.showQuickStartFocusPoint ?: false - private fun initObservers(): Observers { val uiStates = mutableListOf() viewModel.uiState.observeForever { From b05e5f054c59342d3dc61802d1d144a1c6ffc23f Mon Sep 17 00:00:00 2001 From: Thomas Horta Date: Mon, 5 Feb 2024 20:38:10 -0300 Subject: [PATCH 048/170] Change Reader quick start task strings and auto-complete it --- .../ui/quickstart/QuickStartMySitePrompts.kt | 2 +- .../interests/ReaderInterestsViewModel.kt | 2 - .../ui/reader/viewmodels/ReaderViewModel.kt | 30 ++-------- WordPress/src/main/res/values/strings.xml | 6 +- .../interests/ReaderInterestsViewModelTest.kt | 14 ----- .../reader/viewmodels/ReaderViewModelTest.kt | 58 +++++++++---------- 6 files changed, 37 insertions(+), 75 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/quickstart/QuickStartMySitePrompts.kt b/WordPress/src/main/java/org/wordpress/android/ui/quickstart/QuickStartMySitePrompts.kt index 5861be66f0f4..4d200bdbfb34 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/quickstart/QuickStartMySitePrompts.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/quickstart/QuickStartMySitePrompts.kt @@ -50,7 +50,7 @@ enum class QuickStartMySitePrompts constructor( R.id.root_view_main, R.id.bottom_nav_reader_button, R.string.quick_start_dialog_follow_sites_message_short_reader, - R.drawable.ic_reader_white_24dp + R.drawable.ic_reader_selected ), UPLOAD_SITE_ICON( QuickStartStore.QUICK_START_UPLOAD_SITE_ICON_LABEL, diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/interests/ReaderInterestsViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/interests/ReaderInterestsViewModel.kt index 67be5e9cd0ec..b2a754a06137 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/interests/ReaderInterestsViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/interests/ReaderInterestsViewModel.kt @@ -168,8 +168,6 @@ class ReaderInterestsViewModel @Inject constructor( ) ) ) - - parentViewModel?.completeQuickStartFollowSiteTaskIfNeeded() } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt index 2d39679da01c..33b7f17768ed 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt @@ -48,6 +48,7 @@ import org.wordpress.android.ui.reader.views.compose.filter.ReaderFilterType import org.wordpress.android.ui.utils.UiString import org.wordpress.android.ui.utils.UiString.UiStringText import org.wordpress.android.util.JetpackBrandingUtils +import org.wordpress.android.util.QuickStartUtils import org.wordpress.android.util.SnackbarSequencer import org.wordpress.android.util.distinct import org.wordpress.android.viewmodel.Event @@ -256,34 +257,16 @@ class ReaderViewModel @Inject constructor( fun onQuickStartPromptDismissed() { isQuickStartPromptShown = false + completeQuickStartFollowSiteTaskIfNeeded() } fun onQuickStartEventReceived(event: QuickStartEvent) { - if (event.task == getFollowSiteTask()) checkAndStartQuickStartFollowSiteTaskNextStep() - } - - private fun checkAndStartQuickStartFollowSiteTaskNextStep() { - val isDiscover = appPrefsWrapper.getReaderTag()?.isDiscover == true - if (isDiscover) { - startQuickStartFollowSiteTask() - } else { - autoSwitchToDiscoverTab() - } - } - - private fun autoSwitchToDiscoverTab() { - launch { - if (!initialized) delay(QUICK_START_DISCOVER_TAB_STEP_DELAY) - readerTagsList.find { it.isDiscover }?.let { - updateSelectedContent(it) - } - startQuickStartFollowSiteTask() - } + if (event.task == getFollowSiteTask()) startQuickStartFollowSiteTask() } private fun startQuickStartFollowSiteTask() { val shortMessagePrompt = if (isSettingsSupported()) { - R.string.quick_start_dialog_follow_sites_message_short_discover_and_settings + R.string.quick_start_dialog_follow_sites_message_short_discover_and_subscriptions } else { R.string.quick_start_dialog_follow_sites_message_short_discover } @@ -292,12 +275,12 @@ class ReaderViewModel @Inject constructor( QuickStartReaderPrompt( getFollowSiteTask(), shortMessagePrompt, - R.drawable.ic_cog_white_24dp + QuickStartUtils.ICON_NOT_SET, ) ) } - fun completeQuickStartFollowSiteTaskIfNeeded() { + private fun completeQuickStartFollowSiteTaskIfNeeded() { if (quickStartRepository.isPendingTask(getFollowSiteTask())) { selectedSiteRepository.getSelectedSite()?.let { quickStartRepository.completeTask(getFollowSiteTask()) @@ -540,7 +523,6 @@ class ReaderViewModel @Inject constructor( ) companion object { - private const val QUICK_START_DISCOVER_TAB_STEP_DELAY = 2000L private const val QUICK_START_PROMPT_DURATION = 5000 private const val FILTER_UPDATE_DELAY = 50L diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index 1c2a647c5c95..6e24d92dc5c4 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -3287,7 +3287,7 @@ Enable post sharing @string/quick_start_list_follow_site_subtitle Select %1$s Reader %2$s to find other sites. - Use <b> Discover </b> to find sites and tags. Try selecting %1$s Settings %2$s to add topics you like. + Use <b>Discover</b> to find sites and tags. Try selecting <b>Subscriptions</b> to view subscribed content and manage your subscriptions. Use <b> Discover </b> to find sites and tags. Select %1$s plus %2$s to upload media. You can add it to your posts/ pages from any device. Connect with other sites @@ -3343,8 +3343,8 @@ Get to know the app %1$s out of %2$s complete All tasks completed - </span> - <span> + [[/span]] + [[span]] tap here Tap <b>%1$s</b> to continue. diff --git a/WordPress/src/test/java/org/wordpress/android/ui/reader/discover/interests/ReaderInterestsViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/reader/discover/interests/ReaderInterestsViewModelTest.kt index 1943a6a2f15a..d098e17f6477 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/reader/discover/interests/ReaderInterestsViewModelTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/reader/discover/interests/ReaderInterestsViewModelTest.kt @@ -320,20 +320,6 @@ class ReaderInterestsViewModelTest : BaseUnitTest() { .isEqualTo(false) } - @Test - fun `when interest tag is toggled, then complete follow site quick start task if needed is invoked`() = - testWithEmptyUserTags { - val interests = getInterests() - whenever(readerTagRepository.getInterests()).thenReturn(SuccessWithData(interests)) - val selectInterestAtIndex = 2 - - initViewModel() - viewModel.onInterestAtIndexToggled(index = selectInterestAtIndex, isChecked = true) - - // Then - verify(parentViewModel).completeQuickStartFollowSiteTaskIfNeeded() - } - @Test fun `done button shown in enabled state if an interest is in selected state`() = testWithEmptyUserTags { diff --git a/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt index b806ce2c3968..b17c74797d7f 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt @@ -120,7 +120,7 @@ class ReaderViewModelTest : BaseUnitTest() { // Arrange whenever(appPrefsWrapper.readerTagsUpdatedTimestamp).thenReturn(-1) // Act - triggerReaderTabContentDisplay() + triggerContentDisplay() // Assert assertThat(viewModel.updateTags.value?.getContentIfNotHandled()).isNotNull } @@ -130,7 +130,7 @@ class ReaderViewModelTest : BaseUnitTest() { // Arrange whenever(appPrefsWrapper.readerTagsUpdatedTimestamp).thenReturn(DUMMY_CURRENT_TIME - UPDATE_TAGS_THRESHOLD + 1) // Act - triggerReaderTabContentDisplay() + triggerContentDisplay() // Assert assertThat(viewModel.updateTags.value?.getContentIfNotHandled()).isNull() } @@ -140,7 +140,7 @@ class ReaderViewModelTest : BaseUnitTest() { // Arrange whenever(appPrefsWrapper.readerTagsUpdatedTimestamp).thenReturn(DUMMY_CURRENT_TIME - UPDATE_TAGS_THRESHOLD - 1) // Act - triggerReaderTabContentDisplay() + triggerContentDisplay() // Assert assertThat(viewModel.updateTags.value?.getContentIfNotHandled()).isNotNull } @@ -154,7 +154,7 @@ class ReaderViewModelTest : BaseUnitTest() { } whenever(loadReaderTabsUseCase.loadTabs()).thenReturn(ReaderTagList()) // Act - triggerReaderTabContentDisplay() + triggerContentDisplay() // Assert assertThat(state).isNull() } @@ -167,7 +167,7 @@ class ReaderViewModelTest : BaseUnitTest() { state = it } // Act - triggerReaderTabContentDisplay() + triggerContentDisplay() // Assert assertThat(state).isInstanceOf(ContentUiState::class.java) } @@ -288,7 +288,7 @@ class ReaderViewModelTest : BaseUnitTest() { state = it } // Act - triggerReaderTabContentDisplay(hasAccessToken = false) + triggerContentDisplay(hasAccessToken = false) // Assert assertThat(state!!.isSearchActionVisible).isFalse @@ -303,7 +303,7 @@ class ReaderViewModelTest : BaseUnitTest() { state = it } // Act - triggerReaderTabContentDisplay() + triggerContentDisplay() // Assert assertThat(state!!.isSearchActionVisible).isTrue @@ -317,7 +317,7 @@ class ReaderViewModelTest : BaseUnitTest() { uiStates.add(it) } // Act - triggerReaderTabContentDisplay() + triggerContentDisplay() // Assert assertThat(uiStates.size).isEqualTo(1) assertThat(uiStates[0]).isInstanceOf(ContentUiState::class.java) @@ -332,7 +332,7 @@ class ReaderViewModelTest : BaseUnitTest() { uiStates.add(it) } // Act - triggerReaderTabContentDisplay() + triggerContentDisplay() // Assert assertThat(uiStates.size).isEqualTo(1) assertThat(uiStates[0]).isInstanceOf(ContentUiState::class.java) @@ -397,57 +397,55 @@ class ReaderViewModelTest : BaseUnitTest() { } @Test - fun `given discover selected with settings available, when qs event follow site, then discover tab step started`() { + fun `given reader selected, when qs event follow site, then qs task started and completed`() { val tagList = createNonMockedNonEmptyReaderTagList() testWithNonMockedNonEmptyTags(tagList) { val observers = initObservers() - triggerReaderTabContentDisplay(selectedTabReaderTag = tagList[1], hasAccessToken = true) + triggerContentDisplay(hasAccessToken = true) viewModel.onQuickStartEventReceived(QuickStartEvent(QuickStartNewSiteTask.FOLLOW_SITE)) - assertQsFollowSiteDiscoverTabStepStarted(observers, isSettingsSupported = true) + assertQsFollowSiteTaskStarted(observers, isSettingsSupported = true) } } @Test - fun `given discover selected no settings available, when qs event follow site, then discover tab step started`() { + fun `given reader selected no settings available, when qs event follow site, then qs task started and completed`() { val tagList = createNonMockedNonEmptyReaderTagList() testWithNonMockedNonEmptyTags(tagList) { val observers = initObservers() - triggerReaderTabContentDisplay(selectedTabReaderTag = tagList[1], hasAccessToken = false) + triggerContentDisplay(hasAccessToken = false) viewModel.onQuickStartEventReceived(QuickStartEvent(QuickStartNewSiteTask.FOLLOW_SITE)) - assertQsFollowSiteDiscoverTabStepStarted(observers, isSettingsSupported = false) + assertQsFollowSiteTaskStarted(observers, isSettingsSupported = false) } } @Test - fun `given discover tab selected, when quick start event not follow site, then qs discover tab step not started`() { + fun `given reader selected, when quick start event not follow site, then qs task not started`() { val tagList = createNonMockedNonEmptyReaderTagList() testWithNonMockedNonEmptyTags(tagList) { val observers = initObservers() - triggerReaderTabContentDisplay(selectedTabReaderTag = tagList[1]) + triggerContentDisplay() viewModel.onQuickStartEventReceived(QuickStartEvent(QuickStartNewSiteTask.CHECK_STATS)) - assertQsFollowSiteDiscoverTabStepNotStarted(observers) + assertQsFollowSiteTaskNotStarted(observers) } } - /* QUICK START - SETTING MENU CLICK */ - @Test - fun `given pending follow site qs task, when settings menu clicked, then qs follow site task is completed`() { + fun `when onQuickStartPromptDismissed called, then qs task completes`() { val tagList = createNonMockedNonEmptyReaderTagList() testWithNonMockedNonEmptyTags(tagList) { - whenever(accountStore.hasAccessToken()).thenReturn(true) whenever(selectedSiteRepository.getSelectedSite()).thenReturn(mock()) whenever(quickStartRepository.isPendingTask(QuickStartNewSiteTask.FOLLOW_SITE)).thenReturn(true) - val observers = initObservers() - triggerReaderTabContentDisplay(selectedTabReaderTag = tagList[1]) - viewModel.onSettingsActionClicked() + triggerContentDisplay(hasAccessToken = true) + viewModel.onQuickStartEventReceived(QuickStartEvent(QuickStartNewSiteTask.FOLLOW_SITE)) + + viewModel.onQuickStartPromptDismissed() assertQsFollowSiteTaskCompleted() } @@ -506,14 +504,14 @@ class ReaderViewModelTest : BaseUnitTest() { assertThat(showJetpackOverlayEvent.last().peekContent()).isTrue } - private fun assertQsFollowSiteDiscoverTabStepStarted( + private fun assertQsFollowSiteTaskStarted( observers: Observers, isSettingsSupported: Boolean = true ) { with(observers) { assertThat(quickStartReaderPrompts.last().peekContent().shortMessagePrompt).isEqualTo( if (isSettingsSupported) { - R.string.quick_start_dialog_follow_sites_message_short_discover_and_settings + R.string.quick_start_dialog_follow_sites_message_short_discover_and_subscriptions } else { R.string.quick_start_dialog_follow_sites_message_short_discover } @@ -521,7 +519,7 @@ class ReaderViewModelTest : BaseUnitTest() { } } - private fun assertQsFollowSiteDiscoverTabStepNotStarted( + private fun assertQsFollowSiteTaskNotStarted( observers: Observers ) { with(observers) { @@ -559,11 +557,9 @@ class ReaderViewModelTest : BaseUnitTest() { val tabNavigationEvents: List ) - private fun triggerReaderTabContentDisplay( - selectedTabReaderTag: ReaderTag? = null, + private fun triggerContentDisplay( hasAccessToken: Boolean = true ) { - whenever(appPrefsWrapper.getReaderTag()).thenReturn(selectedTabReaderTag) whenever(accountStore.hasAccessToken()).thenReturn(hasAccessToken) viewModel.start() } From 448086cea90a5ff05ca112fe1a74e1772ecc0959 Mon Sep 17 00:00:00 2001 From: Thomas Horta Date: Tue, 6 Feb 2024 11:10:25 -0300 Subject: [PATCH 049/170] Complete the Reader QS task when showing the snackbar --- .../ui/reader/viewmodels/ReaderViewModel.kt | 2 +- .../reader/viewmodels/ReaderViewModelTest.kt | 24 +++++++------------ 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt index 33b7f17768ed..e78ad354d41e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt @@ -257,7 +257,6 @@ class ReaderViewModel @Inject constructor( fun onQuickStartPromptDismissed() { isQuickStartPromptShown = false - completeQuickStartFollowSiteTaskIfNeeded() } fun onQuickStartEventReceived(event: QuickStartEvent) { @@ -278,6 +277,7 @@ class ReaderViewModel @Inject constructor( QuickStartUtils.ICON_NOT_SET, ) ) + completeQuickStartFollowSiteTaskIfNeeded() } private fun completeQuickStartFollowSiteTaskIfNeeded() { diff --git a/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt index b17c74797d7f..0b57e79121fc 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt @@ -400,12 +400,16 @@ class ReaderViewModelTest : BaseUnitTest() { fun `given reader selected, when qs event follow site, then qs task started and completed`() { val tagList = createNonMockedNonEmptyReaderTagList() testWithNonMockedNonEmptyTags(tagList) { + whenever(selectedSiteRepository.getSelectedSite()).thenReturn(mock()) + whenever(quickStartRepository.isPendingTask(QuickStartNewSiteTask.FOLLOW_SITE)).thenReturn(true) + val observers = initObservers() triggerContentDisplay(hasAccessToken = true) viewModel.onQuickStartEventReceived(QuickStartEvent(QuickStartNewSiteTask.FOLLOW_SITE)) assertQsFollowSiteTaskStarted(observers, isSettingsSupported = true) + assertQsFollowSiteTaskCompleted() } } @@ -413,12 +417,16 @@ class ReaderViewModelTest : BaseUnitTest() { fun `given reader selected no settings available, when qs event follow site, then qs task started and completed`() { val tagList = createNonMockedNonEmptyReaderTagList() testWithNonMockedNonEmptyTags(tagList) { + whenever(selectedSiteRepository.getSelectedSite()).thenReturn(mock()) + whenever(quickStartRepository.isPendingTask(QuickStartNewSiteTask.FOLLOW_SITE)).thenReturn(true) + val observers = initObservers() triggerContentDisplay(hasAccessToken = false) viewModel.onQuickStartEventReceived(QuickStartEvent(QuickStartNewSiteTask.FOLLOW_SITE)) assertQsFollowSiteTaskStarted(observers, isSettingsSupported = false) + assertQsFollowSiteTaskCompleted() } } @@ -435,22 +443,6 @@ class ReaderViewModelTest : BaseUnitTest() { } } - @Test - fun `when onQuickStartPromptDismissed called, then qs task completes`() { - val tagList = createNonMockedNonEmptyReaderTagList() - testWithNonMockedNonEmptyTags(tagList) { - whenever(selectedSiteRepository.getSelectedSite()).thenReturn(mock()) - whenever(quickStartRepository.isPendingTask(QuickStartNewSiteTask.FOLLOW_SITE)).thenReturn(true) - - triggerContentDisplay(hasAccessToken = true) - viewModel.onQuickStartEventReceived(QuickStartEvent(QuickStartNewSiteTask.FOLLOW_SITE)) - - viewModel.onQuickStartPromptDismissed() - - assertQsFollowSiteTaskCompleted() - } - } - @Ignore("Disabled until next sprint") @Test fun `given wp app, when jp powered bottom sheet feature is true, then jp powered bottom sheet is shown`() { From 1828b60e5cfe0e47893d3caa6ce6372aa63b3e62 Mon Sep 17 00:00:00 2001 From: Thomas Horta Date: Tue, 6 Feb 2024 14:16:41 -0300 Subject: [PATCH 050/170] Revert quick_start_span strings --- WordPress/src/main/res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index 6e24d92dc5c4..6e75f529ae1f 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -3343,8 +3343,8 @@ Get to know the app %1$s out of %2$s complete All tasks completed - [[/span]] - [[span]] + </span> + <span> tap here Tap <b>%1$s</b> to continue. From 8be4949e5698a27347ff8cd7f56c54de49db57bc Mon Sep 17 00:00:00 2001 From: Andy Valdez Date: Tue, 6 Feb 2024 13:05:03 -0500 Subject: [PATCH 051/170] [Lib] Update Tracks from 3.3 to 3.4 and update sentry gradle. --- build.gradle | 2 +- settings.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 68f0424a0e10..e6157edf750c 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ ext { automatticAboutVersion = '1.4.0' automatticRestVersion = '1.0.8' automatticStoriesVersion = '2.4.0' - automatticTracksVersion = '3.3.0' + automatticTracksVersion = '3.4.0' gutenbergMobileVersion = 'v1.112.0' wordPressAztecVersion = 'v2.0' wordPressFluxCVersion = '2.64.0' diff --git a/settings.gradle b/settings.gradle index 5e48b42287db..0dd34fb91ca1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,7 +3,7 @@ pluginManagement { gradle.ext.agpVersion = '8.1.0' gradle.ext.googleServicesVersion = '4.3.15' gradle.ext.navigationVersion = '2.5.3' - gradle.ext.sentryVersion = '3.5.0' + gradle.ext.sentryVersion = '3.14.0' gradle.ext.daggerVersion = "2.46.1" gradle.ext.detektVersion = '1.23.0' gradle.ext.violationCommentsVersion = '1.67' From 1e2fd13374817930229cfaf1e0a90786caa10b35 Mon Sep 17 00:00:00 2001 From: Spencer Transier Date: Tue, 6 Feb 2024 13:20:33 -0800 Subject: [PATCH 052/170] Add `translatable="false"` to flagged strings --- fastlane/resources/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fastlane/resources/values/strings.xml b/fastlane/resources/values/strings.xml index 1c2a647c5c95..46c1f1a87294 100644 --- a/fastlane/resources/values/strings.xml +++ b/fastlane/resources/values/strings.xml @@ -2241,9 +2241,9 @@ Add tags here to find posts about your favorite topics No subscribed tags No recommended blogs - @string/reader_filter_empty_blogs_list_title + @string/reader_filter_empty_blogs_list_title No blogs matching your search - @string/reader_filter_empty_blogs_list_text + @string/reader_filter_empty_blogs_list_text Subscribe to blogs in Discover or search for a blog that you like already. No recent posts The blogs you\'re subscribed to haven\'t posted anything recently From ea5b49c9a8789d650fe60fcf86960be9da40fc71 Mon Sep 17 00:00:00 2001 From: Spencer Transier Date: Tue, 6 Feb 2024 13:28:33 -0800 Subject: [PATCH 053/170] Freeze strings for translation --- fastlane/resources/values/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fastlane/resources/values/strings.xml b/fastlane/resources/values/strings.xml index 46c1f1a87294..6e75f529ae1f 100644 --- a/fastlane/resources/values/strings.xml +++ b/fastlane/resources/values/strings.xml @@ -2241,9 +2241,9 @@ Add tags here to find posts about your favorite topics No subscribed tags No recommended blogs - @string/reader_filter_empty_blogs_list_title + @string/reader_filter_empty_blogs_list_title No blogs matching your search - @string/reader_filter_empty_blogs_list_text + @string/reader_filter_empty_blogs_list_text Subscribe to blogs in Discover or search for a blog that you like already. No recent posts The blogs you\'re subscribed to haven\'t posted anything recently @@ -3287,7 +3287,7 @@ Enable post sharing @string/quick_start_list_follow_site_subtitle Select %1$s Reader %2$s to find other sites. - Use <b> Discover </b> to find sites and tags. Try selecting %1$s Settings %2$s to add topics you like. + Use <b>Discover</b> to find sites and tags. Try selecting <b>Subscriptions</b> to view subscribed content and manage your subscriptions. Use <b> Discover </b> to find sites and tags. Select %1$s plus %2$s to upload media. You can add it to your posts/ pages from any device. Connect with other sites From 43d9f5fe15566c0aeb3ca939b38e17309dbb3a15 Mon Sep 17 00:00:00 2001 From: Spencer Transier Date: Tue, 6 Feb 2024 13:31:49 -0800 Subject: [PATCH 054/170] Freeze strings for translation --- fastlane/resources/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fastlane/resources/values/strings.xml b/fastlane/resources/values/strings.xml index 6e75f529ae1f..d28bdcc5957d 100644 --- a/fastlane/resources/values/strings.xml +++ b/fastlane/resources/values/strings.xml @@ -2241,9 +2241,9 @@ Add tags here to find posts about your favorite topics No subscribed tags No recommended blogs - @string/reader_filter_empty_blogs_list_title + @string/reader_filter_empty_blogs_list_title No blogs matching your search - @string/reader_filter_empty_blogs_list_text + @string/reader_filter_empty_blogs_list_text Subscribe to blogs in Discover or search for a blog that you like already. No recent posts The blogs you\'re subscribed to haven\'t posted anything recently From 69b98944cde87576f1f8e91ff4d8b81f67c0fe8c Mon Sep 17 00:00:00 2001 From: Spencer Transier Date: Tue, 6 Feb 2024 13:32:18 -0800 Subject: [PATCH 055/170] Add `translatable="false"` to the correct strings.xml file --- WordPress/src/main/res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index 6e75f529ae1f..d28bdcc5957d 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -2241,9 +2241,9 @@ Add tags here to find posts about your favorite topics No subscribed tags No recommended blogs - @string/reader_filter_empty_blogs_list_title + @string/reader_filter_empty_blogs_list_title No blogs matching your search - @string/reader_filter_empty_blogs_list_text + @string/reader_filter_empty_blogs_list_text Subscribe to blogs in Discover or search for a blog that you like already. No recent posts The blogs you\'re subscribed to haven\'t posted anything recently From b62e21a67489d47cb33443db706cc3881b834925 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Tue, 6 Feb 2024 20:33:32 -0300 Subject: [PATCH 056/170] Refresh blogs count after subscribing/unsubscribing from search screen --- .../ui/reader/ReaderActivityLauncher.java | 7 ++-- .../android/ui/reader/ReaderFragment.kt | 35 ++++++++++++++++++- .../ui/reader/ReaderPostListFragment.java | 6 +++- .../android/ui/reader/ReaderSearchActivity.kt | 12 +++++++ 4 files changed, 56 insertions(+), 4 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderActivityLauncher.java index 1299d325b157..2aea5b62e6e1 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderActivityLauncher.java @@ -184,8 +184,11 @@ public static void showReaderTagPreview(Context context, @NonNull ReaderTag tag, } public static void showReaderSearch(Context context) { - Intent intent = new Intent(context, ReaderSearchActivity.class); - context.startActivity(intent); + context.startActivity(createReaderSearchIntent(context)); + } + + public static Intent createReaderSearchIntent(@NonNull final Context context) { + return new Intent(context, ReaderSearchActivity.class); } /* diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt index 28397a28fb70..3dfb55e0eedc 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt @@ -1,7 +1,13 @@ package org.wordpress.android.ui.reader +import android.app.Activity +import android.content.Context +import android.content.Intent import android.os.Bundle import android.view.View +import androidx.activity.result.ActivityResult +import androidx.activity.result.ActivityResultLauncher +import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.runtime.getValue import androidx.compose.runtime.livedata.observeAsState import androidx.compose.ui.platform.ViewCompositionStrategy @@ -67,6 +73,8 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), ScrollableView private var binding: ReaderFragmentLayoutBinding? = null + private var readerSearchResultLauncher: ActivityResultLauncher? = null + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { binding = ReaderFragmentLayoutBinding.bind(view).apply { initTopAppBar() @@ -89,6 +97,28 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), ScrollableView activity?.let { viewModel.onScreenInBackground(it.isChangingConfigurations) } } + override fun onAttach(context: Context) { + super.onAttach(context) + initReaderSearchActivityResultLauncher() + } + + private fun initReaderSearchActivityResultLauncher() { + readerSearchResultLauncher = registerForActivityResult( + ActivityResultContracts.StartActivityForResult() + ) { result: ActivityResult -> + if (result.resultCode == Activity.RESULT_OK) { + val data = result.data + if (data != null) { + val shouldRefreshSubscriptions = + data.getBooleanExtra(ReaderSearchActivity.RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, false) + if (shouldRefreshSubscriptions) { + getSubFilterViewModel()?.loadSubFilters() + } + } + } + } + } + private fun ReaderFragmentLayoutBinding.initTopAppBar() { readerTopBarComposeView.apply { setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) @@ -125,7 +155,10 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), ScrollableView } viewModel.showSearch.observeEvent(viewLifecycleOwner) { - ReaderActivityLauncher.showReaderSearch(context) + context?.let { + val intent = ReaderActivityLauncher.createReaderSearchIntent(it) + readerSearchResultLauncher?.launch(intent) + } } viewModel.showReaderInterests.observeEvent(viewLifecycleOwner) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java index ec3e175ad5bb..be390bc2ab39 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java @@ -28,6 +28,7 @@ import androidx.appcompat.widget.SearchView; import androidx.core.content.ContextCompat; import androidx.core.text.HtmlCompat; +import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.lifecycle.ViewModelProvider; import androidx.recyclerview.widget.RecyclerView; @@ -1261,7 +1262,10 @@ public boolean onMenuItemActionExpand(@NonNull MenuItem item) { } @Override - public boolean onMenuItemActionCollapse(@NonNull MenuItem item) { + public boolean onMenuItemActionCollapse(@NonNull final MenuItem item) { + if (getActivity() instanceof ReaderSearchActivity) { + ((ReaderSearchActivity) requireActivity()).finishWithRefreshSubscriptionsResult(); + } requireActivity().finish(); return false; } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSearchActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSearchActivity.kt index f3d3ea24d51a..63a8a4809421 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSearchActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSearchActivity.kt @@ -1,5 +1,6 @@ package org.wordpress.android.ui.reader +import android.content.Intent import android.os.Bundle import dagger.hilt.android.AndroidEntryPoint import org.wordpress.android.R @@ -46,4 +47,15 @@ class ReaderSearchActivity : LocaleAwareActivity() { super.onPause() readerTracker.stop(MAIN_READER) } + + fun finishWithRefreshSubscriptionsResult() { + val data = Intent() + data.putExtra(ReaderSubsActivity.RESULT_SHOULD_REFRESH_SUBSCRIPTIONS, true) + setResult(RESULT_OK, data) + finish() + } + + companion object { + const val RESULT_SHOULD_REFRESH_SUBSCRIPTIONS = "should_refresh_subscriptions" + } } From 4311f96f63dcdd82e7ee227dbb0706d703695de6 Mon Sep 17 00:00:00 2001 From: Danilo Ercoli Date: Wed, 7 Feb 2024 08:59:13 +0100 Subject: [PATCH 057/170] Make sure to use the site address when the title is empty --- .../ui/reader/adapters/ReaderBlogAdapter.java | 2 +- .../discover/ReaderPostUiStateBuilder.kt | 3 +++ .../ui/reader/subfilter/SubFilterViewModel.kt | 23 ++++++++++++++++++- .../ui/reader/subfilter/SubfilterListItem.kt | 3 ++- .../ui/reader/viewmodels/ReaderViewModel.kt | 5 +++- .../ui/reader/views/ReaderSiteHeaderView.java | 2 +- 6 files changed, 33 insertions(+), 5 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java index 095981ff9370..29693db4b77e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderBlogAdapter.java @@ -149,7 +149,7 @@ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (blogInfo.hasName()) { blogHolder.mTxtTitle.setText(blogInfo.getName()); } else { - blogHolder.mTxtTitle.setText(R.string.reader_untitled_post); + blogHolder.mTxtTitle.setText(UrlUtils.getHost(blogInfo.getUrl())); } if (blogInfo.hasUrl()) { blogHolder.mTxtUrl.setText(UrlUtils.getHost(blogInfo.getUrl())); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/ReaderPostUiStateBuilder.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/ReaderPostUiStateBuilder.kt index bb27b1b4d64f..d5dbaf10043e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/ReaderPostUiStateBuilder.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/discover/ReaderPostUiStateBuilder.kt @@ -431,6 +431,9 @@ class ReaderPostUiStateBuilder @Inject constructor( private fun buildBlogName(post: ReaderPost, isP2Post: Boolean = false): UiString { val blogName = post.takeIf { it.hasBlogName() }?.blogName?.let { UiStringText(it) } + ?:post.takeIf { it.hasBlogUrl() } + ?.blogUrl + ?.let { UiStringText(urlUtilsWrapper.removeScheme(it)) } ?: UiStringRes(R.string.untitled_in_parentheses) if (!isP2Post) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt index 1a9cda7734b1..a66ad865c7db 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt @@ -2,6 +2,7 @@ package org.wordpress.android.ui.reader.subfilter import android.os.Bundle import androidx.annotation.VisibleForTesting +import androidx.compose.ui.text.toLowerCase import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import kotlinx.coroutines.CoroutineDispatcher @@ -12,6 +13,7 @@ import org.wordpress.android.analytics.AnalyticsTracker.Stat import org.wordpress.android.datasets.ReaderBlogTable import org.wordpress.android.datasets.ReaderTagTable import org.wordpress.android.fluxc.store.AccountStore +import org.wordpress.android.models.ReaderBlog import org.wordpress.android.models.ReaderTag import org.wordpress.android.modules.BG_THREAD import org.wordpress.android.modules.UI_THREAD @@ -32,9 +34,12 @@ import org.wordpress.android.ui.utils.UiString.UiStringRes import org.wordpress.android.util.AppLog import org.wordpress.android.util.AppLog.T import org.wordpress.android.util.EventBusWrapper +import org.wordpress.android.util.StringUtils +import org.wordpress.android.util.UrlUtils import org.wordpress.android.viewmodel.Event import org.wordpress.android.viewmodel.ScopedViewModel import org.wordpress.android.viewmodel.SingleLiveEvent +import java.util.Comparator import java.util.EnumSet import javax.inject.Inject import javax.inject.Named @@ -110,6 +115,17 @@ class SubFilterViewModel @Inject constructor( } } + private fun getBlogNameForComparison(blog: ReaderBlog?): String { + return if (blog == null) { + "" + } else if (blog.hasName()) { + blog.name + } else if (blog.hasUrl()) { + StringUtils.notNullStr(UrlUtils.getHost(blog.url)) + } else { + "" + } + } fun loadSubFilters() { launch { val filterList = ArrayList() @@ -124,7 +140,12 @@ class SubFilterViewModel @Inject constructor( blog.organizationId == organization.orgId } ?: false } - } + }.sortedWith(Comparator { blog1, blog2 -> + // sort followed blogs by name/domain to match display + val blogOneName = getBlogNameForComparison(blog1) + val blogNameTwo = getBlogNameForComparison(blog2) + blogOneName.compareTo(blogNameTwo, true) + }) filterList.addAll( followedBlogs.map { blog -> diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt index 1e24f2c868d4..2b005e15b809 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt @@ -11,6 +11,7 @@ import org.wordpress.android.ui.reader.subfilter.SubfilterListItem.ItemType.TAG import org.wordpress.android.ui.utils.UiString import org.wordpress.android.ui.utils.UiString.UiStringRes import org.wordpress.android.ui.utils.UiString.UiStringText +import org.wordpress.android.util.UrlUtils sealed class SubfilterListItem(val type: ItemType, val isTrackedItem: Boolean = false) { open var isSelected: Boolean = false @@ -68,7 +69,7 @@ sealed class SubfilterListItem(val type: ItemType, val isTrackedItem: Boolean = override val label: UiString = if (blog.name.isNotEmpty()) { UiStringText(blog.name) } else { - UiStringRes(R.string.reader_untitled_post) + UiStringText(UrlUtils.getHost(blog.url)) } val showUnseenCount: Boolean = blog.numUnseenPosts > 0 val unseenCount: Int = blog.numUnseenPosts diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt index 2f97cf4fcbea..ce0b5e04441a 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModel.kt @@ -50,6 +50,7 @@ import org.wordpress.android.ui.utils.UiString import org.wordpress.android.ui.utils.UiString.UiStringText import org.wordpress.android.util.JetpackBrandingUtils import org.wordpress.android.util.SnackbarSequencer +import org.wordpress.android.util.UrlUtilsWrapper import org.wordpress.android.util.distinct import org.wordpress.android.viewmodel.Event import org.wordpress.android.viewmodel.ScopedViewModel @@ -75,6 +76,7 @@ class ReaderViewModel @Inject constructor( private val snackbarSequencer: SnackbarSequencer, private val jetpackFeatureRemovalOverlayUtil: JetpackFeatureRemovalOverlayUtil, private val readerTopBarMenuHelper: ReaderTopBarMenuHelper, + private val urlUtilsWrapper: UrlUtilsWrapper, // todo: annnmarie removed this private val getFollowedTagsUseCase: GetFollowedTagsUseCase ) : ScopedViewModel(mainDispatcher) { private var initialized: Boolean = false @@ -447,7 +449,8 @@ class ReaderViewModel @Inject constructor( fun onSubFilterItemSelected(item: SubfilterListItem) { when (item) { is SubfilterListItem.SiteAll -> clearTopBarFilter() - is SubfilterListItem.Site -> updateTopBarFilter(item.blog.name, ReaderFilterType.BLOG) + is SubfilterListItem.Site -> updateTopBarFilter(item.blog.name + .ifEmpty { urlUtilsWrapper.removeScheme(item.blog.url.ifEmpty { "" }) }, ReaderFilterType.BLOG) is SubfilterListItem.Tag -> updateTopBarFilter(item.tag.tagDisplayName, ReaderFilterType.TAG) else -> Unit // do nothing } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderSiteHeaderView.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderSiteHeaderView.java index 7fb609c0941b..c4aad5a3b025 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderSiteHeaderView.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderSiteHeaderView.java @@ -158,7 +158,7 @@ private void showBlogInfo(ReaderBlog blogInfo, String source) { if (blogInfo.hasName()) { txtBlogName.setText(blogInfo.getName()); } else { - txtBlogName.setText(R.string.reader_untitled_post); + txtBlogName.setText(UrlUtils.getHost(blogInfo.getUrl())); } if (blogInfo.hasUrl()) { From c90314b319ea1a81723e5abe265cddfddf3d3f52 Mon Sep 17 00:00:00 2001 From: Danilo Ercoli Date: Wed, 7 Feb 2024 09:46:15 +0100 Subject: [PATCH 058/170] Remove unused import --- .../wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt index a66ad865c7db..11a170fb3329 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt @@ -2,7 +2,6 @@ package org.wordpress.android.ui.reader.subfilter import android.os.Bundle import androidx.annotation.VisibleForTesting -import androidx.compose.ui.text.toLowerCase import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import kotlinx.coroutines.CoroutineDispatcher From 50b98f2bc24a5148b8ab8d946e1d380185471ede Mon Sep 17 00:00:00 2001 From: Gerardo Date: Wed, 7 Feb 2024 10:51:33 +0100 Subject: [PATCH 059/170] ShareIntent - Use the original uri if getRealPathFromURI returns empty --- .../wordpress/android/ui/ShareIntentReceiverActivity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java index bbdd6ed3f221..c927dbad1b9a 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java @@ -4,6 +4,7 @@ import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; +import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -111,6 +112,10 @@ private void downloadExternalMedia() { private boolean isAllowedMediaType(@NonNull Uri uri) { String filePath = MediaUtils.getRealPathFromURI(this, uri); + // For cases when the uri is already the file path + if (TextUtils.isEmpty(filePath)) { + filePath = String.valueOf(uri); + } return MediaUtils.isValidImage(filePath) || MediaUtils.isVideo(filePath); } From abc79920a527eae60b33d0b3a346420108fcb34a Mon Sep 17 00:00:00 2001 From: Gerardo Date: Wed, 7 Feb 2024 10:56:08 +0100 Subject: [PATCH 060/170] Update WordPressUtils ref --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 68f0424a0e10..ed6ad9b46ad2 100644 --- a/build.gradle +++ b/build.gradle @@ -28,7 +28,7 @@ ext { wordPressFluxCVersion = '2.64.0' wordPressLoginVersion = '1.12.0' wordPressPersistentEditTextVersion = '1.0.2' - wordPressUtilsVersion = '3.12.0' + wordPressUtilsVersion = '142-c0c7e4a342fb7ffd625fc8962d129293302d9731' indexosMediaForMobileVersion = '43a9026f0973a2f0a74fa813132f6a16f7499c3a' // debug From 9d3e3e21df4c4f5aa494cd226342ac275bca3e88 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Wed, 7 Feb 2024 13:29:44 +0100 Subject: [PATCH 061/170] Send uri path directly and add try/catch to prevent permission related crashes --- .../ui/ShareIntentReceiverActivity.java | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java index c927dbad1b9a..d16add4858d0 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java @@ -4,7 +4,6 @@ import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; -import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -22,6 +21,8 @@ import org.wordpress.android.ui.main.WPMainActivity; import org.wordpress.android.ui.media.MediaBrowserActivity; import org.wordpress.android.ui.media.MediaBrowserType; +import org.wordpress.android.util.AppLog; +import org.wordpress.android.util.AppLog.T; import org.wordpress.android.util.FluxCUtils; import org.wordpress.android.util.MediaUtils; import org.wordpress.android.util.ToastUtils; @@ -95,27 +96,27 @@ private void refreshContent() { } private void downloadExternalMedia() { - if (Intent.ACTION_SEND_MULTIPLE.equals(getIntent().getAction())) { - ArrayList externalUris = getIntent().getParcelableArrayListExtra((Intent.EXTRA_STREAM)); - for (Uri uri : externalUris) { - if (uri != null && isAllowedMediaType(uri)) { - mLocalMediaUris.add(MediaUtils.downloadExternalMedia(this, uri)); + try { + if (Intent.ACTION_SEND_MULTIPLE.equals(getIntent().getAction())) { + ArrayList externalUris = getIntent().getParcelableArrayListExtra((Intent.EXTRA_STREAM)); + for (Uri uri : externalUris) { + if (uri != null && isAllowedMediaType(uri)) { + mLocalMediaUris.add(MediaUtils.downloadExternalMedia(this, uri)); + } + } + } else if (Intent.ACTION_SEND.equals(getIntent().getAction())) { + Uri externalUri = getIntent().getParcelableExtra(Intent.EXTRA_STREAM); + if (externalUri != null && isAllowedMediaType(externalUri)) { + mLocalMediaUris.add(MediaUtils.downloadExternalMedia(this, externalUri)); } } - } else if (Intent.ACTION_SEND.equals(getIntent().getAction())) { - Uri externalUri = getIntent().getParcelableExtra(Intent.EXTRA_STREAM); - if (externalUri != null && isAllowedMediaType(externalUri)) { - mLocalMediaUris.add(MediaUtils.downloadExternalMedia(this, externalUri)); - } + } catch (Exception e) { + AppLog.e(T.MEDIA, "ShareIntentReceiver failed ", e); } } private boolean isAllowedMediaType(@NonNull Uri uri) { - String filePath = MediaUtils.getRealPathFromURI(this, uri); - // For cases when the uri is already the file path - if (TextUtils.isEmpty(filePath)) { - filePath = String.valueOf(uri); - } + String filePath = uri.getPath(); return MediaUtils.isValidImage(filePath) || MediaUtils.isVideo(filePath); } From daccf7effe6bb1449c601f9d1fdb512a1afdc66d Mon Sep 17 00:00:00 2001 From: Gerardo Date: Wed, 7 Feb 2024 13:31:07 +0100 Subject: [PATCH 062/170] Update log message --- .../org/wordpress/android/ui/ShareIntentReceiverActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java index d16add4858d0..faafa640d716 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java @@ -111,7 +111,7 @@ private void downloadExternalMedia() { } } } catch (Exception e) { - AppLog.e(T.MEDIA, "ShareIntentReceiver failed ", e); + AppLog.e(T.MEDIA, "ShareIntentReceiver failed to download media ", e); } } From 910d3c9cbe1a9eccf7ca7028e78eed7a94fb98d9 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Wed, 7 Feb 2024 15:23:42 +0200 Subject: [PATCH 063/170] If the WebView state is too large, remove it from the bundle --- .../wordpress/android/ui/WebViewActivity.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java index 8770f417b37c..eceaf5b2876e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java @@ -28,6 +28,9 @@ public abstract class WebViewActivity extends LocaleAwareActivity { private static final String URL = "url"; + private static final String WEBVIEW_CHROMIUM_STATE = "WEBVIEW_CHROMIUM_STATE"; + private static final int WEBVIEW_CHROMIUM_STATE_THRESHOLD = 300 * 1024; // 300 KB + protected WebView mWebView; @Override @@ -84,8 +87,17 @@ protected void loadContent() { * save the webView state with the bundle so it can be restored */ @Override - protected void onSaveInstanceState(Bundle outState) { + protected void onSaveInstanceState(@NonNull Bundle outState) { mWebView.saveState(outState); + + // If the WebView state is too large, remove it from the bundle. This workaround is + // necessary since the Android system cannot handle large states without a crash. + // Note that Chromium `WebViewBrowserFragment` uses a similar workaround for this issue: + // https://source.chromium.org/chromium/chromium/src/+/27a9bbd3dcd7005ac9f3862dc2e356b557023de9 + byte[] webViewState = outState.getByteArray(WEBVIEW_CHROMIUM_STATE); + if (webViewState != null && webViewState.length > WEBVIEW_CHROMIUM_STATE_THRESHOLD) { + outState.remove(WEBVIEW_CHROMIUM_STATE); + } super.onSaveInstanceState(outState); } @@ -93,7 +105,7 @@ protected void onSaveInstanceState(Bundle outState) { * restore the webView state saved above */ @Override - protected void onRestoreInstanceState(Bundle savedInstanceState) { + protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); mWebView.restoreState(savedInstanceState); } From 13a66d459c3d97a67163715ed6a881bd4b96974d Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Wed, 7 Feb 2024 15:33:05 +0200 Subject: [PATCH 064/170] Tracks Webview Large Payload error --- .../java/org/wordpress/android/ui/WebViewActivity.java | 9 ++++++++- .../wordpress/android/analytics/AnalyticsTracker.java | 3 ++- .../android/analytics/AnalyticsTrackerNosara.java | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java index eceaf5b2876e..b50315129ea7 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java @@ -14,8 +14,10 @@ import org.wordpress.android.R; import org.wordpress.android.WordPress; +import org.wordpress.android.analytics.AnalyticsTracker; import org.wordpress.android.util.extensions.CompatExtensionsKt; +import java.util.HashMap; import java.util.Map; /** @@ -90,13 +92,18 @@ protected void loadContent() { protected void onSaveInstanceState(@NonNull Bundle outState) { mWebView.saveState(outState); - // If the WebView state is too large, remove it from the bundle. This workaround is + // If the WebView state is too large, remove it from the bundle and track the error. This workaround is // necessary since the Android system cannot handle large states without a crash. // Note that Chromium `WebViewBrowserFragment` uses a similar workaround for this issue: // https://source.chromium.org/chromium/chromium/src/+/27a9bbd3dcd7005ac9f3862dc2e356b557023de9 byte[] webViewState = outState.getByteArray(WEBVIEW_CHROMIUM_STATE); if (webViewState != null && webViewState.length > WEBVIEW_CHROMIUM_STATE_THRESHOLD) { outState.remove(WEBVIEW_CHROMIUM_STATE); + + // Track the error to better understand the root of the issue + Map properties = new HashMap<>(); + properties.put(URL, mWebView.getUrl()); + AnalyticsTracker.track(AnalyticsTracker.Stat.WEBVIEW_TOO_LARGE_PAYLOAD_ERROR, properties); } super.onSaveInstanceState(outState); } diff --git a/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java b/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java index 82b8a3b126f2..5a4e730ef599 100644 --- a/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java +++ b/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java @@ -1106,7 +1106,8 @@ public enum Stat { SITE_MONITORING_SCREEN_SHOWN, OPENED_SITE_MONITORING, SITE_MONITORING_TAB_SHOWN, - SITE_MONITORING_TAB_LOADING_ERROR + SITE_MONITORING_TAB_LOADING_ERROR, + WEBVIEW_TOO_LARGE_PAYLOAD_ERROR, } private static final List TRACKERS = new ArrayList<>(); diff --git a/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerNosara.java b/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerNosara.java index fcd096393664..08a9c022394b 100644 --- a/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerNosara.java +++ b/libs/analytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerNosara.java @@ -2707,6 +2707,8 @@ public static String getEventNameForStat(AnalyticsTracker.Stat stat) { return "site_monitoring_tab_shown"; case SITE_MONITORING_TAB_LOADING_ERROR: return "site_monitoring_tab_loading_error"; + case WEBVIEW_TOO_LARGE_PAYLOAD_ERROR: + return "webview_too_large_payload_error"; } return null; } From 0c988413de6353275648fa84df9be9d8fd4fb365 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Wed, 7 Feb 2024 14:40:57 +0100 Subject: [PATCH 065/170] Add uri as fallback --- .../wordpress/android/ui/ShareIntentReceiverActivity.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java index faafa640d716..6d100f6d2c07 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java @@ -4,6 +4,7 @@ import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; +import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -116,7 +117,11 @@ private void downloadExternalMedia() { } private boolean isAllowedMediaType(@NonNull Uri uri) { - String filePath = uri.getPath(); + String filePath = MediaUtils.getRealPathFromURI(this, uri); + // For cases when getRealPathFromURI returns an empty string + if (TextUtils.isEmpty(filePath)) { + filePath = String.valueOf(uri); + } return MediaUtils.isValidImage(filePath) || MediaUtils.isVideo(filePath); } From e6b5e1e68e81c5856798a39b547557d98f43c753 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Wed, 7 Feb 2024 17:30:31 +0200 Subject: [PATCH 066/170] Reload the url if the state was destroyed --- .../org/wordpress/android/ui/WebViewActivity.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java index b50315129ea7..1999b39538e2 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/WebViewActivity.java @@ -100,9 +100,13 @@ protected void onSaveInstanceState(@NonNull Bundle outState) { if (webViewState != null && webViewState.length > WEBVIEW_CHROMIUM_STATE_THRESHOLD) { outState.remove(WEBVIEW_CHROMIUM_STATE); + // Save the URL so it can be restored later + String url = mWebView.getUrl(); + outState.putString(URL, url); + // Track the error to better understand the root of the issue Map properties = new HashMap<>(); - properties.put(URL, mWebView.getUrl()); + properties.put(URL, url); AnalyticsTracker.track(AnalyticsTracker.Stat.WEBVIEW_TOO_LARGE_PAYLOAD_ERROR, properties); } super.onSaveInstanceState(outState); @@ -114,7 +118,14 @@ protected void onSaveInstanceState(@NonNull Bundle outState) { @Override protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); - mWebView.restoreState(savedInstanceState); + if (savedInstanceState.containsKey(WEBVIEW_CHROMIUM_STATE)) { + mWebView.restoreState(savedInstanceState); + } else { + String url = savedInstanceState.getString(URL); + if (url != null) { + mWebView.loadUrl(url); + } + } } @Override From 3a947fdc644adc3cdb28939135b5aa14fd92fb72 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Wed, 7 Feb 2024 18:21:33 +0200 Subject: [PATCH 067/170] Adds release note --- RELEASE-NOTES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index ae53f411fddc..ba0924f0ba7a 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -10,6 +10,7 @@ * [*] [Jetpack-only] Site Monitoring: Add Metrics, PHP Logs, and Web Server Logs under Site Monitoring [https://github.com/wordpress-mobile/WordPress-Android/issues/20067] * [**] Prevent images from temporarily disappearing when uploading media [https://github.com/WordPress/gutenberg/pull/57869] * [***] [Jetpack-only] Reader: introduced new UI/UX for content navigation and filtering [https://github.com/wordpress-mobile/WordPress-Android/pull/19978] +* [**] Prevents crashes when the webview state is too big [https://github.com/wordpress-mobile/WordPress-Android/pull/20139] 24.1 ----- From 00dd4734f886e50d8372a38c8d71e90786e2edcb Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Wed, 7 Feb 2024 13:37:47 -0300 Subject: [PATCH 068/170] Fix checkstyle --- .../org/wordpress/android/ui/reader/ReaderPostListFragment.java | 1 - 1 file changed, 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java index be390bc2ab39..d7bbc9b13c4b 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java @@ -28,7 +28,6 @@ import androidx.appcompat.widget.SearchView; import androidx.core.content.ContextCompat; import androidx.core.text.HtmlCompat; -import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.lifecycle.ViewModelProvider; import androidx.recyclerview.widget.RecyclerView; From afff0cd76cf47a80034d97303ed25fe98d59156a Mon Sep 17 00:00:00 2001 From: Danilo Ercoli Date: Wed, 7 Feb 2024 18:25:04 +0100 Subject: [PATCH 069/170] Fix unit test --- .../android/ui/reader/viewmodels/ReaderViewModelTest.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt index 3cb4f933e28e..4d12b5593ada 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/reader/viewmodels/ReaderViewModelTest.kt @@ -40,6 +40,7 @@ import org.wordpress.android.ui.reader.viewmodels.ReaderViewModel.ReaderUiState import org.wordpress.android.ui.reader.viewmodels.ReaderViewModel.ReaderUiState.ContentUiState import org.wordpress.android.util.JetpackBrandingUtils import org.wordpress.android.util.SnackbarSequencer +import org.wordpress.android.util.UrlUtilsWrapper import org.wordpress.android.viewmodel.Event import java.util.Date @@ -89,6 +90,8 @@ class ReaderViewModelTest : BaseUnitTest() { private val emptyReaderTagList = ReaderTagList() private val nonEmptyReaderTagList = createNonMockedNonEmptyReaderTagList() + private val urlUtilsWrapper = UrlUtilsWrapper() + @Before fun setup() { viewModel = ReaderViewModel( @@ -105,6 +108,7 @@ class ReaderViewModelTest : BaseUnitTest() { snackbarSequencer, jetpackFeatureRemovalOverlayUtil, readerTopBarMenuHelper, + urlUtilsWrapper ) whenever(dateProvider.getCurrentDate()).thenReturn(Date(DUMMY_CURRENT_TIME)) From 6b9475275fbaf2df5676aa7f92a7fc5fc72b1165 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Wed, 7 Feb 2024 14:55:24 -0300 Subject: [PATCH 070/170] Fix UninitializedPropertyAccessException in ReaderFragment onSaveInstanceState --- .../java/org/wordpress/android/ui/reader/ReaderFragment.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt index 28397a28fb70..29fafc842e2f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderFragment.kt @@ -168,7 +168,9 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), ScrollableView override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) - viewModel.onSaveInstanceState(outState) + if (::viewModel.isInitialized) { + viewModel.onSaveInstanceState(outState) + } } private fun updateUiState(uiState: ReaderViewModel.ReaderUiState) { From fc1ffd87aa17ada298294cec73e5b2573d8d53fe Mon Sep 17 00:00:00 2001 From: Danilo Ercoli Date: Wed, 7 Feb 2024 19:13:14 +0100 Subject: [PATCH 071/170] Make sure blog.url is not empty before using it. --- .../wordpress/android/ui/reader/subfilter/SubfilterListItem.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt index 2b005e15b809..f78c7550aee1 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt @@ -69,7 +69,7 @@ sealed class SubfilterListItem(val type: ItemType, val isTrackedItem: Boolean = override val label: UiString = if (blog.name.isNotEmpty()) { UiStringText(blog.name) } else { - UiStringText(UrlUtils.getHost(blog.url)) + UiStringText(if (blog.url.isNotEmpty()) UrlUtils.getHost(blog.url) else "") } val showUnseenCount: Boolean = blog.numUnseenPosts > 0 val unseenCount: Int = blog.numUnseenPosts From 56d0d8c4645d9aad8bb3aac3a24cd2d36e3927ba Mon Sep 17 00:00:00 2001 From: Danilo Ercoli Date: Wed, 7 Feb 2024 22:40:46 +0100 Subject: [PATCH 072/170] Ensure to verify that blog.url is not null before using it. While it should never occur that the URL is null, it's better to err on the side of caution. --- .../android/ui/reader/subfilter/SubFilterViewModel.kt | 4 ++-- .../android/ui/reader/subfilter/SubfilterListItem.kt | 3 ++- .../android/ui/reader/views/ReaderSiteHeaderView.java | 6 +++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt index 11a170fb3329..44d50e65e150 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt @@ -142,8 +142,8 @@ class SubFilterViewModel @Inject constructor( }.sortedWith(Comparator { blog1, blog2 -> // sort followed blogs by name/domain to match display val blogOneName = getBlogNameForComparison(blog1) - val blogNameTwo = getBlogNameForComparison(blog2) - blogOneName.compareTo(blogNameTwo, true) + val blogTwoName = getBlogNameForComparison(blog2) + blogOneName.compareTo(blogTwoName, true) }) filterList.addAll( diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt index f78c7550aee1..dcaf479f983e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterListItem.kt @@ -69,7 +69,8 @@ sealed class SubfilterListItem(val type: ItemType, val isTrackedItem: Boolean = override val label: UiString = if (blog.name.isNotEmpty()) { UiStringText(blog.name) } else { - UiStringText(if (blog.url.isNotEmpty()) UrlUtils.getHost(blog.url) else "") + if (blog.url.isNotEmpty()) UiStringText(UrlUtils.getHost(blog.url)) + else UiStringRes(R.string.reader_untitled_post) } val showUnseenCount: Boolean = blog.numUnseenPosts > 0 val unseenCount: Int = blog.numUnseenPosts diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderSiteHeaderView.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderSiteHeaderView.java index c4aad5a3b025..3fd01fae0109 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderSiteHeaderView.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/views/ReaderSiteHeaderView.java @@ -158,7 +158,11 @@ private void showBlogInfo(ReaderBlog blogInfo, String source) { if (blogInfo.hasName()) { txtBlogName.setText(blogInfo.getName()); } else { - txtBlogName.setText(UrlUtils.getHost(blogInfo.getUrl())); + if (blogInfo.getUrl() != null) { + txtBlogName.setText(UrlUtils.getHost(blogInfo.getUrl())); + } else { + txtBlogName.setText(R.string.reader_untitled_post); + } } if (blogInfo.hasUrl()) { From b131a84a1168c560e05775b4e26b0c4241d92289 Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Thu, 8 Feb 2024 10:10:43 +0100 Subject: [PATCH 073/170] build: bump Hilt/Dagger to `2.50` --- WordPress/build.gradle | 2 +- settings.gradle | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/WordPress/build.gradle b/WordPress/build.gradle index 4b11a35570f3..436bfb12bf0e 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -10,7 +10,7 @@ plugins { id "io.sentry.android.gradle" id "se.bjurr.violations.violation-comments-to-github-gradle-plugin" id "com.google.gms.google-services" - id 'dagger.hilt.android.plugin' + id "com.google.dagger.hilt.android" id "org.jetbrains.kotlinx.kover" } diff --git a/settings.gradle b/settings.gradle index 5e48b42287db..0d10ae86bff7 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,7 +4,7 @@ pluginManagement { gradle.ext.googleServicesVersion = '4.3.15' gradle.ext.navigationVersion = '2.5.3' gradle.ext.sentryVersion = '3.5.0' - gradle.ext.daggerVersion = "2.46.1" + gradle.ext.daggerVersion = '2.50' gradle.ext.detektVersion = '1.23.0' gradle.ext.violationCommentsVersion = '1.67' gradle.ext.measureBuildsVersion = '2.0.3' @@ -26,6 +26,7 @@ pluginManagement { id "se.bjurr.violations.violation-comments-to-github-gradle-plugin" version gradle.ext.violationCommentsVersion id 'com.automattic.android.measure-builds' version gradle.ext.measureBuildsVersion id "org.jetbrains.kotlinx.kover" version gradle.ext.koverVersion + id "com.google.dagger.hilt.android" version gradle.ext.daggerVersion } repositories { maven { @@ -38,14 +39,6 @@ pluginManagement { gradlePluginPortal() google() } - resolutionStrategy { - eachPlugin { - // TODO: Remove this when 'dagger.hilt' starts supporting Plugin Marker Artifacts - if (requested.id.id == 'dagger.hilt.android.plugin') { - useModule("com.google.dagger:hilt-android-gradle-plugin:$gradle.ext.daggerVersion") - } - } - } } plugins { From 2522515d36e2ffecdecf010daf412c4e2410cf93 Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Thu, 8 Feb 2024 11:02:42 +0100 Subject: [PATCH 074/170] build: bump glide to `4.16.0` --- .../android/util/image/ImageManager.kt | 82 +++++++++---------- build.gradle | 2 +- 2 files changed, 39 insertions(+), 45 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/util/image/ImageManager.kt b/WordPress/src/main/java/org/wordpress/android/util/image/ImageManager.kt index b7106f7ce1a3..4a2ba404c138 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/image/ImageManager.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/image/ImageManager.kt @@ -23,6 +23,8 @@ import android.widget.TextView import androidx.annotation.DrawableRes import androidx.core.content.ContextCompat import androidx.fragment.app.FragmentActivity +import com.bumptech.glide.Glide +import com.bumptech.glide.RequestBuilder import com.bumptech.glide.load.DataSource import com.bumptech.glide.load.engine.GlideException import com.bumptech.glide.load.resource.bitmap.CenterCrop @@ -38,8 +40,6 @@ import com.bumptech.glide.request.transition.Transition import com.bumptech.glide.signature.ObjectKey import kotlinx.coroutines.CoroutineScope import org.wordpress.android.WordPress -import org.wordpress.android.modules.GlideApp -import org.wordpress.android.modules.GlideRequest import org.wordpress.android.networking.MShot import org.wordpress.android.ui.media.VideoLoader import org.wordpress.android.util.AppLog @@ -107,7 +107,7 @@ class ImageManager @Inject constructor( fun load(imageView: ImageView, imageType: ImageType, imgUrl: String = "", scaleType: ScaleType = CENTER) { val context = imageView.context if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .load(imgUrl) .addFallback(imageType) .addPlaceholder(imageType) @@ -137,7 +137,7 @@ class ImageManager @Inject constructor( videoUrl, loadAction = { if (!context.isAvailable()) return@runIfMediaNotTooBig - GlideApp.with(context) + Glide.with(context) .load(videoUrl) .addFallback(imageType) .addPlaceholder(imageType) @@ -152,7 +152,7 @@ class ImageManager @Inject constructor( val fallbackDrawable = placeholderManager.getErrorResource(imageType)?.let { ColorDrawable(ContextCompat.getColor(context, it)) } - GlideApp.with(context) + Glide.with(context) .load(fallbackDrawable) .addPlaceholder(imageType) .addFallback(imageType) @@ -178,7 +178,7 @@ class ImageManager @Inject constructor( height: Int? = null ) { if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .asBitmap() .load(imgUrl) .addFallback(imageType) @@ -202,7 +202,7 @@ class ImageManager @Inject constructor( ) { val context = imageView.context if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .load(imgUrl) .addFallback(imageType) .addPlaceholder(imageType) @@ -236,7 +236,7 @@ class ImageManager @Inject constructor( return } - GlideApp.with(context) + Glide.with(context) .load(imageData) .addFallback(imageType) .addPlaceholder(imageType) @@ -262,7 +262,7 @@ class ImageManager @Inject constructor( val context = imageView.context if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .load(imgUrl) .transform(CenterCrop(), RoundedCorners(cornerRadius)) .addFallback(imageType) @@ -290,7 +290,7 @@ class ImageManager @Inject constructor( ) { val context = imageView.context if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .load(Uri.parse(imgUrl)) .addFallback(imageType) .addPlaceholder(imageType) @@ -310,7 +310,7 @@ class ImageManager @Inject constructor( fun preload(context: Context, design: MShot) { if (!context.isAvailable()) return try { - GlideApp.with(context) + Glide.with(context) .downloadOnly() .load(design) .submit() @@ -330,7 +330,7 @@ class ImageManager @Inject constructor( fun loadWithResultListener(view: ImageView, design: MShot, requestListener: RequestListener) { val context = view.context if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .load(design) .addFallback(ImageType.THEME) .addPlaceholder(ImageType.THEME) @@ -360,7 +360,7 @@ class ImageManager @Inject constructor( ) { val context = imageView.context if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .load(imgUri) .addFallback(imageType) .addPlaceholder(imageType) @@ -384,7 +384,7 @@ class ImageManager @Inject constructor( ) { val context = WordPress.getContext() if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .asFile() .load(imgUri) .attachRequestListener(requestListener) @@ -404,7 +404,7 @@ class ImageManager @Inject constructor( fun load(imageView: ImageView, bitmap: Bitmap, scaleType: ScaleType = CENTER) { val context = imageView.context if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .load(bitmap) .applyScaleType(scaleType) .into(imageView) @@ -418,7 +418,7 @@ class ImageManager @Inject constructor( fun load(imageView: ImageView, drawable: Drawable, scaleType: ScaleType = CENTER) { val context = imageView.context if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .load(drawable) .applyScaleType(scaleType) .into(imageView) @@ -432,7 +432,7 @@ class ImageManager @Inject constructor( fun load(imageView: ImageView, @DrawableRes resourceId: Int, scaleType: ScaleType = CENTER) { val context = imageView.context if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .load(ContextCompat.getDrawable(context, resourceId)) .applyScaleType(scaleType) .into(imageView) @@ -450,7 +450,7 @@ class ImageManager @Inject constructor( fun loadIntoCustomTarget(viewTarget: ViewTarget, imageType: ImageType, imgUrl: String) { val context = WordPress.getContext() if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .load(imgUrl) .addFallback(imageType) .addPlaceholder(imageType) @@ -472,7 +472,7 @@ class ImageManager @Inject constructor( scaleType: ScaleType = CENTER ) { if (!context.isAvailable()) return - GlideApp.with(context) + Glide.with(context) .asBitmap() .load(imgUrl) .applyScaleType(scaleType) @@ -488,7 +488,7 @@ class ImageManager @Inject constructor( if (context is Activity && (context.isFinishing || context.isDestroyed)) { return } - GlideApp.with(imageView.context).clear(imageView) + Glide.with(imageView.context).clear(imageView) } /** @@ -497,12 +497,12 @@ class ImageManager @Inject constructor( */ @Suppress("DEPRECATION") fun cancelRequest(context: Context, target: BaseTarget?) { - GlideApp.with(context).clear(target) + Glide.with(context).clear(target) } - private fun GlideRequest.applyScaleType( + private fun RequestBuilder.applyScaleType( scaleType: ScaleType - ): GlideRequest { + ): RequestBuilder { return when (scaleType) { ScaleType.CENTER_CROP -> this.centerCrop() ScaleType.CENTER_INSIDE -> this.centerInside() @@ -521,7 +521,7 @@ class ImageManager @Inject constructor( } } - private fun GlideRequest.applySize(width: Int?, height: Int?): GlideRequest { + private fun RequestBuilder.applySize(width: Int?, height: Int?): RequestBuilder { return if (width != null && height != null) { this.override(width, height) } else { @@ -529,7 +529,7 @@ class ImageManager @Inject constructor( } } - private fun GlideRequest.addPlaceholder(imageType: ImageType): GlideRequest { + private fun RequestBuilder.addPlaceholder(imageType: ImageType): RequestBuilder { val placeholderImageRes = placeholderManager.getPlaceholderResource(imageType) return if (placeholderImageRes == null) { this @@ -538,7 +538,7 @@ class ImageManager @Inject constructor( } } - private fun GlideRequest.addFallback(imageType: ImageType): GlideRequest { + private fun RequestBuilder.addFallback(imageType: ImageType): RequestBuilder { val errorImageRes = placeholderManager.getErrorResource(imageType) return if (errorImageRes == null) { this @@ -550,7 +550,7 @@ class ImageManager @Inject constructor( /** * Changing the signature invalidates cache. */ - private fun GlideRequest.addSignature(signature: Int?): GlideRequest { + private fun RequestBuilder.addSignature(signature: Int?): RequestBuilder { return if (signature == null) { this } else { @@ -558,15 +558,15 @@ class ImageManager @Inject constructor( } } - private fun GlideRequest.addThumbnail( + private fun RequestBuilder.addThumbnail( context: Context, thumbnailUrl: String?, listener: RequestListener - ): GlideRequest { + ): RequestBuilder { return if (TextUtils.isEmpty(thumbnailUrl)) { this } else { - val thumbnailRequest = GlideApp + val thumbnailRequest = Glide .with(context) .load(thumbnailUrl) .downsample(DownsampleStrategy.AT_MOST) @@ -575,9 +575,9 @@ class ImageManager @Inject constructor( } } - private fun GlideRequest.attachRequestListener( + private fun RequestBuilder.attachRequestListener( requestListener: RequestListener? - ): GlideRequest { + ): RequestBuilder { return if (requestListener == null) { this } else { @@ -585,7 +585,7 @@ class ImageManager @Inject constructor( override fun onLoadFailed( e: GlideException?, model: Any?, - target: Target?, + target: Target, isFirstResource: Boolean ): Boolean { requestListener.onLoadFailed(e, model) @@ -593,22 +593,16 @@ class ImageManager @Inject constructor( } override fun onResourceReady( - resource: T?, - model: Any?, + resource: T, + model: Any, target: Target?, - dataSource: DataSource?, + dataSource: DataSource, isFirstResource: Boolean ): Boolean { - if (resource != null) { - requestListener.onResourceReady(resource, model) - } else { - // according to the Glide's JavaDoc, this shouldn't happen - AppLog.e(AppLog.T.UTILS, "Resource in ImageManager.onResourceReady is null.") - requestListener.onLoadFailed(null, model) - } + requestListener.onResourceReady(resource, model) return false } - }) + }) } } diff --git a/build.gradle b/build.gradle index 68f0424a0e10..66c80ffe9663 100644 --- a/build.gradle +++ b/build.gradle @@ -68,7 +68,7 @@ ext { facebookShimmerVersion = '0.5.0' firebaseBomVersion = '32.1.0' firebaseIidVersion = '21.1.0' - glideVersion = '4.15.1' + glideVersion = '4.16.0' googleAutoServiceVersion = '1.0.1' googleExoPlayerVersion = '2.13.3' googleFlexboxlayoutVersion = '3.0.0' From 5c411d6045e7a893214dba295e14e60208d4320b Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Tue, 6 Feb 2024 16:47:42 +0100 Subject: [PATCH 075/170] Upgrade Dangermattic Gem --- Gemfile | 2 +- Gemfile.lock | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 1ec5b09f1832..963598b39ce3 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' -gem 'danger-dangermattic', git: 'https://github.com/Automattic/dangermattic' +gem 'danger-dangermattic', git: 'https://github.com/Automattic/dangermattic', ref: 'iangmaia/common-utils' gem 'fastlane', '~> 2' gem 'nokogiri' diff --git a/Gemfile.lock b/Gemfile.lock index 8eccdeca39cc..bbf03b946912 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,7 @@ GIT remote: https://github.com/Automattic/dangermattic - revision: 9ba0e5824e66e16526897a4583c9b900f9b8635c + revision: a05023fa2b877c0d778c14bfff891c1318dd9f63 + ref: iangmaia/common-utils specs: danger-dangermattic (0.0.1) danger (~> 9.3) From 83b964ad9437c22211e4b6168ceb004e2ff90d57 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Tue, 6 Feb 2024 16:48:04 +0100 Subject: [PATCH 076/170] Update Dangerfile to use latest Dangermattic plugins --- Dangerfile | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/Dangerfile b/Dangerfile index 7fb50ff0d8f5..066512321d91 100644 --- a/Dangerfile +++ b/Dangerfile @@ -1,41 +1,42 @@ # frozen_string_literal: true -def release_branch? - danger.github.branch_for_base.start_with?('release/') || danger.github.branch_for_base.start_with?('hotfix/') -end +github.dismiss_out_of_range_messages -def main_branch? - danger.github.branch_for_base == 'trunk' -end +# `files: []` forces rubocop to scan all files, not just the ones modified in the PR +rubocop.lint(files: [], force_exclusion: true, inline_comment: true, fail_on_inline_comment: true, include_cop_names: true) -def wip_feature? - has_wip_label = github.pr_labels.any? { |label| label.include?('WIP') } - has_wip_title = github.pr_title.include?('WIP') +manifest_pr_checker.check_gemfile_lock_updated - has_wip_label || has_wip_title -end +android_release_checker.check_release_notes_and_play_store_strings -return if github.pr_labels.include?('Releases') +android_strings_checker.check_strings_do_not_refer_resource -github.dismiss_out_of_range_messages +# skip remaining checks if we're during the release process +if github.pr_labels.include?('Releases') + message('This PR has the `Releases` label: some checks will be skipped.') + return +end -manifest_pr_checker.check_gemfile_lock_updated +common_release_checker.check_internal_release_notes_changed(report_type: :message) + +android_release_checker.check_modified_strings_on_release labels_checker.check( + do_not_merge_labels: ['Do Not Merge'], required_labels: [//], required_labels_error: 'PR requires at least one label.' ) -view_changes_need_screenshots.view_changes_need_screenshots +view_changes_checker.check pr_size_checker.check_diff_size( - file_selector: ->(path) { !path.include?('/src/test') }, - max_size: 300 + max_size: 300, + file_selector: ->(path) { !path.include?('/src/test') } ) android_unit_test_checker.check_missing_tests # skip check for draft PRs and for WIP features unless the PR is against the main branch or release branch -milestone_checker.check_milestone_due_date(days_before_due: 4) unless github.pr_draft? || (wip_feature? && !(release_branch? || main_branch?)) - -rubocop.lint(inline_comment: true, fail_on_inline_comment: true, include_cop_names: true) +unless github.pr_draft? || (github_utils.wip_feature? && !(github_utils.release_branch? || github_utils.main_branch?)) + milestone_checker.check_milestone_due_date(days_before_due: 4) +end From 1ecc225db0bfc56e1ff80d36763fe2a8eb1b2b6e Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Thu, 8 Feb 2024 13:49:05 +0100 Subject: [PATCH 077/170] Use published Dangermattic Gem --- Gemfile | 2 +- Gemfile.lock | 56 +++++++++++++++++++++++----------------------------- 2 files changed, 26 insertions(+), 32 deletions(-) diff --git a/Gemfile b/Gemfile index 963598b39ce3..995ee1e3ebbb 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' -gem 'danger-dangermattic', git: 'https://github.com/Automattic/dangermattic', ref: 'iangmaia/common-utils' +gem 'danger-dangermattic', '~> 1.0' gem 'fastlane', '~> 2' gem 'nokogiri' diff --git a/Gemfile.lock b/Gemfile.lock index bbf03b946912..5667a5c2567a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,17 +1,3 @@ -GIT - remote: https://github.com/Automattic/dangermattic - revision: a05023fa2b877c0d778c14bfff891c1318dd9f63 - ref: iangmaia/common-utils - specs: - danger-dangermattic (0.0.1) - danger (~> 9.3) - danger-junit (~> 1.0) - danger-plugin-api (~> 1.0) - danger-rubocop (~> 0.11) - danger-swiftlint (~> 0.29) - danger-xcode_summary (~> 1.0) - rubocop (~> 1.56) - GEM remote: https://rubygems.org/ specs: @@ -27,7 +13,7 @@ GEM minitest (>= 5.1) mutex_m tzinfo (~> 2.0) - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) artifactory (3.0.15) ast (2.4.2) @@ -67,7 +53,7 @@ GEM connection_pool (2.4.1) cork (0.3.0) colored2 (~> 3.1) - danger (9.4.0) + danger (9.4.3) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -78,8 +64,16 @@ GEM kramdown (~> 2.3) kramdown-parser-gfm (~> 1.0) no_proxy_fix - octokit (>= 6.0, < 8.0) + octokit (>= 4.0) terminal-table (>= 1, < 4) + danger-dangermattic (1.0.0) + danger (~> 9.4) + danger-junit (~> 1.0) + danger-plugin-api (~> 1.0) + danger-rubocop (~> 0.12) + danger-swiftlint (~> 0.35) + danger-xcode_summary (~> 1.0) + rubocop (~> 1.60) danger-junit (1.0.2) danger (> 2.0) ox (~> 2.0) @@ -88,10 +82,10 @@ GEM danger-rubocop (0.12.0) danger rubocop (~> 1.0) - danger-swiftlint (0.34.0) + danger-swiftlint (0.35.0) danger rake (> 10) - thor (~> 0.19) + thor (~> 1.0.0) danger-xcode_summary (1.2.0) danger-plugin-api (~> 1.0) xcresult (~> 0.2) @@ -123,7 +117,7 @@ GEM faraday-em_http (1.0.0) faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) - faraday-http-cache (2.5.0) + faraday-http-cache (2.5.1) faraday (>= 0.8) faraday-httpclient (1.0.1) faraday-multipart (1.0.4) @@ -194,7 +188,7 @@ GEM rake-compiler (~> 1.0) xcodeproj (~> 1.22) gh_inspector (1.1.3) - git (1.18.0) + git (1.19.1) addressable (~> 2.8) rchardet (~> 1.8) google-apis-androidpublisher_v3 (0.53.0) @@ -242,7 +236,7 @@ GEM concurrent-ruby (~> 1.0) java-properties (0.3.0) jmespath (1.6.2) - json (2.6.3) + json (2.7.1) jwt (2.7.1) kramdown (2.4.0) rexml @@ -254,7 +248,7 @@ GEM mini_portile2 (2.8.5) minitest (5.20.0) multi_json (1.15.0) - multipart-post (2.3.0) + multipart-post (2.4.0) mutex_m (0.2.0) nanaimo (0.3.0) nap (1.1.0) @@ -271,8 +265,8 @@ GEM optparse (0.1.1) os (1.1.4) ox (2.14.17) - parallel (1.23.0) - parser (3.2.2.4) + parallel (1.24.0) + parser (3.3.0.5) ast (~> 2.4.1) racc plist (3.7.0) @@ -286,7 +280,7 @@ GEM rake-compiler (1.2.5) rake rchardet (1.8.0) - regexp_parser (2.8.2) + regexp_parser (2.9.0) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) @@ -295,15 +289,15 @@ GEM rexml (3.2.6) rmagick (4.3.0) rouge (2.0.7) - rubocop (1.57.2) + rubocop (1.60.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.2.2.4) + parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.28.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.30.0) @@ -326,7 +320,7 @@ GEM terminal-notifier (2.0.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - thor (0.20.3) + thor (1.0.1) trailblazer-option (0.1.2) tty-cursor (0.7.1) tty-screen (0.8.1) @@ -355,7 +349,7 @@ PLATFORMS ruby DEPENDENCIES - danger-dangermattic! + danger-dangermattic (~> 1.0) fastlane (~> 2) fastlane-plugin-wpmreleasetoolkit (~> 9.2) nokogiri From f6896e1fd733b47beeca150f8704854317029b96 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Thu, 8 Feb 2024 15:21:03 +0100 Subject: [PATCH 078/170] Fix RuboCop offense --- fastlane/lanes/localization.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/lanes/localization.rb b/fastlane/lanes/localization.rb index fffe98fc7830..d3a0efc00871 100644 --- a/fastlane/lanes/localization.rb +++ b/fastlane/lanes/localization.rb @@ -120,7 +120,7 @@ } # Add entries for `screenshot_*.txt` files as well Dir.glob('screenshot_*.txt', base: metadata_folder).sort.each do |screenshot_file| - key = "play_store_#{File.basename(screenshot_file, '.txt')}".to_sym + key = :"play_store_#{File.basename(screenshot_file, '.txt')}" files[key] = File.join(metadata_folder, screenshot_file) end From 57413fd8c99a66b9fd2f115cfa7edb136c3e6679 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Thu, 8 Feb 2024 18:57:49 +0100 Subject: [PATCH 079/170] Use versioned shared GitHub Actions Workflow --- .github/workflows/run-danger.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-danger.yml b/.github/workflows/run-danger.yml index d61c242186c8..910ff3bc717e 100644 --- a/.github/workflows/run-danger.yml +++ b/.github/workflows/run-danger.yml @@ -6,6 +6,6 @@ on: jobs: dangermattic: - uses: Automattic/dangermattic/.github/workflows/reusable-run-danger.yml@trunk + uses: Automattic/dangermattic/.github/workflows/reusable-run-danger.yml@v1.0.0 secrets: github-token: ${{ secrets.DANGERMATTIC_GITHUB_TOKEN }} From f664d2f5fdb3a95eea168cd19373e8ed6e69d34d Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Thu, 8 Feb 2024 19:52:55 +0000 Subject: [PATCH 080/170] Update translations --- WordPress/src/main/res/values-ar/strings.xml | 63 +- WordPress/src/main/res/values-az/strings.xml | 2 - WordPress/src/main/res/values-bg/strings.xml | 5 - WordPress/src/main/res/values-cs/strings.xml | 61 +- WordPress/src/main/res/values-cy/strings.xml | 5 - WordPress/src/main/res/values-da/strings.xml | 20 - WordPress/src/main/res/values-de/strings.xml | 153 +- WordPress/src/main/res/values-el/strings.xml | 30 - .../src/main/res/values-en-rCA/strings.xml | 61 - .../src/main/res/values-en-rGB/strings.xml | 155 +- .../src/main/res/values-es-rCL/strings.xml | 24 - .../src/main/res/values-es-rCO/strings.xml | 96 +- .../src/main/res/values-es-rMX/strings.xml | 56 - .../src/main/res/values-es-rVE/strings.xml | 59 - WordPress/src/main/res/values-es/strings.xml | 153 +- WordPress/src/main/res/values-eu/strings.xml | 13 - .../src/main/res/values-fr-rCA/strings.xml | 64 +- WordPress/src/main/res/values-fr/strings.xml | 64 +- WordPress/src/main/res/values-gd/strings.xml | 2 - WordPress/src/main/res/values-gl/strings.xml | 84 +- WordPress/src/main/res/values-he/strings.xml | 60 - WordPress/src/main/res/values-hi/strings.xml | 3 - WordPress/src/main/res/values-hr/strings.xml | 26 - WordPress/src/main/res/values-hu/strings.xml | 1 - WordPress/src/main/res/values-id/strings.xml | 60 - WordPress/src/main/res/values-is/strings.xml | 5 - WordPress/src/main/res/values-it/strings.xml | 60 - WordPress/src/main/res/values-ja/strings.xml | 61 - WordPress/src/main/res/values-kmr/strings.xml | 55 - WordPress/src/main/res/values-ko/strings.xml | 60 - WordPress/src/main/res/values-lv/strings.xml | 4543 ++++++++--------- WordPress/src/main/res/values-mk/strings.xml | 1 - WordPress/src/main/res/values-ms/strings.xml | 5 - WordPress/src/main/res/values-nb/strings.xml | 55 - WordPress/src/main/res/values-nl/strings.xml | 59 - WordPress/src/main/res/values-pl/strings.xml | 58 - .../src/main/res/values-pt-rBR/strings.xml | 59 - WordPress/src/main/res/values-ro/strings.xml | 159 +- WordPress/src/main/res/values-ru/strings.xml | 61 - WordPress/src/main/res/values-sk/strings.xml | 37 - WordPress/src/main/res/values-sq/strings.xml | 61 - WordPress/src/main/res/values-sr/strings.xml | 43 - WordPress/src/main/res/values-sv/strings.xml | 128 +- WordPress/src/main/res/values-th/strings.xml | 3 - WordPress/src/main/res/values-tr/strings.xml | 61 - WordPress/src/main/res/values-uz/strings.xml | 1 - WordPress/src/main/res/values-vi/strings.xml | 59 - .../src/main/res/values-zh-rCN/strings.xml | 61 - .../src/main/res/values-zh-rHK/strings.xml | 61 - .../src/main/res/values-zh-rTW/strings.xml | 61 - 50 files changed, 2738 insertions(+), 4399 deletions(-) diff --git a/WordPress/src/main/res/values-ar/strings.xml b/WordPress/src/main/res/values-ar/strings.xml index 726723533914..374d1ace6aca 100644 --- a/WordPress/src/main/res/values-ar/strings.xml +++ b/WordPress/src/main/res/values-ar/strings.xml @@ -94,7 +94,6 @@ Language: ar الحساب والإعدادات تحديد خطة مجاني للعام الأول مع الخطط السنوية المدفوعة - متابع واحد تم الحفظ حفظ ربما ينال إعجابك @@ -210,8 +209,8 @@ Language: ar اسمح لنا بتحسين الأداء عن طريق جمع المعلومات حول كيفية تفاعل المستخدمين مع تطبيقاتنا للهواتف المحمولة. التحليلات إدارة الخصوصية - تُمثِّل خصوصيتك أهمية بالغة بالنسبة إلينا وكانت دومًا كذلك. إننا نستخدم بياناتك الشخصية ونخزّنها ونعالجها لتحسين تطبيقنا (وتجربتك) بطرق متنوعة. إننا بحاجة إلى بعض استخدامات بياناتك بشكل كلي لكي تسير الأمور على ما يرام، إلى جانب استخدامات أخرى يمكنك تحسينها من إعداداتك. أنا. Manage your profile details. + تُمثِّل خصوصيتك أهمية بالغة بالنسبة إلينا وكانت دومًا كذلك. إننا نستخدم بياناتك الشخصية ونخزّنها ونعالجها لتحسين تطبيقنا (وتجربتك) بطرق متنوعة. إننا بحاجة إلى بعض استخدامات بياناتك بشكل كلي لكي تسير الأمور على ما يرام، إلى جانب استخدامات أخرى يمكنك تحسينها من إعداداتك. رسالة تم إلغاء تجميع المكوّنات تم تجميع المكوّنات @@ -592,7 +591,6 @@ Language: ar حدِّد علامة تبويب ⁦%1$s⁩التنبيهات⁦%2$s⁩ للحصول على تحديثات في أثناء التنقل. حدِّد ⁦%1$s⁩علامة الجمع⁦%2$s⁩ لرفع الوسائط. يمكنك إضافتها إلى تدويناتك/ صفحاتك من أي جهاز. استخدم <b>الاكتشاف</b> للعثور على المواقع والوسوم. - استخدم <b>الاكتشاف</b> للعثور على المواقع والوسوم. جرَّب تحديد ⁦%1$s⁩الإعدادات⁦%2$s⁩ لإضافة موضوعات تنال إعجابك. صورة مصغَّرة للفيديو أفضل المعلقين إجمالي التعليقات @@ -1089,7 +1087,6 @@ Language: ar التعليقات غير المسموح بها عناوين IP المسموح بها دائمًا إضافة نصّ للزر - متابعة المواضيع تنزيل تجاهل طريقة جديدة لإنشاء ونشر محتوى جذّاب على موقعك. @@ -1404,8 +1401,6 @@ Language: ar لا توجد مقالات حديثة العثور على بريدك الإلكتروني المتصل الاستمرار في تخزين بيانات الاعتماد - حاول متابعة المزيد من المواضيع لتوسيع البحث - متابعة المواضيع أُعجب <b>Madison Ruiz</b> بمقالتك لقد تلقيت <b>50 إعجاب</b> على موقعك اليوم قام <b>Johan Brandt</b> بالردّ على مقالتك @@ -1440,7 +1435,6 @@ Language: ar شاهد التعليقات والإشعارات في الوقت الفعلي. شاهد جمهورك يتزايد من خلال التحليلات المتعمقة. تابع مواقعك المفضَّلة واكتشف مدوّنات جديدة. - مواقع لمتابعتها فشل تحميل الوسائط نعمل بجد لإضافة المزيد من المكوِّنات مع كل إصدار. لم يتم دعم \"%s\" بالكامل @@ -1463,7 +1457,6 @@ Language: ar رجوع البدء بواسطة - متابعة المواضيع لاكتشاف مدونات جديدة فتح الموقع الإلكتروني يتعر وسم هذا المرجع بأنه بريد مزعج عدم الوسم بأنه بريد مزعج @@ -1620,7 +1613,6 @@ Language: ar يمكن للمستخدم فقط تغيير عنوان الموقع باستخدام دور المسؤول. إزالة المكوّن يُعرض عنوان الموقع في شريط العناوين في متصفح الويب ويُعرض في رأس الصفحة في معظم القوالب. - موضوع تعذر تحديث عنوان الموقع. تحقَّق من اتصال شبكتك وحاول مجددًا. تغييرات غير محفوظة التنقل إلى ورقة المحتوى السابقة @@ -1660,8 +1652,6 @@ Language: ar قراءة إشعار الخصوصية لقانون خصوصية المستهلك في كاليفورنيا يتطلب قانون خصوصية المستهلك في كاليفورنيا (\"CCPA\") منا تزويد سكان كاليفورنيا ببعض المعلومات الإضافية حول تصنيفات المعلومات الشخصية التي نقوم بتجميعها ومشاركتها، مع تحديد المصدر الذي نحصل على تلك المعلومات الشخصية منه، وكيف نستخدمها ولماذا. مجدولة - اختر مواضيعك - اختر مواضيعك الحالة والظهور إشعار الخصوصية الخاص بالمستخدمين في كاليفورنيا قم بالتحديث الآن @@ -1696,7 +1686,6 @@ Language: ar لتعيين صفحة رئيسية، قم بتمكين \"الصفحة الرئيسية الثابتة\" في إعدادات الموقع تحديد لون الضغط ضغطًا مزدوجًا للانتقال إلى إعدادات الألوان - عندما تتابع المواقع، سترى محتواها هنا اكتشاف المزيد قص فشل التحميل إلى الملف، يرجى المحاولة مرة أخرى. @@ -1710,7 +1699,6 @@ Language: ar ما الجديد في %s المتابعة فشلت إعادة التدوين - إدارة المواقع الجديد تم نسخ عنوان الرابط نسخ عنوان الرابط @@ -1719,8 +1707,6 @@ Language: ar إدراج المتابعة نسخ - لا تتوافر مواقع WordPress.com - بمجرد إنشاء موقع WordPress.com، يمكنك إعادة تدوين المحتوى الذي أعجبك على موقعك الخاص. عدد الأعمدة نقل المكوِّن إلى اليمين نقل المكوِّن إلى اليسار @@ -1813,22 +1799,12 @@ Language: ar إضافة بطاقة إحصاءات جديدة تسجيل الدخول إلى WordPress.com إزالة الفلتر الحالي - تحديد موقع أو وسم لفلترة المقالات - تحديد وسم أو موقع، نافذة منبثقة استخدام زر الفلترة للعثور على مقالات في مواضيع معينة - إدارة المواضيع والمواقع - تسجيل الدخول إلى WordPress.com للاطلاع على أحدث المقالات من المواقع التي تتابعها - تسجيل الدخول إلى WordPress.com للاطلاع على أحدث المقالات من المواضيع التي تتابعها استبدال المكوِّن الحالي إضافة إلى النهاية إضافة إلى البداية إضافة مكوّن قبل إضافة مكوّن بعد - متابعة موقع - الاطِّلاع على أحدث المقالات من المواقع التي تتابعها - إضافة موضوع - يمكنك متابعة مقالات حول موضوع معيَّن عن طريق إضافة موضوع - المتابعة عامل التصفية تسمية الفيديو. %s تحرير الفيديو @@ -1872,7 +1848,6 @@ Language: ar تعذر علينا الوصول إلى <b>ملف XMLRPC</b> على موقعك. سيتعين عليك الوصول إلى مضيفك لحل هذا الأمر. تقريبًا هناك! يتعين علينا فقط التحقق من صحة عنوان بريدك الإلكتروني المتصل بـ Jetpack <b>%1$s</b> تسجيل الدخول باستخدام بيانات اعتماد الموقع %1$s الخاصة بك - المتابعة صفحة الموقع يتعذر علينا فتح هذه المقالات الآن. يرجى المحاولة مجددًا في وقت لاحق %sB @@ -2365,7 +2340,6 @@ Language: ar أجرينا عددًا كبيرًا جدًا من المحاولات لإرسال رمز التحقق عبر الرسائل القصيرة — استرح، واطلب رمزًا جديدًا في غضون دقيقة. محذوف لا تتطابق أي مواقع مع بحثك - لا تتطابق أي مواقع مع بحثك تم تغيير أصل الصفحة لا يتطابق أي حساب على WordPress.com مع حساب Google هذا. تم حذف الصفحة نهائيًّا @@ -2398,8 +2372,6 @@ Language: ar ليس الآن ليس لديك أي مواقع المزيد - أضف موضوعًا هنا للعثور على مقالات حول موضوعاتك المفضلة - لا توجد مواضيع تمت متابعتها Jetpack الأسئلة الشائعة عن Jetpack سجّل الدخول إلى حساب WordPress.com الذي تستخدمه للاتصال بـ Jetpack. @@ -2418,10 +2390,7 @@ Language: ar لا توجد مشاهدات بعد لا متابِعون حتى الآن لا يوجد مستخدمين حتى الآن - لا توجد مواقع تمت متابعتها لا توجد إعجابات حتى الآن - استكشف المواقع - الذهاب للمتابعة لا متابعين حتى الآن لا توجد إعجابات حتى الآن نظرًا لأنك مشترك في الخطة المجانية، سترى أحداثًا محدودة في سجل نشاطك. @@ -2486,8 +2455,6 @@ Language: ar هذا الموقع تفعيل هل ترغب في تمكين التنبيهات لـ %1$s%2$s%3$s؟ - تشغيل التنبيهات في الموقع - إيقاف تشغيل التنبيهات في الموقع أيقونة Jetpack الحدث أيقونة النشاط @@ -3065,7 +3032,6 @@ Language: ar تأكيد تعذر الاتصال. تلقينا الخطأ 403 عند محاولة الوصول إلى\n نقطة نهاية XMLRPC على موقعك. يحتاج التطبيق إلى ذلك للاتصال بموقعك. يرجى الاتصال بالمضيف لإيجاد حل\n لهذه المشكلة. تعذر الاتصال. يقوم المضيف الخاص بك بحظر طلبات POST، ويحتاج التطبيق إليها\n للاتصال بموقعك. يُرجى الاتصال بالمضيف لحل هذه المشكلة. - بحث في المواقع التي تتم متابعتها لا تتركه معلقًا! \"%1$s\" بانتظار النشر. لا تتركه معلقًا! \"%1$s\" بانتظار النشر. يبقى \"%1$s\" كمسودة. تذكّر أن تنشرها! @@ -3165,7 +3131,6 @@ Language: ar إذا قمت بإزالة %1$s، فلن يعود هذا المستخدم قادرًا على الوصول إلى هذا الموقع، ومع ذلك سيبقى أي محتوى تم إنشاؤه بواسطة %1$s على الموقع.\n\nهل لا تزال ترغب في إزالة هذا المستخدم؟ تمت الإزالة بنجاح @%1$s إزالة %1$s - لم تنشر المواقع الموجودة في هذه القائمة أي شيء مؤخرًا أشخاص الدور تعذرت إزالة المستخدم @@ -3380,7 +3345,6 @@ Language: ar لم تعد هذه المقالة موجودة لست مخولاً لعرض هذه المقالة يتعذر استرجاع هذه المقالة - لم تنشر المواقع التي تتابعها أي شيء مؤخرًا لا توجد مقالات حديثة تم نسخ عنوان URL إلى الحافظة تحديد قالب @@ -3425,8 +3389,6 @@ Language: ar %s إعجابات إعجاب واحد أعجبني - %,d متابعين - تحرير المواضيع والمواقع مقالة القارئ إعدادات للتنبيهات التي تظهر على جهازك. إعدادات للتنبيهات التي يتم إرسالها إلى البريد الإلكتروني المرتبط بحسابك. @@ -3448,8 +3410,6 @@ Language: ar عرض تحرير نشر - غير مخوّل لك الوصول إلى هذا الموقع - تعذر العثور على هذا الموقع تراجع انتهت صلاحية الطلب. سجِّل الدخول إلى WordPress.com للمحاولة مرة أخرى. المشاهدات الأفضل على الإطلاق @@ -3495,7 +3455,6 @@ Language: ar تم نسخ سجلات التطبيق إلى الحافظة مقالات جديدة حدث خطأ أثناء نسخ النص إلى الحافظة - هذا الموقع فارغ جاري رفع المقالة %1$d من الشهور كل عام @@ -3538,25 +3497,10 @@ Language: ar لا توجد مقالات حتى الآن. لماذا لا تبادر بإنشاء واحدة؟ رد على %s جاري تسجيل الخروج… - لا توجد مقالات بهذا الموضوع المساعدة والدعم غير قادر على تنفيذ هذا الإجراء - حظر هذا الموقع - تعذر حظر هذا الموقع - لن تظهر المقالات من هذا الموقع بعد الآن تحديث جدولة - تمت متابعة الموقع - أنت تتابع هذا الموقع بالفعل - تعذر إظهار هذا الموقع - تعذرت متابعة هذا الموقع - تعذر إلغاء متابعة هذا الموقع - لا توجد مواقع موصى بها - موقع القارئ - أدخل رابط URL أو موضوعًا للمتابعة - مواضيع تمّت متابعتها - مواقع تمّت متابعتها - %s من المتابعين المساعدة شهادة SSL غير صالحة إذا كنت عادة تتصل بهذا الموقع بدون أي مشاكل، فربما يعني هذا الخطأ أن شخصًا ما يحاول سرقة هذا الموقع, وينبغي ألا تقوم بالاستمرار. هل ترغب في الوثوق بالشهادة على أي حال؟ @@ -3626,8 +3570,6 @@ Language: ar هل تريد حذف الصفحة؟ تعذر العثور على الملف المراد رفعه. هل تم حذفه أم نقله؟ محذوف - غير قادر على إزالة هذا الموضوع - غير قادر على إضافة هذا الموضوع التخويل مطلوب تمّت الموافقة رابط المشاركة @@ -3647,7 +3589,6 @@ Language: ar مشاركة ( بدون اسم ) تابع - متابع أضيف %s تم حذف %s لايمكن نشر تعليقك @@ -3658,8 +3599,6 @@ Language: ar لا توجد تعليقات حتى الآن إعادة التدوين التسجيل - أنت متابع لهذا الموضوع بالفعل - هذا ليس موضوعًا صالحًا القوالب العنوان الوصف diff --git a/WordPress/src/main/res/values-az/strings.xml b/WordPress/src/main/res/values-az/strings.xml index 45a82373b48d..8d985ff17d96 100644 --- a/WordPress/src/main/res/values-az/strings.xml +++ b/WordPress/src/main/res/values-az/strings.xml @@ -105,7 +105,6 @@ Language: az Bu hərəkət həyata keçirilə bilmir Yenilə Planla - İzlənilən saytlar Yanlış SSL sertifikatı Yardım Əgər bu sayta əsasən problemsiz şəkildə qoşula bilirsinizsə, bu xəta başqalarının saytı təqlid etdiyi mənasına gəlir. yenə də sertifikata etibar etmək istəyirsinizmi? @@ -186,7 +185,6 @@ Language: az %s əlavə edildi %s silindi İzlə - İzlənən Bir nəfər bunu bəyənir Bunu bəyənirsiniz Şərhi dərc etmək baş tutmadı diff --git a/WordPress/src/main/res/values-bg/strings.xml b/WordPress/src/main/res/values-bg/strings.xml index bfc4f3e4ef16..a840625d03d8 100644 --- a/WordPress/src/main/res/values-bg/strings.xml +++ b/WordPress/src/main/res/values-bg/strings.xml @@ -45,7 +45,6 @@ Language: bg Публикувана Направихте прекалено много опити да изпратите SMS кода за потвърждение - спрете за кратко и подайте нова заявка след минута. Няма профил в WordPress.com, съответстващ на този профил в Google. - Няма сайтове, съответстващи на търсенето ви Няма сайтове, съответстващи на търсенето ви Родителската страница е сменена Страницата е изтрита за постоянно @@ -326,7 +325,6 @@ Language: bg Премахване на %1$s Роля Хора - Няма нови публикации в сайтовете от този списък Потребителят не може да бъде премахнат Грешка при обновяване на потребителската роля Грешка при зареждане на потребителите на сайта @@ -526,7 +524,6 @@ Language: bg Тази публикация вече не съществува Нямате права да четете тази публикация Неуспешно отваряне на публикацията - Сайтовете, които следвате, нямат нови публикации Няма скорошни публикации Адресът е копиран Избрана тема @@ -671,7 +668,6 @@ Language: bg Действието беше неуспешно Актуализиране Планиране - Следени сайтове Помощ Невалиден SSL сертификат Ако обикновено се свързвате с този сайт без проблеми, тази грешка може да означава, че някой се опитва да имитира този сайт и не трябва да продължавате. Искате ли да се доверите на този сертификат въпреки това? @@ -756,7 +752,6 @@ Language: bg Списъкът е празен Споделяне Последване - Следва %s е добавен %s е премахнат Коментарът не беше публикуван diff --git a/WordPress/src/main/res/values-cs/strings.xml b/WordPress/src/main/res/values-cs/strings.xml index 0611ede12466..3513936377df 100644 --- a/WordPress/src/main/res/values-cs/strings.xml +++ b/WordPress/src/main/res/values-cs/strings.xml @@ -317,7 +317,6 @@ Language: cs_CZ Vyberte kartu %1$s Oznámení %2$s a získejte aktualizace na cestách. Chcete-li nahrát média, vyberte %1$s plus %2$s. Můžete jej přidat do svých příspěvků/stránek z jakéhokoli zařízení. Pomocí <b> Objevit </b> vyhledejte stránky a značky. - Pomocí <b> Objevit </b> vyhledejte stránky a značky. Zkuste vybrat %1$s Nastavení %2$s a přidat témata, která se vám líbí. Miniatura videa Nejlepší komentátoři Publikováno před %1$d lety @@ -810,7 +809,6 @@ Language: cs_CZ Vždy povolené adresy IP Nepovolené komentáře Přidat text tlačítka - Sledujte témata Zamítnout Stáhnout Nový způsob vytváření a publikování poutavého obsahu na vašem webu. @@ -1016,8 +1014,8 @@ Language: cs_CZ Nejsou k dispozici žádné návrhy %s. Při načítání návrhů došlo k problému. Bez shody %s. - Jetpack Scan nemůže tuto hrozbu automaticky opravit.\n Doporučujeme hrozbu vyřešit ručně: ujistěte se, že WordPress, vaše téma a všechny vaše doplňky jsou aktuální, a odstraňte z webu nevhodný kód, téma nebo plugin.\n \n\n Pokud potřebujete další pomoc při řešení této hrozby, doporučujeme <b>Codeable+</b>, důvěryhodné tržiště nezávislých odborníků s vysoce prověřenými odborníky na WordPress.\n Identifikovali vybranou skupinu bezpečnostních odborníků, kteří s těmito projekty pomohli. Ceny se pohybují od 70–120 USD / hodinu a můžete získat bezplatný odhad bez povinnosti najmout. Jetpack Scan nahradí ovlivněný soubor nebo adresář. + Jetpack Scan nemůže tuto hrozbu automaticky opravit.\n Doporučujeme hrozbu vyřešit ručně: ujistěte se, že WordPress, vaše téma a všechny vaše doplňky jsou aktuální, a odstraňte z webu nevhodný kód, téma nebo plugin.\n \n\n Pokud potřebujete další pomoc při řešení této hrozby, doporučujeme <b>Codeable+</b>, důvěryhodné tržiště nezávislých odborníků s vysoce prověřenými odborníky na WordPress.\n Identifikovali vybranou skupinu bezpečnostních odborníků, kteří s těmito projekty pomohli. Ceny se pohybují od 70–120 USD / hodinu a můžete získat bezplatný odhad bez povinnosti najmout. Jaký byl problém? Technické podrobnosti V souboru nalezena hrozba: @@ -1123,8 +1121,6 @@ Language: cs_CZ Prohledat Vítejte! Žádné nedávné příspěvky - Zkuste rozšířit vyhledávání podle dalších témat - Sledujte témata Najděte svůj připojený e-mail Pokračujte s přihlašovacími údaji úložiště <b>Madison Ruiz</b> lajkoval váš příspěvek @@ -1161,7 +1157,6 @@ Language: cs_CZ Sledujte, jak vaše publikum roste pomocí hloubkové analýzy. Inspirovat se Sledujte své oblíbené weby a objevujte nové blogy. - Weby, které je třeba sledovat Načítání média se nezdařilo \'%s\' není plně podporován Usilovně pracujeme na přidání dalších bloků s každým vydáním. @@ -1183,7 +1178,6 @@ Language: cs_CZ Vložení média se nezdařilo. Zpět Od - Sledujte témata a objevujte nové blogy Začínáme Nahrávání médií Nahrávání skladových médií @@ -1342,7 +1336,6 @@ Language: cs_CZ Odstranit blok Neuložené změny Název webu se nepodařilo aktualizovat. Zkontrolujte připojení k síti a zkuste to znovu. - Téma Název webu se zobrazuje v záhlaví webového prohlížeče a u většiny šablon se zobrazuje v záhlaví. Otevřít odkaz v prohlížeči Přejde na předchozí stránku s obsahem @@ -1381,8 +1374,6 @@ Language: cs_CZ Chcete-li pokračovat, vyberte několik Hotovo Přesunout příspěvek do konceptů? - Vyberte si svá témata - Vyberte si svá témata Stav & Viditelnost Aktualizovat nyní Oznámení o ochraně osobních údajů pro uživatele Kalifornie @@ -1415,7 +1406,6 @@ Language: cs_CZ Aktualizace stránky příspěvků se nezdařila Domovská stránka Zvolit barvu - Když sledujete weby, uvidíte jejich obsah zde. Dvojitým klepnutím přejdete do nastavení barev Web se nepodařilo vybrat. Prosím zkuste to znovu. Zvolit video @@ -1437,9 +1427,6 @@ Language: cs_CZ Sdílet přes Kopírovat adresu odkazu Adresa odkazu byla zkopírována - Žádné dostupné weby WordPress.com - Jakmile vytvoříte web na WordPress.com, můžete přesdílet obsah, který se vám líbí, na svůj vlastní web. - Spravovat weby Reblog se nezdařil Počet sloupců Dvojitým klepnutím přesunete blok doleva @@ -1532,24 +1519,14 @@ Language: cs_CZ Přidat novou kartu Přidejte novou kartu statistik Přihlásit se k WordPress.com - Spravujte témata a weby Odstraňte aktuální filtr - Chcete-li filtrovat příspěvky, vyberte web nebo značku - Vyberte značku nebo web, vyskakovací okno Pomocí tlačítka filtru vyhledejte příspěvky týkající se konkrétních témat - Přihlaste se na WordPress.com a podívejte se na nejnovější příspěvky z webů, které sledujete - Přihlaste se na WordPress.com a podívejte se na nejnovější příspěvky z témat, která sledujete - Podívejte se na nejnovější příspěvky z webů, které sledujete - Přidáním tématu můžete sledovat příspěvky na konkrétní téma. - Sledujte web - Přidejte téma Přidat blok po Přidat blok před Přidat na začátek Přidat na konec Vyměňte aktuální blok Filtr - Sleduji Přidat krátký kód … Upravit video Titulek videa. %s @@ -1589,7 +1566,6 @@ Language: cs_CZ Nepodařilo se nám získat přístup na váš web, protože vyžaduje <b>Ověření HTTP</b>. K vyřešení tohoto problému budete muset kontaktovat svého hostitele. Nepodařilo se nám získat přístup na váš web z důvodu problému s <b>certifikátem SSL</b>. K vyřešení tohoto problému budete muset kontaktovat svého hostitele. Nepodařilo se nám získat přístup na váš web. K vyřešení tohoto problému budete muset kontaktovat svého hostitele. - Sleduji Stránka webu Přihlaste se pomocí svých přihlašovacích údajů %1$s Téměř tam! Musíme jen ověřit vaši e-mailovou adresu připojenou k Jetpacku <b>%1$s</b> @@ -2085,7 +2061,6 @@ Language: cs_CZ Zobrazení Nenašli jsme WordPress.com účet propojený s tímto Google účtem. Stránka nenalezena - Stránka nenalezena Nadřazená stránka byla změněna Stránka trvale odstraněna Zveřejnění naplánovano @@ -2117,8 +2092,6 @@ Language: cs_CZ Né teď Hotovo Go - Žádné sledované štítky - Sem přidejte témata a vyhledejte příspěvky o svých oblíbených tématech Nemáte žádné stránky Jetpack Jetpack FAQ @@ -2138,10 +2111,7 @@ Language: cs_CZ Zatím žádné zobrazení Příspěvky, kterým jste dali líbí se mi se zobrazí zde. Zatím žádné e-mailové následovníci - Žádné sledované weby - Objevte weby Zatím se nic nelíbilo - Přejít na sledované Jelikož máte bezplatný plán, uvidíte ve své aktivitě omezené události. Zatím žádní fanoušci Zatím žádné to se mi líbí @@ -2206,8 +2176,6 @@ Language: cs_CZ tento web Zapnout Zapnout notifikace pro %1$s%2$s%3$s? - Vypnout notifikace - Zapnout notifikace Ikona Jetpack Událost Ikona aktivit @@ -2789,7 +2757,6 @@ Language: cs_CZ Potvrdit Nelze se připojit. Při pokusu o přístup k vašemu nám došlo k chybě 403\n koncový bod XMLRPC webu. Aplikace to potřebuje, aby mohla komunikovat s vaším webem. Požádejte svého hostitele o řešení\n tento problém. Nepodařilo se připojit. Váš hostitel blokuje požadavky POST, které jsou potřeba ke komunikaci s webovou stránkou. Pro vyřešení toho problému kontaktujte svého hostitele. - Prohledat sledované stránky Nenechávejte ho čekat! \'%1$s\' čeká na zveřejnění. Nenechávejte ho čekat! \'%1$s\' čeká na zveřejnění. \'%1$s\' zůstává konceptem. Nezapomeňte ho publikovat! @@ -2891,7 +2858,6 @@ Language: cs_CZ Ostranit %1$s Lidé Role - Web v tomto seznamu nezveřejnil v poslední době nic Nepodařilo se odstranit vybraného uživatele Nemohu získat zobrazení webu Nemohu aktualizovat role uživatele @@ -3104,7 +3070,6 @@ Language: cs_CZ Tento příspěvek již neexistuje Nemáte oprávnění prozobrazení tohoto příspěvku Nelze načíst tento příspěvek - Stránky, které sledujete v poslední době neměly žádné příspěvky Žádné nedávné příspěvky URL adresa byla zkopírována do schránky Vybraná šablona @@ -3147,10 +3112,8 @@ Language: cs_CZ Původně publikoval %s Původně publikoval %1$s na webu %2$s %s to se mi líbí - sledující %,d 1 to se mi libí To se mi líbí - Upravit štítky a weby Čtenáři příspěvku Nastavení upozornění, které se objeví na vašem přístroji. Nastavení upozornění, které jsou odesílány na e-mail vázaný na váš účet. @@ -3172,8 +3135,6 @@ Language: cs_CZ Statistiky Koš Náhled - Nemáte oprávnění pro přístup k tomuto webu - Web nebyl nalezen Zpět Žádost vypršela. Přihlaste se znovu přes WordPress.com Ignorovat @@ -3217,7 +3178,6 @@ Language: cs_CZ Neznámé hledané výrazy Oznámení se nepodařilo otevřít Nové příspěvky - Tento web je prázdný Aplikační protokoly byly zkopírovány do schránky Při kopírování textu do schránky nastala chyba Nahrávám příspěvek @@ -3257,7 +3217,6 @@ Language: cs_CZ Komentář byl přesunut do koše Odpovědět uživateli %s Prohledat časté dotazy - Neexistuje žádný příspěvek s tímto štítkem Žádné příspěvky. Přejete si nějaký vytvořit? Více Odhlašuji… @@ -3265,21 +3224,8 @@ Language: cs_CZ To se mi líbí Nápověda a podpora Nepodařilo se provést tuto akci - Příspěvky z tohoto webu se již nebudou zobrazovat - Nepodařilo se zablokovat tento web - Zablokovat tento web Aktualizovat Naplánovat - Nepodařilo se zobrazit tento web - Tento web už sledujete - Přidání webu mezi sledované se nezdařilo - Zrušení sledování tohoto webu se nezdařilo - Nejsou k dispozici žádné doporučené weby - Štítky které sledujete - Stránky které sledujete - Zadejte URL nebo štítek, který chcete sledovat - Web sledován - Web čtenáře Nápověda Neplatný SSL certifikát Pokud se k tomuto webu obvykle připojujete bez problémů, pak tato chyba znamená, že se někdo snaží podvrhnout vaši identitu a neměli byste dále pokračovat. Chcete i přesto důvěřovat tomuto certifikátu? @@ -3337,8 +3283,6 @@ Language: cs_CZ Přesunout do koše? Vlastnosti obrázku Vyskytla se chyba při vytváření databáze aplikace. Zkuste přeinstalovat tuto aplikaci. - Nelze přidat tento štítek - Nelze odstranit tento štítek Místní změny Protokol aplikace Nastavení příspěvku @@ -3368,15 +3312,12 @@ Language: cs_CZ Tento seznam je prázdný (bez názvu) Sledovat - Sleduji Odpovědět na komentář… To se líbí jedné osobě Nelze sdílet Nelze zobrazit obrázek Nelze otevřít %s Nepodařilo se publikovat váš komentář - Tento štítek už sledujete - Toto není platný štítek %s byl odebrán %s byl přidán To se vám líbí diff --git a/WordPress/src/main/res/values-cy/strings.xml b/WordPress/src/main/res/values-cy/strings.xml index cf2f3993492f..e08a476855f4 100644 --- a/WordPress/src/main/res/values-cy/strings.xml +++ b/WordPress/src/main/res/values-cy/strings.xml @@ -19,7 +19,6 @@ Language: cy_GB Ceisiwch eto Cadarnhau Methu cysylltu. Mae eich gwesteiwr yn rhwystro ceisiadau POST, ac mae\'r ap angen\n hynny er mwyn cyfathrebu â\'ch gwefan. Cysylltwch â eich gwesteiwr i ddatrys y broblem. - Chwilio drwy\'r gwefannau rwy\'n eu dilyn Peidiwch â\'i adael! Mae \'%1$s\' disgwyl cael ei gyhoeddi. Peidiwch â\'i adael! Mae \'%1$s\' disgwyl cael ei gyhoeddi. Mae \'%1$s\' yn ddrafft o hyd. Cofiwch ei gyhoeddi! @@ -113,7 +112,6 @@ Language: cy_GB Os ydych am dynnu %1$s, ni fydd y defnyddiwr yn gallu cael mynediad at y wefan, ond bydd unrhyw gynnwys crëwyd gan %1$s yn aros ar y wefan.\n\nYdych chi dal eisiau tynnu\'r defnyddiwr yma? Wedi tynnu %1$s yn llwyddiannus Tynnu %1$s - Nid yw\'r gwefannau ar y rhestr hon wedi cofnodi dim yn ddiweddar Pobl Rôl Methu tynnu defnyddiwr @@ -313,7 +311,6 @@ Language: cy_GB Nid yw\'r cofnod yma\'n bodoli bellach Nid ydych wedi eich awdurdodi i weld y cofnod hwn Methu estyn y cofnod hwn - Nid yw\'r gwefannau rydych yn eu dilyn gofnodi dim yn ddiweddar Dim cofnodion diweddar Thema Dewiswyd Methu llwytho\'r thema @@ -454,7 +451,6 @@ Language: cy_GB Methu cyflawni\'r weithred hon Diweddaru Amserlen - Gwefannau sy\'n cael eu dilyn Cymorth Tystysgrif SSL annilys Os ydych fel arfer yn cysylltu â\'r wefan hon heb broblemau, gall y gwall hwn olygu bod rhywun yn ceisio dynwared y wefan a dylech chi beidio parhau. Hoffech chi ymddiried yn y dystysgrif beth bynnag? @@ -534,7 +530,6 @@ Language: cy_GB (Dideitl) Rhannu Dilyn - Yn dilyn Ychwanegu %s Tynnu %s Mae un person yn hoffi hwn diff --git a/WordPress/src/main/res/values-da/strings.xml b/WordPress/src/main/res/values-da/strings.xml index 2fa65fa5095a..4cd32009e7c2 100644 --- a/WordPress/src/main/res/values-da/strings.xml +++ b/WordPress/src/main/res/values-da/strings.xml @@ -70,9 +70,7 @@ Language: da_DK Oprindeligt udgivet af %1$s den %2$s %s Likes 1 Like - %,d følgere Like - Rediger emner og websteder Udgiv Rediger Forespørgslen er udløbet. Log ind på WordPress.com og prøv igen. @@ -117,7 +115,6 @@ Language: da_DK Nye indlæg Log-filerne er kopieret til udklipsholderen Der skete en fejl under kopieringen af teksten til udklipsholderen - Dette websted er tomt sekunder siden et minut siden En dag @@ -159,21 +156,9 @@ Language: da_DK Besvar %s Ingen indlæg endnu! Hvorfor ikke skabe et? Synes godt om - Ingen indlæg med dette emne Denne handling kan ikke udføres - Indlæg fra dette websted, vil ikke længere blive vist - Blokere dette websted - Det er ikke muligt at blokere dette websted Opdater Planlæg - Fulgte websteder - Ingen anbefalede websteder - Indtast en URL eller emne for at følge - Fulgte emner - Du følger allerede dette websted - Det er ikke muligt at vise dette websted - Det er ikke muligt at følge dette websted - Webstedet følges Hjælp Dette er ikke et gyldigt SLL certifikat Hvis du plejer at tilgå dit websted på denne måde uden problemer, kan denne fejl betyde at nogen forsøger udgive sig for at være dit websted, og du burde ikke fortsætte. Vælger du at stole på certifikatet alligevel? @@ -233,8 +218,6 @@ Language: da_DK Nogle medier kan ikke slettes på nuværende tidspunkt. Prøv igen senere. Slet side? Slet indlæg? - Kunne ikke tilføje dette emne - Kunne ikke fjerne dette emne Del link Henter indlæg… Du og %,d andre personer synes godt om dette @@ -248,7 +231,6 @@ Language: da_DK En person synes godt om dette Del Følg - Følger Tilføjede %s Fjernede %s Du synes godt om dette @@ -259,8 +241,6 @@ Language: da_DK Kunne ikke dele Kunne ikke sende din kommentar Besvar kommentar… - Du følger allerede dette emne - Dette er ikke et gyldigt emne Opdatering mislykkedes Aktiver Del diff --git a/WordPress/src/main/res/values-de/strings.xml b/WordPress/src/main/res/values-de/strings.xml index ebab607238c9..5ae78d7d9685 100644 --- a/WordPress/src/main/res/values-de/strings.xml +++ b/WordPress/src/main/res/values-de/strings.xml @@ -1,11 +1,82 @@ + Wir können die Website-Überwachung im Moment nicht öffnen. Bitte versuche es später erneut + Webserver-Protokolle + PHP-Protokolle + Metriken + Website-Überwachung + Benutze <b>Entdecken</b>, um Websites und Schlagwörter zu finden. Versuche <b>Abonnements</b> auszuwählen, um abonnierte Inhalte anzuzeigen und deine Abonnements zu verwalten. + Zu den Abonnements gehen + Die Blogs, die du abonniert hast, haben in letzter Zeit nichts veröffentlicht + Abonniere Blogs in Entdecken oder suche nach einem Blog, den du bereits magst. + Keine empfohlenen Blogs + Keine abonnierten Schlagwörter + Keine Beiträge mit diesem Schlagwort + Dieser Blog kann nicht blockiert werden + Beiträge aus diesem Blog werden nicht mehr angezeigt + Der Blog kann nicht abbestellt werden + Du bist nicht berechtigt, auf diesen Blog zuzugreifen + Dieser Blog kann nicht abonniert werden + Du hast diesen Blog bereits abonniert + Dieser Blog kann nicht angezeigt werden + Du hast dieses Schlagwort bereits abonniert + Wähle deine Interessengebiete + 1 Abonnent + %s Abonnenten + %,d Abonnenten + Blog abonniert + Suche in abonnierten Blogs + Gib eine URL oder ein Schlagwort ein, das du abonnieren möchtest + Abonniert + Abonnieren + Dieses Blog blockieren + Schlagwörter und Blogs bearbeiten + Abonnierte Blogs + Abonnierte Schlagwörter + Schlagwörtern folgen + Schlagwörter und Blogs verwalten + Schlagwort + Reader-Blog + Abonniert + %d Schlagwörter + 1 Schlagwort + 0 Schlagwörter + %d Blogs + 1 Blog + 0 Blogs + Listen + Automattic + Gefällt mir + Gespeichert + Abonnements + Entdecken + Suche + Schlagwörter abonnieren + Versuche, mehr Schlagwörter zu abonnieren, um die Suche zu erweitern + Abonniere Schlagwörter, um neue Blogs zu entdecken + Blogs, die du abonnieren kannst + Ein Schlagwort abonnieren + Vorgeschlagene Schlagwörter + Suche nach einem Blog + Abonniere ein Schlagwort und du siehst hier die besten Beiträge dazu. + Keine Schlagwörter + Abonniere Blogs in Entdecken und die neuesten Beiträge werden hier angezeigt. Oder suche nach einem Blog, den du bereits magst. + Keine Blog-Abonnements + Einen Blog abonnieren + Du kannst Beiträge zu einem bestimmten Thema abonnieren, indem du ein Schlagwort hinzufügst + Sieh dir die neuesten Beiträge der Blogs an, die du abonniert hast + Nach Schlagwort filtern + Nach Blog filtern + Nach Jahr + Nach Monat + Nach Woche + Nach Tag Warten auf Verbindung Traffic Offline arbeiten @@ -99,7 +170,6 @@ Language: de Konto und Einstellungen Tarif auswählen Bei kostenpflichtigen Jahrestarifen im ersten Jahr kostenlos - 1 Follower Gespeichert Speichern Das gefällt dir vielleicht @@ -601,7 +671,6 @@ Language: de Wähle das %1$s Benachrichtigungen-Tab %2$s, um jederzeit Aktualisierungen zu erhalten. Wähle %1$s Plus %2$s, um Medien hochzuladen. Du kannst sie von jedem Gerät aus in deine Beiträge/Seiten einfügen. Benutze <b> Entdecken </b>, um Websites und Tags zu finden. - Benutze <b> Entdecken </b>, um Websites und Tags zu finden. Versuche, die %1$s Einstellungen %2$s auszuwählen, um Themen deiner Wahl hinzuzufügen. Video-Vorschaubild Top-Kommentatoren Vor %1$d Jahren veröffentlicht @@ -1098,7 +1167,6 @@ Language: de IP-Adressen auf der Liste „Immer zulassen“ Gesperrte Kommentare Button-Text hinzufügen. - Themen folgen Eine neue Möglichkeit, ansprechende Inhalte auf deiner Website zu erstellen und zu veröffentlichen. Ausblenden Herunterladen @@ -1410,8 +1478,6 @@ Language: de Layouts sind offline nicht verfügbar Mit Store-Anmeldedaten fortfahren Verbundene E-Mail-Adresse suchen - Themen folgen - Folge mehreren Themen, um deine Suche zu erweitern Keine aktuellen Beiträge Willkommen! Scannen @@ -1450,7 +1516,6 @@ Language: de Mit dem leistungsstarken Editor kannst du auch von unterwegs aus Beiträge veröffentlichen. Willkommen beim beliebtesten Website-Baukasten der Welt. Laden der Medien fehlgeschlagen - Websites, denen du folgen möchtest Wir arbeiten hart daran, mit jeder Veröffentlichung weitere Blöcke hinzuzufügen. ‚%s‘ wird nicht vollständig unterstützt Hilfe-Button @@ -1471,7 +1536,6 @@ Language: de Wähle aus der WordPress-Mediathek Zurück Erste Schritte - Folge Themen, um neue Blogs zu entdecken Von Dieser Referrer kann nicht als Spam markiert werden Spam-Markierung aufheben @@ -1629,7 +1693,6 @@ Language: de Block wurde kopiert Der Website-Titel kann nur von einem Benutzer mit Administratorrolle geändert werden. Der Website-Titel wird in der Titelleiste eines Webbrowsers angezeigt und wird bei den meisten Themes im Header angezeigt. - Thema Konnte den Website-Titel nicht aktualisieren. Bitte überprüfe deine Netzwerkverbindung und versuche es erneut. Ungespeicherte Änderungen Link in einem Browser öffnen @@ -1661,8 +1724,7 @@ Language: de In Entwurf verschieben Beiträge im Papierkorb können nicht bearbeitet werden. Möchtest du den Status dieses Beitrags in \"Entwurf\" ändern, damit du ihn bearbeiten kannst? Beitrag zu \"Entwürfe\" verschieben? - Wähle deine Themen - Wähle deine Themen + Wähle deine Schlagwörter Fertig Wähle ein paar aus, um fortzufahren Veröffentlicht @@ -1705,7 +1767,6 @@ Language: de Um eine Homepage festzulegen, aktiviere „Statische Seite“ in den Website-Einstellungen Wähle eine Farbe aus Zum Wechseln zu den Farbeinstellungen zweimal tippen - Wenn du Websites folgst, wirst du ihren Inhalt hier sehen Mehr erfahren Was ist neu in %s? %d einfügen @@ -1719,9 +1780,9 @@ Language: de Die Website konnte nicht ausgewählt werden. Bitte versuche es erneut. Weiter Rebloggen ist fehlgeschlagen - Websites verwalten - Sobald du eine Website bei WordPress.com erstellt hast, kannst du Inhalte, die dir gefallen, auf deiner eigenen Website rebloggen. - Keine verfügbaren Websites bei WordPress.com + Blogs verwalten + Sobald du einen Blog bei WordPress.com erstellt hast, kannst du Inhalte, die dir gefallen, deiner eigenen Website hinzufügen. + Keine verfügbaren Blogs bei WordPress.com Was ist neu? Link-Adresse wurde kopiert Link-Adresse kopieren @@ -1821,23 +1882,17 @@ Language: de Neue Karte hinzufügen Neue Statistikkarte hinzufügen Verwende den Filter-Button, um Beiträge zu bestimmten Themen zu finden - Wähle ein Schlagwort oder eine Website, ein Popup-Fenster aus - Wähle eine Website oder ein Schlagwort aus, um Beiträge zu filtern + Wähle ein Schlagwort oder einen Blog, ein Popup-Fenster aus Entferne den aktuellen Filter - Themen und Websites verwalten Melde dich bei WordPress.com an - Melde dich bei WordPress.com an, um die neuesten Beiträge zu Themen zu sehen, denen du folgst - Melde dich bei WordPress.com an, um die neuesten Beiträge von Websites zu sehen, denen du folgst + Melde dich bei WordPress.com an, um die neuesten Beiträge zu Schlagwörtern zu sehen, denen du folgst + Melde dich bei WordPress.com an, um die neuesten Beiträge von Blogs zu sehen, denen du folgst Aktuellen Block ersetzen Am Ende hinzufügen Am Anfang hinzufügen Block davor hinzufügen Block dahinter hinzufügen - Ein Thema hinzufügen - Einer Website folgen - Du kannst Beiträgen zu einem bestimmten Thema folgen, indem du ein Thema hinzufügst - Die neuesten Beiträge von Websites anzeigen, denen du folgst - Folgen + Ein Schlagwort hinzufügen Filter Videountertitel. %s Video bearbeiten @@ -1882,7 +1937,6 @@ Language: de Fast geschafft! Wir müssen nur noch deine mit Jetpack verbundene E-Mail-Adresse bestätigen <b>%1$s</b> Mit deinen Anmeldedaten der Website %1$s anmelden Website-Seite - Folgen Likes Entdecken Gespeichert @@ -2376,7 +2430,7 @@ Language: de Wir haben zu viele Versuche unternommen, einen SMS-Verifizierungscode zu senden – atme kurz durch und fordere in einer Minute einen neuen an. Kein WordPress.com-Konto stimmt mit diesem Google-Konto überein. Keine Websites entsprechen deiner Suche - Keine Websites entsprechen deiner Suche + Keine Blogs entsprechen deiner Suche Übergeordnete Seite wurde geändert Seite wurde dauerhaft gelöscht Seite wurde geplant @@ -2409,8 +2463,7 @@ Language: de Später Mehr Du hast keine Websites - Keine abonnierten Themen - Füge hier Themen hinzu, um Beiträge zu deinen Lieblingsthemen zu finden + Füge hier Schlagwörter hinzu, um Beiträge zu deinen Lieblingsthemen zu finden Melde dich bei deinem WordPress.com-Konto an, das du für die Jetpack-Verbindung verwendet hast. Jetpack Häufige Fragen zu Jetpack @@ -2430,9 +2483,7 @@ Language: de Noch keine Benutzer Beiträge, die dir gefallen, werden hier angezeigt Noch nichts mit „Gefällt mir“ markiert - Zu „Du folgst“ wechseln - Websites entdecken - Keine abonnierten Websites + Blogs entdecken Noch keine Likes Noch keine Follower Da du einen kostenlosen Tarif hast, siehst du nur begrenzte Ereignisse in deiner Aktivität. @@ -2497,8 +2548,8 @@ Language: de Diese Website Aktivieren Benachrichtigungen für %1$s%2$s%3$s aktivieren? - Website-Benachrichtigungen aktivieren - Website-Benachrichtigungen deaktivieren + Blog-Benachrichtigungen aktivieren + Blog-Benachrichtigungen deaktivieren Jetpack-Symbol Ereignis Aktivitätssymbol @@ -3080,7 +3131,6 @@ Language: de Bestätigen Verbindung nicht möglich. Wir haben einen 403-Fehler erhalten, als wir versucht haben, den\n XMLRPC-Endpunkt deiner Website aufzurufen. Die App braucht diesen, um mit deiner Website zu kommunizieren. Kontaktiere deinen Host, um\n dieses Problem zu beheben. Konnte nicht verbinden. Dein Host blockiert POST-Anforderungen und die App benötigt\n diese, um mit deiner Website zu kommunizieren. Kontaktiere deinen Host, um dieses Problem zu beheben. - Abonnierte Websites durchsuchen Schließ es ab! „%1$s“ wartet auf die Veröffentlichung. Schließ es ab! „%1$s“ wartet auf die Veröffentlichung. „%1$s“ ist noch ein Entwurf. Denke daran, ihn zu veröffentlichen! @@ -3182,7 +3232,7 @@ Language: de Entferne %1$s Rolle Personen - Die Websites dieser Liste haben keine neuen Beiträge + Die Blogs in dieser Liste haben in letzter Zeit nichts veröffentlicht Benutzer konnte nicht entfernt werden Benutzerrolle konnte nicht aktualisiert werden Website-Besucher konnten nicht abgerufen werden @@ -3395,7 +3445,6 @@ Language: de Dieser Beitrag ist nicht mehr vorhanden Du hast nicht die erforderlichen Rechte diesen Beitrag anzusehen Konnte den Beitrag nicht empfangen - Die Websites, denen du folgst, haben keine aktuellen Beiträge veröffentlicht Keine aktuellen Beiträge URL in Zwischenablage kopiert Gewähltes Theme @@ -3440,8 +3489,6 @@ Language: de %s Likes 1 Like Like - %,d Follower - Themen und Websites bearbeiten Reader-Beitrag Einstellungen für Benachrichtigungen, die auf deinem Gerät angezeigt werden. Einstellungen für Benachrichtigungen, die an die E-Mail-Adresse für dein Konto gesendet werden. @@ -3463,8 +3510,7 @@ Language: de Anzeigen Veröffentlichen Bearbeiten - Du bist nicht berechtigt, auf diese Website zuzugreifen - Diese Website konnte nicht gefunden werden + Dieser Blog konnte nicht gefunden werden Rückgängig Die Anfrage ist nicht mehr gültig. Melde dich bei WordPress.com an, um es erneut zu versuchen. Ignorieren @@ -3508,7 +3554,7 @@ Language: de Beiträge werden abgerufen… Medien werden abgerufen… Anwendungsprotokolle wurden in die Zwischenablage kopiert - Diese Website ist leer + Dieser Blog ist leer Neue Beiträge Beim Kopieren von Text in die Zwischenablage ist ein Fehler aufgetreten Beitrag wird hochgeladen @@ -3536,7 +3582,6 @@ Language: de %d ausgewählt Die FAQ durchsuchen Keine Kommentare bisher - Keine Beiträge mit diesem Thema Gefällt mir Zeige Original-Beitrag Kommentare sind geschlossen @@ -3556,22 +3601,8 @@ Language: de Keine Beiträge bisher. Warum nicht jetzt einen erstellen? Abmelden … Konnte diese Aktion nicht ausführen - Kann diese Website nicht blockieren - Beiträge von dieser Website werden nicht länger angezeigt - Diese Website blockieren Zeitplan Aktualisieren - Keine empfohlenen Websites - Kann das Folgen dieser Website nicht beenden - Kann dieser Website nicht folgen - Du folgst dieser Website bereits - Diese Website kann nicht angezeigt werden - Website wird verfolgt - %s Follower - Gib eine URL oder ein Thema ein, der/dem du folgen möchtest - Abonnierte Websites - Abonnierte Themen - Reader-Website Wenn du dich üblicherweise ohne Probleme mit dieser Website verbinden kannst, könnte dieser Fehler bedeute, dass sich jemand als diese Website ausgibt und du daher nicht weitermachen solltest. Möchtest du dem Zertifikat trotzdem vertrauen? Ungültiges SSL Zertifikat Hilfe @@ -3597,8 +3628,8 @@ Language: de Beim Aufrufen des Blogs ist ein Fehler aufgetreten Das Medien-Objekt konnte nicht abgerufen werden Es ist kein Netzwerk verfügbar - Dieses Thema konnte nicht entfernt werden - Dieses Thema konnte nicht hinzugefügt werden + Dieses Schlagwort konnte nicht entfernt werden + Dieses Schlagwort konnte nicht hinzugefügt werden Anwendungslog Bei der Erstellung der App-Datenbank ist ein Fehler aufgetreten. Versuche die App erneut zu installieren. Dieser Blog ist versteckt und konnte nicht geladen werden. Aktiviere ihn wieder in den Einstellungen und versuche es erneut. @@ -3660,15 +3691,13 @@ Language: de Konnte %s nicht öffnen Kann das Bild nicht anzeigen Teilen nicht möglich - Das ist kein gültiges Thema - Du folgst diesem Thema bereits + Das ist kein gültiges Schlagwort Konnte deinen Kommentar nicht veröffentlichen Dir gefällt das Einer Person gefällt das %s entfernt %s hinzugefügt Antwort auf Kommentar… - Folge ich Folgen Teilen Rebloggen diff --git a/WordPress/src/main/res/values-el/strings.xml b/WordPress/src/main/res/values-el/strings.xml index 996a1d95b573..a33f24e3cff8 100644 --- a/WordPress/src/main/res/values-el/strings.xml +++ b/WordPress/src/main/res/values-el/strings.xml @@ -180,7 +180,6 @@ Language: el_GR Διαγραμμένες Εμφάνιση Δεν υπάρχουν ιστότοποι που να αντιστοιχούν στην αναζήτηση σας - Δεν υπάρχουν ιστότοποι που να αντιστοιχούν στην αναζήτηση σας Η σελίδα προγραμματίστηκε Η σελίδα δημοσιεύθηκε Η σελίδα διαγράφηκε @@ -195,7 +194,6 @@ Language: el_GR Οχι τώρα Δεν έχετε ιστότοπους Περισσότερα - Μη ακολουθούμενα θέματα Jetpack Συχνές Ερωτήσεις για το Jetpack Συνδεθείτε στο WordPress.com λογαριασμό σας που χρησιμοποιείτε για να συνδεθείτε με το Jetpack. @@ -205,8 +203,6 @@ Language: el_GR Δεν υπάρχουν θέματα που να ταιριάζουν στην αναζήτηση σας Δεν υπάρχουν ακόλουθοι ακόμη Δεν υπάρχουν χρήστες ακόμη - Ανακαλύψτε ιστοτόπους - Δεν υπάρχουν ακολουθούμενοι ιστότοποι Κανένα Like ακόμα Δεν υπάρχουν ακόλουθοι ακόμη Δεν υπάρχει δραστηριότητα ακόμη @@ -583,7 +579,6 @@ Language: el_GR Επιβεβαίωση Αδυναμία σύνδεσης. Λάβαμε ένα σφάλμα 403 προσπαθώντας να προσπελάσουμε\nτο σημείο επαφής XMLRPC του ιστοτόπου σας. Η εφαρμογή το χρειάζεται ώστε επικοινωνήσει με τον ιστότοπό σας. Επικοινωνήστε με τον πάροχο φιλοξενίας σας για να λύσετε\nαυτό το πρόβλημα. Αδυναμία σύνδεσης. Ο πάροχος φιλοξενίας σας μπλοκάρει τα αιτήματα POST και η εφαρμογή τα χρειάζεται\nώστε να επικοινωνήσει με τον ιστότοπό σας. Επικοινωνήστε με τον πάροχο φιλοξενίας σας για να λύσετε αυτό το πρόβλημα. - Αναζήτηση σε παρακολουθούμενους ιστότοπους. Μην το αφήνετε να εκκρεμεί! Το \'%1$s\' περιμένει να δημοσιευτεί. Μην το αφήνετε να εκκρεμεί! Το \'%1$s\' περιμένει να δημοσιευτεί. Το \'%1$s\' παραμένει προσχέδιο. Θυμηθείτε να το δημοσιεύσετε! @@ -683,7 +678,6 @@ Language: el_GR Αν αφαιρέσετε τον %1$s, αυτός ο χρήστης δεν θα μπορεί πλέον να συνδεθεί σε αυτό τον ιστότοπο αλλά ό,τι περιεχόμενο δημιουργήθηκε από τον %1$s θα παραμείνει στον ιστότοπο.\n\nΘέλετε ακόμη να αφαιρέσετε το χρήστη; Ο %1$s αφαιρέθηκε επιτυχώς Αφαίρεση %1$s - Οι ιστότοποι σε αυτή τη λίστα δεν έχουν δημοσιεύσει κάτι πρόσφατα Άνθρωποι Ρόλος Αδυναμία αφαίρεσης χρήστη @@ -898,7 +892,6 @@ Language: el_GR Αυτό το άρθρο δεν υπάρχει πια Δεν έχετε εξουσιοδότηση να δείτε αυτό το άρθρο Αδυναμία ανάκτησης αυτού του άρθρου - Οι σελίδες που ακολουθείτε δεν έχουν δημοσιεύσει κάτι πρόσφατα Καμία πρόσφατη δημοσίευση Η διεύθυνση αντιγράφτηκε στο πρόχειρο Επιλεγμένο Θέμα @@ -942,9 +935,7 @@ Language: el_GR Δημοσιεύτηκε αρχικά από %1$s στο %2$s %s \"Like\" 1 \"Like\" - %,d ακόλουθοι \"Like\" - Επεξεργασία ετικετών και ιστότοπων Άρθρο Αναγνώστη Ρυθμίσεις για τις ειδοποιήσεις που εμφανίζονται στη συσκευή σας. Ρυθμίσεις για τις ειδοποιήσεις που στέλνονται στο email που είναι συνδεδεμένο με το λογαριασμό σας. @@ -966,8 +957,6 @@ Language: el_GR Προβολή Αλλαγή Δημοσίευση - Δεν έχετε εξουσιοδότηση για να συνδεθείτε σε αυτό τον ιστότοπο - Αδυναμία εύρεσης αυτού του ιστότοπου Αναίρεση Το αίτημα έληξε. Συνδεθείτε στο WordPress.com για να προσπαθήσετε ξανά. Αγνοήστε @@ -1014,7 +1003,6 @@ Language: el_GR Νέα άρθρα Προέκυψε σφάλμα κατά την αντιγραφή κειμένου στο πρόχειρο Μεταφόρτωση άρθρου - Ο ιστότοπος αυτός είναι κενός Ένας χρόνος Ένας μήνας Μια ημέρα @@ -1052,27 +1040,14 @@ Language: el_GR Παλαιότερο από ένα μήνα Περιηγηθείτε στις Συχνές Ερωτήσεις Δεν υπάρχουν σχόλια ακόμη - Δεν υπάρχουν άρθρα με αυτή την ετικέτα Προβολή αρχικού άρθρου Το σχόλιο διαγράφηκε Δεν υπάρχουν άρθρα ακόμη. Γιατί να μη δημιουργήσετε ένα; Απάντηση σε %s Αποσύνδεση… Αδυναμία εκτέλεσης αυτής της ενέργειας - Μπλοκάρισμα του ιστότοπου - Αδυναμία μπλοκαρίσματος αυτού του Ιστότοπου - Δεν εμφανίζονται πλέον άρθρα από αυτόν τον Ιστότοπο Ενημέρωση Προγραμματισμός - Παρακολουθούμενες ετικέτες - Παρακολουθούμενα ιστολόγια - Εισάγετε μια ετικέτα ή URL για παρακολούθηση - Παρακολουθούμενος Ιστότοπος - Αδυναμία εμφάνισης αυτού του Ιστότοπου - Ακολουθείτε ήδη τον Ιστότοπο - Αδυναμία παρακολούθησης αυτού του Ιστότοπου - Αδυναμία διακοπής παρακολούθησης αυτού του Ιστότοπου - Δεν υπάρχουν προτεινόμενοι Ιστότοποι Βοήθεια Μη έγκυρο πιστοποιητικό SSL Αν συνήθως δεν έχετε προβλήματα σύνδεσης σε αυτό τον ιστότοπο, αυτό το σφάλμα θα μπορούσε να σημαίνει ότι κάποιος προσπαθεί να μιμηθεί τον ιστότοπο και δεν θα πρέπει να συνεχίσετε. Θα θέλατε να εμπιστευτείτε το πιστοποιητικό όπως και να\'χει; @@ -1138,8 +1113,6 @@ Language: el_GR Αυτό το ιστολόγιο είναι κρυφό και δεν μπόρεσε να φορτωθεί. Ενεργοποιήστε το ξανά στις ρυθμίσεις και δοκιμάστε ξανά. Προέκυψε σφάλμα κατά τη δημιουργία της βάσης δεδομένων της εφαρμογής. Δοκιμάστε να την εγκαταστήσετε ξανά. Αρχείο καταγραφής εφαρμογής - Αδυναμία προσθήκης αυτής της ετικέτας - Αδυναμία αφαίρεσης αυτής της ετικέτας Καμία ειδοποίηση…ακόμα. Βεβαιωθείτε ότι το URL του ιστότοπου που δώσατε είναι έγκυρο Ένα σφάλμα παρουσιάστηκε κατά την πρόσβαση σε αυτό το πρόσθετο @@ -1160,7 +1133,6 @@ Language: el_GR Κανένα σχόλιο. Μοιράσου Ακολουθήστε - Ακολουθούν Σ\'ένα άτομο άρεσε αυτό Σας άρεσε αυτό Δεν ήταν δυνατή η προσθήκη του σχόλιού σας @@ -1168,8 +1140,6 @@ Language: el_GR Αναμετάδοση Αδυναμία προβολής της εικόνας Προστέθηκε η %s - Ακολουθείτε ήδη αυτή την ετικέτα - Αυτή η ετικέτα δεν είναι έγκυρη Δε στάθηκε δυνατό να ανοιχθεί το %s Αυτή η λίστα είναι κενή Απάντηση σ\' αυτό το σχόλιο… diff --git a/WordPress/src/main/res/values-en-rCA/strings.xml b/WordPress/src/main/res/values-en-rCA/strings.xml index 17018b852bbd..63399e76a9d0 100644 --- a/WordPress/src/main/res/values-en-rCA/strings.xml +++ b/WordPress/src/main/res/values-en-rCA/strings.xml @@ -56,7 +56,6 @@ Language: en_CA Free for the first year with annual paid plans Select a plan You might like - 1 follower Save Saved Blocks nested deeper than %d levels may not render properly in the mobile editor. For this reason, we recommend flattening the content by ungrouping the block or editing the block using the web editor. @@ -552,7 +551,6 @@ Language: en_CA Select the %1$s Notifications tab %2$s to get updates on the go. Select %1$s plus %2$s to upload media. You can add it to your posts/pages from any device. Use <b> Discover </b> to find sites and tags. - Use <b> Discover </b> to find sites and tags. Try selecting %1$s Settings %2$s to add topics you like. Video Thumbnail Top Commentators Get real-time updates from your pocket @@ -1052,7 +1050,6 @@ Language: en_CA Always allowed IP addresses Disallowed comments Add button text - Follow topics A new way to create and publish engaging content on your site. Dismiss Download @@ -1364,8 +1361,6 @@ Language: en_CA There was an error while selecting the theme. Continue with store credentials Find your connected email - Follow topics - Try following more topics to broaden the search No recent posts Welcome! Scan @@ -1404,7 +1399,6 @@ Language: en_CA Welcome to the world’s most popular website builder. Follow your favourite sites and discover new blogs. Media loading failed - Sites to follow We are working hard to add more blocks with each release. \'%s\' is not fully-supported Help button @@ -1425,7 +1419,6 @@ Language: en_CA Media insert failed. Back Get Started - Follow topics to discover new blogs By This referrer can\'t be marked as spam Open Website @@ -1583,7 +1576,6 @@ Language: en_CA The Site Title can only be changed by a user with the administrator role. Remove block The Site Title is displayed in the title bar of a web browser and is displayed in the header for most themes. - Topic Unsaved changes Couldn\'t update site title. Check your network connection and try again. Open link in a browser @@ -1623,8 +1615,6 @@ Language: en_CA Read CCPA privacy notice Publish Date The California Consumer Privacy Act (\"CCPA\") requires us to provide California residents with some additional information about the categories of personal information we collect and share, where we get that personal information, and how and why we use it. - Choose your topics - Choose your topics Privacy notice for California users Status & Visibility Update Now @@ -1659,7 +1649,6 @@ Language: en_CA To set Homepage enable \"Static Homepage\" in Site Settings Select a colour Double tap to go to colour settings - When you follow sites, you\'ll see their content here Find out more Insert %d crop @@ -1673,9 +1662,6 @@ Language: en_CA What\'s New In %s Continue Reblog failed - Manage Sites - Once you create a WordPress.com site, you can reblog content that you like to your own site. - No available WordPress.com sites What\'s New Link address copied Copy link address @@ -1775,24 +1761,14 @@ Language: en_CA Add New Card Add new stats card Use the filter button to find posts on specific subjects - Select a Tag or Site, Pop Up Window - Select a Site or Tag to filter posts Remove the current filter Log in to WordPress.com - Manage Topics & Sites - Log in to WordPress.com to see the latest posts from sites you follow - Log in to WordPress.com to see the latest posts from topics you follow Add To End Add To Beginning Add Block Before Add Block After - Follow a site - See the newest posts from sites you follow Replace Current Block - Add a topic - You can follow posts on a specific subject by adding a topic Filter - Following Edit video Edit media Add a shortcode… @@ -1835,7 +1811,6 @@ Language: en_CA We were unable to access the <b>XMLRPC file</b> on your site. You will need to reach out to your host to resolve this. Almost there! We just need to verify your Jetpack connected email address <b>%1$s</b> Log in with your %1$s site credentials - Following Site page We cannot open the posts right now. Please try again later %sB @@ -2328,7 +2303,6 @@ Language: en_CA Trashed There\'s no WordPress.com account matching this Google account. No sites matching your search - No sites matching your search Page parent has been changed Page has been permanently deleted Page has been scheduled @@ -2361,8 +2335,6 @@ Language: en_CA Not now You don\'t have any sites More - No followed topics - Add topics here to find posts about your favourite topics Log in to the WordPress.com account you used to connect Jetpack. Jetpack Jetpack FAQ @@ -2382,9 +2354,6 @@ Language: en_CA No users yet Posts that you like will appear here Nothing liked yet - Go to following - Discover sites - No followed sites No likes yet No followers yet Since you\'re on a free plan, you\'ll see limited events in your activity. @@ -2449,8 +2418,6 @@ Language: en_CA this site Enable Enable notifications for %1$s%2$s%3$s? - Turn on site notifications - Turn off site notifications Jetpack icon Event Activity icon @@ -3028,7 +2995,6 @@ Language: en_CA Confirm Couldn\'t connect. We received a 403 error when trying to access your\n site XMLRPC endpoint. The app needs that in order to communicate with your site. Contact your host to solve\n this problem. Couldn\'t connect. Your host is blocking POST requests, and the app needs\n that in order to communicate with your site. Contact your host to solve this problem. - Search followed sites Don\'t leave it hanging! \'%1$s\' is waiting to be published. Don\'t leave it hanging! \'%1$s\' is waiting to be published. \'%1$s\' remains a draft. Remember to publish it! @@ -3128,7 +3094,6 @@ Language: en_CA If you remove %1$s, that user will no longer be able to access this site, but any content that was created by %1$s will remain on the site.\n\nWould you still like to remove this user? Successfully removed %1$s Remove %1$s - The sites in this list haven\'t posted anything recently People Role Couldn\'t remove user @@ -3343,7 +3308,6 @@ Language: en_CA This post no longer exists You\'re not authorized to view this post Unable to retrieve this post - The sites you follow haven\'t posted anything recently No recent posts URL copied to clipboard Selected Theme @@ -3388,8 +3352,6 @@ Language: en_CA %s Likes 1 Like Like - %,d Followers - Edit topics and sites Reader Post Settings for notifications that appear on your device. Settings for notifications that are sent to the email tied to your account. @@ -3411,8 +3373,6 @@ Language: en_CA Publish Post sent to trash Trash - You are not authorized to access this site - This site could not be found Undo The request has expired. Log in to WordPress.com to try again. Best Views Ever @@ -3459,7 +3419,6 @@ Language: en_CA New posts An error occurred while copying text to clipboard Uploading post - This site is empty Fetching themes… %1$d months A year @@ -3501,25 +3460,10 @@ Language: en_CA Reply to %s Comment trashed Logging out… - No posts with this topic Help & Support Unable to perform this action - Unable to block this site - Posts from this site will no longer be shown - Block this site Update Schedule - Followed sites - Reader Site - Site followed - Unable to show this site - You already follow this site - Unable to follow this site - Unable to unfollow this site - No recommended sites - Followed topics - Enter a URL or topic to follow - %s followers Help Invalid SSL certificate If you usually connect to this site without problems, this error could mean that someone is trying to impersonate the site, and you shouldn\'t continue. Would you like to trust the certificate anyway? @@ -3591,8 +3535,6 @@ Language: en_CA An error occurred when accessing this plugin Delete post? Delete page? - Unable to add this topic - Unable to remove this topic Share link Fetching posts… You and %,d others like this @@ -3608,7 +3550,6 @@ Language: en_CA (Untitled) Share Follow - Following Reply to comment… Added %s Removed %s @@ -3621,8 +3562,6 @@ Language: en_CA No comments yet Reblog Sign Up - You already follow this topic - That isn\'t a valid topic Themes Squares Tiled diff --git a/WordPress/src/main/res/values-en-rGB/strings.xml b/WordPress/src/main/res/values-en-rGB/strings.xml index c185a2fe1627..ae3370a16392 100644 --- a/WordPress/src/main/res/values-en-rGB/strings.xml +++ b/WordPress/src/main/res/values-en-rGB/strings.xml @@ -1,11 +1,82 @@ + We cannot open site monitoring at the moment. Please try again later + Web Server Logs + PHP logs + Metrics + Site monitoring + Use <b>Discover</b> to find sites and tags. Try selecting <b>Subscriptions</b> to view subscribed content and manage your subscriptions. + Go to subscriptions + The blogs you\'re subscribed to haven\'t posted anything recently + Subscribe to blogs in Discover or search for a blog that you like already. + No recommended blogs + No subscribed tags + No posts with this tag + Unable to block this blog + Posts from this blog will no longer be shown + Unable to unsubscribe from blog + You are not authorised to access this blog + Unable to subscribe to this blog + You are already subscribed to this blog + Unable to show this blog + You\'re already subscribed to this tag + Choose your interests + 1 subscriber + %s subscribers + %,d subscribers + Blog subscribed + Search subscribed blogs + Enter a URL or tag to which to subscribe + Subscribed + Subscribe + Block this blog + Edit tags and blogs + Subscribed blogs + Subscribed tags + Follow tags + Manage Tags and Blogs + Tag + Reader Blog + Subscribed + %d tags + 1 tag + 0 tags + %d blogs + 1 blog + 0 blogs + Lists + Automattic + Liked + Saved + Subscriptions + Discover + Search + Subscribe to tags + Try subscribing to more tags to broaden the search + Subscribe to tags to discover new blogs + Blogs to which to subscribe + Subscribe to a tag + Suggested tags + Search for a blog + Subscribe to a tag and you’ll be able to see the best posts from it here. + No tags + Subscribe to blogs in Discover and you’ll see their latest posts here. Or search for a blog that you like already. + No blog subscriptions + Subscribe to a blog + You can subscribe to posts on a specific subject by adding a tag + See the newest posts from blogs to which you\'re subscribed + Filter by tag + Filter by blog + By year + By month + By week + By day Waiting for connection Traffic Working offline @@ -99,7 +170,6 @@ Language: en_GB Account and Settings Select a plan Free for the first year with annual paid plans - 1 follower Saved Save You might like @@ -601,7 +671,6 @@ Language: en_GB Select the %1$s Notifications tab %2$s to get updates on the go. Select %1$s plus %2$s to upload media. You can add it to your posts/pages from any device. Use <b> Discover </b> to find sites and tags. - Use <b> Discover </b> to find sites and tags. Try selecting %1$s Settings %2$s to add topics you like. Video Thumbnail Top Commentators Published %1$d years ago @@ -1098,7 +1167,6 @@ Language: en_GB Always allowed IP addresses Disallowed comments Add button text - Follow topics A new way to create and publish engaging content on your site. Dismiss Download @@ -1410,8 +1478,6 @@ Language: en_GB Layouts not available while offline Continue with store credentials Find your connected email - Follow topics - Try following more topics to broaden the search No recent posts Welcome! Scan @@ -1450,7 +1516,6 @@ Language: en_GB With the powerful editor, you can post on the go. Welcome to the world’s most popular website builder. Media loading failed - Sites to follow We are working hard to add more blocks with each release. \'%s\' is not fully supported Help button @@ -1471,7 +1536,6 @@ Language: en_GB Choose from WordPress Media Library Back Get Started - Follow topics to discover new blogs By This referrer can\'t be marked as spam Unmark as Spam @@ -1629,7 +1693,6 @@ Language: en_GB Block copied The Site Title can only be changed by a user with the administrator role. The Site Title is displayed in the title bar of a web browser and is displayed in the header for most themes. - Topic Couldn\'t update site title. Check your network connection and try again. Unsaved changes Open link in a browser @@ -1661,8 +1724,7 @@ Language: en_GB Move to Draft Binned posts can\'t be edited. Do you want to change the status of this post to \"draft\", so you can work on it? Move post to Drafts? - Choose your topics - Choose your topics + Choose your tags Done Select a few to continue Published @@ -1705,7 +1767,6 @@ Language: en_GB To set Homepage, enable \"Static Homepage\" in Site Settings Select a colour Double tap to go to colour settings - When you follow sites, you\'ll see their content here Find out more What\'s New In %s Insert %d @@ -1719,9 +1780,9 @@ Language: en_GB Couldn\'t select site. Please try again. Continue Reblog failed - Manage Sites - Once you create a WordPress.com site, you can reblog content that you like to your own site. - No available WordPress.com sites + Manage blogs + Once you create a WordPress.com blog, you can reblog content that you like to your own site. + No available WordPress.com blogs What\'s New Link address copied Copy link address @@ -1821,23 +1882,17 @@ Language: en_GB Add New Card Add new stats card Use the filter button to find posts on specific subjects - Select a Tag or Site, Pop Up Window - Select a Site or Tag to filter posts + Select a tag or blog, pop up window Remove the current filter - Manage Topics and Sites Log in to WordPress.com - Log in to WordPress.com to see the latest posts from topics you follow - Log in to WordPress.com to see the latest posts from sites you follow + Log in to WordPress.com to see the latest posts from tags to which you\'re subscribed + Log in to WordPress.com to see the latest posts from blogs to which you\'re subscribed Replace Current Block Add To End Add To Beginning Add Block Before Add Block After - Add a topic - Follow a site - You can follow posts on a specific subject by adding a topic - See the newest posts from sites you follow - Following + Add a tag Filter Video caption. %s Edit video @@ -1854,7 +1909,7 @@ Language: en_GB high medium low - & %1$d %2$s +   & %1$d %2$s %1$s, %2$d %3$s Gallery caption. %s Create a post or page @@ -1882,7 +1937,6 @@ Language: en_GB Almost there! We just need to verify your Jetpack connected email address <b>%1$s</b> Log in with your %1$s site credentials Site page - Following Likes Discover Saved @@ -2376,7 +2430,7 @@ Language: en_GB We\'ve made too many attempts to send an SMS verification code — take a break, and request a new one in a minute. There\'s no WordPress.com account matching this Google account. No sites matching your search - No sites matching your search + No blogs matching your search Page parent has been changed Page has been permanently deleted Page has been scheduled @@ -2409,8 +2463,7 @@ Language: en_GB Not now More You don\'t have any sites - No followed topics - Add topics here to find posts about your favourite topics + Add tags here to find posts about your favourite topics Log in to the WordPress.com account you used to connect Jetpack. Jetpack Jetpack FAQ @@ -2430,9 +2483,7 @@ Language: en_GB No users yet Posts that you like will appear here Nothing liked yet - Go to following - Discover sites - No followed sites + Discover blogs No likes yet No followers yet Since you\'re on a free plan, you\'ll see limited events in your activity. @@ -2497,8 +2548,8 @@ Language: en_GB this site Enable Enable notifications for %1$s%2$s%3$s? - Turn on site notifications - Turn off site notifications + Turn on blog notifications + Turn off blog notifications Jetpack icon Event Activity icon @@ -3080,7 +3131,6 @@ Language: en_GB Confirm Couldn\'t connect. We received a 403 error when trying to access your\n site XMLRPC endpoint. The app needs that in order to communicate with your site. Contact your host to solve\n this problem. Couldn\'t connect. Your host is blocking POST requests, and the app needs\n that in order to communicate with your site. Contact your host to solve this problem. - Search followed sites Don\'t leave it hanging! \'%1$s\' is waiting to be published. Don\'t leave it hanging! \'%1$s\' is waiting to be published. \'%1$s\' remains a draft. Remember to publish it! @@ -3182,7 +3232,7 @@ Language: en_GB Remove %1$s Role People - The sites in this list haven\'t posted anything recently + The blogs in this list have not posted anything recently Couldn\'t remove user Couldn\'t update user role Couldn\'t retrieve site viewers @@ -3395,7 +3445,6 @@ Language: en_GB This post no longer exists You\'re not authorised to view this post Unable to retrieve this post - The sites you follow haven\'t posted anything recently No recent posts URL copied to clipboard Selected Theme @@ -3440,8 +3489,6 @@ Language: en_GB %s Likes 1 Like Like - %,d Followers - Edit topics and sites Reader Post Settings for notifications that appear on your device. Settings for notifications that are sent to the email tied to your account. @@ -3463,8 +3510,7 @@ Language: en_GB View Publish Edit - You are not authorised to access this site - This site could not be found + This blog could not be found Undo The request has expired. Log in to WordPress.com to try again. Ignore @@ -3508,7 +3554,7 @@ Language: en_GB Fetching posts… Fetching media… Application logs have been copied to the clipboard - This site is empty + This blog is empty New posts An error occurred while copying text to clipboard Uploading post @@ -3536,7 +3582,6 @@ Language: en_GB %d selected Browse our FAQ No comments yet - No posts with this topic Like View original article Comments are closed @@ -3556,22 +3601,8 @@ Language: en_GB No posts yet. Why not create one? Logging out… Unable to perform this action - Unable to block this site - Posts from this site will no longer be shown - Block this site Schedule Update - No recommended sites - Unable to unfollow this site - Unable to follow this site - You already follow this site - Unable to show this site - Site followed - %s followers - Enter a URL or topic to follow - Followed sites - Followed topics - Reader Site If you usually connect to this site without problems, this error could mean that someone is trying to impersonate the site, and you shouldn\'t continue. Would you like to trust the certificate anyway? Invalid SSL certificate Help @@ -3597,8 +3628,8 @@ Language: en_GB An error occurred when accessing this blog The media item couldn\'t be retrieved There is no network available - Unable to remove this topic - Unable to add this topic + Unable to remove this tag + Unable to add this tag Application log An error occurred while creating the app database. Try reinstalling the app. This blog is hidden and couldn\'t be loaded. Enable it again in settings and try again. @@ -3660,15 +3691,13 @@ Language: en_GB Unable to open %s Unable to view image Unable to share - That isn\'t a valid topic - You already follow this topic + That isn\'t a valid tag Couldn\'t post your comment You like this One person likes this Removed %s Added %s Reply to comment… - Following Follow Share Reblog diff --git a/WordPress/src/main/res/values-es-rCL/strings.xml b/WordPress/src/main/res/values-es-rCL/strings.xml index 810fd0e3a9e4..82a7fd150720 100644 --- a/WordPress/src/main/res/values-es-rCL/strings.xml +++ b/WordPress/src/main/res/values-es-rCL/strings.xml @@ -203,7 +203,6 @@ Language: es_CL Hemos intentado demasiadas veces enviarte un código de verificación de SMS: Tómate un descanso y solicita uno nuevo en un minuto. No hay ninguna cuenta WordPress.com que coincida con esta cuenta de Google. No hay sitios que coincidan con tu búsqueda - No hay sitios que coincidan con tu búsqueda Se ha cambiado la página padre La página se ha eliminado permanentemente La página se ha programado @@ -249,9 +248,6 @@ Language: es_CL Aún sin usuarios Los posts que te gusten aparecerán aquí Aún no te gusta algo - Ir a siguiendo - Descubre sitios - Sin sitios seguidos Ya que estás en un plan gratuito, verás eventos limitados en tu actividad. Aún sin seguidores Aún no hay “me gusta” @@ -321,8 +317,6 @@ Language: es_CL Opciones de privacidad Esta información nos ayuda a mejorar nuestros productos, hacer marketing más relevante para ti, personalizar tu experiencia en WordPress.com, y más, como se detalla en nuestra política de privacidad. Leer la política de privacidad - Desactivar notificaciones del sitio - Activar notificaciones de sitio ¿Habilitar notificaciones para %1$s%2$s%3$s? Usamos otras herramientas de rastreo, incluyendo algunas de terceras partes. Lee acerca de estos y cómo controlarlos. Política de Terceras Partes @@ -864,7 +858,6 @@ Language: es_CL Confirmar No se puede conectar. Recibimos un error 403 cuando intentamos conectarnos\n al endpoint XMLRPC de tu sitio. La APP lo necesita para comunicarse con tu sitio. Contacta a tu hosting\n para solucionarlo. No se puede conectar. Tu host está bloqueando las solicitudes POST, y la aplicación\n Lo necesita para comunicarse con tu sitio. Contacta a tu host para resolver este problema. - Buscar sitios seguidos ¡no lo dejes colgado! \'%1$s\' está a la espera de ser publicado. ¡No lo dejes colgado! \'%1$s\' está a la espera de ser publicado. \'%1$s\' sigue siendo un borrador. ¡Recuerda publicarlo! @@ -962,7 +955,6 @@ Language: es_CL Quitar %1$s Función Gente - Los sitios de esta lista no han publicado nada recientemente No se pudo quitar el usuario No se pudo actualizar el rol del usuario No se pudo recuperar los espectadores del sitio @@ -1167,7 +1159,6 @@ Language: es_CL Esta entrada ya no existe No estás autorizado para ver esta entrada No fue posible cargar esta entrada - Los sitios que sigues no han publicado nada recientemente Entradas recientes URL copiada en el portapapeles Tema Seleccionado @@ -1233,8 +1224,6 @@ Language: es_CL Ver Editar Publicar - No está autorizado para acceder a este sitio - No se pudo encontrar este sitio Deshacer La solicitud ha expirado. Inicia sesión en WordPress.com para intentarlo de nuevo. Ignorar @@ -1278,7 +1267,6 @@ Language: es_CL Los informes de la aplicación se han copiado al portapapeles Nuevas entradas Ocurrió un error al copiar el texto en el portapapeles - Este sitio está vacío Subiendo entrada Obteniendo temas… %1$d meses @@ -1322,19 +1310,8 @@ Language: es_CL No se puede publicar una entrada vacía Revisa nuestras Preguntas Más Frecuentes No es posible realizar esta acción - Bloquear este sitio - Los mensajes de este sitio ya no se mostrarán - No se pudo bloquear este sitio Actualizar Programación - Sitios que sigues - No hay sitios recomendados - No se puede dejar de seguir a este sitio - No se puede seguir este sitio - Ya sigues a este sitio - No se puede mostrar este sitio - Sitio seguido - Lector del Sitio Ayuda Certificado SSL no válido SI normalmente se conecta sin problemas a este sitio sin problemas, este error puede significar que alguien están intentando suplantar el sitio, por lo que no deberías continuar. ¿Quieres, de todas formas, confiar en el certificado? @@ -1419,7 +1396,6 @@ Language: es_CL Esta lista esta vacía Compartir Seguir - Siguiendo Eliminado %s A una persona le gusta esto Te gusta esto diff --git a/WordPress/src/main/res/values-es-rCO/strings.xml b/WordPress/src/main/res/values-es-rCO/strings.xml index 68f4fe0608c3..cf5dbe887379 100644 --- a/WordPress/src/main/res/values-es-rCO/strings.xml +++ b/WordPress/src/main/res/values-es-rCO/strings.xml @@ -1,11 +1,18 @@ + Esperando conexión + Tráfico + Trabajo sin conexión + Conexión de red restablecida + Conexión de red perdida, trabajando sin conexión + Tamaño de fuente, %1$s + Tipo de archivo no admitido como archivo de medios. Problema al mostrar el bloque. \nToca para intentar la recuperación del bloque. La semana pasada tuviste %1$s visitas y %2$s comentarios La semana pasada tuviste %1$s visitas y %2$s Me gusta @@ -85,7 +92,6 @@ Language: es_CO Selecciona la %1$s Pestaña de avisos %2$s para recibir actualizaciones sobre la marcha. Selecciona %1$s Más %2$s para subir medios. Puedes añadirlos a tus entradas o páginas desde cualquier dispositivo. Utiliza <b> Descubrir </b> para encontrar sitios y etiquetas. - Utiliza <b> Descubrir </b> para encontrar sitios y etiquetas. Prueba a seleccionar %1$s Ajustes %2$s para añadir temáticas que te gusten. Miniatura de video Principales comentaristas Publicada hace %1$d años @@ -169,6 +175,7 @@ Language: es_CO Nota: ¡Te mostraremos un nuevo estímulo cada día en tu escritorio para ayudarte a que fluyan esos fluidos creativos! El mejor modo de convertirte en un mejor escritor es crear un hábito de escritura y compartir con otros - ¡aquí es donde entran los estímulos! + Presentamos las sugerencias de publicación Configurar recordatorios Incluir el estímulo diario Publicar con regularidad atrae nuevos lectores. ¡Cuéntanos cuándo quieres escribir y te enviaremos un recordatorio! @@ -239,6 +246,7 @@ Language: es_CO Ajustes de la galería de mosaico Navega a la pantalla de selección del diseño Estilo de la galería + Puedes conectar tu cuenta de %s en el sitio web WordPress.com. Cuando hayas terminado, vuelve a la aplicación para cambiar tus ajustes sociales. Icono de la aplicación Icono de volver Logotipo de Automattic @@ -571,7 +579,6 @@ Language: es_CO Direcciones IP permitidas siempre Comentarios no permitidos Añadir el texto del botón - Seguir temas Una nueva forma de crear y publicar contenidos atrayentes en tu sitio. Descartar Descargar @@ -648,6 +655,7 @@ Language: es_CO archivo de audio Leyenda del audio. %s Leyenda del audio. Vacía + Añadir audio Accede o regístrate con WordPress.com Usasr este audio Elige un audio del dispositivo @@ -882,8 +890,6 @@ Language: es_CO Los diseños no están disponibles sin conexión Continuar con las credenciales de la tienda Encuentra tu correo electrónico conectado - Seguir temas - Prueba a seguir más temas para ampliar la búsqueda No hay entradas recientes ¡Bienvenido! Explorar @@ -922,7 +928,6 @@ Language: es_CO Con el potente editor puedes publicar sobre la marcha. Bienvenido al maquetador web más popular del mundo. La carga del medio ha fallado - Sitios a seguir Estamos trabajando duro para añadir más bloques con cada versión. «%s» no es totalmente compatible Botón de ayuda @@ -943,7 +948,6 @@ Language: es_CO Elige desde la biblioteca de medios de WordPress Volver Primeros pasos - Sigue temáticas para descubrir nuevos blogs por Este referido no puede ser marcado como spam Desmarcar como spam @@ -1101,7 +1105,6 @@ Language: es_CO Bloque copiado El título del sitio solo puede ser cambiado por un usuario con el perfil de administrador. El título del sitio se muestra en la barra de título de un navegador web y en la cabecera de la mayoría de los temas. - Tema No se ha podido actualizar el título del sitio. Comprueba tu conexión de red e inténtalo nuevamente. Cambios sin guardar Abrir el enlace en un navegador @@ -1133,8 +1136,6 @@ Language: es_CO Mover a borrador Las entradas en la papelera no se pueden editar. ¿Deseas cambiar el estado de esta entrada a «borrador» para poder trabajar en ella? ¿Mover entrada a borradores? - Elige tus temáticas - Elige tus temáticas Hecho Selecciona algunos para continuar Publicado @@ -1146,6 +1147,7 @@ Language: es_CO Aviso de privacidad para usuarios de California Estado y visibilidad Actualizar ahora + %1$s · Abrir el menú de acciones de bloques Mover arriba Insertar una mención @@ -1176,8 +1178,8 @@ Language: es_CO Para establecer la página de inicio, activa «Página de inicio estática» en los ajustes del sitio Seleccionar un color Toca dos veces para ir a los ajustes del color - Cuando sigas sitios, verás aquí su contenido Saber más + Qué hay de nuevo en %s Insertar %d recortar Fallo al cargar en el archivo, por favor, inténtalo de nuevo. @@ -1189,9 +1191,6 @@ Language: es_CO No se ha podido seleccionar el sitio. Por favor, inténtalo de nuevo. Continuar Ha fallado reblog - Gestionar los sitios - Una vez que crees un sitio en WordPress.com, puedes volver a publicar el contenido que te gusta en tu propio sitio. - No hay disponibles sitios WordPress.com Qué hay de nuevo Copiada la dirección del enlace Copiar la dirección del enlace @@ -1262,6 +1261,7 @@ Language: es_CO Claro Apariencia Recientemente has hecho cambios en esta página, pero no los has guardado. Elige una versión para cargar:\n\n + Mensaje de advertenciaMensaje de advertencia Mostrar el contenido de la entrada Mostrar solo el extracto Enlazar a @@ -1276,6 +1276,7 @@ Language: es_CO En la papelera Programada Publicada + La conexión con Facebook no puede encontrar ninguna página. Jetpack Social no puede conectar con perfiles de Facebook, solo con páginas publicadas.La conexión con Facebook no puede encontrar ninguna página. «Difundir» no puede conectar con perfiles de Facebook, solo con páginas publicadas. No conectado Me gusta Seguimientos @@ -1289,23 +1290,13 @@ Language: es_CO Añadir una nueva tarjeta Añadir una nueva tarjeta de estadísticas Usa el botón de filtro para encontrar entradas sobre temas específicos - Selecciona una etiqueta o sitio, ventana emergente - Selecciona un sitio o etiqueta para filtrar entradas Quitar el filtro actual - Gestionar temas y sitios Acceder a WordPress.com - Accede a WordPress.com para ver las últimas entradas de los temas que sigues - Accede a WordPress.com para ver las últimas entradas de los sitios que sigues Reemplazar el bloque actual Añadir al final Añadir al principio Añadir el bloque antes Añadir el bloque después - Añadir un tema - Seguir un sitio - Puedes seguir entradas sobre un tema específico añadiendo un tema - Mira las entradas más recientes de los sitios que sigues - Siguiendo Filtrar Leyenda del video. %s Editar el video @@ -1350,7 +1341,6 @@ Language: es_CO ¡Ya casi estamos! Solo necesitamos verificar tu dirección de correo electrónico conectada a Jetpack <b>%1$s</b> Accede con las credenciales de tu sitio %1$s Página del sitio - Siguiendo Me gusta Descubrir Guardado @@ -1407,9 +1397,11 @@ Language: es_CO Elegir desde el dispositivo Ha ocurrido un error desconocido. Por favor, inténtalo de nuevo. Texto alternativo + Añadir vídeo Añadir la URL Añadir el texto alternativo AÑADIR EL BLOQUE AQUÍ + Añadir descripción Toca el botón «Añadir a las entradas guardadas» para guardar una entrada en tu lista. La lista se ha cargado con %1$d elementos. Avisos @@ -1497,6 +1489,7 @@ Language: es_CO Compartir Volver Avanzar + «%1$s» programado para publicar el «%2$s» en tu aplicación de %3$s\n%4$s Entrada programada de WordPress: «%s» «%s» se publicará en 10 minutos «%s» se publicará en 1 hora @@ -1541,6 +1534,8 @@ Language: es_CO Ninguna entrada coincide con tu búsqueda Buscar entradas Aquí es donde la gente te encuentra en Internet. + Elige un nombre de dominio premium + Todos los planes de WordPress.com incluyen un nombre de dominio personalizado. Registra ahora tu dominio premium gratuito. De un vistazo Hoy Histórico @@ -1699,7 +1694,10 @@ Language: es_CO Recordatorio Elige el siguiente periodo Elige el periodo anterior + %1$s de visitas Hora más popular + %1$s (%2$s) + +%1$s (%2$s) Mostrando la vista previa Vaciar Parece que tienes una conexión lenta. Si no ves tu nuevo sitio en la lista, inténtalo actualizando. @@ -1836,7 +1834,6 @@ Language: es_CO Hemos hecho demasiados intentos para enviar un código de verificación por SMS - tómate un descanso y solicita uno nuevo dentro de un minuto. No hay ninguna cuenta de WordPress.com que coincida con esta cuenta de Google. Ningún sitio coincide con tu búsqueda - Ningún sitio coincide con tu búsqueda La página superior ha cambiado La página se ha borrado permanentemente La página se ha programado @@ -1856,6 +1853,7 @@ Language: es_CO Ver tu sitio Previsualiza tu sitio para ver lo que verán tus visitantes. Comparte tu sitio + Toca en %1$s Social %2$s para continuar Toca en %1$s Conexiones %2$s para añadir tus cuentas de medios sociales Conecta a tus cuentas de medios sociales - tu sitio compartirá automáticamente las nuevas entradas. Publica una entrada @@ -1867,8 +1865,6 @@ Language: es_CO Ahora no Más No tienes sitios - Temas no seguidos - Añade aquí temas para descubrir entradas sobre tus temáticas favoritas Accede a la cuenta de WordPress.com que usaste para conectar Jetpack. Jetpack FAQ de Jetpack @@ -1888,9 +1884,6 @@ Language: es_CO No hay usuarios aún Las entradas que te gusten aparecerán aquí Nada que te gustó aún - Ir a los siguientes - Descubre sitios - Sitios a los que no sigues No hay me gusta aún No hay seguidores aún Como estás en un plan gratuito verás eventos limitados en tu actividad. @@ -1955,8 +1948,6 @@ Language: es_CO este sitio Activar ¿Activar avisos para %1$s%2$s%3$s? - Activar los avisos del sitio - Desactivar los avisos del sitio Icono de Jetpack Evento Icono de actividad @@ -2079,6 +2070,8 @@ Language: es_CO Parece que has desactivado los permisos necesarios para esta característica.<br/><br/>Para cambiarlo, edita tus permisos y asegúrate de que <strong>%s</strong> está activado. Permisos Destacados + No puedes acceder a tus ajustes para compartir porque tu módulo Social de Jetpack está desactivado. + Módulo Social desactivado. Versión %s El sonido escogido tiene una ruta incorrecta. Por favor, elige uno distinto. QP %s @@ -2367,6 +2360,8 @@ Language: es_CO Parece que esta contraseña es incorrecta. Por favor, vuelve a comprobar tu información e inténtalo de nuevo. Solicitando un código de verificación por SMS. Envíame un mensaje con un código en su lugar + ¡Casi lo tenemos! Por favor, introduce el código de verificación de tu aplicación Authenticator. + Abrir correo electrónico Siguiente Accede a WordPress.com usando una dirección de correo electrónico para gestionar todos tus sitios WordPress. Foto de perfil @@ -2414,6 +2409,7 @@ Language: es_CO Documentos Imágenes Todos + %1$s denegó el acceso a tus archivos de medios. Para solucionar esto modifica tus permisos y activa %2$s. Ver comentarios Calidad de los videos. Valores más altos implican videos de mejor calidad. Redimensiona los videos en las entradas a este tamaño @@ -2463,6 +2459,7 @@ Language: es_CO Avisos. Gestiona tus avisos. Lector. Sigue contenido de otros sitios. Mi sitio. Ve tu sitio y gestiónalo, estadísticas incluidas. + Social Ahora no Error en la subida. Trata de cambiar la optimización de imágenes en los ajustes de tu aplicación Guardando medios en este dispositivo @@ -2503,6 +2500,10 @@ Language: es_CO La entrada se ha guardado online Calidad de las imágenes: cuanto más alto es el valor, más calidad tienen las imágenes. Activa la opción para cambiar el tamaño de las imágenes y comprimirlas + Máxima + Alta + Media + Baja Subido Fallo al subir Se ha eliminado @@ -2528,7 +2529,6 @@ Language: es_CO Confirmar No se pudo conectar. Se ha recibido un error 403 cuando se intenta acceder a \n tu endpoint del XMLRPC de sitio. La aplicación lo necesita para comunicarse con tu sitio. Ponte en contacto con tu proveedor para solucionar este problema. No se pudo conectar. Tu alojamiento está bloqueando las peticiones POST, y la aplicación las necesita \n para comunicarse con tu sitio. Ponte en contacto con tu alojamiento para solucionar este problema. - Buscar en los sitios seguidos ¡No dejes el trabajo a medias! «%1$s» está pendiente de publicarse. ¡No dejes el trabajo a medias! «%1$s» está pendiente de publicarse. «%1$s» se ha guardado como borrador. ¡Acuérdate de publicarla! @@ -2630,7 +2630,6 @@ Language: es_CO Eliminar %1$s Perfil Gente - Los sitios de esta lista no han publicado nada últimamente. No se ha podido eliminar el usuario No se ha podido actualizar el rol del usuario No se pudieron recuperar los espectadores del sitio @@ -2843,7 +2842,6 @@ Language: es_CO Esta entrada ya no existe No estás autorizado a ver esta entrada No se pudo recuperar esta entrada - Los sitios que estás siguiendo no han publicado nada recientemente No hay entradas recientes URL copiada en el portapapeles Tema seleccionado @@ -2888,8 +2886,6 @@ Language: es_CO %s Me gusta 1 Me gusta Me gusta - %,d seguidores - Editar temas y sitios Entrada del lector Ajustes para los avisos que aparecen en tu dispositivo. Ajustes para los avisos que se envían al correo electrónico enlazado a tu cuenta. @@ -2911,8 +2907,6 @@ Language: es_CO Ver Publicar Editar - No tienes autorización para acceder a este sitio - No se pudo encontrar este sitio Deshacer La solicitud ha expirado. Accede a WordPress.com para volver a intentarlo. Ignorar @@ -2956,7 +2950,6 @@ Language: es_CO Recuperando entradas… Recuperando medios… Los registros de la aplicación han sido copiados al portapapeles - Este sitio está vacío Nuevas entradas Ha ocurrido un error al copiar el texto en el portapapeles Subiendo entrada @@ -2984,7 +2977,6 @@ Language: es_CO %d seleccionados Explora nuestras Preguntas frecuentes. Aún no hay comentarios - No hay entradas con esta temática Me gusta Ver artículo original Los comentarios están cerrados @@ -3004,21 +2996,8 @@ Language: es_CO Aún no se han publicado entradas. ¿Por qué no crear una? Cerrando sesión… No es posible realizar esta acción - No es posible bloquear este sitio - Las entradas de este sitio no volverán a mostrarse - Bloquear este sitio Programar Actualizar - Sin sitios recomendados - No se puede dejar de seguir este sitio - No se puede seguir este sitio - Ya estás siguiendo este sitio - No se puede mostrar este sitio - Sitio seguido - Introduce una URL o tema para seguir - Sitios que sigues - Temas seguidos - Sitio del lector SI normalmente se conecta sin problemas a este sitio sin problemas, este error puede significar que alguien están intentando suplantar el sitio, por lo que no deberías continuar. ¿Quieres, de todas formas, confiar en el certificado? Certificado SSL no válido Ayuda @@ -3044,8 +3023,6 @@ Language: es_CO Ha ocurrido un error al acceder a este blog El elemento multimedia no ha podido ser recuperado No hay ninguna red disponible - No se ha podido eliminar este tema - No se ha podido añadir este tema Registro de la aplicación Ha ocurrido un error al crear la base de datos de la aplicación. Por favor, intenta reinstalar la aplicación. Este blog está oculto y no se puede cargar. Actívalo de nuevo en ajustes y prueba de nuevo. @@ -3107,15 +3084,12 @@ Language: es_CO Imposible abrir %s Imposible ver la imágen Imposible compartir - Este no es un tema válido - Ya estás siguiendo este tema No se pudo publicar tu comentario Te gusta esto A una persona le gusta esto Eliminado %s Añadido %s Contestar al comentario - Siguiendo Seguir Compartir Reblog @@ -3184,8 +3158,10 @@ Language: es_CO Categorías Se necesita una tarjeta SD Multimedia + Categoría actualizada correctamente. Aprobar Eliminar + Actualizando la categoría que falló Ninguno Publicar ahora Responder diff --git a/WordPress/src/main/res/values-es-rMX/strings.xml b/WordPress/src/main/res/values-es-rMX/strings.xml index d3d58fa1143c..fd73a320ad82 100644 --- a/WordPress/src/main/res/values-es-rMX/strings.xml +++ b/WordPress/src/main/res/values-es-rMX/strings.xml @@ -50,7 +50,6 @@ Language: es_MX (Sin título) Lista de Me gusta %s Añade el texto al botón - Seguir temáticas Una nueva forma de crear y publicar contenido en tu sitio. Descargar Las amenazas se solucionaron con éxito. @@ -143,8 +142,6 @@ Language: es_MX Explorar ¡Bienvenido! No hay entradas recientes - Intenta seguir más temáticas para ampliar la búsqueda - Seguir temáticas Encuentra tu correo electrónico conectado Continuar con las credenciales de la tienda A <b>Madison Ruíz</b> le ha gustado tu entrada @@ -181,7 +178,6 @@ Language: es_MX Bienvenido al maquetador web más popular del mundo. Mira los comentarios y avisos en tiempo real. La carga del medio ha fallado - Sitios a seguir Estamos trabajando duro para añadir más bloques con cada versión. \"%s\" no es totalmente compatible Son publicados como una nueva entrada de blog en tu sitio para que tu audiencia nunca se pierda nada. @@ -203,7 +199,6 @@ Language: es_MX Volver por Primeros pasos - Sigue temáticas para descubrir nuevos blogs Subiendo medios Subiendo medios de inventarios Subiendo medios GIF @@ -356,7 +351,6 @@ Language: es_MX Bloque copiado El título del sitio solo puede ser cambiado por un usuario con el perfil de administrador. El título del sitio se muestra en la barra de título de un navegador web y en la cabecera de la mayoría de los temas. - Debate No se ha podido actualizar el título del sitio. Comprueba tu conexión de red e inténtalo nuevamente. Cambios sin guardar Abrir el enlace en un navegador @@ -427,7 +421,6 @@ Language: es_MX Página de inicio Ha fallado la actualización de la página de entradas Seleccionar un color - Cuando sigas sitios, verás aquí su contenido Toca dos veces para ir a los ajustes del color Saber más Insertar %d @@ -441,9 +434,6 @@ Language: es_MX No se ha podido seleccionar el sitio. Por favor, inténtalo de nuevo. Continuar Ha fallado reblog - Gestionar los sitios - Una vez que crees un sitio en WordPress.com, puedes volver a publicar el contenido que te gusta en tu propio sitio. - No hay disponibles sitios WordPress.com Qué hay de nuevo Copiada la dirección del enlace Copiar la dirección del enlace @@ -538,23 +528,13 @@ Language: es_MX Añadir nueva tarjeta Añadir nueva tarjeta de estadísticas Usa el botón de filtro para encontrar entradas sobre temas específicos - Selecciona una etiqueta o sitio, ventana emergente - Selecciona un sitio o etiqueta para filtrar entradas Quitar el filtro actual Acceder a WordPress.com - Gestionar temas y sitios - Accede a WordPress.com para ver las últimas entradas de los sitios que sigues - Accede a WordPress.com para ver las últimas entradas de los temas que sigues Reemplazar el bloque actual Añadir al final Añadir al principio Añadir el bloque antes Añadir el bloque después - Seguir un sitio - Mira las entradas más recientes de los sitios que sigues - Puedes seguir entradas sobre un tema específico añadiendo un tema - Añadir un tema - Siguiendo Filtrar Leyenda del video. %s Editar video @@ -598,7 +578,6 @@ Language: es_MX No hemos podido acceder en tu sitio al <b>archivo XMLRCP</b>. Tendrás que contactar con tu alojamiento para solucionarlo. ¡Ya casi estamos! Solo necesitamos verificar tu dirección de correo electrónico conectada a Jetpack <b>%1$s</b> Accede con las credenciales del sitio %1$s - Siguiendo Página del sitio No podemos abrir las entradas en este momento. Por favor, inténtalo de nuevo más tarde %sB @@ -1074,7 +1053,6 @@ Language: es_MX Hemos hecho demasiados intentos para enviar un código de verificación por SMS - tómate un descanso y solicita uno nuevo dentro de un minuto. No hay ninguna cuenta de WordPress.com que coincida con esta cuenta de Google. Ningún sitio coincide con tu búsqueda - Ningún sitio coincide con tu búsqueda La página superior ha cambiado La página se ha borrado permanentemente La página se ha programado @@ -1101,8 +1079,6 @@ Language: es_MX Ahora no No tienes sitios Más - Añade aquí temas para descubrir entradas sobre tus temáticas favoritas - Temas no seguidos Accede a la cuenta de WordPress.com que usaste para conectar Jetpack. Jetpack FAQ de Jetpack @@ -1122,9 +1098,6 @@ Language: es_MX No hay usuarios aún Las entradas que te gusten aparecerán aquí Nada que te gustó aún - Ir a los siguientes - Descubre sitios - Sitios a los que no sigues No hay me gusta aún No hay seguidores aún Como estás en un plan gratuito verás eventos limitados en tu actividad. @@ -1185,8 +1158,6 @@ Language: es_MX este sitio Activar ¿Activar avisos para %1$s%2$s%3$s? - Activar los avisos del sitio - Desactivar los avisos del sitio Icono de Jetpack Evento Icono de actividad @@ -1756,7 +1727,6 @@ Language: es_MX Reintentar No se pudo conectar. Se ha recibido un error 403 cuando se intenta acceder a \n tu endpoint del XMLRPC de sitio. La aplicación lo necesita para comunicarse con tu sitio. Ponte en contacto con tu proveedor para solucionar este problema. No se pudo conectar. Su alojamiento está bloqueando las peticiones POST, y la aplicación las necesita \n para comunicarse con su sitio. Póngase en contacto con su alojamiento para solucionar este problema. - Busca en los sitios que sigues No dejes el trabajo a medias; \"%1$s\" está pendiente de publicarse. No dejes el trabajo a medias; \"%1$s\" está pendiente de publicarse. \"%1$s\" se ha guardado como borrador. Acuérdate de publicarla. @@ -1855,7 +1825,6 @@ Language: es_MX Eliminar %1$s Rol Gente - Los sitios de esta lista no han publicado nada últimamente. No se pudo eliminar el usuario No se ha podido actualizar el rol del usuario No se pudieron recuperar los espectadores del sitio @@ -2068,7 +2037,6 @@ Language: es_MX Esta entrada ya no existe No estás autorizado a ver esta entrada No se pudo recuperar esta entrada - Los sitios que estás siguiendo no han publicado nada recientemente No hay entradas recientes URL copiada en el portapapeles Tema seleccionado @@ -2113,8 +2081,6 @@ Language: es_MX %s Me gusta 1 Me gusta Me gusta - %,d seguidores - Editar temas y sitios Entrada del lector Opciones para las notificaciones que aparecen en tu dispositivo. Opciones para las notificaciones que se envían al correo electrónico ligado a tu cuenta. @@ -2136,8 +2102,6 @@ Language: es_MX Papelera Ver Vista previa - No tienes autorización para acceder a este sitio - No se pudo encontrar este sitio Deshacer La solicitud ha expirado. Accede a WordPress.com para volver a intentarlo. Ignorar @@ -2180,7 +2144,6 @@ Language: es_MX No se pudieron recuperar las entradas Subiendo entrada Ocurrió un error al copiar el texto en el portapapeles - Este sitio está vacío Nuevas entradas Los informes de la aplicación se han copiado al portapapeles %1$d días @@ -2224,23 +2187,9 @@ Language: es_MX No se puede publicar una entrada vacía. Aún no hay comentarios Explora nuestras Preguntas frecuentes. - No hay entradas con esta temática - Bloquear este sitio - Las entradas de este sitio no volverán a mostrarse - No es posible bloquear este sitio No es posible realizar esta acción Actualizar Programación - Sitios que sigues - Sin sitios recomendados - No se puede dejar de seguir este sitio - No se puede seguir este sitio - Ya estás siguiendo este sitio - No se puede mostrar este sitio - Sitio seguido - Sitio del lector - Temas seguidos - Introduce una URL o tema para seguir Ayuda SI normalmente se conecta sin problemas a este sitio sin problemas, este error puede significar que alguien están intentando suplantar el sitio, por lo que no deberías continuar. ¿Quieres, de todas formas, confiar en el certificado? Certificado SSL no válido @@ -2312,8 +2261,6 @@ Language: es_MX Malla (red) de miniaturas Ocurrió un error al cargar la entrada. Actualiza tus entradas e intenta nuevamente. Ocurrió un error al acceder a este plugin - No se ha podido añadir este tema - No se ha podido eliminar este tema Compartir enlace Recuperando entradas… A %,d personas les gusta esto @@ -2326,7 +2273,6 @@ Language: es_MX Elige un video Añadido %s Seguir - Siguiendo A una persona le gusta esto Eliminado %s Esta lista esta vacía @@ -2341,8 +2287,6 @@ Language: es_MX No hay comentarios aún Reblog Registro - Ya estás siguiendo este tema - Este no es un tema válido Activar Leyenda Círculos diff --git a/WordPress/src/main/res/values-es-rVE/strings.xml b/WordPress/src/main/res/values-es-rVE/strings.xml index 09d691f66372..4931234f5419 100644 --- a/WordPress/src/main/res/values-es-rVE/strings.xml +++ b/WordPress/src/main/res/values-es-rVE/strings.xml @@ -104,7 +104,6 @@ Language: es_VE Selecciona la %1$s Pestaña de avisos %2$s para recibir actualizaciones sobre la marcha. Selecciona %1$s Más %2$s para subir medios. Puedes añadirlos a tus entradas o páginas desde cualquier dispositivo. Utiliza <b> Descubrir </b> para encontrar sitios y etiquetas. - Utiliza <b> Descubrir </b> para encontrar sitios y etiquetas. Prueba a seleccionar %1$s Ajustes %2$s para añadir temáticas que te gusten. Miniatura de video Principales comentaristas Publicada hace %1$d años @@ -586,7 +585,6 @@ Language: es_VE Direcciones IP permitidas siempre Comentarios no permitidos Añadir el texto del botón - Seguir temas Una nueva forma de crear y publicar contenidos atrayentes en tu sitio. Descartar Descargar @@ -897,8 +895,6 @@ Language: es_VE Los diseños no están disponibles sin conexión Continuar con las credenciales de la tienda Encuentra tu correo electrónico conectado - Seguir temas - Prueba a seguir más temas para ampliar la búsqueda No hay entradas recientes ¡Bienvenido! Explorar @@ -937,7 +933,6 @@ Language: es_VE Con el potente editor puedes publicar sobre la marcha. Bienvenido al maquetador web más popular del mundo. La carga del medio ha fallado - Sitios a seguir Estamos trabajando duro para añadir más bloques con cada versión. «%s» no es totalmente compatible Botón de ayuda @@ -958,7 +953,6 @@ Language: es_VE Elige desde la biblioteca de medios de WordPress Volver Primeros pasos - Sigue temáticas para descubrir nuevos blogs por Este referido no puede ser marcado como spam Desmarcar como spam @@ -1116,7 +1110,6 @@ Language: es_VE Bloque copiado El título del sitio solo puede ser cambiado por un usuario con el perfil de administrador. El título del sitio se muestra en la barra de título de un navegador web y en la cabecera de la mayoría de los temas. - Tema No se ha podido actualizar el título del sitio. Comprueba tu conexión de red e inténtalo nuevamente. Cambios sin guardar Abrir el enlace en un navegador @@ -1148,8 +1141,6 @@ Language: es_VE Mover a borrador Las entradas en la papelera no se pueden editar. ¿Deseas cambiar el estado de esta entrada a «borrador» para poder trabajar en ella? ¿Mover entrada a borradores? - Elige tus temáticas - Elige tus temáticas Hecho Selecciona algunos para continuar Publicado @@ -1191,7 +1182,6 @@ Language: es_VE Para establecer la página de inicio, activa «Página de inicio estática» en los ajustes del sitio Seleccionar un color Toca dos veces para ir a los ajustes del color - Cuando sigas sitios, verás aquí su contenido Saber más Insertar %d recortar @@ -1204,9 +1194,6 @@ Language: es_VE No se ha podido seleccionar el sitio. Por favor, inténtalo de nuevo. Continuar Ha fallado reblog - Gestionar los sitios - Una vez que crees un sitio en WordPress.com, puedes volver a publicar el contenido que te gusta en tu propio sitio. - No hay disponibles sitios WordPress.com Qué hay de nuevo Copiada la dirección del enlace Copiar la dirección del enlace @@ -1304,23 +1291,13 @@ Language: es_VE Añadir una nueva tarjeta Añadir una nueva tarjeta de estadísticas Usa el botón de filtro para encontrar entradas sobre temas específicos - Selecciona una etiqueta o sitio, ventana emergente - Selecciona un sitio o etiqueta para filtrar entradas Quitar el filtro actual - Gestionar temas y sitios Acceder a WordPress.com - Accede a WordPress.com para ver las últimas entradas de los temas que sigues - Accede a WordPress.com para ver las últimas entradas de los sitios que sigues Reemplazar el bloque actual Añadir al final Añadir al principio Añadir el bloque antes Añadir el bloque después - Añadir un tema - Seguir un sitio - Puedes seguir entradas sobre un tema específico añadiendo un tema - Mira las entradas más recientes de los sitios que sigues - Siguiendo Filtrar Leyenda del video. %s Editar el video @@ -1365,7 +1342,6 @@ Language: es_VE ¡Ya casi estamos! Solo necesitamos verificar tu dirección de correo electrónico conectada a Jetpack <b>%1$s</b> Accede con las credenciales de tu sitio %1$s Página del sitio - Siguiendo Me gusta Descubrir Guardado @@ -1851,7 +1827,6 @@ Language: es_VE Hemos hecho demasiados intentos para enviar un código de verificación por SMS - tómate un descanso y solicita uno nuevo dentro de un minuto. No hay ninguna cuenta de WordPress.com que coincida con esta cuenta de Google. Ningún sitio coincide con tu búsqueda - Ningún sitio coincide con tu búsqueda La página superior ha cambiado La página se ha borrado permanentemente La página se ha programado @@ -1882,8 +1857,6 @@ Language: es_VE Ahora no Más No tienes sitios - Temas no seguidos - Añade aquí temas para descubrir entradas sobre tus temáticas favoritas Accede a la cuenta de WordPress.com que usaste para conectar Jetpack. Jetpack FAQ de Jetpack @@ -1903,9 +1876,6 @@ Language: es_VE No hay usuarios aún Las entradas que te gusten aparecerán aquí Nada que te gustó aún - Ir a los siguientes - Descubre sitios - Sitios a los que no sigues No hay me gusta aún No hay seguidores aún Como estás en un plan gratuito verás eventos limitados en tu actividad. @@ -1970,8 +1940,6 @@ Language: es_VE este sitio Activar ¿Activar avisos para %1$s%2$s%3$s? - Activar los avisos del sitio - Desactivar los avisos del sitio Icono de Jetpack Evento Icono de actividad @@ -2544,7 +2512,6 @@ Language: es_VE Confirmar No se pudo conectar. Se ha recibido un error 403 cuando se intenta acceder a \n tu endpoint del XMLRPC de sitio. La aplicación lo necesita para comunicarse con tu sitio. Ponte en contacto con tu proveedor para solucionar este problema. No se pudo conectar. Tu alojamiento está bloqueando las peticiones POST, y la aplicación las necesita \n para comunicarse con tu sitio. Ponte en contacto con tu alojamiento para solucionar este problema. - Buscar en los sitios seguidos ¡No dejes el trabajo a medias! «%1$s» está pendiente de publicarse. ¡No dejes el trabajo a medias! «%1$s» está pendiente de publicarse. «%1$s» se ha guardado como borrador. ¡Acuérdate de publicarla! @@ -2646,7 +2613,6 @@ Language: es_VE Eliminar %1$s Perfil Gente - Los sitios de esta lista no han publicado nada últimamente. No se ha podido eliminar el usuario No se ha podido actualizar el rol del usuario No se pudieron recuperar los espectadores del sitio @@ -2859,7 +2825,6 @@ Language: es_VE Esta entrada ya no existe No estás autorizado a ver esta entrada No se pudo recuperar esta entrada - Los sitios que estás siguiendo no han publicado nada recientemente No hay entradas recientes URL copiada en el portapapeles Tema seleccionado @@ -2904,8 +2869,6 @@ Language: es_VE %s Me gusta 1 Me gusta Me gusta - %,d seguidores - Editar temas y sitios Entrada del lector Ajustes para los avisos que aparecen en tu dispositivo. Ajustes para los avisos que se envían al correo electrónico enlazado a tu cuenta. @@ -2927,8 +2890,6 @@ Language: es_VE Ver Publicar Editar - No tienes autorización para acceder a este sitio - No se pudo encontrar este sitio Deshacer La solicitud ha expirado. Accede a WordPress.com para volver a intentarlo. Ignorar @@ -2972,7 +2933,6 @@ Language: es_VE Recuperando entradas… Recuperando medios… Los registros de la aplicación han sido copiados al portapapeles - Este sitio está vacío Nuevas entradas Ha ocurrido un error al copiar el texto en el portapapeles Subiendo entrada @@ -3000,7 +2960,6 @@ Language: es_VE %d seleccionados Explora nuestras Preguntas frecuentes. Aún no hay comentarios - No hay entradas con esta temática Me gusta Ver artículo original Los comentarios están cerrados @@ -3020,21 +2979,8 @@ Language: es_VE Aún no se han publicado entradas. ¿Por qué no crear una? Cerrando sesión… No es posible realizar esta acción - No es posible bloquear este sitio - Las entradas de este sitio no volverán a mostrarse - Bloquear este sitio Programar Actualizar - Sin sitios recomendados - No se puede dejar de seguir este sitio - No se puede seguir este sitio - Ya estás siguiendo este sitio - No se puede mostrar este sitio - Sitio seguido - Introduce una URL o tema para seguir - Sitios que sigues - Temas seguidos - Sitio del lector SI normalmente se conecta sin problemas a este sitio sin problemas, este error puede significar que alguien están intentando suplantar el sitio, por lo que no deberías continuar. ¿Quieres, de todas formas, confiar en el certificado? Certificado SSL no válido Ayuda @@ -3060,8 +3006,6 @@ Language: es_VE Ha ocurrido un error al acceder a este blog El elemento multimedia no ha podido ser recuperado No hay ninguna red disponible - No se ha podido eliminar este tema - No se ha podido añadir este tema Registro de la aplicación Ha ocurrido un error al crear la base de datos de la aplicación. Por favor, intenta reinstalar la aplicación. Este blog está oculto y no se puede cargar. Actívalo de nuevo en ajustes y prueba de nuevo. @@ -3123,15 +3067,12 @@ Language: es_VE Imposible abrir %s Imposible ver la imágen Imposible compartir - Este no es un tema válido - Ya estás siguiendo este tema No se pudo publicar tu comentario Te gusta esto A una persona le gusta esto Eliminado %s Añadido %s Contestar al comentario - Siguiendo Seguir Compartir Reblog diff --git a/WordPress/src/main/res/values-es/strings.xml b/WordPress/src/main/res/values-es/strings.xml index 9c4aed53e0a0..a645615a6bee 100644 --- a/WordPress/src/main/res/values-es/strings.xml +++ b/WordPress/src/main/res/values-es/strings.xml @@ -1,11 +1,82 @@ + No podemos abrir las estadísticas en este momento. Por favor, inténtalo de nuevo más tarde + Registros del servidor webs + Registros de PHP + Métricas + Supervisión del sitio + Utiliza <b>Descubrir</b> para encontrar sitios y etiquetas. Prueba a seleccionar <b>Suscripciones</b> para ver el contenido suscrito y gestionar tus suscripciones. + Ir a suscripciones + Los blogs a los que estás suscrito no han publicado nada recientemente + Suscríbete a blogs en Descubrir o busca un blog que ya te guste. + No hay blogs recomendados + No hay suscripciones a etiquetas + No hay entradas con esta etiqueta + No ha sido posible bloquear este blog + Las entradas de este blog ya no se mostrarán + No se ha podido cancelar la suscripción al blog + No tienes autorización para acceder a este blog + No es posible suscribirse a este blog + Ya estás suscrito a este blog. + No se puede mostrar este blog + Ya estás suscrito a esta etiqueta + Elige tus intereses + 1 suscriptor + %s suscriptores + %,d suscriptores + Blog suscrito + Buscar blogs suscritos + Introduce una URL o etiqueta a la que suscribirte + Suscrito + Suscribirse + Bloquear este blog + Editar etiquetas y blogs + Blogs suscritos + Etiquetas suscritas + Seguir etiquetas + Gestionar etiquetas y blogs + Etiqueta + Blog del lector + Suscrito + %d etiquetas + 1 etiqueta + 0 etiquetas + %d blogs + 1 blog + 0 blogs + Listas + Automattic + Me gustó + Guardado + Suscripciones + Descubrir + Buscar + Suscribirse a etiquetas + Intenta suscribirte a más etiquetas para ampliar la búsqueda + Suscríbete a etiquetas para descubrir nuevos blogs + Blogs a los que suscribirse + Suscribirse a una etiqueta + Etiquetas recomendadas + Buscar un blog + Suscríbete a una etiqueta y podrás ve las mejores publicaciones asociadas a ella. + Sin etiquetas + Suscríbete a blogs en Descubrir y verás sus últimas publicaciones aquí. O busca un blog que ya te guste. + No hay suscripciones al blog + Suscríbete a un blog + Puedes suscribirte a publicaciones sobre un tema específico añadiendo una etiqueta + Ver las últimas entradas de los blogs a los que estás suscrito + Filtrar por etiqueta + Filtrar por blog + Por año + Por mes + Por semana + Por día Esperando conexión Tráfico Trabajo sin conexión @@ -99,7 +170,6 @@ Language: es Cuenta y ajustes Elige un plan Gratis durante el primer año con los planes de pago anuales - 1 seguidor Guardado Guardar Puede que te guste @@ -601,7 +671,6 @@ Language: es Selecciona la %1$s Pestaña de avisos %2$s para recibir actualizaciones sobre la marcha. Selecciona %1$s Más %2$s para subir medios. Puedes añadirlos a tus entradas o páginas desde cualquier dispositivo. Utiliza <b> Descubrir </b> para encontrar sitios y etiquetas. - Utiliza <b> Descubrir </b> para encontrar sitios y etiquetas. Prueba a seleccionar %1$s Ajustes %2$s para añadir temáticas que te gusten. Miniatura de vídeo Principales comentaristas Publicada hace %1$d años @@ -1098,7 +1167,6 @@ Language: es Direcciones IP permitidas siempre Comentarios no permitidos Añadir el texto del botón - Seguir temas Una nueva forma de crear y publicar contenidos atrayentes en tu sitio. Descartar Descargar @@ -1410,8 +1478,6 @@ Language: es Los diseños no están disponibles sin conexión Continuar con las credenciales de la tienda Encuentra tu correo electrónico conectado - Seguir temas - Prueba a seguir más temas para ampliar la búsqueda No hay entradas recientes ¡Bienvenido! Explorar @@ -1450,7 +1516,6 @@ Language: es Con el potente editor puedes publicar sobre la marcha. Bienvenido al maquetador web más popular del mundo. La carga del medio ha fallado - Sitios a seguir Estamos trabajando duro para añadir más bloques con cada versión. «%s» no es totalmente compatible Botón de ayuda @@ -1471,7 +1536,6 @@ Language: es Elige desde la biblioteca de medios de WordPress Volver Primeros pasos - Sigue temáticas para descubrir nuevos blogs por Este referido no puede ser marcado como spam Desmarcar como spam @@ -1629,7 +1693,6 @@ Language: es Bloque copiado El título del sitio solo puede ser cambiado por un usuario con el perfil de administrador. El título del sitio se muestra en la barra de título de un navegador web y en la cabecera de la mayoría de los temas. - Tema No se ha podido actualizar el título del sitio. Comprueba tu conexión de red e inténtalo nuevamente. Cambios sin guardar Abrir el enlace en un navegador @@ -1661,8 +1724,7 @@ Language: es Mover a borrador Las entradas en la papelera no se pueden editar. ¿Deseas cambiar el estado de esta entrada a «borrador» para poder trabajar en ella? ¿Mover entrada a borradores? - Elige tus temáticas - Elige tus temáticas + Elige tus etiquetas Hecho Selecciona algunos para continuar Publicado @@ -1705,7 +1767,6 @@ Language: es Para establecer la página de inicio, activa «Página de inicio estática» en los ajustes del sitio Seleccionar un color Toca dos veces para ir a los ajustes del color - Cuando sigas sitios, verás aquí su contenido Saber más Qué hay de nuevo en %s Insertar %d @@ -1719,9 +1780,9 @@ Language: es No se ha podido seleccionar el sitio. Por favor, inténtalo de nuevo. Continuar Ha fallado reblog - Gestionar los sitios - Una vez que crees un sitio en WordPress.com, puedes volver a publicar el contenido que te gusta en tu propio sitio. - No hay disponibles sitios WordPress.com + Gestionar blogs + Una vez que crees un sitio en WordPress.com, puedes volver a publicar el contenido que te gusta en tu propio sitio. + No hay blogs de WordPress.com disponibles Qué hay de nuevo Copiada la dirección del enlace Copiar la dirección del enlace @@ -1821,23 +1882,17 @@ Language: es Añadir una nueva tarjeta Añadir una nueva tarjeta de estadísticas Usa el botón de filtro para encontrar entradas sobre temas específicos - Selecciona una etiqueta o sitio, ventana emergente - Selecciona un sitio o etiqueta para filtrar entradas + Selecciona una etiqueta o blog, ventana emergente Quitar el filtro actual - Gestionar temas y sitios Acceder a WordPress.com - Accede a WordPress.com para ver las últimas entradas de los temas que sigues - Accede a WordPress.com para ver las últimas entradas de los sitios que sigues + Accede a WordPress.com para ver las últimas entradas de las etiquetas que sigues + Accede a WordPress.com para ver las últimas entradas de los blogs que sigues Reemplazar el bloque actual Añadir al final Añadir al principio Añadir el bloque antes Añadir el bloque después - Añadir un tema - Seguir un sitio - Puedes seguir entradas sobre un tema específico añadiendo un tema - Mira las entradas más recientes de los sitios que sigues - Siguiendo + Añadir una etiqueta Filtrar Leyenda del vídeo. %s Editar el vídeo @@ -1882,7 +1937,6 @@ Language: es ¡Ya casi estamos! Solo necesitamos verificar tu dirección de correo electrónico conectada a Jetpack <b>%1$s</b> Accede con las credenciales de tu sitio %1$s Página del sitio - Siguiendo Me gusta Descubrir Guardado @@ -2376,7 +2430,7 @@ Language: es Hemos hecho demasiados intentos para enviar un código de verificación por SMS - tómate un descanso y solicita uno nuevo dentro de un minuto. No hay ninguna cuenta de WordPress.com que coincida con esta cuenta de Google. Ningún sitio coincide con tu búsqueda - Ningún sitio coincide con tu búsqueda + Ningún blog coincide con tu búsqueda La página superior ha cambiado La página se ha borrado permanentemente La página se ha programado @@ -2409,8 +2463,7 @@ Language: es Ahora no Más No tienes sitios - Temas no seguidos - Añade aquí temas para descubrir entradas sobre tus temáticas favoritas + Añade aquí etiquetas para descubrir entradas sobre tus temas favoritos Accede a la cuenta de WordPress.com que usaste para conectar Jetpack. Jetpack FAQ de Jetpack @@ -2430,9 +2483,7 @@ Language: es No hay usuarios aún Las entradas que te gusten aparecerán aquí Nada que te gustó aún - Ir a los siguientes - Descubre sitios - Sitios a los que no sigues + Descubre blogs No hay me gusta aún No hay seguidores aún Como estás en un plan gratuito verás eventos limitados en tu actividad. @@ -2497,8 +2548,8 @@ Language: es este sitio Activar ¿Activar avisos para %1$s%2$s%3$s? - Activar los avisos del sitio - Desactivar los avisos del sitio + Activar los avisos del blog + Desactivar los avisos del blog Icono de Jetpack Evento Icono de actividad @@ -3080,7 +3131,6 @@ Language: es Confirmar No se pudo conectar. Se ha recibido un error 403 cuando se intenta acceder a \n tu endpoint del XMLRPC de sitio. La aplicación lo necesita para comunicarse con tu sitio. Ponte en contacto con tu proveedor para solucionar este problema. No se pudo conectar. Tu alojamiento está bloqueando las peticiones POST, y la aplicación las necesita \n para comunicarse con tu sitio. Ponte en contacto con tu alojamiento para solucionar este problema. - Buscar en los sitios seguidos ¡No dejes el trabajo a medias! «%1$s» está pendiente de publicarse. ¡No dejes el trabajo a medias! «%1$s» está pendiente de publicarse. «%1$s» se ha guardado como borrador. ¡Acuérdate de publicarla! @@ -3182,7 +3232,7 @@ Language: es Eliminar %1$s Perfil Gente - Los sitios de esta lista no han publicado nada últimamente. + Los blogs de esta lista no han publicado nada últimamente. No se ha podido eliminar el usuario No se ha podido actualizar el rol del usuario No se pudieron recuperar los espectadores del sitio @@ -3395,7 +3445,6 @@ Language: es Esta entrada ya no existe No estás autorizado a ver esta entrada No se pudo recuperar esta entrada - Los sitios que estás siguiendo no han publicado nada recientemente No hay entradas recientes URL copiada en el portapapeles Tema seleccionado @@ -3440,8 +3489,6 @@ Language: es %s Me gusta 1 Me gusta Me gusta - %,d seguidores - Editar temas y sitios Entrada del lector Ajustes para los avisos que aparecen en tu dispositivo. Ajustes para los avisos que se envían al correo electrónico enlazado a tu cuenta. @@ -3463,8 +3510,7 @@ Language: es Ver Publicar Editar - No tienes autorización para acceder a este sitio - No se pudo encontrar este sitio + No se pudo encontrar este blog Deshacer La solicitud ha expirado. Accede a WordPress.com para volver a intentarlo. Ignorar @@ -3508,7 +3554,7 @@ Language: es Recuperando entradas… Recuperando medios… Los registros de la aplicación han sido copiados al portapapeles - Este sitio está vacío + Este blog está vacío Nuevas entradas Ha ocurrido un error al copiar el texto en el portapapeles Subiendo entrada @@ -3536,7 +3582,6 @@ Language: es %d seleccionados Explora nuestras Preguntas frecuentes. Aún no hay comentarios - No hay entradas con esta temática Me gusta Ver artículo original Los comentarios están cerrados @@ -3556,22 +3601,8 @@ Language: es Aún no se han publicado entradas. ¿Por qué no crear una? Cerrando sesión… No es posible realizar esta acción - No es posible bloquear este sitio - Las entradas de este sitio no volverán a mostrarse - Bloquear este sitio Programar Actualizar - Sin sitios recomendados - No se puede dejar de seguir este sitio - No se puede seguir este sitio - Ya estás siguiendo este sitio - No se puede mostrar este sitio - Sitio seguido - %s seguidores - Introduce una URL o tema para seguir - Sitios que sigues - Temas seguidos - Sitio del lector SI normalmente se conecta sin problemas a este sitio sin problemas, este error puede significar que alguien están intentando suplantar el sitio, por lo que no deberías continuar. ¿Quieres, de todas formas, confiar en el certificado? Certificado SSL no válido Ayuda @@ -3597,8 +3628,8 @@ Language: es Ha ocurrido un error al acceder a este blog El elemento multimedia no ha podido ser recuperado No hay ninguna red disponible - No se ha podido eliminar este tema - No se ha podido añadir este tema + No se ha podido eliminar esta etiqueta + No se ha podido añadir esta etiqueta Registro de la aplicación Ha ocurrido un error al crear la base de datos de la aplicación. Por favor, intenta reinstalar la aplicación. Este blog está oculto y no se puede cargar. Actívalo de nuevo en ajustes y prueba de nuevo. @@ -3660,15 +3691,13 @@ Language: es Imposible abrir %s Imposible ver la imágen Imposible compartir - Este no es un tema válido - Ya estás siguiendo este tema + Esa no es un etiqueta válida No se pudo publicar tu comentario Te gusta esto A una persona le gusta esto Eliminado %s Añadido %s Contestar al comentario - Siguiendo Seguir Compartir Reblog diff --git a/WordPress/src/main/res/values-eu/strings.xml b/WordPress/src/main/res/values-eu/strings.xml index 5ad4904aca07..f95074d77e0c 100644 --- a/WordPress/src/main/res/values-eu/strings.xml +++ b/WordPress/src/main/res/values-eu/strings.xml @@ -379,7 +379,6 @@ Language: eu_ES %s atsegite Atsegite 1 Atsegin dut - %,d jarraitzaile Irakurlearen postontzia Jakinarazpen motak App-aren jakinarazpenak @@ -394,7 +393,6 @@ Language: eu_ES Ikusi Editatu Argitaratu - Ezin izan da gune hori aurkitu Desegin Eskaria iraungi da. Hasi saioa WordPress.com-en berriro saiatzeko. Ezikusi @@ -435,7 +433,6 @@ Language: eu_ES Bidalketa berriak Errore bat gertatu da testua arbelera kopiatzean Bidalketa igotzen - Gune hau hutsik dago Bidalketak eta orrialdeak Bideoak Jarraitzaileak @@ -469,15 +466,10 @@ Language: eu_ES Ezin da bidalketa huts bat argitaratu 2 egun baino zaharragoa Aste bat baino zaharragoa - Ez dago bidalketarik gai honekin Iruzkindu Atseginda Eguneratu Programatu - Jarraitutako guneak - Ez dago gomendatutako gunerik - Gunea jarraituta - Irakurle gunea Laguntza SSL ziurtagiri okerra Normalean gune honetara arazo gabe konektatzen bazara, errore honek norbait zu ordezkatu nahian dabilela adieraz lezake eta ez zenuke aurrera jarraitu beharko. Hala ere ziurtagiriaz fidatu nahi duzu? @@ -547,8 +539,6 @@ Language: eu_ES Egiaztatu sartutako URL gunea baliozkoa dela Orrialdea ezabatu? Bidalketa ezabatu? - Ezin izan da etiketa hau kendu - Ezin izan da gai hau gehitu Partekatu esteka Bidalketak eskuratzen… Ezin da WordPress-en partekatu blog ikusgai bat ez baduzu @@ -569,14 +559,11 @@ Language: eu_ES Partekatu Jarraitu (Izenbururik gabe) - Jarraitzen %s ezabatua Pertsona batek hau gustuko du Hau gustuko duzu Erantzun iruzkinari… - Hori ez da etiketa zuzen bat Birblogeatu - Dagoeneko gai hau jarraitzen duzu Oraindik iruzkin gabe Izena eman Karratuak diff --git a/WordPress/src/main/res/values-fr-rCA/strings.xml b/WordPress/src/main/res/values-fr-rCA/strings.xml index dd1eb072224a..a91800ea4697 100644 --- a/WordPress/src/main/res/values-fr-rCA/strings.xml +++ b/WordPress/src/main/res/values-fr-rCA/strings.xml @@ -1,6 +1,6 @@ - Atbilde: - Jautājums: - Jetpack Mobile Bot transkripts: - Kļūda, iesniedzot atbalsta biļeti - Biļete izveidota Veido atbalsta biļeti… - Kā es varu izmantot savu pielāgoto domēnu lietotnē? - Aizmirsu savu pieteikšanās informāciju - Kāpēc es nevaru pieteikties? - Es nevaru augšupielādēt fotoattēlus vai video - Palīdziet, mana vietne nedarbojas! - Kāda ir manas vietnes adrese? - Vai neesat drošs, ko jautāt? - Sazināties ar atbalsta dienestu + Biļete izveidota + Kļūda, iesniedzot atbalsta biļeti + Jetpack Mobile Bot transkripts: + Jautājums: + Atbilde: Sūtīt ziņu… + Sazināties ar atbalsta dienestu + Vai neesat drošs, ko jautāt? + Kāda ir manas vietnes adrese? + Palīdziet, mana vietne nedarbojas! + Es nevaru augšupielādēt fotoattēlus vai video + Kāpēc es nevaru pieteikties? + Aizmirsu savu pieteikšanās informāciju + Kā es varu izmantot savu pielāgoto domēnu lietotnē? Notīrīt Atlikušas %1$d sociālās kopīgošanas - AIZVĒRT - Programmā WordPress trūkst nepieciešamo komponentu, un tā ir jāpārinstalē no Google Play veikala. - Instalēšana neizdevās - Kaut kas nogāja greizi - Kaut kas ir nogājis greizi - Kaut kas nogāja greizi, nevarēja ielādēt kampaņas - Pievienot kontus - Sociālā kopīgošana - Sociālā kopīgošana Sociālie tīkli + Sociālā kopīgošana + Sociālā kopīgošana + Pievienot kontus + Kaut kas nogāja greizi, nevarēja ielādēt kampaņas + Kaut kas ir nogājis greizi + Kaut kas nogāja greizi + Instalēšana neizdevās + Programmā WordPress trūkst nepieciešamo komponentu, un tā ir jāpārinstalē no Google Play veikala. + AIZVĒRT + Pievienot kontus + Ne tagad + Pielāgot ziņojumu + Pielāgojiet ziņojumu, ko vēlaties kopīgot. Ja šeit nepievienosiet savu tekstu, mēs izmantosim ziņas nosaukumu kā ziņojumu. + Nedalīties sociālajos tīklos + Dalīties ar %1$s Dalīties ar %1$d kontiem Dalīties ar %1$d no %2$d kontiem - Dalīties ar %1$s - Nedalīties sociālajos tīklos - Pielāgojiet ziņojumu, ko vēlaties kopīgot. Ja šeit nepievienosiet savu tekstu, mēs izmantosim ziņas nosaukumu kā ziņojumu. - Pielāgot ziņojumu - Ne tagad - Pievienot kontus - Ievietot video bloku - Ievietot attēlu bloku - Ievietot galerijas bloku Ievietot audio bloku - Izveidot - Jūs vēl neesat izveidojis nevienu kampaņu. Klikšķiniet uz \"veidot\", lai sāktu. - Jums nav kampaņu - Kampaņas detaļas - Blaze kampaņas - Budžets - Klikšķi - Iespaidi - IEPLĀNOTS - MODERĀCIJĀ - ATCELTS - NORAIDĪTS - PABEIGTS - AKTĪVS - Izveidot kampaņu - Blaze kampaņa - Blaze plūsmas veicināšanu nevarēja ielādēt - Palieliniet datplūsmu, automātiski kopīgojot savas ziņas ar draugiem sociālajos tīklos. - Aizvērt redaktoru - Atkārtot pēdējo izmaiņu + Ievietot galerijas bloku + Ievietot attēlu bloku + Ievietot video bloku + Abonēt, lai kopīgotu vairāk Atcelt pēdējās izmaiņas + Atkārtot pēdējo izmaiņu + Aizvērt redaktoru + Palieliniet datplūsmu, automātiski kopīgojot savas ziņas ar draugiem sociālajos tīklos. + Blaze plūsmas veicināšanu nevarēja ielādēt + Blaze kampaņa + Izveidot kampaņu + AKTĪVS + PABEIGTS + NORAIDĪTS + ATCELTS + MODERĀCIJĀ + IEPLĀNOTS + Iespaidi + Klikšķi + Budžets + Blaze kampaņas + Kampaņas detaļas + Jums nav kampaņu + Jūs vēl neesat izveidojis nevienu kampaņu. Klikšķiniet uz \"veidot\", lai sāktu. + Izveidot Atlikusi 1 sociālā kopīgošana - Abonēt, lai kopīgotu vairāk Palieliniet datplūsmu, automātiski kopīgojot savus ziņojumus ar draugiem sociālajos tīklos. Sociālā kopīgošana - %s atdalīts - Sinhronizēto modeļu rediģēšana programmā %s iOS ierīcē vēl netiek atbalstīta. Sinhronizēto modeļu rediģēšana programmā %s Android ierīcē vēl netiek atbalstīta. - Atkārtoti lietojams + Sinhronizēto modeļu rediģēšana programmā %s iOS ierīcē vēl netiek atbalstīta. + %s atdalīts Saglabājot jūsu konfidencialitātes izvēles, radās kļūda. - Saglabāt - Iestatījumi - Ļaujiet mums optimizēt veiktspēju, apkopojot informāciju par to, kā lietotāji mijiedarbojas ar mūsu mobilajām lietotnēm. - Analītika - Pārvaldīt privātumu + Atkārtoti lietojams Jūsu privātums mums vienmēr ir bijis un ir ļoti svarīgs. Mēs izmantojam, glabājam un apstrādājam jūsu personas datus, lai dažādos veidos optimizētu mūsu lietotni (un jūsu pieredzi). Daži jūsu datu lietojumi mums ir absolūti nepieciešami, lai viss darbotos, un citus varat pielāgot iestatījumos. + Pārvaldīt privātumu + Analītika + Ļaujiet mums optimizēt veiktspēju, apkopojot informāciju par to, kā lietotāji mijiedarbojas ar mūsu mobilajām lietotnēm. + Iestatījumi + Saglabāt Es. Pārvaldiet savu profila informāciju. Ziņojums - Nesagrupēts bloks - Bloki sagrupēti - Var paiet līdz 30 minūtēm, līdz jūsu domēns sāks darboties pareizi. - Notiek jūsu jaunā domēna <b>%s</b> iestatīšana. - Viss gatavs darbam! - Pirmo gadu iegūstiet bezmaksas domēnu, noņemiet reklāmas no savas vietnes un palieliniet krātuvi. - Bezmaksas domēns ar gada plānu - Uzzināt vairāk par veidnēm - Jūsu mājaslapā tiek izmantota tēmas veidne, un tā tiks atvērta tīmekļa redaktorā. - Mājas lapa - Konts slēgts. - Slēdzot kontu, radās kļūda. - Šo lietotāja kontu nevar slēgt, kamēr tajā ir aktīvi pirkumi. Šo lietotāja kontu nevar slēgt, kamēr tam ir aktīvi abonementi. - Šo lietotāja kontu nevar slēgt, ja ir neatrisinātas atmaksas. - Šo lietotāja kontu nevar nekavējoties slēgt, jo tajā ir aktīvi pirkumi. Lūdzu, sazinieties ar mūsu atbalsta komandu, lai pabeigtu konta dzēšanu. - Jums nav tiesību slēgt kontu. + Šo lietotāja kontu nevar slēgt, kamēr tajā ir aktīvi pirkumi. + Slēdzot kontu, radās kļūda. + Konts slēgts. + Mājas lapa + Jūsu mājaslapā tiek izmantota tēmas veidne, un tā tiks atvērta tīmekļa redaktorā. + Uzzināt vairāk par veidnēm + Bezmaksas domēns ar gada plānu + Pirmo gadu iegūstiet bezmaksas domēnu, noņemiet reklāmas no savas vietnes un palieliniet krātuvi. + Viss gatavs darbam! + Notiek jūsu jaunā domēna <b>%s</b> iestatīšana. + Var paiet līdz 30 minūtēm, līdz jūsu domēns sāks darboties pareizi. + Bloki sagrupēti + Nesagrupēts bloks Apstiprināt konta slēgšanu… - Lai to apstiprinātu, pirms slēgšanas atkārtoti ievadiet savu lietotājvārdu. + Jums nav tiesību slēgt kontu. + Šo lietotāja kontu nevar nekavējoties slēgt, jo tajā ir aktīvi pirkumi. Lūdzu, sazinieties ar mūsu atbalsta komandu, lai pabeigtu konta dzēšanu. + Šo lietotāja kontu nevar slēgt, ja ir neatrisinātas atmaksas. Aizvērt kontu - Uzzināt vairāk - Twitter auto-dalīšanās vairs nav pieejama, jo Twitter ir veicis izmaiņas terminos un cenās. + Lai to apstiprinātu, pirms slēgšanas atkārtoti ievadiet savu lietotājvārdu. Automātiskā koplietošana pakalpojumā Twitter vairs nav pieejama + Twitter auto-dalīšanās vairs nav pieejama, jo Twitter ir veicis izmaiņas terminos un cenās. + Uzzināt vairāk Atkārtoti lietojamo bloku rediģēšana vēl netiek atbalstīta %s operētājsistēmā iOS - Atkārtoti lietojamo bloku rediģēšana vēl netiek atbalstīta %s operētājsistēmā Android - Ļaujiet saņemt paziņojumus, lai sekotu līdzi jūsu vietnei Jetpack lietotnei ir visi WordPress lietotnes funkcionalitātes, un tagad ekskluzīva piekļuve statistikai, lasītājam, paziņojumiem un citiem resursiem. - Izmantojiet WordPress ar %s Jetpack\u00A0app. + Ļaujiet saņemt paziņojumus, lai sekotu līdzi jūsu vietnei + Atkārtoti lietojamo bloku rediģēšana vēl netiek atbalstīta %s operētājsistēmā Android Izmantojiet WordPress ar %s Jetpack\u00A0app. - Nenosaukta krāsa. %s - Pēdējā darbība - Līdzīgi kā iepriekš minētajā piemērā, domēns ļauj cilvēkiem atrast un apmeklēt jūsu vietni savā tīmekļa pārlūkprogrammā. + Izmantojiet WordPress ar %s Jetpack\u00A0app. YourSiteName.com - Meklējiet ar atslēgvārdiem - Meklējiet īsu un neaizmirstamu domēnu, lai palīdzētu cilvēkiem atrast un apmeklēt jūsu vietni. - pirmo gadu - Jūsu vietne ir veiksmīgi izveidota, taču, sagatavojot jūsu pielāgoto domēnu norēķiniem, radās problēma. Lūdzu, mēģiniet vēlreiz vai sazinieties ar atbalsta dienestu, lai saņemtu palīdzību. - Var paiet līdz 30 minūtēm, līdz jūsu pielāgotais domēns sāks darboties. + Līdzīgi kā iepriekš minētajā piemērā, domēns ļauj cilvēkiem atrast un apmeklēt jūsu vietni savā tīmekļa pārlūkprogrammā. + Pēdējā darbība + Nenosaukta krāsa. %s Mēs nosūtījām jūsu kvīti pa e-pastu. %s + Var paiet līdz 30 minūtēm, līdz jūsu pielāgotais domēns sāks darboties. + Jūsu vietne ir veiksmīgi izveidota, taču, sagatavojot jūsu pielāgoto domēnu norēķiniem, radās problēma. Lūdzu, mēģiniet vēlreiz vai sazinieties ar atbalsta dienestu, lai saņemtu palīdzību. + pirmo gadu + Meklējiet īsu un neaizmirstamu domēnu, lai palīdzētu cilvēkiem atrast un apmeklēt jūsu vietni. + Meklējiet ar atslēgvārdiem Lietotņu paziņojumi ir atspējoti. Pieskarieties šeit, lai tos iespējotu. - Lai izvairītos no datu konfliktiem, ieteicams ierīcē <b>atinstalēt lietotni WordPress</b>. - Šķiet, ka jums joprojām ir instalēta WordPress lietotne. - Jums vairs nav nepieciešama WordPress lietotne jūsu ierīcē - Lai izvairītos no datu konfliktiem, ieteicams ierīcē <b>atinstalēt lietotni WordPress</b>. Laipni lūdzam Jetpack lietotnē. Varat atinstalēt WordPress lietotni. - Noņemt blokus + Lai izvairītos no datu konfliktiem, ieteicams ierīcē <b>atinstalēt lietotni WordPress</b>. + Jums vairs nav nepieciešama WordPress lietotne jūsu ierīcē + Šķiet, ka jums joprojām ir instalēta WordPress lietotne. + Lai izvairītos no datu konfliktiem, ieteicams ierīcē <b>atinstalēt lietotni WordPress</b>. Privātums un vērtējums - Atskaņošanas iestatījumi - Atskaņošanas joslas krāsa - Rokasgrāmata + Noņemt blokus + Lai izmantotu blogošanas atgādinājumus, jums būs jāieslēdz pašpiegādes paziņojumi. + Pievienojiet lapas savai vietnei + Izveidot citu lapu + Sāciet ar pielāgotiem, mobilajām ierīcēm draudzīgiem izkārtojumiem Dinamisks + Rokasgrāmata + Atskaņošanas joslas krāsa + Atskaņošanas iestatījumi Aprakstiet attēla mērķi. Atstājiet tukšu, ja tas ir dekoratīvs. - Sāciet ar pielāgotiem, mobilajām ierīcēm draudzīgiem izkārtojumiem - Izveidot citu lapu - Pievienojiet lapas savai vietnei - Lai izmantotu blogošanas atgādinājumus, jums būs jāieslēdz pašpiegādes paziņojumi. - Ieslēgt vietnes paziņojumus - Turpināt ar apakšdomēnu - Iegādāties domēnu - Fotogrāfijas, videoklipi, mūzika un audio - Mūzika un audio - Fotoattēli un videoklipi - %s\" ir nepieciešama piekļuvei jūsu audio failiem. - %s ir nepieciešama atļauja piekļūt jūsu videoklipiem - %s ir nepieciešama atļauja piekļūt jūsu fotoattēliem - %s ir nepieciešama atļauja piekļūt jūsu fotoattēliem un videoklipiem - %s ir nepieciešama atļauja, lai piekļūtu jūsu mūzikai, audio, fotoattēliem un videoklipiem Ieslēdziet paziņojumus + %s ir nepieciešama atļauja, lai piekļūtu jūsu mūzikai, audio, fotoattēliem un videoklipiem + %s ir nepieciešama atļauja piekļūt jūsu fotoattēliem un videoklipiem + %s ir nepieciešama atļauja piekļūt jūsu fotoattēliem + %s ir nepieciešama atļauja piekļūt jūsu videoklipiem + %s\" ir nepieciešama piekļuvei jūsu audio failiem. + Fotoattēli un videoklipi + Mūzika un audio + Fotogrāfijas, videoklipi, mūzika un audio + Iegādāties domēnu + Turpināt ar apakšdomēnu + Ieslēgt vietnes paziņojumus Atveriet sadaļu Iestatījumi → Paziņojumi → Lietotņu iestatījumi un ieslēdziet %1$s, lai nekavējoties saņemtu paziņojumu. - Lai skatītu paziņojumus, jums būs jāatver lietotne. - Push paziņojumi ir izslēgti - Paziņojumi ir izslēgti. - Noraidīt brīdinājumu par paziņojumu atļauju. Labot + Noraidīt brīdinājumu par paziņojumu atļauju. + Paziņojumi ir izslēgti. + Push paziņojumi ir izslēgti + Lai skatītu paziņojumus, jums būs jāatver lietotne. <b>%1$s</b> izmanto %2$s atsevišķus Jetpack spraudņus - <b>%1$s</b> izmanto spraudni <b>%2$s</b> WordPress lietotne neatbalsta vietnes ar atsevišķiem Jetpack spraudņiem. + <b>%1$s</b> izmanto spraudni <b>%2$s</b> <b>%1$s</b> izmanto atsevišķus Jetpack spraudņus, kurus neatbalsta WordPress lietotne. <b>%1$s</b> izmanto spraudni <b>%2$s</b>, ko neatbalsta WordPress lietotne. - Nevar piekļūt dažām jūsu vietnēm - Nevar piekļūt vienai no jūsu vietnēm Lūdzu, pārslēdzieties uz lietotni Jetpack, kur mēs jums palīdzēsim pievienot visu Jetpack spraudni, lai izmantotu šo vietni ar lietotni. + Nevar piekļūt vienai no jūsu vietnēm + Nevar piekļūt dažām jūsu vietnēm Pārslēdzieties uz Jetpack lietotni %1$s izmanto %2$s, kas vēl neatbalsta visas lietotnes funkcijas. Lūdzu, instalējiet %3$s, lai izmantotu lietotni šajā vietnē. - Šī vietne %1$s izmanto %2$s, kas vēl neatbalsta visas lietotnes funkcijas. Lūdzu, instalējiet %3$s. + Šī vietne %1$s izmanto %2$s, kas vēl neatbalsta visas lietotnes funkcijas. Lūdzu, instalējiet %3$s. - Pāreja uz Jetpack lietotni pēc dažām dienām. Pārslēgšanās ir bezmaksas un aizņem tikai minūti. - Uzziniet vairāk vietnē Jetpack.com - Pārslēdzieties uz Jetpack lietotni - WP administrators - Pārvaldīt - Satiksme - Saturs - Uzstādīt - Gatavs + Pāreja uz Jetpack lietotni pēc dažām dienām. Tagad, kad Jetpack ir instalēts, mums ir tikai jāveic iestatīšana. Tas prasīs tikai minūti. - Izgaismojiet šo ziņu tūlīt - Izgaismojiet šo lapu - Izgaismojiet šo ziņu - Sekojiet veiktspējai, iedarbiniet un apturiet savu Blaze jebkurā laikā. - Jūsu saturs parādīsies miljoniem WordPress un Tumblr vietņu. - Popularizējiet jebkuru ziņu vai lapu tikai dažu minūšu laikā par dažiem dolāriem dienā. - Palieliniet datplūsmu uz savu vietni, izmantojot Blaze - Blaze - Šis domēns jau ir reģistrēts - Izpārdošana - Ieteicams + Gatavs + Uzstādīt + Saturs + Satiksme + Pārvaldīt + WP administrators + Pārslēdzieties uz Jetpack lietotni + Uzziniet vairāk vietnē Jetpack.com + Sekojiet veiktspējai, iedarbiniet un apturiet savu Blaze jebkurā laikā. + Izgaismojiet šo ziņu + Izgaismojiet šo lapu + Izgaismojiet šo ziņu tūlīt + Palīdzība + Bezmaksas + Biļetes + Žurnāli + Paldies, ka pārslēdzāties uz Jetpack lietotni! + Atbildes uz bieži uzdotajiem jautājumiem skatiet mūsu BUJ. + Palīdzība Labākā alternatīva + Ieteicams + Izpārdošana + Šis domēns jau ir reģistrēts + Blaze + Palieliniet datplūsmu uz savu vietni, izmantojot Blaze + Popularizējiet jebkuru ziņu vai lapu tikai dažu minūšu laikā par dažiem dolāriem dienā. + Jūsu saturs parādīsies miljoniem WordPress un Tumblr vietņu. gadā - Palīdzība - Atbildes uz bieži uzdotajiem jautājumiem skatiet mūsu BUJ. - Paldies, ka pārslēdzāties uz Jetpack lietotni! - Žurnāli - Biļetes - Bezmaksas - Palīdzība - Bloku izvēlne - Parādiet savu darbu miljoniem vietņu. - Reklamēt savu saturu, izmantojot Blaze - Aizvērt - Sazināties ar atbalsta dienestu - Instalēt pilnu spraudni - Noteikumi un nosacījumi Iestatot Jetpack, jūs piekrītat mūsu - pilns Jetpack spraudnis - atsevišķi Jetpack spraudņi - spraudnis %1$s + Noteikumi un nosacījumi + Instalēt pilnu spraudni + Sazināties ar atbalsta dienestu + Aizvērt + Reklamēt savu saturu, izmantojot Blaze + Parādiet savu darbu miljoniem vietņu. + Bloku izvēlne %1$s izmanto %2$s, kas vēl neatbalsta visas lietotnes funkcijas. Lūdzu, instalējiet %3$s, lai izmantotu lietotni šajā vietnē. + spraudnis %1$s + atsevišķi Jetpack spraudņi + pilns Jetpack spraudnis Lūdzu, instalējiet pilno Jetpack spraudņa versiju - Ir pieejama tikai viena vietne, tāpēc jūs nevarat mainīt savu galveno vietni. - Sazinieties ar atbalsta dienestu - Mēģiniet vēlreiz - Jetpack pašlaik nevarēja instalēt. - Radās problēma Kļūdas ikona - Gatavs šīs vietnes izmantošanai ar lietotni. - Instalēts Jetpack - Jetpack instalēšana jūsu vietnē. Tas var ilgt dažas minūtes. - Jetpack instalēšana - Turpināt + Radās problēma + Jetpack pašlaik nevarēja instalēt. + Mēģiniet vēlreiz + Sazinieties ar atbalsta dienestu + Ir pieejama tikai viena vietne, tāpēc jūs nevarat mainīt savu galveno vietni. + Reklamējiet ar Blaze + Jetpack ikona Jūsu vietnes akreditācijas dati netiks saglabāti un tiek izmantoti tikai Jetpack instalēšanai. + Turpināt + Jetpack instalēšana + Jetpack instalēšana jūsu vietnē. Tas var ilgt dažas minūtes. + Instalēts Jetpack + Gatavs šīs vietnes izmantošanai ar lietotni. Instalēt Jetpack - Jetpack ikona - Reklamējiet ar Blaze Atbrīvojiet visu savas vietnes potenciālu. Iegūstiet statistiku, paziņojumus un daudz ko citu, izmantojot Jetpack. - Jūsu vietnei ir spraudnis Jetpack - Jetpack mobilā lietotne ir paredzēta darbam kopā ar Jetpack spraudni. Pārslēdziet tagad, lai piekļūtu statistikai, paziņojumiem, lasītājam un daudz kam citam. - Saņemiet paziņojumus par jauniem komentāriem, atzīmēm Patīk, skatījumiem un daudz ko citu. - Atrodiet un sekojiet savām iecienītākajām vietnēm un kopienām, kā arī kopīgojiet savu saturu. Vērojiet, kā jūsu datplūsma pieaug, izmantojot noderīgus ieskatus un visaptverošu statistiku. - Statistika un ieskati - Jetpack ļauj paveikt vairāk savā WordPress vietnē. Pārslēgšanās ir bezmaksas un aizņem tikai minūti. - Sniedziet atbalstu WordPress ar Jetpack - Emuāru rakstīšanas uzvednes un atgādinājumus varat kontrolēt katrā laikā sadaļā Mana vietne > Iestatījumi > Emuāri - Paziņojumā būs iekļauts vārds vai īsa frāze iedvesmai - Apmeklējiet <b>Vietnes iestatījumi</b>, lai tos ieslēgtu atkal + Atrodiet un sekojiet savām iecienītākajām vietnēm un kopienām, kā arī kopīgojiet savu saturu. + Saņemiet paziņojumus par jauniem komentāriem, atzīmēm Patīk, skatījumiem un daudz ko citu. + Jetpack mobilā lietotne ir paredzēta darbam kopā ar Jetpack spraudni. Pārslēdziet tagad, lai piekļūtu statistikai, paziņojumiem, lasītājam un daudz kam citam. + Jūsu vietnei ir spraudnis Jetpack Emuāru rakstīšanas pamudinājumi slēpti - Izslēgt uzvednes - Saņemiet palīdzību no mūsu brīvprātīgo grupas. - Kopienas forumi - Emuāru rakstīšanas atgādinājumi - Rādīt uzvednes + Apmeklējiet <b>Vietnes iestatījumi</b>, lai tos ieslēgtu atkal + Paziņojumā būs iekļauts vārds vai īsa frāze iedvesmai + Emuāru rakstīšanas uzvednes un atgādinājumus varat kontrolēt katrā laikā sadaļā Mana vietne > Iestatījumi > Emuāri + Sniedziet atbalstu WordPress ar Jetpack + Jetpack ļauj paveikt vairāk savā WordPress vietnē. Pārslēgšanās ir bezmaksas un aizņem tikai minūti. + Statistika un ieskati Emuāru rakstīšana + Rādīt uzvednes + Emuāru rakstīšanas atgādinājumi + Kopienas forumi + Saņemiet palīdzību no mūsu brīvprātīgo grupas. + Izslēgt uzvednes + %1$s drīzumā tiks pārvietots + %1$s drīzumā tiks pārvietoti + %1$s pārvietojas uz %2$s + %1$s pārvietojas uz %2$s + Jetpack funkcijas ir pārvietotas. + Statistika, lasītājs, paziņojumi un citas Jetpack darbināmas funkcijas ir noņemtas no WordPress lietotnes. + Pārslēdzieties uz Jetpack Lūdzu, instalējiet Google Play veikalu, lai iegūtu lietotni Jetpack Dariet to vēlāk - Pārslēdzieties uz Jetpack - Statistika, lasītājs, paziņojumi un citas Jetpack darbināmas funkcijas ir noņemtas no WordPress lietotnes. - Jetpack funkcijas ir pārvietotas. - %1$s pārvietojas uz %2$s - %1$s pārvietojas uz %2$s - %1$s drīzumā tiks pārvietoti - %1$s drīzumā tiks pārvietots - Iegūst Jetpack lietotni - Skatīt visas atbildes - Par %1$s mazāk nekā iepriekšējās 7 dienās - Par %1$s vairāk nekā iepriekšējās 7 dienās - Jūsu apmeklētāju skaits pēdējo 7 dienu laikā ir par %1$s mazāks nekā iepriekšējās 7 dienās. - Jūsu apmeklētāju skaits pēdējo 7 dienu laikā ir par %1$s lielāks nekā iepriekšējās 7 dienās. - Jūsu skatījumu skaits pēdējo 7 dienu laikā ir par %1$s mazāks nekā iepriekšējās 7 dienās. - Jūsu skatījumu skaits pēdējo 7 dienu laikā ir par %1$s lielāks nekā iepriekšējās 7 dienās. - Iepriekšējās 7 dienas - Pēdējās 7 dienas - %d nedēļas 1 nedēļa - Atgādināt vēlāk - Statistika, Lasītājs, Paziņojumi un citi līdzekļi drīzumā tiks pārvietoti uz Jetpack mobilo lietotni. - Pārslēdzieties uz Jetpack lietotni - Uzziniet vairāk vietnē jetpack.com + %d nedēļas + Pēdējās 7 dienas + Iepriekšējās 7 dienas + Jūsu skatījumu skaits pēdējo 7 dienu laikā ir par %1$s lielāks nekā iepriekšējās 7 dienās. + Jūsu skatījumu skaits pēdējo 7 dienu laikā ir par %1$s mazāks nekā iepriekšējās 7 dienās. + Jūsu apmeklētāju skaits pēdējo 7 dienu laikā ir par %1$s lielāks nekā iepriekšējās 7 dienās. + Jūsu apmeklētāju skaits pēdējo 7 dienu laikā ir par %1$s mazāks nekā iepriekšējās 7 dienās. + Par %1$s vairāk nekā iepriekšējās 7 dienās + Par %1$s mazāk nekā iepriekšējās 7 dienās + Skatīt visas atbildes + Iegūst Jetpack lietotni Pārslēgšanās ir bezmaksas un aizņem tikai minūti. - Statistika, Lasītājs, paziņojumi un citas Jetpack darbināmas funkcijas drīzumā tiks noņemtas no WordPress lietotnes. + Uzziniet vairāk vietnē jetpack.com + Pārslēdzieties uz Jetpack lietotni + Atgādināt vēlāk Statistika, Lasītājs, paziņojumi un citas Jetpack darbināmas funkcijas tiks noņemtas no WordPress lietotnes vietnē %s. - Jetpack funkcijas drīzumā tiks pārvietotas. - Paziņojumi tiek pārvietoti uz Jetpack - Lasītājs pāriet uz Jetpack lietotni - Jūsu statistika tiek pārvietota uz Jetpack lietotni - Pārslēdzieties uz jauno Jetpack lietotni - Pārbaudiet tīkla savienojumu un mēģiniet vēlreiz. - Pašlaik nevar ielādēt šo saturu - Ielādējot uzvednes, radās kļūda. - Hmm… - Vēl nav uzvedņu - %d atbildes - 1 atbilde + Statistika, Lasītājs, paziņojumi un citas Jetpack darbināmas funkcijas drīzumā tiks noņemtas no WordPress lietotnes. + Statistika, Lasītājs, Paziņojumi un citi līdzekļi drīzumā tiks pārvietoti uz Jetpack mobilo lietotni. 0 atbildes - ✓ Atbildēts - Uzvednes + 1 atbilde + %d atbildes + Vēl nav uzvedņu + Hmm… + Ielādējot uzvednes, radās kļūda. + Pašlaik nevar ielādēt šo saturu + Pārbaudiet tīkla savienojumu un mēģiniet vēlreiz. + Pārslēdzieties uz jauno Jetpack lietotni + Jūsu statistika tiek pārvietota uz Jetpack lietotni + Lasītājs pāriet uz Jetpack lietotni + Paziņojumi tiek pārvietoti uz Jetpack + Jetpack funkcijas drīzumā tiks pārvietotas. aizvērt - Vai neatgriezeniski dzēst kategoriju \"%s\"? - Kategorija veiksmīgi izdzēsta + Uzvednes + ✓ Atbildēts Neizdevās dzēst kategoriju - Notiek kategorijas dzēšana - Notiek kategorijas atjaunošana + Kategorija veiksmīgi izdzēsta + Vai neatgriezeniski dzēst kategoriju \"%s\"? Atjaunot kategoriju - Ziņas no šī lietotāja vairs netiks rādītas - Bloķēt lietotāju + Notiek kategorijas atjaunošana + Notiek kategorijas dzēšana Ziņot par šo lietotāju - Atveriet saites pakalpojumā WordPress - Izskatās, ka jums ir instalēta Jetpack lietotne.\n\nVai vēlaties nākotnē atvērt saites Jetpack lietotnē?\n\nTo vienmēr varat mainīt sadaļā Lietotnes iestatījumi > Atvērt saites Jetpack. - Vai atvērt saites pakalpojumā Jetpack? - Turpiniet bez Jetpack - Jetpack nodrošina statistiku, paziņojumus un daudz ko citu, lai palīdzētu jums izveidot un attīstīt savu sapņu WordPress vietni.\n\nWordPress lietotne vairs neatbalsta jaunas vietnes izveidi. - Jetpack nodrošina statistiku, paziņojumus un citu informāciju, lai palīdzētu jums izveidot un attīstīt savu sapņu WordPress vietni. - Izveidojiet jaunu WordPress vietni, izmantojot lietotni Jetpack + Bloķēt lietotāju + Ziņas no šī lietotāja vairs netiks rādītas + Pārslēdzieties uz Jetpack lietotni, lai turpinātu saņemt reāllaika paziņojumus savā ierīcē. tīmekļa saites + Izveidojiet jaunu WordPress vietni, izmantojot lietotni Jetpack + Jetpack nodrošina statistiku, paziņojumus un citu informāciju, lai palīdzētu jums izveidot un attīstīt savu sapņu WordPress vietni. + Turpiniet bez Jetpack + Vai atvērt saites pakalpojumā Jetpack? urilinks - Pārslēdzieties uz Jetpack lietotni, lai turpinātu saņemt reāllaika paziņojumus savā ierīcē. - Pārslēdzieties uz lietotni Jetpack, lai atrastu, sekotu un patīk visām savām iecienītākajām vietnēm un ziņām, izmantojot programmu Reader.\nPārslēdzieties uz Jetpack lietotni, lai atrastu, sekotu un skatītu visas iecienītākās vietnes un ziņojumus, izmantojot Lasītāju. + Jetpack nodrošina statistiku, paziņojumus un daudz ko citu, lai palīdzētu jums izveidot un attīstīt savu sapņu WordPress vietni.\n\nWordPress lietotne vairs neatbalsta jaunas vietnes izveidi. + Izskatās, ka jums ir instalēta Jetpack lietotne.\n\nVai vēlaties nākotnē atvērt saites Jetpack lietotnē?\n\nTo vienmēr varat mainīt sadaļā Lietotnes iestatījumi > Atvērt saites Jetpack. + Atveriet saites pakalpojumā WordPress Pārslēdzieties uz lietotni Jetpack, lai, izmantojot statistiku un ieskatus, vērotu savas vietnes datplūsmas pieaugumu. + Pārslēdzieties uz lietotni Jetpack, lai atrastu, sekotu un patīk visām savām iecienītākajām vietnēm un ziņām, izmantojot programmu Reader.\nPārslēdzieties uz Jetpack lietotni, lai atrastu, sekotu un skatītu visas iecienītākās vietnes un ziņojumus, izmantojot Lasītāju. Saņemiet paziņojumus, izmantojot Jetpack lietotni - Sekojiet jebkurai vietnei, izmantojot Jetpack lietotni - Iegūstiet savu statistiku, izmantojot jauno Jetpack lietotni - Nevar atspējot atvērtās saites pakalpojumā Jetpack - Nevar iespējot atvērtās saites pakalpojumā Jetpack - Atveriet saites pakalpojumā Jetpack - Vajadzīga palīdzība? Sapratu - Mēs nevaram pārsūtīt jūsu datus un iestatījumus bez tīkla savienojuma. - Lūdzu, pārbaudiet, vai tīkla savienojums darbojas, un mēģiniet vēlreiz. - Nevar izveidot savienojumu ar internetu. - Lūdzu, sazinieties ar atbalsta dienestu vai vēlāk mēģiniet vēlreiz. + Vajadzīga palīdzība? + Atveriet saites pakalpojumā Jetpack + Nevar iespējot atvērtās saites pakalpojumā Jetpack + Nevar atspējot atvērtās saites pakalpojumā Jetpack + Iegūstiet savu statistiku, izmantojot jauno Jetpack lietotni + Sekojiet jebkurai vietnei, izmantojot Jetpack lietotni Atvainojiet, bet kaut kas neizdevās kā plānots. Jūsu dati ir drošībā, taču mēs pašlaik nevaram tos pārsūtīt. - Ak, kaut kas nogāja greizi… - Mēģini vēlreiz - Pabeigt + Lūdzu, sazinieties ar atbalsta dienestu vai vēlāk mēģiniet vēlreiz. + Nevar izveidot savienojumu ar internetu. + Lūdzu, pārbaudiet, vai tīkla savienojums darbojas, un mēģiniet vēlreiz. + Mēs nevaram pārsūtīt jūsu datus un iestatījumus bez tīkla savienojuma. Noņemiet WordPress lietotnes ikonu + Pabeigt + Mēģini vēlreiz + Ak, kaut kas nogāja greizi… Mēs esam pārsūtījuši visus jūsu datus un iestatījumus. Viss ir tieši tur, kur tas tika atstāts. - Paldies, ka pārgājāt uz Jetpack! - Mēs izslēgsim paziņojumus no WordPress lietotnes. Jūs saņemsiet visus tos pašus paziņojumus, taču tagad tie tiks saņemti no lietotnes Jetpack. - WordPress palīdzības centrs - Atbalsts - Ļauj lietotnei atspējot WordPress paziņojumus. + Mēs izslēgsim paziņojumus no WordPress lietotnes. + Paldies, ka pārgājāt uz Jetpack! atspējot WordPress paziņojumus - Vajadzīga palīdzība? - Turpināt - Mēs atradām jūsu vietni. Turpiniet pārsūtīt visus savus datus un automātiski pierakstieties Jetpack. - Mēs atradām jūsu vietnes. Turpiniet pārsūtīt visus savus datus un automātiski pierakstieties Jetpack. - Jūsu profila fotogrāfija + Ļauj lietotnei atspējot WordPress paziņojumus. + Atbalsts + WordPress palīdzības centrs Šķiet, ka jūs pārejat no WordPress lietotnes. + Jūsu profila fotogrāfija + Mēs atradām jūsu vietnes. Turpiniet pārsūtīt visus savus datus un automātiski pierakstieties Jetpack. + Mēs atradām jūsu vietni. Turpiniet pārsūtīt visus savus datus un automātiski pierakstieties Jetpack. + Turpināt + Vajadzīga palīdzība? Laipni lūdzam Jetpack! ikona - Pamata lapa Lapas atribūti - Piedalieties + Pamata lapa Jaunumi + Piedalieties 1 atbilde - WordPress ikona Rakstiet, rediģējiet un publicējiet no jebkuras vietas. - Nebija iespējams atrast autorus + WordPress ikona Autors - Vai jums patīk %s? - Kopīgojiet ziņu ar %s - Jetpack Social savienojumi + Nebija iespējams atrast autorus Lūdzu, piesakieties Jetpack lietotnē, lai pievienotu logrīku. + Kopīgojiet ziņu ar %s Jetpack Social savienojumi - Mēs tikko nosūtījām maģisko saiti uz + Vai jums patīk %s? + Jetpack Social savienojumi Pārbaudiet savu e-pastu šajā ierīcē! - Izmantojiet paroli, lai pierakstītos - Esiet informēts ar reālā laika atjaunojumiem par komentāriem, vietnes datu plūsmu, drošību un daudz ko citu. - Paziņojumus nodrošina Jetpack - Vērojiet savu datu plūsmu un uzziniet par savu auditoriju, izmantojot pārveidoto statistiku un ieskatus, kas tagad ir pieejami jaunajā Jetpack lietotnē. - Statistiku nodrošina Jetpack - Atrodiet, sekojiet un atzīmējiet visas savas iecienītākās vietnes un ziņas, izmantojot programmu Lasītājs, kas tagad ir pieejama jaunajā Jetpack lietotnē. + Mēs tikko nosūtījām maģisko saiti uz Lasītāju darbina Jetpack - Jaunajā Jetpack lietotnē ir statistika, lasītājs, paziņojumi un daudz kas cits, kas uzlabo jūsu WordPress. + Atrodiet, sekojiet un atzīmējiet visas savas iecienītākās vietnes un ziņas, izmantojot programmu Lasītājs, kas tagad ir pieejama jaunajā Jetpack lietotnē. + Statistiku nodrošina Jetpack + Vērojiet savu datu plūsmu un uzziniet par savu auditoriju, izmantojot pārveidoto statistiku un ieskatus, kas tagad ir pieejami jaunajā Jetpack lietotnē. + Paziņojumus nodrošina Jetpack + Esiet informēts ar reālā laika atjaunojumiem par komentāriem, vietnes datu plūsmu, drošību un daudz ko citu. + Izmantojiet paroli, lai pierakstītos WordPress ir labāks ar Jetpack - Jauniniet savu plānu, lai izmantotu Video Cover - Jauniniet savu plānu, lai augšupielādētu audio - Jetpack darbināms - Nederīgs URL. - Gradients - Pārejiet uz sadaļu Paziņojumi - Atvērt statistiku - Turpināt Lasītājā + Jaunajā Jetpack lietotnē ir statistika, lasītājs, paziņojumi un daudz kas cits, kas uzlabo jūsu WordPress. Izmēģiniet jauno Jetpack lietotni - Problēma, parādot bloku. \nPiesitiet, lai mēģinātu bloka atkopšanu. - Pagājušajā nedēļā jums bija %1$s skatījumi un %2$s komentāri - Pagājušajā nedēļā jums bija %1$s skatījumi un %2$s atzīmes Patīk - Pagājušajā nedēļā jums bija %1$s skatījumi. - Pagājušajā nedēļā jums bija %1$s skatījumi, %2$s atzīmes Patīk un %3$s komentāri. + Turpināt Lasītājā + Atvērt statistiku + Pārejiet uz sadaļu Paziņojumi + Gradients + Nederīgs URL. + Jetpack darbināms + Jauniniet savu plānu, lai augšupielādētu audio + Jauniniet savu plānu, lai izmantotu Video Cover ⭐️ Jūsu jaunākajai ziņai %1$s ir atzīmēta %2$s atzīme. + Pagājušajā nedēļā jums bija %1$s skatījumi, %2$s atzīmes Patīk un %3$s komentāri. + Pagājušajā nedēļā jums bija %1$s skatījumi. + Pagājušajā nedēļā jums bija %1$s skatījumi un %2$s atzīmes Patīk + Pagājušajā nedēļā jums bija %1$s skatījumi un %2$s komentāri + Problēma, parādot bloku. \nPiesitiet, lai mēģinātu bloka atkopšanu. Jetpack darbināms - Attēls, kas norāda, ka tiek skenēts pieteikšanās kods - Attēls, kas norāda uz kļūdu - Vai tiešām vēlaties turpināt? - Iziet no skenēšanas pieteikšanās koda plūsmas Nevarēja jūs pieteikt, izmantojot šo pieteikšanās kodu. Lūdzu, pieskarieties pogai Skenēt vēlreiz, lai atkārtoti skenētu kodu. - Autentifikācija neizdevās - Šis pieteikšanās kods ir beidzies. Lūdzu, pieskarieties pogai Skenēt vēlreiz, lai atkārtoti skenētu kodu. - Pieteikšanās kodam beidzies derīguma termiņš - Skenēto pieteikšanās kodu nevarēja apstiprināt. Lūdzu, pieskarieties pogai Skenēt vēlreiz, lai atkārtoti skenētu kodu. - Nevarēja apstiprināt pieteikšanās kodu - Lai skenētu pieteikšanās kodus, ir nepieciešams pieejams interneta savienojums - Nav savienojuma - Skenēt vēlreiz - Noraidīt - Pieskarieties noraidīšanai un atgriezieties tīmekļa pārlūkprogrammā, lai turpinātu darbu. + Iziet no skenēšanas pieteikšanās koda plūsmas + Vai tiešām vēlaties turpināt? + Attēls, kas norāda uz kļūdu + Attēls, kas norāda, ka tiek skenēts pieteikšanās kods + Vai mēģināt pieteikties savā tīmekļa pārlūkprogrammā netālu no %1$s? + Skenējiet tikai QR kodus, kas ņemti tieši no jūsu tīmekļa pārlūkprogrammas. Nekad neskenējiet kodu, ko jums nosūtījis kāds cits. Jūs esat pieteicies! Jā, pieteikties - Skenējiet tikai QR kodus, kas ņemti tieši no jūsu tīmekļa pārlūkprogrammas. Nekad neskenējiet kodu, ko jums nosūtījis kāds cits. - Vai mēģināt pieteikties savā tīmekļa pārlūkprogrammā netālu no %1$s? - Vai mēģināt pieteikties pakalpojumā %1$s netālu no %2$s? + Pieskarieties noraidīšanai un atgriezieties tīmekļa pārlūkprogrammā, lai turpinātu darbu. + Noraidīt + Skenēt vēlreiz + Nav savienojuma + Lai skenētu pieteikšanās kodus, ir nepieciešams pieejams interneta savienojums + Nevarēja apstiprināt pieteikšanās kodu + Skenēto pieteikšanās kodu nevarēja apstiprināt. Lūdzu, pieskarieties pogai Skenēt vēlreiz, lai atkārtoti skenētu kodu. + Pieteikšanās kodam beidzies derīguma termiņš + Šis pieteikšanās kods ir beidzies. Lūdzu, pieskarieties pogai Skenēt vēlreiz, lai atkārtoti skenētu kodu. + Autentifikācija neizdevās 💡Komentēšana citos emuāros ir lielisks veids, kā piesaistīt uzmanību un sekotājus savai jaunajai vietnei. + Vai mēģināt pieteikties pakalpojumā %1$s netālu no %2$s? 💡Pieskarieties SKATĪT VAIRĀK, lai redzētu savus labākos komentētājus. - Pārbaudiet vēlreiz, kad esat publicējis savu pirmo ziņu! - Apskatiet mūsu galvenos padomus, kā palielināt skatījumu skaitu un datplūsmu %1$s ✍️ Ieplānojiet melnrakstu publicēšanu vislabākajā laikā, lai sasniegtu savu auditoriju. + Apskatiet mūsu galvenos padomus, kā palielināt skatījumu skaitu un datplūsmu %1$s + Pārbaudiet vēlreiz, kad esat publicējis savu pirmo ziņu! 💡 Pastāvīga publicēšana ir lielisks veids, kā palielināt auditoriju. Pievienojiet atgādinājumu, lai sekotu līdzi. 💡Paaugstiniet savu emuāru rakstīšanu ātrāk, izmantojot mūsu ekspertu vadīto kursu <i>Ievads emuāros</i>. - Emuāru veidošanas uzvednes tiek ielādētas. Lūdzu, uzgaidiet brīdi un mēģiniet vēlreiz. Nevari izlemt? Tēmu var mainīt jebkurā laikā. - Emuāru rakstīšana - Izvēlēts jums - Vispiemērotākais %s - Priekšskatīt tēmu %s - Izvēlieties tēmu - Izlaida šodienas emuāru rakstīšanas pamudinājumu - Uzzināt vairāk - Kopskaiti - Citi - Meklēt - WordPress - Skati + Emuāru veidošanas uzvednes tiek ielādētas. Lūdzu, uzgaidiet brīdi un mēģiniet vēlreiz. Grafiks - Ieplānot ziņu + Skati + WordPress + Meklēt + Citi + Kopskaiti + Uzzināt vairāk + Izlaida šodienas emuāru rakstīšanas pamudinājumu + Izvēlieties tēmu + Priekšskatīt tēmu %s + Vispiemērotākais %s + Izvēlēts jums + Emuāru rakstīšana Iestatīt atgādinājumus - Iestatīt atgādinājumus par emuāru rakstīšanu + Ieplānot ziņu Pārbaudiet vēsturi + Iestatīt atgādinājumus par emuāru rakstīšanu Palieliniet savu auditoriju - Varat arī pārkārtot blokus, pieskaroties blokam un pēc tam pieskaroties augšup un lejup vērstajām bultiņām, kas parādās bloka apakšējā kreisajā pusē, lai pārvietotu to uz augšu vai uz leju. - Attēla fails nav atrasts. - Velciet un nometiet, lai bloku pārkārtošana ir vienkārša. Nospiediet un turiet bloku, pēc tam velciet to uz jauno vietu un atlaidiet. - Velciet un nometiet - Bultiņu pogas - %1$s. Pašlaik atlasīts: %2$s - Visi uzdevumi izpildīti - Uzdevums pabeigts Skenējiet pieteikšanās kodu + Uzdevums pabeigts + Visi uzdevumi izpildīti + %1$s. Pašlaik atlasīts: %2$s + Bultiņu pogas + Velciet un nometiet + Velciet un nometiet, lai bloku pārkārtošana ir vienkārša. Nospiediet un turiet bloku, pēc tam velciet to uz jauno vietu un atlaidiet. + Attēla fails nav atrasts. + Varat arī pārkārtot blokus, pieskaroties blokam un pēc tam pieskaroties augšup un lejup vērstajām bultiņām, kas parādās bloka apakšējā kreisajā pusē, lai pārvietotu to uz augšu vai uz leju. ⭐️ Jūsu jaunākā ziņa %1$s ir saņēmusi %2$s atzīmes Patīk. Nepietiekama aktivitāte. Atgriezieties vēlāk, kad jūsu vietni būs apmeklējuši vairāk apmeklētāju! - %1$s, %2$s%% no kopējā sekotāju skaita %1$s (%2$s%%) - Kopēt saiti - Apsveicu! Jūs zināt, kā rīkoties<br/> - Iepazīstieties ar lietotni - Pārnesiet multividi tieši no savas ierīces vai kameras uz savu vietni + %1$s, %2$s%% no kopējā sekotāju skaita Augšupielādējiet fotoattēlus vai videoklipus - Saņemiet reāllaika atjauninājumus no savas kabatas - Atlasiet %1$s Media %2$s, lai skatītu savu pašreizējo bibliotēku. - Saņemiet reāllaika atjauninājumus no savas kabatas. - Pārbaudiet savus paziņojumus - Atlasiet cilni %1$s Paziņojumi %2$s, lai saņemtu atjauninājumus, atrodoties ceļā. - Lai augšupielādētu multividi, atlasiet %1$s plus %2$s. Varat to pievienot savām ziņām/lapām no jebkuras ierīces. - Izmantojiet <b> Atklāt </b>, lai atrastu vietnes un birkas. - Izmantojiet <b> Atklāt </b>, lai atrastu vietnes un atzīmes. Mēģiniet atlasīt %1$s Iestatījumus %2$s, lai pievienotu tēmas, kas jums patīk. - Video sīktēls + Pārnesiet multividi tieši no savas ierīces vai kameras uz savu vietni + Iepazīstieties ar lietotni + Apsveicu! Jūs zināt, kā rīkoties<br/> + Kopēt saiti Labākie komentētāji - Publicēts pirms %1$d gadiem - Publicēts pirms gada - Publicēts pirms %1$d mēnešiem - Publicēts pirms mēneša - Publicēts pirms %1$d dienām - Publicēts pirms dienas - Publicēts pirms %1$d stundām - Publicēts pirms stundas - Publicēts pirms %1$d minūtēm - Publicēts pirms minūtes - Publicēts pirms dažām sekundēm - Kopējais sekotāju skaits - Kopā komentāri + Video sīktēls + Izmantojiet <b> Atklāt </b>, lai atrastu vietnes un birkas. + Lai augšupielādētu multividi, atlasiet %1$s plus %2$s. Varat to pievienot savām ziņām/lapām no jebkuras ierīces. + Atlasiet cilni %1$s Paziņojumi %2$s, lai saņemtu atjauninājumus, atrodoties ceļā. + Pārbaudiet savus paziņojumus + Saņemiet reāllaika atjauninājumus no savas kabatas. + Atlasiet %1$s Media %2$s, lai skatītu savu pašreizējo bibliotēku. + Saņemiet reāllaika atjauninājumus no savas kabatas Kopējais atzīmju Patīk skaits - Atlaist - Atbilde - Ikdienas uzvedne - Sapratu + Kopā komentāri + Kopējais sekotāju skaits + Publicēts pirms dažām sekundēm + Publicēts pirms minūtes + Publicēts pirms %1$d minūtēm + Publicēts pirms stundas + Publicēts pirms %1$d stundām + Publicēts pirms dienas + Publicēts pirms %1$d dienām + Publicēts pirms mēneša + Publicēts pirms %1$d mēnešiem + Publicēts pirms gada + Publicēts pirms %1$d gadiem Pieskarieties <b>%1$s</b>, lai skatītu savu vietni + Sapratu + Ikdienas uzvedne + Atbilde + Atlaist Izmsantojiet %1$s Lasītāju %2$s, lai atrastu citas vietnes. - Uzziniet vairāk par uzvednēm - Videoklipa atlase ir atcelta - Videoklips atlasīts - Multivides sīktēls 🔥 Populārākais laiks + Multivides sīktēls + Videoklips atlasīts + Videoklipa atlase ir atcelta + Uzziniet vairāk par uzvednēm %1$s %2$s - Apmeklējiet informācijas paneli Jūsu vietni jau aizsargā VaultPress. Tālāk varat atrast saiti uz savu VaultPress informācijas paneli. - Jūsu vietnē ir VaultPress + Apmeklējiet informācijas paneli Pašreizējā valoda: + Jūsu vietnē ir VaultPress Izveidot vietni - Pievienojiet blokus - Sākotnējais ekrāns - Uzzināt vairāk Kļūsti par labāku rakstnieku, veidojot rakstīšanas ieradumu. Pieskarieties, lai uzzinātu vairāk. - Jaunums WordPress mobilajā lietotnē: uzvednes - Labs vārds ir īss un neaizmirstams. Varat to mainīt vēlāk. - Piešķiriet savai %s vietnei nosaukumu - Vietnes nosaukums + Uzzināt vairāk + Sākotnējais ekrāns + Pievienojiet blokus Vai vēlaties veidot savu auditoriju? Skatiet mūsu <a href=\"%1$s\">galvenos padomus</a>. + Vietnes nosaukums + Piešķiriet savai %s vietnei nosaukumu + Labs vārds ir īss un neaizmirstams. Varat to mainīt vēlāk. + Jaunums WordPress mobilajā lietotnē: uzvednes Skatījumi un apmeklētāji - Noņemts kā izceltais attēls Iestatīt kā izcelto attēlu - Paturēt esošo - Aizstāt izcelto attēlu - Jums jau ir piedāvāto attēlu kopa. Vai vēlaties to aizstāt ar jauno attēlu? - Vai aizstāt pašreizējo piedāvāto attēlu? - Atlaist + Noņemts kā izceltais attēls Drīzumā tiks noņemts klasiskais redaktors jaunām ziņām, taču tas neietekmēs jūsu esošo ziņu vai lapu rediģēšanu. Gūstiet priekšstatu, jau tagad vietnes iestatījumos iespējojot bloka redaktoru. - Izmēģiniet jauno bloku redaktoru - Rediģēt %s bloku - Saglabāšana - Mēģiniet vēlreiz visu - Noņemt augšupielādi - Mēģiniet vēlreiz - Nevarēja augšupielādēt failu - - + Atlaist + Vai aizstāt pašreizējo piedāvāto attēlu? + Jums jau ir piedāvāto attēlu kopa. Vai vēlaties to aizstāt ar jauno attēlu? + Aizstāt izcelto attēlu + Paturēt esošo + http(s):// Atcelt Labi - http(s):// - Ievietojiet saiti - Beta - Redaktors joprojām ielādējas + + + Nevarēja augšupielādēt failu + Mēģiniet vēlreiz + Noņemt augšupielādi + Mēģiniet vēlreiz visu + Saglabāšana + Rediģēt %s bloku + Izmēģiniet jauno bloku redaktoru Neizdevās iegūt satura struktūru - Bloki: %1$d \nVārdi: %2$d \nRakstzīmes: %3$d - Satura struktūra - Izvēlieties multividi no WordPress multivides bibliotēkas - Izvēlieties multividi no galerijas - Uzņemiet fotoattēlu vai video ar kameru + Lūdzu, uzgaidiet, līdz visi faili ir saglabāti %dpx + Uzņemiet fotoattēlu vai video ar kameru + Izvēlieties multividi no galerijas + Izvēlieties multividi no WordPress multivides bibliotēkas + Satura struktūra + Bloki: %1$d \nVārdi: %2$d \nRakstzīmes: %3$d + Redaktors joprojām ielādējas + Beta + Ievietojiet saiti Labi - Lūdzu, uzgaidiet, līdz visi faili ir saglabāti - Failu saglabāšana - Saturs - Izvēlēties savas dzīves filmu. - Atgādini man - Pamēģini to tagad - Piezīme: Katru dienu uz vadības paneļa parādīsim jums jaunu pamudinājumu, lai palīdzētu iedarbināt radošos spēkus! + Piezīme: + Pamēģini to tagad + Atgādini man + Izvēlēties savas dzīves filmu. + Saturs + Failu saglabāšana Labākais veids, kā kļūt par labāku rakstnieku, ir izveidot rakstīšanas ieradumu un dalīties ar citiem — tieši šeit parādās uzvednes! - Iepazīstinām↵ Emuāru rakstīšanas uzvednes + Regulāra publicēšana piesaista jaunus lasītājus. Pastāstiet mums, kad vēlaties rakstīt, un mēs jums nosūtīsim atgādinājumu! Iestatiet atgādinājumus + Iepazīstinām↵ Emuāru rakstīšanas uzvednes Iekļaut emuāru rakstīšanas uzvedni - Regulāra publicēšana piesaista jaunus lasītājus. Pastāstiet mums, kad vēlaties rakstīt, un mēs jums nosūtīsim atgādinājumu! - Kļūsti par labāku rakstnieku, veidojot ieradumu - Rakstniecība un dzeja - Ceļošna - Tehnoloģija - Sports Nekustamais īpašums - Politika - Fotogrāfija - Personīga + Sports + Tehnoloģija + Ceļošna + Rakstniecība un dzeja + Kļūsti par labāku rakstnieku, veidojot ieradumu + Sabiedriskās un bezpeļņas organizācijas + Izglītība + DIY + Mode + Finanses + Kino un televīzija + Fitness un vingrošana + Ēdiens + Spēles + Veselība + Interjera dizains + Dzīvesveids + Vietējie pakalpojumi + Mūzika + Jaunumi Cilvēki + Personīga + Fotogrāfija Audzināšana - Jaunumi - Mūzika - Vietējie pakalpojumi - Dzīvesveids - Interjera dizains - Veselība - Spēles - Ēdiens - Fitness un vingrošana - Kino un televīzija - Finanses - Mode - DIY - Izglītība - Sabiedriskās un bezpeļņas organizācijas - Bizness - Grāmatas - Skaistums - Automašīna - Art - Piem. Mode, dzeja, politika - Vietnes tēma + Politika + Skatīt vairāk uzvedņu Lai turpinātu, pieskarieties vienumam <b>%1$s</b>. + Vietnes tēma + Piem. Mode, dzeja, politika + Art + Automašīna + Skaistums + Grāmatas + Bizness Izlaist šodien - Skatīt vairāk uzvedņu - %d atbildes - Kopīgojiet emuāru rakstīšanas uzvedni ✓ Atbildēts - Atbildes uzvedne - Uzvednes + Kopīgojiet emuāru rakstīšanas uzvedni + %d atbildes Visi + Uzvednes + Atbildes uzvedne Cilvēkiem var būt grūti izlasīt šo krāsu kombināciju. Mēģiniet izmantot gaišāku fona krāsu un/vai tumšāku teksta krāsu. - Cilvēkiem var būt grūti izlasīt šo krāsu kombināciju. Mēģiniet izmantot tumšāku fona krāsu un/vai gaišāku teksta krāsu. Neizdevās ievietot datu nesēju. \nPieskarieties, lai iegūtu papildinformāciju. - Izvēlieties tematu no tālāk sniegtā saraksta vai ierakstiet savu. + Cilvēkiem var būt grūti izlasīt šo krāsu kombināciju. Mēģiniet izmantot tumšāku fona krāsu un/vai gaišāku teksta krāsu. Par ko ir jūsu vietne? - Iknedēļas apkopojums - Mājas + Izvēlieties tematu no tālāk sniegtā saraksta vai ierakstiet savu. Kategorijas pievienošana - Kuru e-pasta lietotni jūs izmantojat? + Mājas + Iknedēļas apkopojums Sazinoties ar vietni, radās problēma. Tika atgriezts HTTP kļūdas kods 401. - Šķiet, ka XML-RPC zvani šajā vietnē ir bloķēti (kļūdas kods 401). Ja mēģinājums pieteikties neizdodas, pieskarieties palīdzības ikonai, lai skatītu BUJ. + Kuru e-pasta lietotni jūs izmantojat? Nevar nolasīt WordPress vietni šajā URL. Pieskarieties palīdzības ikonai, lai skatītu BUJ. + Šķiet, ka XML-RPC zvani šajā vietnē ir bloķēti (kļūdas kods 401). Ja mēģinājums pieteikties neizdodas, pieskarieties palīdzības ikonai, lai skatītu BUJ. XML-RPC pakalpojumi šajā vietnē ir atspējoti. Izvēlne Jūsu meklēšanā ir iekļautas rakstzīmes, kas WordPress.com domēnos netiek atbalstītas. Ir atļautas šādas rakstzīmes: A–Z, a–z, 0–9. - Pārbaudiet interneta savienojumu un atsvaidziniet lapu. - Šodienas statistika Atjauninot paziņojuma saturu, radās kļūda + Šodienas statistika + Pārbaudiet interneta savienojumu un atsvaidziniet lapu. Rediģēt - Neizdevās moderēt komentārus - Pārvietot uz atkritni Atzīmēt kā mēstuli + Pārvietot uz atkritni + Neizdevās moderēt komentārus Neapstiprināt - Flīžu galerijas iestatījumi Pāriet uz izkārtojuma atlases ekrānu + Flīžu galerijas iestatījumi Galerijas stils - Lietotnes ikona - Atgriešanās ikona - Automattic logo WordPress - WooCommerce - Tumblr - Simplenote - Pocket Casts + Automattic logo + Atgriešanās ikona + Lietotnes ikona Jetpack - Pirmā diena - Avota kods - Privātuma politika - Pakalpojuma noteikumi + Pocket Casts + Simplenote + Tumblr + WooCommerce Darbs no jebkuras vietas - Strādājiet ar mums - Automattic ģimene - Juridiskie un citi jautājumi - Twitter - Instagram - Novērtējiet mūs - Dalīties ar draugiem + Pakalpojuma noteikumi + Privātuma politika + Avota kods + Pirmā diena Varat rediģēt šo bloku, izmantojot redaktora tīmekļa versiju. - Atveriet Jetpack drošības iestatījumus + Dalīties ar draugiem + Novērtējiet mūs + Instagram + Twitter + Juridiskie un citi jautājumi + Automattic ģimene + Strādājiet ar mums Piezīme: Lai rediģētu šo bloku mobilajā redaktorā, ir jāļauj pieteikties WordPress.com. - Piezīme. Izkārtojums var atšķirties atkarībā no tēmas un ekrāna izmēriem - Adreses iestatījumi - PIEVIENOT MEDIJU + Atveriet Jetpack drošības iestatījumus Pašlaik mums ir problēmas ar jūsu vietnes datu ielādi. - Daži dati nav ielādēti - Informācijas panelis nav atjaunots. Lūdzu, pārbaudiet savienojumu un pēc tam velciet, lai atsvaidzinātu. - Nevarēja atjaunot informācijas paneli. + PIEVIENOT MEDIJU + Adreses iestatījumi + Piezīme. Izkārtojums var atšķirties atkarībā no tēmas un ekrāna izmēriem Video nav augšupielādēts! Lai augšupielādētu videoklipus, kas garāki par 5 minūtēm, ir nepieciešams maksas plāns. - Pateicības + Nevarēja atjaunot informācijas paneli. + Informācijas panelis nav atjaunots. Lūdzu, pārbaudiet savienojumu un pēc tam velciet, lai atsvaidzinātu. + Daži dati nav ielādēti Kalifornijas privātuma paziņojums - Versija %1$s - Pateicības - Juridiskais un vairāk - Apmēram %1$s - Emuārs - Pamati - Atlasīts: Noklusējums - Vairāk atbalsta iespēju - Saņemiet atbalstu - Fonta izmērs + Pateicības Veiciet dubultskārienu, lai atlasītu fonta lielumu - Veiciet dubultskārienu, lai atlasītu noklusējuma fonta lielumu - Sazinieties ar atbalsta dienestu - %1$s (%2$s) - Sekojiet sarunai - Esiet pirmais, kas komentē - Skatīt visus komentārus + Fonta izmērs + Saņemiet atbalstu + Vairāk atbalsta iespēju + Atlasīts: Noklusējums + Pamati + Emuārs + Apmēram %1$s + Juridiskais un vairāk + Pateicības + Versija %1$s Iegūstot ziņas datus, radās kļūda - Iegūstot komentārus, radās kļūda + Skatīt visus komentārus + Esiet pirmais, kas komentē + Sekojiet sarunai + %1$s (%2$s) + Sazinieties ar atbalsta dienestu + Veiciet dubultskārienu, lai atlasītu noklusējuma fonta lielumu Sekojiet sarunas iestatījumiem + Iegūstot komentārus, radās kļūda + Par WordPress + Kopēt URL no starpliktuves, %s No starpliktuves Izceltais attēls - Kopēt URL no starpliktuves, %s - Par WordPress - Izveidojiet ziņu - Regulāra publicēšana palīdz palielināt auditoriju! - Izveidojiet savu nākamo ziņu - Pārslēgts uz vizuālo režīmu - Pārslēgts uz HTML režīmu - Saite ir nokopēta starpliktuvē - Autors Kopēt saiti + Autors + Saite ir nokopēta starpliktuvē + Pārslēgts uz HTML režīmu + Pārslēgts uz vizuālo režīmu + Izveidojiet savu nākamo ziņu + Regulāra publicēšana palīdz palielināt auditoriju! + Izveidojiet ziņu Pielāgota domēna pievienošana ļauj apmeklētājiem viegli atrast jūsu vietni. - Pievienojiet savu domēnu - Ziņas jūsu emuāra lapā tiek rādītas apgrieztā hronoloģiskā secībā. Ir pienācis laiks dalīties savās idejās ar pasauli! - Izveidojiet savu pirmo ziņu - Bez nosaukuma Gaidāmās ieplānotās ziņas + Bez nosaukuma + Izveidojiet savu pirmo ziņu + Ziņas jūsu emuāra lapā tiek rādītas apgrieztā hronoloģiskā secībā. Ir pienācis laiks dalīties savās idejās ar pasauli! + Pievienojiet savu domēnu Strādājiet pie ziņojuma melnraksta <span style=\"color:#008000;\">Bezmaksas pirmo gadu </span><span style=\"color:#50575e;\"><s>%s / gadā</s></span> Izveidot saiti - Izvēlieties domēnu - Domēni - Piesprausta - Piespraust ziņu pirmajai lapai - Atzīmēt kā piespraustu - Pārtraukt sekošanu sarunai - Iespējot paziņojumus lietotnē Jūs sekojat šai sarunai. Kad tiks publicēti jauni komentāri, jūs saņemsit paziņojumus e-pastā. - Pārvaldīt sarunas sekošanas opcijas, \nuznirstošais logs - Nevarēja atspējot paziņojumus lietotnē + Iespējot paziņojumus lietotnē + Pārtraukt sekošanu sarunai + Atzīmēt kā piespraustu + Piespraust ziņu pirmajai lapai + Piesprausta + Domēni + Izvēlieties domēnu Nevarēja iespējot paziņojumus lietotnē - Paziņojumi lietotnē ir atspējoti - Paziņojumi lietotnē ir iespējoti - Anulēts šīs sarunas abonements + Nevarēja atspējot paziņojumus lietotnē + Pārvaldīt sarunas sekošanas opcijas, \nuznirstošais logs Pēc šīs sarunas\nIeslēgt paziņojumus lietotnē? - Meklēt domēnu - Šajā vietnē iegādātie domēni novirzīs apmeklētājus uz <b>%s</b> + Anulēts šīs sarunas abonements + Paziņojumi lietotnē ir iespējoti + Paziņojumi lietotnē ir atspējoti Jūsu plānā ir iekļauta bezmaksas domēna reģistrācija uz vienu gadu - Pieprasiet savu bezmaksas domēnu - Pievienojiet domēnu + Šajā vietnē iegādātie domēni novirzīs apmeklētājus uz <b>%s</b> + Meklēt domēnu <span style=\"color:#d63638;\">Derīguma termiņš beigsies %s</span> + Pievienojiet domēnu + Pieprasiet savu bezmaksas domēnu Derīguma termiņš beidzas %s - <span style=\"color:#B26200;\">%1$s par pirmo gadu </span><span style=\"color:#50575e;\"><s>%2$s gadā</s></span> %s<span style=\"color:#50575e;\"> /gads</span> + <span style=\"color:#B26200;\">%1$s par pirmo gadu </span><span style=\"color:#50575e;\"><s>%2$s gadā</s></span> + Gatavs + Vārds + komentēt + interneta adrese + E-pasta adrese + Lietotājvārda lauks nedrīkst būt tukšs + Tīmekļa adrese nav derīga + Lietotāja e-pasts nav derīgs + Komentāra lauks nedrīkst būt tukšs Vai vēlaties tos izmest? Ir nesaglabātas izmaiņas - Komentāra lauks nedrīkst būt tukšs - Lietotāja e-pasts nav derīgs - Tīmekļa adrese nav derīga - Lietotājvārda lauks nedrīkst būt tukšs - E-pasta adrese - interneta adrese - komentēt - Vārds - Gatavs Drīzumā būs pieejami iegulšanas bloku priekšskatījumi Iknedēļas apkopojums - Iegulšanas opcijas Veiciet dubultskārienu, lai skatītu iegulšanas opcijas. + Iegulšanas opcijas Vietne izveidota! Pabeidziet citu uzdevumu. - <a href=\"\">%1$s emuāru autoriem</a> patīk šis. - Šis patīk <a href=\"\">1 emuāra autoram</a>. - <a href=\"\">Jums un %1$s emuāru autoriem</a> patīk šis. <a href=\"\">Jums un 1 emuāra autoram</a> patīk šis. + <a href=\"\">Jums un %1$s emuāru autoriem</a> patīk šis. + Šis patīk <a href=\"\">1 emuāra autoram</a>. + <a href=\"\">%1$s emuāru autoriem</a> patīk šis. <a href=\"\">Jums</a> tas patīk. - Līnijas augstums - Iegūstiet savu domēnu Nezināma kļūda, ienesot ieteicamās lietotnes veidni - Saņemta nederīga atbilde - Atbilde nav saņemta - Automātiskās lietotnes — lietojumprogrammas jebkuram ekrānam - Kopīgojiet WordPress ar draugu - Ātrās saites + Iegūstiet savu domēnu + Līnijas augstums Domēni - Iknedēļas kopsavilkums: %s - Paziņojuma laiks + Ātrās saites + Kopīgojiet WordPress ar draugu + Automātiskās lietotnes — lietojumprogrammas jebkuram ekrānam + Atbilde nav saņemta + Saņemta nederīga atbilde Jūs saņemsiet atgādinājumus par emuāra rakstīšanu <b>katru dienu</b> vietnē <b>%s</b>. - %1$s nedēļa %2$s + Paziņojuma laiks + Iknedēļas kopsavilkums: %s Teksta formatēšanas vadīklas atrodas rīkjoslā, kas atrodas virs tastatūras, rediģējot teksta bloku - Atlasīts: %s - Izvēlieties krāsu augstāk - Pārvietojas, lai atlasītu %s - Pārvietot blokus - Kā rediģēt savu ziņu + %1$s nedēļa %2$s Kā rediģēt savu lapu - Pielāgot blokus + Kā rediģēt savu ziņu + Pārvietot blokus + Pārvietojas, lai atlasītu %s + Izvēlieties krāsu augstāk + Atlasīts: %s Izmaiņas piedāvātajā attēlā neietekmēs atsaukšanas/atcelšanas pogas. + Pielāgot blokus Piemēro iestatījumu Varat pārkārtot blokus, pieskaroties blokam un pēc tam pieskaroties augšup un lejup vērstajām bultiņām, kas parādās bloka apakšējā kreisajā pusē, lai pārvietotu to virs vai zem citiem blokiem. - Laipni lūdzam bloku pasaulē Lai noņemtu bloku, atlasiet bloku un noklikšķiniet uz trim punktiem bloka apakšējā labajā stūrī, lai skatītu iestatījumus. No turienes izvēlieties iespēju noņemt bloku. - Dažiem blokiem ir papildu iestatījumi. Pieskarieties iestatījumu ikonai bloka apakšējā labajā stūrī, lai skatītu citas opcijas. + Laipni lūdzam bloku pasaulē %s bloks, kas nesen kļuvis pieejams - Bagātināta teksta rediģēšana + Dažiem blokiem ir papildu iestatījumi. Pieskarieties iestatījumu ikonai bloka apakšējā labajā stūrī, lai skatītu citas opcijas. Kad esat iepazinies ar dažādu bloku nosaukumiem, varat pievienot bloku, ierakstot slīpsvītru, kam seko bloka nosaukums, piemēram, /image vai /heading. + Bagātināta teksta rediģēšana Izceliet saturu, pievienojot lapām attēlus, gif failus, videoklipus un iegultos multivides failus. - Izmēģiniet to, pievienojot savai ziņai vai lapai dažus blokus! - Iegult multividi Katram blokam ir savi iestatījumi. Lai tos atrastu, pieskarieties blokam. Tās iestatījumi tiks parādīti rīkjoslā ekrāna apakšā. - Veidojiet izkārtojumus + Iegult multividi + Izmēģiniet to, pievienojot savai ziņai vai lapai dažus blokus! Bloki ir satura elementi, kurus varat ievietot, pārkārtot un stilizēt, nepārzinot programmēšanu. Bloki ir vienkāršs un moderns veids, kā izveidot skaistus izkārtojumus. + Veidojiet izkārtojumus Bloki ļauj koncentrēties uz satura rakstīšanu, zinot, ka ir pieejami visi nepieciešamie formatēšanas rīki, lai palīdzētu jums izteikt savu vēstījumu. Izkārtojiet saturu slejās, pievienojiet Aicinājuma uz darbību pogu un novietojiet tekstu uz attēla. - Jebkurā laikā pievienojiet jaunu bloku, pieskaroties ikonai + rīkjoslā apakšējā kreisajā stūrī. Pabeigti %1$s no %2$s - Apgūstiet pamatus, izmantojot ātru apskatu. + Jebkurā laikā pievienojiet jaunu bloku, pieskaroties ikonai + rīkjoslā apakšējā kreisajā stūrī. Neizdevās moderēt vienu vai vairākus komentārus + Apgūstiet pamatus, izmantojot ātru apskatu. Izveidot vietni - Veiciet tikai dažas ātras darbības, lai jūsu vietne darbotos - Izveidojiet savu WordPress vietni - Nevar aktivizēt vietnes statistiku - Iespējot vietnes statistiku Iespējojiet vietnes statistiku, lai redzētu detalizētu informāciju par datplūsmu, Patīk, komentāriem un abonentiem. - Vai meklējat statistiku? - Kas ir bloks? + Iespējot vietnes statistiku + Nevar aktivizēt vietnes statistiku + Izveidojiet savu WordPress vietni + Veiciet tikai dažas ātras darbības, lai jūsu vietne darbotos Mēs cītīgi strādājam, lai pievienotu %s priekšskatījumu atbalstu. Pagaidām varat apskatīt iegulto saturu ziņā. + Kas ir bloks? + Vai meklējat statistiku? Mēs cītīgi strādājam, lai pievienotu %s priekšskatījumu atbalstu. Pagaidām varat apskatīt iegulto saturu lapā. - Nevar iegult multividi - Izmēģiniet citu meklēšanas vienumu - Nav atrasts neviens bloks - %s priekšskatījumi vēl nav pieejami Drīzumā būs pieejami %s iegulšanas bloku priekšskatījumi - Veiciet dubultskārienu, lai priekšskatītu ziņu. - Veiciet dubultskārienu, lai priekšskatītu lapu. + %s priekšskatījumi vēl nav pieejami + Nav atrasts neviens bloks + Izmēģiniet citu meklēšanas vienumu + Nevar iegult multividi Tiek rādīts apmeklētāju pārlūkprogrammu cilnē un citās tiešsaistes vietās. + Veiciet dubultskārienu, lai priekšskatītu lapu. + Veiciet dubultskārienu, lai priekšskatītu ziņu. Parādiet man apkārtni - Vai vēlaties saņemt palīdzību šīs vietnes pārvaldībā ar lietotni? - Izveidojiet jaunu vietni - Vietnes var mainīt jebkurā laikā. - Izvēlieties vietni, kuru atvērt Atvainojiet, Jetpack Scan pašlaik nav saderīgs ar vairāku vietņu WordPress instalācijām. + Izvēlieties vietni, kuru atvērt + Vietnes var mainīt jebkurā laikā. + Izveidojiet jaunu vietni + Vai vēlaties saņemt palīdzību šīs vietnes pārvaldībā ar lietotni? WordPress vairākas vietnes netiek atbalstītas Nederīgs URL. Lūdzu, ievadiet derīgu URL. - Iegult parakstu. %s - Iegult parakstu. Tukšs - apmeklējiet mūsu dokumentācijas lapu Jetpack dublējums daudzvietīgajām instalācijām nodrošina lejupielādējamas dublējumkopijas, bez atjaunošanas ar vienu klikšķi. Sīkākai informācijai %1$s. - Regulāra publicēšana var palīdzēt piesaistīt lasītājus un piesaistīt vietnei jaunus apmeklētājus. - Padoms - Varat to atjaunināt jebkurā laikā - Atlasiet dienas, kurās vēlaties izveidot emuāru + apmeklējiet mūsu dokumentācijas lapu + Iegult parakstu. Tukšs + Iegult parakstu. %s Varat to jebkurā laikā atjaunot, izmantojot vietni Mana vietne > Iestatījumi > Emuāru rakstīšanas atgādinājumi. - Jums nav iestatīts neviens atgādinājums. - Jūs saņemsiet atgādinājumus par emuāru rakstīšanu %1$sa nedēļā %2$s plkst. %3$s. - Atgādinājumi noņemti! + Atlasiet dienas, kurās vēlaties izveidot emuāru + Varat to atjaunināt jebkurā laikā + Padoms + Regulāra publicēšana var palīdzēt piesaistīt lasītājus un piesaistīt vietnei jaunus apmeklētājus. Viss gatavs! - Atjaunot + Atgādinājumi noņemti! + Jūs saņemsiet atgādinājumus par emuāru rakstīšanu %1$sa nedēļā %2$s plkst. %3$s. + Jums nav iestatīts neviens atgādinājums. + Jūsu ziņa tiek publicēta… tikmēr varat iestatīt emuāru rakstīšanas atgādinājumus dienās, kurās vēlaties publicēt. + Iestatiet atgādinājumus par emuāru rakstīšanu dienās, kurās vēlaties publicēt ziņas. + Iestatiet atgādinājumus Nav iestatīts %s nedēļā - Iestatiet atgādinājumus - Iestatiet atgādinājumus par emuāru rakstīšanu dienās, kurās vēlaties publicēt ziņas. - Jūsu ziņa tiek publicēta… tikmēr varat iestatīt emuāru rakstīšanas atgādinājumus dienās, kurās vēlaties publicēt. - Iestatiet atgādinājumus par emuāru rakstīšanu - Šis ir atgādinājums, lai šodien kaut ko radītu - Ir pienācis laiks izveidot emuāru vietnē %s + Atjaunot Atkārtoti lietojamo bloku rediģēšana vēl netiek atbalstīta pakalpojumā WordPress operētājsistēmai iOS + Ir pienācis laiks izveidot emuāru vietnē %s + Šis ir atgādinājums, lai šodien kaut ko radītu + Iestatiet atgādinājumus par emuāru rakstīšanu Atkārtoti lietojamo bloku rediģēšana vēl netiek atbalstīta pakalpojumā WordPress operētājsistēmai Android Varat arī atdalīt un rediģēt šos blokus atsevišķi, piesitot \"Atvienot modeļus\". - Gatavs Informēt mani + Gatavs <a href=\"%1$s\">Ievadiet servera akreditācijas datus</a>, lai iespējotu vietnes atjaunošanu no dublējumkopijas ar vienu klikšķi. - Iestatīt kā piedāvāto attēlu - Noņemt kā piedāvāto attēlu - Izveidot kategoriju WordPress atbalsts Android ierīcēm + Izveidot kategoriju + Noņemt kā piedāvāto attēlu + Iestatīt kā piedāvāto attēlu Pārvaldiet savas vietnes kategorijas + Jaunāko ziņu lapas saturs tiek izveidots automātiski, un to nevar rediģēt. Kategorijas Atgādinājumi - Jaunāko ziņu lapas saturs tiek izveidots automātiski, un to nevar rediģēt. Apmales iestatījumi - Nerādīt vēlreiz - Skatīt krātuvi Mums ir jāsaglabā jūsu saturs ierīcē, lai to varētu publicēt. Pārskatiet savus krātuves iestatījumus un noņemiet failus, lai atbrīvotu vietu. - Nepietiekama ierīces krātuve + Skatīt krātuvi + Nerādīt vēlreiz Y ass pozīcija + Nepietiekama ierīces krātuve X ass pozīcija - Ierakstiet URL - Slīpsvītru ievietotāja rezultāti - %s ir iestatīts URL %s nav iestatīts URL - %s pārveidots par parastajiem blokiem + %s ir iestatīts URL + Slīpsvītru ievietotāja rezultāti + Ierakstiet URL %s bloks - Caurspīdīgums - Multivides iespējas + %s pārveidots par parastajiem blokiem Nederīgs URL. Audio fails nav atrasts. - Ievietojiet šķērspublikāciju - Velciet, lai pielāgotu fokusa punktu - Veiciet dubultskārienu, lai atvērtu apakšējo lapu un pievienotu attēlu vai video + Multivides iespējas + Caurspīdīgums Veiciet dubultskārienu, lai atvērtu darbību lapu un pievienotu attēlu vai video - Pašreizējā vienība ir %s + Veiciet dubultskārienu, lai atvērtu apakšējo lapu un pievienotu attēlu vai video + Velciet, lai pielāgotu fokusa punktu + Ievietojiet šķērspublikāciju + Sleju iestatījumi Šķērspublicēšana + Pašreizējā vienība ir %s %s pārveidots par parastu bloku - Sleju iestatījumi - Pievienot saiti uz %s Pievienojiet saites tekstu + Pievienot saiti uz %s Pievienojiet attēlu vai video - Norādītais ceļš ir mape, nevis multivides fails Nevarēja atrast multivides failu ceļā - Negaidīti tukšs Medium faila ceļš - Šis faila veids nav atļauts - Multivide bija tukša - <a href=\"%1$s\">Ievadiet servera akreditācijas datus</a>, lai novērstu draudus. + Norādītais ceļš ir mape, nevis multivides fails <a href=\"%1$s\">Ievadiet servera akreditācijas datus</a>, lai novērstu draudus. - Veiciet dubultskārienu, lai pievienotu saiti. - Mēģiniet ar citu kontu - Skatiet norādījumus + <a href=\"%1$s\">Ievadiet servera akreditācijas datus</a>, lai novērstu draudus. + Multivide bija tukša + Šis faila veids nav atļauts + Negaidīti tukšs Medium faila ceļš Ja jums jau ir vietne, jums būs jāinstalē bezmaksas Jetpack spraudnis un jāpievieno tas savam WordPress.com kontam. - Jūsu profila fotogrāfija + Skatiet norādījumus + Mēģiniet ar citu kontu + Veiciet dubultskārienu, lai pievienotu saiti. Lai izmantotu šo lietotni vietnei %1$s, ir jābūt instalētam spraudnim Jetpack un jābūt savienotam ar jūsu WordPress.com kontu. + Jūsu profila fotogrāfija Pārvietot attēlu uz priekšu Pārvietot attēlu atpakaļ Platuma iestatījumi - Link Rel Slejas iestatījumi + Link Rel Nav apraksta (Bez nosaukuma) Vietne @@ -895,1762 +894,1731 @@ Language: lv %s sociālā ikona Pieminēt JAUNS - Priekšskatīt ziņu Priekšskatījuma lapa + Priekšskatīt ziņu Mēģiniet vēlreiz GIF Viens - Pievieno nosaukumu Priekšskatījums nav pieejams + Pievieno nosaukumu Notiek ielāde - Teksta krāsa %s saite + Teksta krāsa Piemale - Četri Piedāvātie - Pielāgots URL + Četri Izveidot iegulšanu + Pielāgots URL Sleja %d Vairāk Īsi aprakstiet saiti, lai palīdzētu ekrāna lasītāja lietotājam Pievienojiet blokus Netika atrasta neviena Jetpack vietne - Kāds ir alternatīvais teksts? - Pārveidot %s uz Pārveidot bloku… + Pārveidot %s uz + Kāds ir alternatīvais teksts? Neizdevās ievietot multividi. - Neizdevās ievietot audio failu. - Aprakstiet attēla mērķi. Atstājiet tukšu, ja attēls ir tīri dekoratīvs. - %1$s pārveidots par %2$s - Ielādējot līdzīgus datus, radās kļūda. %s. %d patīk - 1 patīk + Ielādējot līdzīgus datus, radās kļūda. %s. + %1$s pārveidots par %2$s + Aprakstiet attēla mērķi. Atstājiet tukšu, ja attēls ir tīri dekoratīvs. + Neizdevās ievietot audio failu. Ieteikums: - Izmantojiet ikonas pogu - Meklēšanas ievades lauks. - Poga Meklēt. Pašreizējais pogas teksts ir + 1 patīk Meklēšanas bloki Meklēt bloka etiķeti. Pašreizējais teksts ir - Ārā - Nav iestatīts pielāgots vietturis - Iekšā - Slēpt meklēšanas virsrakstu - Veiciet dubultskārienu, lai rediģētu viettura tekstu - Veiciet dubultskārienu, lai rediģētu iezīmes tekstu - Veiciet dubultskārienu, lai rediģētu pogas tekstu + Poga Meklēt. Pašreizējais pogas teksts ir + Meklēšanas ievades lauks. + Izmantojiet ikonas pogu veiciet dubultskārienu, lai mainītu vienību - Pašreizējais viettura teksts ir - Notīrīt meklēšanu + Veiciet dubultskārienu, lai rediģētu pogas tekstu + Veiciet dubultskārienu, lai rediģētu iezīmes tekstu + Veiciet dubultskārienu, lai rediģētu viettura tekstu + Slēpt meklēšanas virsrakstu + Iekšā + Nav iestatīts pielāgots vietturis + Ārā + Neatbildēts + Nav atbildētu komentāru + Nav pieejams neviens tīkls. + Saņemot atzīmes Patīk, radās nezināma kļūda. + Iegūstot datus par Patīk, radās kļūda + %1$s. %2$s ir %3$s %4$s Atcelt meklēšanu + Notīrīt meklēšanu Pogas pozīcija - %1$s. %2$s ir %3$s %4$s - Iegūstot datus par Patīk, radās kļūda - Saņemot atzīmes Patīk, radās nezināma kļūda. - Nav pieejams neviens tīkls. - Nav atbildētu komentāru - Neatbildēts - PIEVIENOT SAITI + Pašreizējais viettura teksts ir Meklēšanas iestatījumi - Vienmēr atļautās IP adreses + PIEVIENOT SAITI Neatļautie komentāri + Vienmēr atļautās IP adreses Pievienot pogas tekstu - Sekojiet tēmām - Jauns veids, kā izveidot un publicēt saistošu saturu savā vietnē. - Atlaist Lejupielādēt - Draudi tika veiksmīgi novērsti. + Atlaist + Jauns veids, kā izveidot un publicēt saistošu saturu savā vietnē. Lūdzu, apstipriniet, ka vēlaties novērst visus %s aktīvos draudus. + Draudi tika veiksmīgi novērsti. Skenējot tika atrasti %1$s potenciālie draudi ar %2$s. Lūdzu, pārskatiet tos tālāk un rīkojieties vai piesitiet pogai Labot visu. Mēs esam %3$s, ja jums tas vajadzīgs. Mēs smagi strādājam fonā, lai novērstu šos draudus. Tikmēr varat turpināt izmantot savu vietni kā parasti, jebkurā laikā varat pārbaudīt progresu. Rediģēt fokusa punktu - Veiciet dubultskārienu, lai atvērtu apakšējo lapu, lai rediģētu, aizstātu vai notīrītu attēlu - Veiciet dubultskārienu, lai atvērtu darbību lapu, lai rediģētu, aizstātu vai notīrītu attēlu - example.com - Ievadiet savas vietnes nosaukumu <b>Visi uzdevumi izpildīti</b> <br/>Jūs sasniegsiet vairāk cilvēku. Jauks darbs! + Ievadiet savas vietnes nosaukumu + example.com + Veiciet dubultskārienu, lai atvērtu darbību lapu, lai rediģētu, aizstātu vai notīrītu attēlu + Veiciet dubultskārienu, lai atvērtu apakšējo lapu, lai rediģētu, aizstātu vai notīrītu attēlu <b>Visi uzdevumi izpildīti</b> <br/>Jūs esat pielāgojis savu vietni. Paveikts labi! - Vai nedomājāt izveidot jaunu kontu? Atgriezieties atpakaļ, lai atkārtoti ievadītu savu e-pasta adresi. Kad šī ielūguma saite būs atspējota, neviens to nevarēs izmantot, lai pievienotos jūsu komandai. Vai esat pārliecināts? - Atspējot uzaicinājuma saiti - Saņemta nederīga atbilde - Atbilde nav saņemta - Kļūda, iegūstot lomas %1$s - Iegūstot lomas, radās kļūda - Iegūstot ielūgumu saišu datus, radās nezināma kļūda + Vai nedomājāt izveidot jaunu kontu? Atgriezieties atpakaļ, lai atkārtoti ievadītu savu e-pasta adresi. Izmantojiet šo saiti, lai uzņemtu komandas biedrus, neuzaicinot tos pa vienam. Ikviens, kas apmeklēs šo URL, varēs pieteikties jūsu organizācijā, pat ja saiti saņēmis no kāda cita, tāpēc pārliecinieties, ka to kopīgojat ar uzticamiem cilvēkiem. - Derīguma termiņš: %1$s - Atspējot uzaicinājuma saiti - Kopīgot ielūguma saiti - Ģenerēt jaunu saiti - Atsvaidzināt saišu statusu + Iegūstot ielūgumu saišu datus, radās nezināma kļūda + Iegūstot lomas, radās kļūda + Kļūda, iegūstot lomas %1$s + Atbilde nav saņemta + Saņemta nederīga atbilde + Atspējot uzaicinājuma saiti Uzaicinājuma saite - Draudi ir atrasti - Atrasti draudi - <b>Skenēšana pabeigta</b> <br> atrasti %s potenciālie draudi - <b>Skenēšana pabeigta</b> <br> Atrasts viens potenciāls drauds + Atsvaidzināt saišu statusu + Ģenerēt jaunu saiti + Kopīgot ielūguma saiti + Atspējot uzaicinājuma saiti + Derīguma termiņš: %1$s <b>Skenēšana pabeigta</b> <br> Draudi nav atrasti - Draudu novēršana + <b>Skenēšana pabeigta</b> <br> Atrasts viens potenciāls drauds + <b>Skenēšana pabeigta</b> <br> atrasti %s potenciālie draudi + Atrasti draudi + Draudi ir atrasti Atspējot + Draudu novēršana Pārbaudiet savas lapas un veiciet izmaiņas, vai pievienojiet vai noņemiet lapas. - Apmeklējiet savu vietni + Piešķiriet savai vietnei nosaukumu, kas atspoguļo tās personību un tēmu. + Automātiski kopīgojiet jaunas ziņas savos sociālajos medijos. Atklājiet un sekojiet vietnēm, kas jūs iedvesmo. + Apmeklējiet savu vietni Sociālā kopīgošana - Automātiski kopīgojiet jaunas ziņas savos sociālajos medijos. - Piešķiriet savai vietnei nosaukumu, kas atspoguļo tās personību un tēmu. Pārbaudiet vietnes statistiku - Mēs joprojām mēģināsim izveidot lejupielādējamu dublējuma failu. Mums neizdevās atrast statusu, kas norādītu, cik ilgs būs lejupielādējamās dublējumkopijas izveides laiks. - Hmm, mēs nevarējām atrast jūsu lejupielādējamā dublējuma statusu - Atzīmes ikona - Pulksteņa ikona + Mēs joprojām mēģināsim izveidot lejupielādējamu dublējuma failu. Kad tas būs izdarīts, mēs jums paziņosim. - Mēs joprojām mēģināsim atjaunot jūsu vietni. - Mēs nevarējām atrast statusu, lai noteiktu, cik ilgs laiks būs jūsu atjaunošana. - Hmm, mēs nevarējām atrast jūsu atjaunošanas statusu + Pulksteņa ikona + Atzīmes ikona + Hmm, mēs nevarējām atrast jūsu lejupielādējamā dublējuma statusu Mēs nevarējām atjaunot jūsu vietni - Apstiprināt - Vai esat pārliecināts, ka vēlaties atgriezt vietni atpakaļ uz %1$s vietnē %2$s? \nViss, ko esat mainījis kopš tā laika, tiks zaudēts. - Mēs nevarējām izveidot jūsu dublējumu - (SQL) + Hmm, mēs nevarējām atrast jūsu atjaunošanas statusu + Mēs nevarējām atrast statusu, lai noteiktu, cik ilgs laiks būs jūsu atjaunošana. + Mēs joprojām mēģināsim atjaunot jūsu vietni. (izslēdz motīvus, spraudņus un augšupielādes) - WP satura direktorijs - WordPress sakne - Šajā lejupielādē iekļautie vienumi + (SQL) + Mēs nevarējām izveidot jūsu dublējumu + Vai esat pārliecināts, ka vēlaties atgriezt vietni atpakaļ uz %1$s vietnē %2$s? \nViss, ko esat mainījis kopš tā laika, tiks zaudēts. + Apstiprināt Notiek augšupielāde… - Aizstāt failu - Nomainiet audio - Atverot audio, radās problēma - ATVĒRTS - Neviena lietojumprogramma nevar apstrādāt šo pieprasījumu. - Bloķēšanas ikona - Neizdevās ievietot audio failu. Lūdzu, pieskarieties, lai skatītu opcijas. + Šajā lejupielādē iekļautie vienumi + WordPress sakne + WP satura direktorijs Veiciet dubultskārienu, lai atlasītu audio failu - Veiciet dubultskārienu, lai klausītos audio failu - Izvēlieties audio - Audio atskaņotājs - audio fails - Audio paraksts. %s - Audio paraksts. Tukšs - Piesakieties vai reģistrējieties vietnē WordPress.com - Izmantojiet šo audio - Izvēlieties audio no ierīces + Neizdevās ievietot audio failu. Lūdzu, pieskarieties, lai skatītu opcijas. + Bloķēšanas ikona + Neviena lietojumprogramma nevar apstrādāt šo pieprasījumu. + ATVĒRTS + Atverot audio, radās problēma + Nomainiet audio + Aizstāt failu Pēc izvēles: ievadiet pielāgotu ziņojumu, kas tiks nosūtīts kopā ar ielūgumu. - Uzziniet vairāk par lomām - Fiksēts - Atrasts - šeit, lai palīdzētu + Izvēlieties audio no ierīces + Izmantojiet šo audio + Piesakieties vai reģistrējieties vietnē WordPress.com + Audio paraksts. Tukšs + Audio paraksts. %s + audio fails + Audio atskaņotājs + Izvēlieties audio + Veiciet dubultskārienu, lai klausītos audio failu Skenējot tika atrasts viens potenciāls drauds ar %1$s. Lūdzu, pārskatiet zemāk redzamos draudus un rīkojieties vai pieskarieties pogai Labot visu. Mēs esam %2$s, ja jums tas vajadzīgs. - Lai vēlreiz pārskatītu savu vietni, palaidiet manuālu skenēšanu vai pagaidiet, kamēr Jetpack vēlāk šodien skenēs jūsu vietni. + šeit, lai palīdzētu + Atrasts + Fiksēts + Uzziniet vairāk par lomām Laipni lūdzam Jetpack Scan! Mēs izvēlamies jūsu vietni un iestatām pilnu skenēšanu. Mēs jums paziņosim, ja pamanīsim kādas problēmas, kas varētu ietekmēt skenēšanu, un jūsu pirmā pilnā skenēšana tiks sākta. - Laipni lūdzam Jetpack Scan, mēs pašlaik veicam pirmo jūsu vietnes pārbaudi un drīzumā saņemsiet rezultātus. + Lai vēlreiz pārskatītu savu vietni, palaidiet manuālu skenēšanu vai pagaidiet, kamēr Jetpack vēlāk šodien skenēs jūsu vietni. Mēs fonā smagi strādājam, lai novērstu šos draudus. Tikmēr varat turpināt izmantot savu vietni kā parasti un progresu varat pārbaudīt laikā. + Laipni lūdzam Jetpack Scan, mēs pašlaik veicam pirmo jūsu vietnes pārbaudi un drīzumā saņemsiet rezultātus. Ja tiks konstatēts apdraudējums, mēs jums nosūtīsim paziņojumu. Tikmēr varat turpināt izmantot vietni kā parasti, jo jebkurā laikā varat pārbaudīt, kā notiek pārbaudes. - Draudu novēršana Jetpack Scan nevarēja pabeigt jūsu vietnes skenēšanu. Lūdzu, pārbaudiet, vai jūsu vietne darbojas - ja darbojas, tad mēģiniet vēlreiz. Ja ar Jetpack Scan joprojām ir problēmas, sazinieties ar mūsu atbalsta komandu. - Kaut kas ir nogājis greizi - Vietnes dublēšana - Vietnes dublēšana no %1$s %2$s - Lejupielādējama dublējuma izveidošana + Draudu novēršana Jūsu vietne ir veiksmīgi dublēta - Jūsu vietne ir veiksmīgi dublēta no %1$s %2$s - Jūsu vietne tiek dublēta no %1$s %2$s + Lejupielādējama dublējuma izveidošana + Vietnes dublēšana no %1$s %2$s + Vietnes dublēšana + Kaut kas ir nogājis greizi Atlasiet audio - Darbojas vēl viena atjaunošana. - Kļūdas ikona + Jūsu vietne tiek dublēta no %1$s %2$s + Jūsu vietne ir veiksmīgi dublēta no %1$s %2$s Poga Gatavs - Atjaunojums neizdevās - Poga Apmeklēt vietni - Poga Gatavs - Atjaunot ikonu - Apmeklējiet vietni - Visi jūsu atlasītie vienumi tagad ir atjaunoti uz %1$s %2$s. - Jūsu vietne ir atjaunota + Kļūdas ikona + Darbojas vēl viena atjaunošana. Jums nav jāgaida. Mēs paziņosim, kad jūsu vietne būs atjaunota. - Atjaunot vietnes ikonu - Mēs atjaunojam jūsu vietni atpakaļ uz %1$s %2$s. - Pašlaik vietne tiek atjaunota + Jūsu vietne ir atjaunota + Visi jūsu atlasītie vienumi tagad ir atjaunoti uz %1$s %2$s. + Apmeklējiet vietni + Atjaunot ikonu + Poga Gatavs + Poga Apmeklēt vietni + Atjaunojums neizdevās Apstipriniet vietnes atjaunošanas pogu - Attēls Sarkans aplis ar izsaukuma zīmi - Brīdinājums + Pašlaik vietne tiek atjaunota + Mēs atjaunojam jūsu vietni atpakaļ uz %1$s %2$s. + Atjaunot vietnes ikonu Vietnes atjaunošanas poga - Atjaunot ikonu - Atjaunot vietni - %1$s %2$s ir atlasītais atjaunošanas punkts. - Atjaunot vietni - Izvēlieties atjaunojamos vienumus: - Atjaunot - Mākonis ar X ikonu - Poga Gatavs + Brīdinājums + Attēls Sarkans aplis ar izsaukuma zīmi Gatavs - Neizdevās lejupielādēt - Planšetdators + Poga Gatavs + Mākonis ar X ikonu + Atjaunot + Izvēlieties atjaunojamos vienumus: + Atjaunot vietni + %1$s %2$s ir atlasītais atjaunošanas punkts. + Atjaunot vietni + Atjaunot ikonu + Izvēlieties %1$s Sākumlapa %2$s, lai rediģētu savu sākumlapu. Mobilais - Atlasiet %1$s Pages %2$s, lai redzētu savu lapu sarakstu. - Mainiet, pievienojiet vai noņemiet savas vietnes lapas. + Planšetdators + Neizdevās lejupielādēt Pārskatiet vietnes lapas - Izvēlieties %1$s Sākumlapa %2$s, lai rediģētu savu sākumlapu. - Atzīmēt kā neredzētu - Atzīmēt kā redzētu - Multivides augšupielāde neizdevās. \n%1$s - Nepietiek vietas krātuvē - Nevar pārslēgt redzētās ziņas statusu - Ziņa atzīmēta kā neredzēta + Mainiet, pievienojiet vai noņemiet savas vietnes lapas. + Atlasiet %1$s Pages %2$s, lai redzētu savu lapu sarakstu. Ziņa atzīmēta kā redzēta - Kļūda, iegūstot labojuma statusu. Lūdzu, sazinieties ar mūsu atbalsta dienestu. - Draudi tika veiksmīgi novērsti. - Kļūda, novēršot draudus. Lūdzu, sazinieties ar mūsu atbalsta dienestu. + Ziņa atzīmēta kā neredzēta + Nevar pārslēgt redzētās ziņas statusu + Nepietiek vietas krātuvē + Multivides augšupielāde neizdevās. \n%1$s + Atzīmēt kā redzētu + Atzīmēt kā neredzētu Lūdzu, apstipriniet, ka vēlaties novērst vienu aktīvu draudu. - Novērst visus draudus - Ignorējot draudus, radās kļūda. Lūdzu, sazinieties ar atbalsta dienestu. - Draudi ignorēti. + Kļūda, novēršot draudus. Lūdzu, sazinieties ar mūsu atbalsta dienestu. + Draudi tika veiksmīgi novērsti. + Kļūda, iegūstot labojuma statusu. Lūdzu, sazinieties ar mūsu atbalsta dienestu. Jums nevajadzētu ignorēt drošības problēmu, ja vien neesat pārliecināts, ka tā ir nekaitīga. Ja izvēlēsities ignorēt šo draudu, tas paliks jūsu vietnē <b>%s</b>. + Draudi ignorēti. + Ignorējot draudus, radās kļūda. Lūdzu, sazinieties ar atbalsta dienestu. + Novērst visus draudus Kļūda, novēršot draudus. Lūdzu, sazinieties ar mūsu atbalsta dienestu. - Draudi ignorēti - Draudi fiksēti %s - Draudu novēršana - Ignorēts - Nav atrasts neviens vienums - Fiksēts - Viss - Skenē failus - Gatavojas skenēšanai - Vēsture - Skenēšanas vēsture - Mēģiniet pielāgot datumu diapazonu - Nav atrasta atbilstoša dublējumkopija Jūsu pirmā dublēšana parādīsies šeit 24 stundu laikā, un pēc dublēšanas pabeigšanas jūs saņemsit paziņojumu - Jūsu pirmā dublēšana drīz būs gatava + Nav atrasta atbilstoša dublējumkopija + Mēģiniet pielāgot datumu diapazonu + Skenēšanas vēsture + Vēsture + Gatavojas skenēšanai + Skenē failus + Viss + Fiksēts + Nav atrasts neviens vienums + Ignorēts + Draudu novēršana + Draudi fiksēti %s + Draudi ignorēti Apstrādājot pieprasījumu, radās problēma. Lūdzu, pamēģiniet vēlreiz vēlāk. - Pārvietoties uz leju + Jūsu pirmā dublēšana drīz būs gatava Mainīt bloka pozīciju - Augšupielādēt - ikona - Mēs esam arī nosūtījuši jums saiti uz jūsu failu e-pastā. + Pārvietoties uz leju Kopīgot saiti - Lejupielādes poga - Lejupielādējama gatavas dublējumkopijas ikona - Kopīgot saiti - Lejupielādēt - Mēs veiksmīgi izveidojām jūsu vietnes dublējumu no %1$s %2$s. + Mēs esam arī nosūtījuši jums saiti uz jūsu failu e-pastā. + ikona + Augšupielādēt Jūsu dublējums tagad ir pieejams lejupielādei - Jūsu rezerves kopija - Nav jāgaida. Mēs jums paziņosim, kad jūsu dublējums būs gatavs. - Lejupielādējamas dublēšanas ikonas izveide - Mēs izveidojam jūsu vietnes lejupielādējamu dublējumu no %1$s %2$s. + Mēs veiksmīgi izveidojām jūsu vietnes dublējumu no %1$s %2$s. + Lejupielādēt + Kopīgot saiti + Lejupielādējama gatavas dublējumkopijas ikona + Lejupielādes poga Pašlaik tiek veidota lejupielādējama vietnes rezerves kopija - Lejupielādējiet dublējumu - Ir vēl viena lejupielāde. - Apstrādājot pieprasījumu, radās problēma. Lūdzu, pamēģiniet vēlreiz vēlāk. - Izveidojiet lejupielādējamu dublēšanas pogu + Mēs izveidojam jūsu vietnes lejupielādējamu dublējumu no %1$s %2$s. + Lejupielādējamas dublēšanas ikonas izveide + Nav jāgaida. Mēs jums paziņosim, kad jūsu dublējums būs gatavs. + Jūsu rezerves kopija %1$s %2$s ir izvēlētais punkts, no kura izveidot lejupielādējamu dublējumu. + Izveidojiet lejupielādējamu dublēšanas pogu + Apstrādājot pieprasījumu, radās problēma. Lūdzu, pamēģiniet vēlreiz vēlāk. + Ir vēl viena lejupielāde. + Lejupielādējiet dublējumu %1$s · %2$s · - %1$s · %2$s %1$s · - šķērsizlikšana - lietotājs - Nav atbilstošu %s. - Ielādējot ieteikumus, radās problēma. - Nav pieejams neviens %s ieteikums. - Lūdzu, ierakstiet, lai filtrētu ieteikumu sarakstu. - Saņemiet bezmaksas aprēķinu - Ignorēt draudus - Novērst draudus - Jetpack Scan novērsīs draudus. - Jetpack Scan rediģēs skarto failu vai direktoriju. - Jetpack Scan tiks jaunināta uz jaunāku versiju (%s). + %1$s · %2$s Jetpack Scan izdzēsīs skarto failu vai mapi. + Jetpack Scan tiks jaunināta uz jaunāku versiju (%s). + Jetpack Scan rediģēs skarto failu vai direktoriju. + Jetpack Scan novērsīs draudus. + Novērst draudus + Ignorēt draudus + Saņemiet bezmaksas aprēķinu + Lūdzu, ierakstiet, lai filtrētu ieteikumu sarakstu. + Nav pieejams neviens %s ieteikums. + Ielādējot ieteikumus, radās problēma. + Nav atbilstošu %s. + lietotājs + šķērsizlikšana Jetpack Scan aizstās skarto failu vai mapi. Jetpack Scan nevar automātiski novērst šo apdraudējumu.\n Mēs iesakām novērst šo apdraudējumu manuāli: pārliecinieties, ka WordPress, tēma un visi spraudņi ir atjaunināti, un no vietnes noņemiet apdraudējumu radījušo kodu, tēmu vai spraudni. \n\n\n Ja šī apdraudējuma novēršanai nepieciešama papildu palīdzība, mēs iesakām izmantot <b>Codeable</b>, uzticamu ārštata pakalpojumu tirgū, kurā strādā augsti kvalificēti WordPress eksperti.\n Viņi ir izraudzījušies atlasītu drošības ekspertu grupu, kas palīdzēs šo projektu īstenošanā. Cenas svārstās no 70–120 ASV dolāriem stundā, un jūs varat saņemt bezmaksas aprēķinu bez pienākuma nolīgt. - Draudu novēršana - Kā Jetpack to salaboja? - Kā mēs to labosim? - Draudi atrasti failā: - Tehniskā informācija Kāda bija problēma? - Informācija par draudiem - Tēmā atrasta ievainojamība + Tehniskā informācija + Draudi atrasti failā: + Kā mēs to labosim? + Kā Jetpack to salaboja? + Draudu novēršana + Datu bāze %s draudi + %s: ļaunprātīga koda modelis + Dažāda ievainojamība + Programmā WordPress atrasta ievainojamība Spraudnī atrasta ievainojamība + Tēmā atrasta ievainojamība + Informācija par draudiem Draudi atrasti %s - Programmā WordPress atrasta ievainojamība - Dažāda ievainojamība - Neaizsargāta tēma: %1$s (versija %2$s) Neaizsargātais spraudnis: %1$s (versija %2$s) - %s: ļaunprātīga koda modelis - Datu bāze %s draudi - %s: inficēts pamata fails - Draudi ir atrasti - Labot visu - pirms dažām sekundēm - Pirms %s minūtes (-ēm) - Pirms %s stundas (-ām) + Neaizsargāta tēma: %1$s (versija %2$s) šajā vietnē + Pirms %s stundas (-ām) + Pirms %s minūtes (-ēm) + pirms dažām sekundēm + Labot visu + Draudi ir atrasti + %s: inficēts pamata fails Pēdējā Jetpack skenēšana tika veikta %1$s un neatrada nekādus riskus. %2$s - Jūsu vietne var būt apdraudēta - Neuztraucieties ne par ko - Skenēt vēlreiz - Skenēt tagad - Skenēšanas stāvokļa ikona - Dublēšana Darbības veida filtrs (atlasīti %s veidi) - %1$s (tiek rādīti %2$s vienumi) - Darbības veida filtrs - Atlasītajā datumu diapazonā nav reģistrētas darbības. - Nav pieejamas aktivitātes + Dublēšana + Skenēšanas stāvokļa ikona + Skenēt tagad + Skenēt vēlreiz + Neuztraucieties ne par ko + Jūsu vietne var būt apdraudēta Lūdzu, pārbaudiet interneta savienojumu un mēģiniet vēlreiz. - Nav savienojuma - Darbības veids (%s) + Nav pieejamas aktivitātes + Atlasītajā datumu diapazonā nav reģistrētas darbības. + Darbības veida filtrs + %1$s (tiek rādīti %2$s vienumi) Datumu diapazona filtrs - Mēģiniet pielāgot datumu diapazonu vai darbību veida filtrus + Darbības veids (%s) + Nav savienojuma Nav atrasts neviens atbilstošs pasākums - Vietnes datu bāze - (ietver wp-config.php un visus failus, kas nav WordPress) - Multivides augšupielādes - WordPress spraudņi - WordPress tēmas + Mēģiniet pielāgot datumu diapazonu vai darbību veida filtrus Izveidojiet lejupielādējamu dublēšanas ikonu - Izveidojiet lejupielādējamu failu - Izveidojiet lejupielādējamu dublējumu - Lejupielādējiet dublējumu - Rezerves lejupielāde - Kļūda - Izvēlēties failu - Lejupielādēt dublējumu - Atjaunot līdz šim brīdim - Darbības veids + WordPress tēmas + WordPress spraudņi + Multivides augšupielādes + (ietver wp-config.php un visus failus, kas nav WordPress) + Vietnes datu bāze Datumu diapazons - Filtrēt pēc darbības veida - Kopējiet versiju no šīs lietotnes - Vispirms rediģējiet ziņu - Ierakstā, kuru mēģināt kopēt, ir divas konfliktējošas versijas vai arī nesen esat veicis izmaiņas, bet neesat tās saglabājis.\nVispirms rediģējiet ziņu, lai atrisinātu konfliktus, vai turpiniet kopēt versiju no šīs programmas. - Ziņu sinhronizācijas konflikts + Darbības veids + Atjaunot līdz šim brīdim + Lejupielādēt dublējumu + Izvēlēties failu + Kļūda + Rezerves lejupielāde + Lejupielādējiet dublējumu + Izveidojiet lejupielādējamu dublējumu + Izveidojiet lejupielādējamu failu Dublikāts + Ziņu sinhronizācijas konflikts + Ierakstā, kuru mēģināt kopēt, ir divas konfliktējošas versijas vai arī nesen esat veicis izmaiņas, bet neesat tās saglabājis.\nVispirms rediģējiet ziņu, lai atrisinātu konfliktus, vai turpiniet kopēt versiju no šīs programmas. + Vispirms rediģējiet ziņu + Kopējiet versiju no šīs lietotnes + Filtrēt pēc darbības veida Stāsts tiek saglabāts, lūdzu, uzgaidiet… - Faila nosaukums - Failu bloku iestatījumi - Neizdevās augšupielādēt failus. \nLūdzu, pieskarieties, lai skatītu opcijas. - Neizdevās saglabāt failus.\nLūdzu, pieskarieties, lai piekļūtu opcijām. - Rediģēt failu Kopēt faila URL - Izvēlieties domēnu - Jetpack - Pēc sarunas e-pastā - Sekojiet sarunai e-pastā - Nevarēja atteikties no šīs ziņas komentāru abonēšanas - Nevarēja abonēt šīs ziņas komentārus + Rediģēt failu + Neizdevās saglabāt failus.\nLūdzu, pieskarieties, lai piekļūtu opcijām. + Neizdevās augšupielādēt failus. \nLūdzu, pieskarieties, lai skatītu opcijas. + Failu bloku iestatījumi + Faila nosaukums Kļūda, iegūstot ziņas abonēšanas statusu - Saņemta nederīga atbilde - Atbilde nav saņemta - Skaidrs + Nevarēja abonēt šīs ziņas komentārus + Nevarēja atteikties no šīs ziņas komentāru abonēšanas + Sekojiet sarunai e-pastā + Pēc sarunas e-pastā + Jetpack + Izvēlieties domēnu Piesakies + Skaidrs + Atbilde nav saņemta + Saņemta nederīga atbilde Viens vai vairāki slaidi jūsu stāstam nav pievienoti, jo stāsti pašlaik neatbalsta GIF failus. Lūdzu, tā vietā izvēlieties statisku attēlu vai video fonu. - GIF faili netiek atbalstīti - Vietnē mēs nevarējām atrast medijus šim stāstam. - Stāstu nevar rediģēt - Nevar ielādēt šī stāsta multividi. Pārbaudiet interneta savienojumu un pēc brīža mēģiniet vēlreiz. - Stāstu nevar rediģēt Šis stāsts tika rediģēts citā ierīcē, un iespēja rediģēt noteiktus objektus var būt ierobežota. - Ierobežota stāstu rediģēšana + Stāstu nevar rediģēt + Nevar ielādēt šī stāsta multividi. Pārbaudiet interneta savienojumu un pēc brīža mēģiniet vēlreiz. + Stāstu nevar rediģēt + Vietnē mēs nevarējām atrast medijus šim stāstam. + GIF faili netiek atbalstīti Multivide ir noņemta. Mēģiniet izveidot savu stāstu no jauna. - Fons - Teksts - Izmest - Veiktās izmaiņas netiks saglabātas. - Atmest izmaiņas? - Gatavs - Nākamais + Ierobežota stāstu rediģēšana + Izkārtojumi nav pieejami bezsaistē + Pieskarieties vēlreiz, kad esat tiešsaistē. + Lūdzu, pārbaudiet interneta savienojumu un mēģiniet vēlreiz. Dzēst + Nākamais + Gatavs + Atmest izmaiņas? + Veiktās izmaiņas netiks saglabātas. + Izmest + Teksts + Fons Izvēloties tēmu, radās kļūda. - Lūdzu, pārbaudiet interneta savienojumu un mēģiniet vēlreiz. - Pieskarieties vēlreiz, kad esat tiešsaistē. - Izkārtojumi nav pieejami bezsaistē - Turpiniet ar veikala akreditācijas datiem - Atrodiet pievienoto e-pastu - Sekojiet tēmām - Lai paplašinātu meklēšanu, izmēģiniet šādas tēmas - Nav pēdējo ziņu - Laipni lūdzam! Skenēt - <b>Johans Brandts</b> atbildēja uz jūsu ziņu - Šodien savā vietnē esat saņēmis <b>50 atzīmes Patīk</b> + Laipni lūdzam! + Nav pēdējo ziņu + Atrodiet pievienoto e-pastu + Turpiniet ar veikala akreditācijas datiem <b>Madison Ruiz</b> patika jūsu ziņa - Atvērta ritināmā bloķēšanas izvēlne. Atlasiet bloku. - Ritināmā bloķēšanas izvēlne ir aizvērta. + Šodien savā vietnē esat saņēmis <b>50 atzīmes Patīk</b> + <b>Johans Brandts</b> atbildēja uz jūsu ziņu Izvēlieties - Pieskarieties vēlreiz, kad esat tiešsaistē, vai izveidojiet tukšu lapu, izmantojot zemāk esošo pogu. - Izkārtojumi nav pieejami bezsaistē - Pieskarieties vēlreiz vai izveidojiet tukšu lapu, izmantojot zemāk esošo pogu. - Izkārtojumi nav pieejami kļūdas dēļ - Pievienot kategoriju - Pievienot jaunu kategoriju - Kategorijas - Nav uzstādīts + Ritināmā bloķēšanas izvēlne ir aizvērta. + Atvērta ritināmā bloķēšanas izvēlne. Atlasiet bloku. Kategorijas - Muzeji Londonā - Labākie pasaules līdzjutēji - Manas desmit kafejnīcas - Politika - Mūzika - Dārzkopība - Futbols - Ēdienu gatavošana - Māksla - Rokenrola nedēļas žurnāls - Tīmekļa ziņas - Pamela Nguyen + Nav uzstādīts + Kategorijas + Pievienot jaunu kategoriju + Pievienot kategoriju + Izkārtojumi nav pieejami kļūdas dēļ + Pieskarieties vēlreiz vai izveidojiet tukšu lapu, izmantojot zemāk esošo pogu. + Izkārtojumi nav pieejami bezsaistē + Pieskarieties vēlreiz, kad esat tiešsaistē, vai izveidojiet tukšu lapu, izmantojot zemāk esošo pogu. Mani tik ļoti iedvesmo fotogrāfa Kamerona Karstena darbi. Es izmēģināšu šīs metodes savā nākamajā - Iedvesmojoties - Sekojiet savām iecienītākajām vietnēm un atklājiet jaunus emuārus. - Izmantojot padziļinātu analīzi, vērojiet, kā pieaug auditorija. - Skatiet komentārus un paziņojumus reāllaikā. - Izmantojot spēcīgo redaktoru, jūs varat ievietot ziņas, esot ceļā. + Pamela Nguyen + Tīmekļa ziņas + Rokenrola nedēļas žurnāls + Māksla + Ēdienu gatavošana + Futbols + Dārzkopība + Mūzika + Politika + Manas desmit kafejnīcas + Labākie pasaules līdzjutēji + Muzeji Londonā Laipni lūdzam pasaules populārākajā vietņu veidotājā. + Izmantojot spēcīgo redaktoru, jūs varat ievietot ziņas, esot ceļā. + Skatiet komentārus un paziņojumus reāllaikā. + Izmantojot padziļinātu analīzi, vērojiet, kā pieaug auditorija. + Sekojiet savām iecienītākajām vietnēm un atklājiet jaunus emuārus. + Iedvesmojoties Multivides ielāde neizdevās - Vietnes, kurām sekot - Mēs cītīgi strādājam, lai ar katru laidienu pievienotu vairāk bloku. \'%s\' netiek pilnībā atbalstīts - Palīdzības poga - Rediģēt, izmantojot tīmekļa redaktoru - Izvēlieties attēlus - Izveidot stāsta ziņu + Mēs cītīgi strādājam, lai ar katru laidienu pievienotu vairāk bloku. Tie tiek publicēti kā jauns emuāra ieraksts jūsu vietnē, lai jūsu auditorija nekad neko nepalaistu garām. - Stāsta ziņas nepazūd + Izveidot stāsta ziņu + Izvēlieties attēlus + Rediģēt, izmantojot tīmekļa redaktoru + Palīdzības poga Apvienojiet fotoattēlus, videoklipus un tekstu, lai izveidotu saistošus un veiksmīgus stāsta ziņu, kas patiks jūsu apmeklētājiem. - Tagad stāsti ir domāti visiem - Stāsta nosaukuma piemērs - Kā izveidot stāsta ierakstu - Iepazīstinām ar stāstu ziņām - Izveidota tukša lapa + Stāsta ziņas nepazūd Lapa ir izveidota - Multivides ievietošana neizdevās. - Multivides ievietošana neizdevās: %s + Izveidota tukša lapa + Iepazīstinām ar stāstu ziņām + Kā izveidot stāsta ierakstu + Stāsta nosaukuma piemērs + Tagad stāsti ir domāti visiem Izvēlieties no WordPress multivides bibliotēkas + Multivides ievietošana neizdevās: %s + Multivides ievietošana neizdevās. Atpakaļ - Sāciet - Sekojiet tēmām, lai atklātu jaunus emuārus Autors - Šo novirzītāju nevar atzīmēt kā mēstuli - Noņemt atzīmi no mēstules - Atzīmēt kā mēstuli - Atvērt vietni - GIF multivides augšupielāde - Krājuma multivides augšupielāde + Sāciet Notiek multivides augšupielāde + Krājuma multivides augšupielāde + GIF multivides augšupielāde + Atvērt vietni + Atzīmēt kā mēstuli + Noņemt atzīmi no mēstules + Šo novirzītāju nevar atzīmēt kā mēstuli Meklēt vai ierakstīt URL Pievienojiet šo tālruņa saiti - Pievienojiet šo saiti - Pievienojiet šo e-pasta saiti Nav interneta savienojuma. \nIeteikumi nav pieejami. - Drosmīgs - Mūsdienīgs - Rotaļīgs - Spēcīgs - Klasisks - Ikdienišķs - Lai varētu ierakstīt videoklipus, lietotnei ir jāpiešķir audio ierakstīšanas atļauja. - %s + Pievienojiet šo e-pasta saiti + Pievienojiet šo saiti %s atlasīts - Saņemiet pieteikšanās saiti e-pastā - Hmm, mēs nevaram atrast WordPress.com kontu, kas būtu saistīts ar šo e-pasta adresi. - Mikrofons - Nevar parādīt šo komentāru + %s + Lai varētu ierakstīt videoklipus, lietotnei ir jāpiešķir audio ierakstīšanas atļauja. + Ikdienišķs + Klasisks + Spēcīgs + Rotaļīgs + Mūsdienīgs + Drosmīgs Pārlūkojiet vienumus + Nevar parādīt šo komentāru + Mikrofons + Hmm, mēs nevaram atrast WordPress.com kontu, kas būtu saistīts ar šo e-pasta adresi. + Saņemiet pieteikšanās saiti e-pastā Ziņot par šo ziņu - Laipni lūdzam pakalpojumā Lasītājs. Atklājiet miljoniem emuāru tepat. - Radās iekšēja servera kļūda - Jūsu darbība nav atļauta Vēl %1$s vienumi - Izvēlieties izkārtojumu - Piezīme. Sleju izkārtojums var atšķirties starp tēmām un ekrāna izmēriem - Izveidojiet ziņu vai stāstu - Izveidojiet lapu - Izveidojiet ziņu - Jums varētu patikt + Jūsu darbība nav atļauta + Radās iekšēja servera kļūda + Laipni lūdzam pakalpojumā Lasītājs. Atklājiet miljoniem emuāru tepat. + Piezīme. Sleju izkārtojums var atšķirties starp tēmām un ekrāna izmēriem + Izvēlieties izkārtojumu Paslēpt - Video paraksts. Tukšs - Atjauno virsrakstu. - Ielīmēt bloku pēc - Lapas nosaukums. %s - Lapas nosaukums. Tukšs - Atskaņojot jūsu videoklipu, radās kļūda - Šī ierīce neatbalsta Camera2 API. - Videoklipu nevarēja saglabāt - Saglabājot attēlu, radās kļūda - Notiek darbība, mēģiniet vēlreiz - Nevarēja atrast stāstu slaidu + Jums varētu patikt + Izveidojiet ziņu + Izveidojiet lapu + Izveidojiet ziņu vai stāstu Skatīt krātuvi - Lai to varētu publicēt, stāsts ir jāsaglabā jūsu ierīcē. Pārskatiet krātuves iestatījumus un noņemiet failus, lai atbrīvotu vietu. - Nepietiekama ierīces krātuve - Mēģiniet vēlreiz saglabāt vai izdzēst slaidus, pēc tam mēģiniet vēlreiz publicēt savu stāstu. - Nevar saglabāt %1$d slaidu - Nevar saglabāt 1 slaidu - Pārvaldīt - %1$d slaidiem nepieciešama darbība + Nevarēja atrast stāstu slaidu + Notiek darbība, mēģiniet vēlreiz + Saglabājot attēlu, radās kļūda + Videoklipu nevarēja saglabāt + Šī ierīce neatbalsta Camera2 API. + Atskaņojot jūsu videoklipu, radās kļūda + Lapas nosaukums. Tukšs + Lapas nosaukums. %s + Ielīmēt bloku pēc + Atjauno virsrakstu. + Video paraksts. Tukšs Vienam slaidam nepieciešama darbība - Nevar augšupielādēt \"%1$s\" - Nevar augšupielādēt \"%1$s\" - \"%1$s\" ir publicēts + %1$d slaidiem nepieciešama darbība + Pārvaldīt + Nevar saglabāt 1 slaidu + Nevar saglabāt %1$d slaidu + Mēģiniet vēlreiz saglabāt vai izdzēst slaidus, pēc tam mēģiniet vēlreiz publicēt savu stāstu. + Nepietiekama ierīces krātuve + Lai to varētu publicēt, stāsts ir jāsaglabā jūsu ierīcē. Pārskatiet krātuves iestatījumus un noņemiet failus, lai atbrīvotu vietu. Notiek faila “%1$s” augšupielāde… - Atlikuši %1$d slaidi - Atlicis 1 slaids - vairāki stāsti + \"%1$s\" ir publicēts + Nevar augšupielādēt \"%1$s\" + Nevar augšupielādēt \"%1$s\" Notiek \"%1$s\" saglabāšana… - Bez nosaukuma - Izmest - Jūsu stāsts netiks saglabāta kā melnraksts. - Izmest stāsta ziņu? + vairāki stāsti + Atlicis 1 slaids + Atlikuši %1$d slaidi + neizvēlēts + izvēlēts + kļūdaini + Mainīt teksta līdzinājumu + Mainīt teksta krāsu + Vai dzēst stāsta slaidu? + Šis slaids tiks noņemts no jūsu stāsta. Dzēst + Izmest stāsta ziņu? + Jūsu stāsts netiks saglabāta kā melnraksts. + Izmest + Bez nosaukuma Šis slaids vēl nav saglabāts. Dzēšot šo slaidu, tiks zaudēti visi veiktie labojumi. - Šis slaids tiks noņemts no jūsu stāsta. - Vai dzēst stāsta slaidu? - Mainīt teksta krāsu - Mainīt teksta līdzinājumu - kļūdaini - izvēlēts - neizvēlēts - Slaids - Mēģiniet vēlreiz - Saglabāts - Aizvērt - Dalīties ar - DALIES - Saglabāts fotoattēlos - Mēģiniet vēlreiz - Saglabāts - Saglabāšana + Izveidojiet ziņu, lapu vai stāstu + Izveidojiet ziņu vai stāstu + Piešķiriet savam stāstam nosaukumu + Izvēlieties izkārtojumu + Sāciet, izvēloties no dažādiem iepriekš sagatavotiem lapu izkārtojumiem. Vai vienkārši sāciet ar tukšu lapu. + Izveidojiet tukšu lapu + Izveidot lapu + Priekšskatījums + Uzņemt + Zibspuldze + Uzlīmes + Teksts + Skaņa Zibspuldze + Saglabāšana + Saglabāts + Mēģiniet vēlreiz + Saglabāts fotoattēlos + DALIES + Dalīties ar + Aizvērt + Saglabāts + Mēģiniet vēlreiz + Slaids + Piesitiet %1$s Izveidojiet. %2$s Pēc tam atlasiet <b>Emuāra ziņa</b> Apērst - Skaņa - Teksts - Uzlīmes - Zibspuldze Apvērst kameru - Uzņemt - Priekšskatījums - Izveidot lapu - Izveidojiet tukšu lapu - Sāciet, izvēloties no dažādiem iepriekš sagatavotiem lapu izkārtojumiem. Vai vienkārši sāciet ar tukšu lapu. - Izvēlieties izkārtojumu - Piešķiriet savam stāstam nosaukumu - Izveidojiet ziņu vai stāstu - Izveidojiet ziņu, lapu vai stāstu - Piesitiet %1$s Izveidojiet. %2$s Pēc tam atlasiet <b>Emuāra ziņa</b> + Krātuves kvota ir pārsniegta + Nevar augšupielādēt failu. Krātuves kvota tika pārsniegta. + Nevar atrast saistīto lapas lēcienu Izvēlieties no ierīces - Stāsta ziņa Lai rediģētu vietņu ikonas pašnodrošinātās WordPress vietnēs, ir nepieciešams Jetpack spraudnis. - Nevar atrast saistīto lapas lēcienu - Nevar augšupielādēt failu. Krātuves kvota tika pārsniegta. - Krātuves kvota ir pārsniegta + Stāsta ziņa Pievienot failu - Nomainiet video Nomainiet attēlu vai videoklipu - Konvertēt uz saiti - Izvēlieties video - Izvēlieties attēlu vai videoklipu - Izvēlieties attēlu - Bloks noņemts - Ievadiet savu esošo vietnes adresi - Reģistrācijas apstiprinājums + Nomainiet video Ja turpināt izmantot Google un jums vēl nav WordPress.com konta, jūs izveidojat kontu un piekrītat mūsu %1$sPakalpojuma lietošanas noteikumiem%2$s. + Reģistrācijas apstiprinājums + Ievadiet savu esošo vietnes adresi + Bloks noņemts + Izvēlieties attēlu + Izvēlieties attēlu vai videoklipu + Izvēlieties video + Konvertēt uz saiti Turpinot jūs piekrītat mūsu %1$sPakalpojumu sniegšanas noteikumiem%2$s. Mēs izmantosim šo e-pasta adresi, lai izveidotu jūsu jauno WordPress.com kontu. Mēs esam nosūtījuši jums e-pastā reģistrēšanās saiti, lai izveidotu savu jauno WordPress.com kontu. Pārbaudiet savu e-pastu šajā ierīcē un pieskarieties saitei e-pastā, kuru saņemat no WordPress.com. Ievadiet sava konta informāciju par %1$s. - vai Turpiniet ar Google - Atrodiet savas vietnes adresi - Gatavs - Vai neredzat e-pastu? Pārbaudiet mapi Mēstules vai nevēlamā pasta mapi. - Pārbaudiet savu e-pastu šajā ierīcē un pieskarieties saitei e-pastā, kuru saņēmāt no WordPress.com. + vai Mēs jums nosūtīsim e-pasta saiti, ar kuru jūs tūlīt pieteiksieties, parole nav nepieciešama. - Pārbaudiet e-pastu - Sāciet - Ievadiet savu e-pasta adresi, lai pieteiktos, vai izveidojiet WordPress.com kontu. - Vai arī ierakstiet paroli - Izveidot profilu + Pārbaudiet savu e-pastu šajā ierīcē un pieskarieties saitei e-pastā, kuru saņēmāt no WordPress.com. + Vai neredzat e-pastu? Pārbaudiet mapi Mēstules vai nevēlamā pasta mapi. + Gatavs + Atrodiet savas vietnes adresi Nosūtīt saiti e-pastā + Izveidot profilu + Vai arī ierakstiet paroli + Ievadiet savu e-pasta adresi, lai pieteiktos, vai izveidojiet WordPress.com kontu. + Sāciet + Pārbaudiet e-pastu Atiestatiet paroli Apstrādājot pieprasījumu, radās problēma. Lūdzu, pamēģiniet vēlreiz vēlāk. - Pārbaudiet savas vietnes nosaukumu Pieskarieties <b>%1$s</b>, lai rakstītu jaunu nosaukumu + Pārbaudiet savas vietnes nosaukumu Izmetot šo ziņu, tiks atceltas arī vietējās izmaiņas. Vai tiešām vēlaties turpināt? %s bloka opcijas - Noņemiet bloku - Dublēts bloks - Kopēt bloku - Kopēts bloks - Bloks ir ievietots - Bloka dublikāts - Bloks izgriezts - Bloks nokopēts Vietnes nosaukumu var mainīt tikai lietotājs ar administratora pilnvarām. - Vietnes nosaukums tiek parādīts tīmekļa pārlūkprogrammas virsraksta joslā, un lielākajai daļai motīvu tas tiek parādīts galvenē. - Temats - Nevarēja atjaunot vietnes nosaukumu. Pārbaudiet tīkla savienojumu un mēģiniet vēlreiz. + Bloks nokopēts + Bloks izgriezts + Bloka dublikāts + Bloks ir ievietots + Kopēts bloks + Kopēt bloku + Dublēts bloks + Noņemiet bloku Nesaglabātas izmaiņas - Atvērt saiti pārlūkprogrammā + Nevarēja atjaunot vietnes nosaukumu. Pārbaudiet tīkla savienojumu un mēģiniet vēlreiz. + Vietnes nosaukums tiek parādīts tīmekļa pārlūkprogrammas virsraksta joslā, un lielākajai daļai motīvu tas tiek parādīts galvenē. Pāriet uz iepriekšējo satura lapu - Pāriet, lai pielāgotu gradientu - Pāriet uz pielāgotu krāsu atlasītāju - Gradienta veids - Atgriezties - Veiciet dubultskārienu, lai atlasītu opciju + Atvērt saiti pārlūkprogrammā Pielāgot gradientu - Lapas autors - Nevarēja ielādēt multivides sīktēlu - Satura struktūra - Visi + Veiciet dubultskārienu, lai atlasītu opciju + Atgriezties + Gradienta veids + Pāriet uz pielāgotu krāsu atlasītāju + Pāriet, lai pielāgotu gradientu Es - Atlaist + Visi + Satura struktūra + Nevarēja ielādēt multivides sīktēlu + Lapas autors Nav uzstādīts - Birkas palīdz lasītājiem pastāstīt, par ko ir ziņa. - Publicēšanas datums - Pievienojiet birkas - Atpakaļ - Saglabāt tūlīt - Iesniegt tūlīt + Atlaist Ieplānojiet tūlīt - Publicēšana vietnē - Birkas - Publicēšanas datums - Atcelt - Pārvietot uz melnrakstu + Iesniegt tūlīt + Saglabāt tūlīt + Atpakaļ + Pievienojiet birkas + Publicēšanas datums + Birkas palīdz lasītājiem pastāstīt, par ko ir ziņa. Atkritnē ievietotās ziņas nevar rediģēt. Vai vēlaties mainīt šīs ziņas statusu uz \"melnraksts\", lai jūs varētu strādāt pie tās? + Pārvietot uz melnrakstu + Atcelt + Publicēšanas datums + Birkas + Publicēšana vietnē Vai pārvietot ziņu uz mapi Melnraksti? - Izvēlieties savus tematus - Izvēlieties savus tematus - Gatavs - Atlasiet dažus, lai turpinātu + Kalifornijas patērētāju konfidencialitātes likums (\"CCPA\") pieprasa, lai mēs Kalifornijas iedzīvotājiem sniegtu papildu informāciju par personiskās informācijas kategorijām, kuras mēs vācam un ar kuru mēs kopīgojam, kur mēs iegūstam šo personisko informāciju un kā un kāpēc mēs to izmantojam. + Izlasiet CCPA konfidencialitātes paziņojumu + Publicēšanas datums + Plānots Publicēts + Atlasiet dažus, lai turpinātu + Gatavs Izmests atkritnē - Plānots - Publicēšanas datums - Izlasiet CCPA konfidencialitātes paziņojumu - Kalifornijas patērētāju konfidencialitātes likums (\"CCPA\") pieprasa, lai mēs Kalifornijas iedzīvotājiem sniegtu papildu informāciju par personiskās informācijas kategorijām, kuras mēs vācam un ar kuru mēs kopīgojam, kur mēs iegūstam šo personisko informāciju un kā un kāpēc mēs to izmantojam. - Konfidencialitātes paziņojums Kalifornijas lietotājiem - Statuss un redzamība Atjaunināt tagad - Atvērt bloka darbību izvēlni - Pāriet uz augšu - Ievietot atsauci - Veiciet dubultskārienu, lai atvērtu apakšējo lapu ar pieejamajām opcijām + Statuss un redzamība + Konfidencialitātes paziņojums Kalifornijas lietotājiem + Pāriet uz augšu + Atvērt bloka darbību izvēlni Veiciet dubultskārienu, lai atvērtu darbību lapu ar pieejamajām opcijām - Šobrīd lapas nevar atvērt. Lūdzu, pamēģiniet vēlreiz vēlāk - Iestatīt kā ziņu lapu + Veiciet dubultskārienu, lai atvērtu apakšējo lapu ar pieejamajām opcijām + Ievietot atsauci + Atlasītā sākumlapa un ziņu lapa nevar būt vienādas. + Klasisks emuārs + Statiskā mājas lapa + Ziņu lapa + Izvēlēties lapu Iestatīt kā sākumlapu + Iestatīt kā ziņu lapu + Šobrīd lapas nevar atvērt. Lūdzu, pamēģiniet vēlreiz vēlāk %1$s nav derīgs %2$s - Izvēlēties lapu - Ziņu lapa - Statiskā mājas lapa - Klasisks emuārs - Atlasītā sākumlapa un ziņu lapa nevar būt vienādas. - Sākumlapas iestatījumu atjaunošana neizdevās, pārbaudiet interneta savienojumu - Nevar saglabāt sākumlapas iestatījumus pirms lapu ielādes - Nevar saglabāt sākumlapas iestatījumus - Pieņemt - Lapu ielāde neizdevās - Izvēlieties kādu no mājaslapas, kurā tiek rādītas jūsu jaunākās ziņas (klasiskais emuārs), vai fiksētu/statisku lapu. Mājas lapas iestatījumi - Mājas lapa - Ziņu lapas atjaunošana neizdevās - Ziņu lapa ir veiksmīgi atjaunota - Mājaslapas atjaunošana neizdevās - Mājas lapa ir veiksmīgi atjaunota - Lai iestatītu lapu Ziņas, vietnes iestatījumos iespējojiet \"Statiska sākumlapa\". + Izvēlieties kādu no mājaslapas, kurā tiek rādītas jūsu jaunākās ziņas (klasiskais emuārs), vai fiksētu/statisku lapu. + Lapu ielāde neizdevās + Pieņemt + Nevar saglabāt sākumlapas iestatījumus + Nevar saglabāt sākumlapas iestatījumus pirms lapu ielādes + Sākumlapas iestatījumu atjaunošana neizdevās, pārbaudiet interneta savienojumu Lai iestatītu sākumlapu, vietnes iestatījumos iespējojiet \"Statiska sākumlapa\". + Lai iestatītu lapu Ziņas, vietnes iestatījumos iespējojiet \"Statiska sākumlapa\". + Mājas lapa ir veiksmīgi atjaunota + Mājaslapas atjaunošana neizdevās + Ziņu lapa ir veiksmīgi atjaunota + Ziņu lapas atjaunošana neizdevās + Mājas lapa Izvēlieties krāsu Veiciet dubultskārienu, lai pārietu uz krāsu iestatījumiem - Sekojot vietnēm, šeit būs redzams to saturs + Nevarēja atlasīt vietni. Lūdzu mēģiniet vēlreiz. + Izvēlieties video + Izvēlieties multividi + Izmantot šo video + Izmantot šo mediju + Priekšskatījuma attēla sīktēls + Neizdevās ielādēt failā, lūdzu, mēģiniet vēlreiz. + apgriest + Ievietot %d Uzzināt vairāk Kas jauns %s - Ievietot %d - apgriest - Neizdevās ielādēt failā, lūdzu, mēģiniet vēlreiz. - Priekšskatījuma attēla sīktēls - Izmantot šo mediju - Izmantot šo video - Izvēlieties multividi - Izvēlieties video - Nevarēja atlasīt vietni. Lūdzu mēģiniet vēlreiz. - Turpināt - Atkārtots blogs neizdevās - Pārvaldīt vietnes - Kad esat izveidojis vietni WordPress.com, varat pārpublicēt saturu, kas jums patīk, savā vietnē. - Nav pieejamu WordPress.com vietņu - Kas jauns - Saites adrese ir nokopēta - Kopēt saites adresi - Kopīgot, izmantojot - Nevar kopīgot - Ievietot - Turpināt Kopēt + Turpināt + Ievietot + Nevar kopīgot + Kopīgot, izmantojot + Kopēt saites adresi + Saites adrese ir nokopēta + Kas jauns + Atkārtots blogs neizdevās + Turpināt Sleju skaits - Pārvietot bloku pa labi no pozīcijas %1$s uz pozīciju %2$s - Pārvietot bloku pa labi - Pārvietot bloku pa kreisi no pozīcijas %1$s uz pozīciju %2$s - Pārvietot bloku pa kreisi - Veiciet dubultskārienu, lai pārvietotu bloku pa labi Veiciet dubultskārienu, lai pārvietotu bloku pa kreisi - Bloku iestatījumi - Informācijas paneļa izveide - Notiek tēmas iestatīšana - Vietnes funkciju pievienošana - Vietnes URL satveršana - Jūsu vietne drīz būs gatava + Veiciet dubultskārienu, lai pārvietotu bloku pa labi + Pārvietot bloku pa kreisi + Pārvietot bloku pa kreisi no pozīcijas %1$s uz pozīciju %2$s + Pārvietot bloku pa labi + Pārvietot bloku pa labi no pozīcijas %1$s uz pozīciju %2$s Urrā! Gandrīz pabeigts - Atcelt augšupielādi + Jūsu vietne drīz būs gatava + Vietnes URL satveršana + Vietnes funkciju pievienošana + Notiek tēmas iestatīšana + Informācijas paneļa izveide + Bloku iestatījumi Apstrādājot pieprasījumu, radās problēma - Darbojas ar Tenor - Izvēlieties no Tenor - sestdiena - piektdiena - ceturtdiena - trešdiena - otrdiena + Atcelt augšupielādi pirmdiena + otrdiena + trešdiena + ceturtdiena + piektdiena + sestdiena + Izvēlieties no Tenor + Darbojas ar Tenor svētdiena - Neizdevās piekļūt privātas vietnes saturam. Daži multivides līdzekļi var nebūt pieejami Piekļuve privātas vietnes saturam + Neizdevās piekļūt privātas vietnes saturam. Daži multivides līdzekļi var nebūt pieejami Neizdevās apgriezt un saglabāt attēlu. Lūdzu, mēģiniet vēlreiz. - Neizdevās ielādēt attēlu. Lūdzu, pieskarieties, lai mēģinātu vēlreiz. Priekšskatīt attēlu Nezināms lapas formāts - Šo darbību pabeigt nebija iespējams, tāpēc lapa netika iesniegta pārskatīšanai. - Šo darbību pabeigt nebija iespējams, un lapa netika ieplānota. Šo darbību pabeigt nebija iespējams, un privātā lapa netika publicēta. - Šo darbību pabeigt nebija iespējams, un lapa netika publicēta. - Šo lapu iesniegt pārskatīšanai nebija iespējams, tāpēc vēlāk mēģināsim vēlreiz. - Šo lapu ieplānot nebija iespējams, tāpēc vēlāk mēģināsim vēlreiz. + Šo darbību pabeigt nebija iespējams, un lapa netika ieplānota. + Šo darbību pabeigt nebija iespējams, tāpēc lapa netika iesniegta pārskatīšanai. + Neizdevās ielādēt attēlu. Lūdzu, pieskarieties, lai mēģinātu vēlreiz. + Augšupielādēt šo multividi nebija iespējams, un šī lapa netika iesniegta pārskatīšanai. Šo privāto lapu publicēt nebija iespējams, tāpēc vēlāk mēģināsim vēlreiz. Šo lapu publicēt nebija iespējams, tāpēc vēlāk mēģināsim vēlreiz. - Augšupielādēt šo multividi nebija iespējams, un šī lapa netika iesniegta pārskatīšanai. - Augšupielādēt šo multividi nebija iespējams, un šī lapa netika ieplānota. - Augšupielādēt šo multividi nebija iespējams, un šī privātā lapa netika publicēta. - Nebija iespējams augšupielādēt šo multividi, un publicēt lapu. - Melnraksts tiks saglabāts, kad ierīce atkal būs tiešsaistē + Šo lapu ieplānot nebija iespējams, tāpēc vēlāk mēģināsim vēlreiz. + Šo lapu iesniegt pārskatīšanai nebija iespējams, tāpēc vēlāk mēģināsim vēlreiz. + Šo darbību pabeigt nebija iespējams, un lapa netika publicēta. Privātā lapa tiks publicēta, kad ierīce atkal būs tiešsaistē. - Lapa tiks ieplānota, kad ierīce atkal būs tiešsaistē. - Lapa tiks iesniegta pārskatīšanai, kad ierīce atkal būs tiešsaistē. - Lapa tiks publicēta, kad jūsu ierīce atkal būs tiešsaistē. - Rindā ievietota lapa - Augšupielādes lapa - Ierīce ir bezsaistē. Lapa saglabāta lokāli. + Melnraksts tiks saglabāts, kad ierīce atkal būs tiešsaistē + Nebija iespējams augšupielādēt šo multividi, un publicēt lapu. + Augšupielādēt šo multividi nebija iespējams, un šī privātā lapa netika publicēta. + Augšupielādēt šo multividi nebija iespējams, un šī lapa netika ieplānota. Šajā lapā esat veicis nesaglabātas izmaiņas - Jūsu lapa tiek augšupielādēta - Lapas multivides augšupielāde neizdevās, un tā tika saglabāta lokāli - Lapa saglabāta ierīcē - Lapa saglabāta tiešsaistē - Atlasiet emuāru QuickPress saīsnei - Iestata akumulatora jaudas taupīšanas režīms - Tumšs - Gaišs - Izskats + Ierīce ir bezsaistē. Lapa saglabāta lokāli. + Augšupielādes lapa + Rindā ievietota lapa + Lapa tiks publicēta, kad jūsu ierīce atkal būs tiešsaistē. + Lapa tiks iesniegta pārskatīšanai, kad ierīce atkal būs tiešsaistē. + Lapa tiks ieplānota, kad ierīce atkal būs tiešsaistē. Nesen veicāt izmaiņas šajā lapā, bet tās netika saglabātas. Izvēlieties versiju, ko ielādēt:\n\n + Izskats + Gaišs + Tumšs + Iestata akumulatora jaudas taupīšanas režīms + Atlasiet emuāru QuickPress saīsnei + Lapa saglabāta tiešsaistē + Lapa saglabāta ierīcē + Lapas multivides augšupielāde neizdevās, un tā tika saglabāta lokāli + Jūsu lapa tiek augšupielādēta Rādīt ziņas saturu - Rādīt tikai fragmentu - Saite uz Saites iestatījumi - Izraksta garums (vārdi) + Saite uz + Rādīt tikai fragmentu Rediģēt vāka mediju - PIELĀGOT + Izraksta garums (vārdi) Pogas saites URL - Robežu rādiuss + PIELĀGOT Pievienot rindkopu bloku - Izveidot ziņu - Izmests atkritnē - Ieplānots + Robežu rādiuss + Nav savienots Publicēts + Ieplānots + Izmests atkritnē + Izveidot ziņu Facebook savienojums nevar atrast nevienu lapu. Jetpack Social nevar izveidot savienojumu ar Facebook profiliem, tikai ar publicētajām lapām. - Nav savienots - Patīk - Seko - Komentāri + Atkritne Nelasīts Nemest atkritnē - Atkritne - Darbība - Ziņas un lapas - Vispārīgi - Pievienot jaunu karti + Komentāri + Seko + Patīk Pievienot jaunu statistikas karti - Izmantojiet filtra pogu, lai atrastu ziņas par konkrētām tēmām - Atlasiet birku vai vietni, uznirstošais logs - Atlasīt vietni vai tagu, lai filtrētu ziņas - Noņemt pašreizējo filtru - Pārvaldiet tēmas un vietnes + Pievienot jaunu karti + Vispārīgi + Ziņas un lapas + Darbība Piesakieties vietnē WordPress.com - Piesakieties vietnē WordPress.com, lai skatītu jaunākās ziņas par tēmām, kurām sekojat - Piesakieties vietnē WordPress.com, lai skatītu jaunākās ziņas no vietnēm, kurām sekojat - Aizstāt pašreizējo bloku - Pievienot beigām - Pievienot sākumam - Pievienot bloku pirms + Noņemt pašreizējo filtru + Izmantojiet filtra pogu, lai atrastu ziņas par konkrētām tēmām Pievienot bloku pēc - Pievienot tematu - Sekot vietnei - Varat sekot ziņām par konkrētu tēmu, pievienojot tēmu - Skatiet jaunākās ziņas no vietnēm, kurām sekojat - Sekojošs + Pievienot bloku pirms + Pievienot sākumam + Pievienot beigām + Aizstāt pašreizējo bloku Filtrs - Video paraksts. %s - Rediģēt video Rediģēt multividi Pievienot īskodu… - Ziņas autors - Izveidojiet ziņu - Jūs esat apskatījuši visus šī perioda statistikas datus.\n Ja piesitīsiet vēlreiz, sāksiet no sākuma. - Šajā periodā statistikas nav. - Publicēšanas darbība %1$s - Dienas ar %1$s skatījumiem vietnei %2$s ir: %2$s %3$s. Pieskarieties, lai uzzinātu vairāk. - pārvietoties pa visu šī perioda statistiku - ļoti augstu - augsts - vidējs - zems + Rediģēt video + Video paraksts. %s   & %1$d %2$s + zems + vidējs + augsts + ļoti augstu + pārvietoties pa visu šī perioda statistiku + Dienas ar %1$s skatījumiem vietnei %2$s ir: %2$s %3$s. Pieskarieties, lai uzzinātu vairāk. + Publicēšanas darbība %1$s + Šajā periodā statistikas nav. + Jūs esat apskatījuši visus šī perioda statistikas datus.\n Ja piesitīsiet vēlreiz, sāksiet no sākuma. + Izveidojiet ziņu + Ziņas autors %1$s, %2$d %3$s - Galerijas paraksts. %s Izveidojiet ziņu vai lapu - Persona, kas veido tīmekļa vietni - Ne tieši tagad + Galerijas paraksts. %s Neatkarīgi no tā, ko vēlaties izveidot vai kopīgot, mēs jums palīdzēsim to izdarīt šeit. - Laipni lūdzam WordPress - Fotoattēlu bibliotēka + Ne tieši tagad + Persona, kas veido tīmekļa vietni Attēla atlase ir atcelta - ,Atlasīts - Attēls atlasīts - Attēla sīktēls - Emuāra ziņa + Fotoattēlu bibliotēka + Laipni lūdzam WordPress Pievieno jaunu + Emuāra ziņa + Attēla sīktēls + Attēls atlasīts + ,Atlasīts Publicēt - Sinhronizēt tūlīt - Šī ziņa tiks nekavējoties sinhronizēta. Vai esat gatavs sinhronizācijai? - Šis domēns nav pieejams + Šī ziņa tiks nekavējoties sinhronizēta. + Sinhronizēt tūlīt -%s - Nebija iespējams piekļūt jūsu vietnei. Lai to atrisinātu, jums būs jāsazinās ar saimnieku. - Nebija iespējams piekļūt jūsu vietnei, jo radās problēma ar <b>SSL sertifikātu</b>. Lai to atrisinātu, jums būs jāsazinās ar saimnieku. + Šis domēns nav pieejams Nebija iespējams piekļūt jūsu vietnei, jo tai nepieciešama <b>HTTP autentifikācija</b>. Lai to atrisinātu, jums būs jāsazinās ar mitinātāju. - Nebija iespējams piekļūt <b>XMLRPC failam</b> jūsu vietnē. Lai to atrisinātu, jums būs jāsazinās ar savu mitinātāju. - Gandrīz ir! Vēl tikai jāpārbauda jūsu ar Jetpack savienotā e-pasta adrese <b>%1$s</b> - Piesakieties ar saviem %1$s vietnes akreditācijas datiem + Nebija iespējams piekļūt jūsu vietnei, jo radās problēma ar <b>SSL sertifikātu</b>. Lai to atrisinātu, jums būs jāsazinās ar saimnieku. + Nebija iespējams piekļūt jūsu vietnei. Lai to atrisinātu, jums būs jāsazinās ar saimnieku. Vietnes lapa - Pēc - Patīk - Atklājiet - Saglabāts - %sQi - %sQa - %sT - %sB - %sM - %sK - Šobrīd atvērt ziņas nav iespējams. Lūdzu, mēģiniet vēlreiz vēlāk + Piesakieties ar saviem %1$s vietnes akreditācijas datiem + Gandrīz ir! Vēl tikai jāpārbauda jūsu ar Jetpack savienotā e-pasta adrese <b>%1$s</b> + Nebija iespējams piekļūt <b>XMLRPC failam</b> jūsu vietnē. Lai to atrisinātu, jums būs jāsazinās ar savu mitinātāju. Pašlaik ielādēt jūsu vietnes datus nav iespējams. Lūdzu, mēģiniet vēlreiz vēlāk + Šobrīd atvērt ziņas nav iespējams. Lūdzu, mēģiniet vēlreiz vēlāk + %sK + %sM + %sB + %sT + %sQa + %sQi + Saglabāts + Atklājiet + Patīk WordPress multivides bibliotēka - Nesaderīgs - Atgrupēt - Pieskarieties, lai paslēptu tastatūru - Pieskarieties šeit, lai parādītu palīdzību - Uzņemiet video - Uzņemiet fotoattēlu vai video - Fotogrāfēt Sāciet rakstīt… - %s bloks. Šajā blokā ir nederīgs saturs - %s bloks. Tukšs + Fotogrāfēt + Uzņemiet fotoattēlu vai video + Uzņemiet video + Pieskarieties šeit, lai parādītu palīdzību + Pieskarieties, lai paslēptu tastatūru + Atgrupēt + Nesaderīgs Izgriezt bloku - Atverot videoklipu, radās problēma - Problēma, parādot bloku - Ziņas virsraksts. %s - Ziņas virsraksts. Tukšs - Ievietojiet URL - Lappuses pārtraukuma bloks. %s - Atveriet iestatījumus + %s bloks. Tukšs + %s bloks. Šajā blokā ir nederīgs saturs Neviena lietojumprogramma nevar apstrādāt šo pieprasījumu. Lūdzu, instalējiet tīmekļa pārlūkprogrammu. - Virzieties uz augšu - Pārvietot bloku uz augšu no rindas %1$s uz rindu %2$s - Pārvietot bloku uz augšu + Atveriet iestatījumus + Lappuses pārtraukuma bloks. %s + Ievietojiet URL + Ziņas virsraksts. Tukšs + Ziņas virsraksts. %s + Problēma, parādot bloku + Atverot videoklipu, radās problēma Pārvietot bloku uz leju no rindas %1$s uz rindu %2$s - Pārvietojiet bloku uz leju - Saites teksts - Saite ievietota - Attēla paraksts. %s - Slēpt tastatūru - Palīdzības ikona + Pārvietot bloku uz augšu + Pārvietot bloku uz augšu no rindas %1$s uz rindu %2$s + Virzieties uz augšu Veiciet dubultskārienu, lai atsauktu pēdējās izmaiņas - Veiciet dubultskārienu, lai pārslēgtu iestatījumu - Veiciet dubultskārienu, lai atlasītu attēlu - Veiciet dubultskārienu, lai atlasītu videoklipu - Veiciet dubultskārienu, lai atlasītu + Palīdzības ikona + Slēpt tastatūru + Attēla paraksts. %s + Saite ievietota + Saites teksts + Pārvietojiet bloku uz leju Veiciet dubultskārienu, lai atsauktu pēdējās izmaiņas - Veiciet dubultskārienu, lai pārvietotu bloku uz augšu - Veiciet dubultskārienu, lai pārvietotu bloku uz leju - Veiciet dubultskārienu, lai rediģētu šo vērtību - Veiciet dubultskārienu, lai pievienotu bloku + Veiciet dubultskārienu, lai atlasītu + Veiciet dubultskārienu, lai atlasītu videoklipu + Veiciet dubultskārienu, lai atlasītu attēlu + Veiciet dubultskārienu, lai pārslēgtu iestatījumu Veiciet dubultskārienu un turiet, lai rediģētu - Pašreizējā vērtība ir %s + Veiciet dubultskārienu, lai pievienotu bloku + Veiciet dubultskārienu, lai rediģētu šo vērtību + Veiciet dubultskārienu, lai pārvietotu bloku uz leju + Veiciet dubultskārienu, lai pārvietotu bloku uz augšu Izvēlieties kādu no ierīces - Radās nezināma kļūda. Lūdzu mēģiniet vēlreiz. - Alternatīvais teksts - Pievienot URL - Pievienojiet alternatīvo tekstu + Pašreizējā vērtība ir %s PIEVIENOT BLOKU ŠEIT + Pievienojiet alternatīvo tekstu + Pievienot URL + Alternatīvais teksts + Radās nezināma kļūda. Lūdzu mēģiniet vēlreiz. Pievienojiet aprakstu - Pieskarieties pogai Pievienot pie Saglabāt ziņas, lai saglabātu ziņu sarakstā. \"Sarakstā ir ielādēti %1$d vienumi.\" - Paziņojumi - Izslēgts - Ieslēgts + Pieskarieties pogai Pievienot pie Saglabāt ziņas, lai saglabātu ziņu sarakstā. Izslēdzot šīs vietnes paziņojumus, tiks atspējota paziņojumu rādīšana šīs vietnes paziņojumu cilnē. Pēc šīs vietnes paziņojumu ieslēgšanas varat precizēt, kāda veida paziņojumi tiek rādīti. - Lai skatītu paziņojumus šīs vietnes paziņojumu cilnē, ieslēdziet šīs vietnes paziņojumus. - Iespējot paziņojumu rādīšanu šīs vietnes paziņojumu cilnē - Atspējot paziņojumu rādīšanu šīs vietnes paziņojumu cilnē - Paziņojumi par šo vietni + Ieslēgts + Izslēgts + Paziņojumi Paziņojumi par šo vietni + Paziņojumi par šo vietni + Atspējot paziņojumu rādīšanu šīs vietnes paziņojumu cilnē + Iespējot paziņojumu rādīšanu šīs vietnes paziņojumu cilnē + Lai skatītu paziņojumus šīs vietnes paziņojumu cilnē, ieslēdziet šīs vietnes paziņojumus. Pievienojiet attēlu vai video - Nebija iespējams iesniegt šo ziņu pārskatīšanai, taču vēlāk mēģināsim vēlreiz. - Nebija iespējams ieplānot šo ziņu, taču vēlāk tiks mēģināts vēlreiz. Nebija iespējams publicēt šo privāto ziņu, taču vēlāk tiks mēģināts vēlreiz. - Nebija iespējam pabeigt šo darbību, taču vēlāk tiks mēģināts vēlreiz. - Nebija iespējam pabeigt šo darbību un un ziņa netika iesniegta pārskatīšanai. - Nebija iespējam pabeigt šo darbību un un ziņa netika ieplānota. + Nebija iespējams ieplānot šo ziņu, taču vēlāk tiks mēģināts vēlreiz. + Nebija iespējams iesniegt šo ziņu pārskatīšanai, taču vēlāk mēģināsim vēlreiz. Nebija iespējam pabeigt šo darbību un un privātā ziņa netika publicēta. Nebija iespējam pabeigt šo darbību un un ziņa netika publicēta. + Nebija iespējam pabeigt šo darbību un un ziņa netika ieplānota. + Nebija iespējam pabeigt šo darbību un un ziņa netika iesniegta pārskatīšanai. + Nebija iespējam pabeigt šo darbību, taču vēlāk tiks mēģināts vēlreiz. + Nebija iespējam augšupielādēt šo multividi. Nebija iespējam augšupielādēt šo multividi, un ziņa netika iesniegta pārskatīšanai. Nebija iespējam augšupielādēt šo multividi, un ziņa netika ieplānota. Nebija iespējam augšupielādēt šo multividi, un privātā ziņa netika publicēta. Nebija iespējam augšupielādēt šo multividi, un ziņa netika publicēta. - Nebija iespējam augšupielādēt šo multividi. - Nebija iespējams pabeigt šo darbību, taču vēlāk tiks mēģināts vēlreiz. - Nebija iespējams pabeigt šo darbību. - Nevar priekšskatīt tukšu melnrakstu - Nevar priekšskatīt tukšu lapu - Nevar priekšskatīt tukšu ziņu - Priekšskatījums nav pieejams - Mēģinot saglabāt ziņu pirms priekšskatījuma, radās kļūda Priekšskatījuma veidošana… - Notiek saglabāšana… + Mēģinot saglabāt ziņu pirms priekšskatījuma, radās kļūda + Priekšskatījums nav pieejams + Nevar priekšskatīt tukšu ziņu + Nevar priekšskatīt tukšu lapu + Nevar priekšskatīt tukšu melnrakstu + Nebija iespējams pabeigt šo darbību. + Nebija iespējams pabeigt šo darbību, taču vēlāk tiks mēģināts vēlreiz. Jūs esat veicis nesaglabātas izmaiņas šajā ziņā - Šīs lietotnes versija + Notiek saglabāšana… + Jaunākās izmaiņas jūsu melnrakstā netiks saglabātas. + Neatgriezeniski dzēst + Kuru versiju vēlaties rediģēt? + Jūs nesen esat veicis izmaiņas ziņā, bet tās netika saglabātas. Izvēlieties versiju, ko ielādēt:\n\n\n\n Versija no citas ierīces + Šīs lietotnes versija No šīs lietotnes \nsaglabāts %1$s\n\nNo citas ierīces \nsaglabāts %2$s\n - Jūs nesen esat veicis izmaiņas ziņā, bet tās netika saglabātas. Izvēlieties versiju, ko ielādēt:\n\n\n\n - Kuru versiju vēlaties rediģēt? - Neatgriezeniski dzēst - Jaunākās izmaiņas jūsu melnrakstā netiks saglabātas. - Šīs izmaiņas netiks plānotas. - Mēs neiesniegsim šīs izmaiņas pārskatīšanai. - Mēs nepublicēsim šīs izmaiņas. - Mēs saglabāsim jūsu melnrakstu, kad ierīce atkal būs tiešsaistē Mēs publicēsim jūsu privāto ziņu, kad ierīce atkal būs tiešsaistē. - Mēs ieplānosim jūsu publicēšanu, kad ierīce atkal būs tiešsaistē. - Mēs iesniegsim jūsu ziņu pārskatīšanai, kad ierīce atkal būs tiešsaistē. + Mēs saglabāsim jūsu melnrakstu, kad ierīce atkal būs tiešsaistē + Mēs nepublicēsim šīs izmaiņas. + Mēs neiesniegsim šīs izmaiņas pārskatīšanai. + Šīs izmaiņas netiks plānotas. Mēs publicēsim ziņu, kad jūsu ierīce atkal būs tiešsaistē. - Šo darbību nevar atcelt. Lietotājvārds, iespējams, jau ir atjaunots. - Jūsu jaunais lietotājvārds ir %1$s + Mēs iesniegsim jūsu ziņu pārskatīšanai, kad ierīce atkal būs tiešsaistē. + Mēs ieplānosim jūsu publicēšanu, kad ierīce atkal būs tiešsaistē. Notiek lietotājvārda saglabāšana… - Mainīt lietotājvārdu - Jūs maināt savu lietotājvārdu uz %1$s%2$s%3$s. Lietotājvārda maiņa ietekmēs arī jūsu Gravatar profila un Intense Debate profila adreses. Lai turpinātu, apstipriniet savu jauno lietotājvārdu. - Uzmanīgi! - Jūs gatavojaties mainīt savu lietotājvārdu, kas pašlaik ir %1$s%2$s%3$s.Jūs nevarēsiet mainīt savu lietotājvārdu atpakaļ. - Skatiet un mainiet savus Jetpack veiktspējas iestatījumus + Jūsu jaunais lietotājvārds ir %1$s + Šo darbību nevar atcelt. Lietotājvārds, iespējams, jau ir atjaunots. Veiktspēja un ātrums - Vairāk - Aizstājiet WordPress iebūvēto meklēšanu ar uzlabotu meklēšanu - Uzlabota meklēšana - Jetpack meklēšana - Video mitināšana bez reklāmām - Plašsaziņas līdzekļi - Ielādējiet lapas ātrāk, ļaujot Jetpack optimizēt jūsu attēlus un statiskos failus (piemēram, CSS un JavaScript). - Ātrāki statiskie faili - Ātrāki attēli + Skatiet un mainiet savus Jetpack veiktspējas iestatījumus + Jūs gatavojaties mainīt savu lietotājvārdu, kas pašlaik ir %1$s%2$s%3$s.Jūs nevarēsiet mainīt savu lietotājvārdu atpakaļ. + Uzmanīgi! + Jūs maināt savu lietotājvārdu uz %1$s%2$s%3$s. Lietotājvārda maiņa ietekmēs arī jūsu Gravatar profila un Intense Debate profila adreses. Lai turpinātu, apstipriniet savu jauno lietotājvārdu. + Mainīt lietotājvārdu Izslēgts - Ieslēgts + Ātrāki attēli + Ātrāki statiskie faili + Ielādējiet lapas ātrāk, ļaujot Jetpack optimizēt jūsu attēlus un statiskos failus (piemēram, CSS un JavaScript). + Plašsaziņas līdzekļi + Video mitināšana bez reklāmām + Jetpack meklēšana + Uzlabota meklēšana + Aizstājiet WordPress iebūvēto meklēšanu ar uzlabotu meklēšanu + Vairāk + Veiktspēja Vietnes paātrinātājs + Ieslēgts Uzlabojiet savas vietnes ātrumu, ielādējot tikai ekrānā redzamos attēlus. - Veiktspēja Lejupielādes - Fails - Failu lejupielādes - Failu lejupielādes statistika netika reģistrēta pirms 2019. gada 28. jūnija. - Vietnes laika josla (UTC — %s) - Vietnes laika josla (UTC + %s) Vietnes laika josla (UTC) - Darbvirsma - Noklusējums - Aizvērt dialoglodziņu - Atlasiet priekšskatījuma veidu - Dalīties - Atgriezties + Vietnes laika josla (UTC + %s) + Vietnes laika josla (UTC — %s) + Failu lejupielādes statistika netika reģistrēta pirms 2019. gada 28. jūnija. + Failu lejupielādes + Fails + \"%s\" tiks publicēts pēc 10 minūtēm + WordPress ieplānotā ziņa: \"%s\" Virzīties uz priekšu + Atgriezties + Dalīties + Atlasiet priekšskatījuma veidu + Aizvērt dialoglodziņu + Noklusējums + Darbvirsma \"%1$s\" ir plānots publicēt \"%2$s\" jūsu %3$s lietotnē\n%4$s - WordPress ieplānotā ziņa: \"%s\" - \"%s\" tiks publicēts pēc 10 minūtēm - \"%s\" tiks publicēts pēc 1 stundas - \"%s\" ir publicēts - Ieplānotā ziņa: atgādinājums 10 minūtes pirms - Plānotā ziņa: atgādinājums 1 stundu pirms - Plānotā ziņa - Paziņojumu nevar izveidot, ja publicēšanas datums ir pagātnē. - Kad tiek publicēts - 10 minūtes pirms - 1 stundu iepriekš - Izslēgts - Pievienot kalendāram - Paziņojums + Kad tiek publicēts + Paziņojumu nevar izveidot, ja publicēšanas datums ir pagātnē. + Plānotā ziņa + \"%s\" ir publicēts + Plānotā ziņa: atgādinājums 1 stundu pirms + Ieplānotā ziņa: atgādinājums 10 minūtes pirms + \"%s\" tiks publicēts pēc 1 stundas Datums un laiks + Paziņojums + Pievienot kalendāram + Izslēgts + 1 stundu iepriekš + 10 minūtes pirms Lūdzu, ievadiet pilnu vietnes adresi, piemēram, example.com. - Piesakieties vietnē WordPress.com, lai izveidotu savienojumu ar %1$s - Skati - Ziņa - %1$s: %2$s, %3$s: %4$s - Vienums ir sakļauts - Vienums izvērsts - Sakļaut - Izvērst - Grafiks atjaunots. - %1$s %2$s periodam: %3$s, izmaiņas salīdzinājumā ar iepriekšējo periodu — %4$s - Notiek atlasītās kartes datu ielāde Redaktors - Izvērst - Sakļaut - Apstipriniet savu e-pasta adresi — uz jūsu e-pastu nosūtīti norādījumi + Notiek atlasītās kartes datu ielāde + %1$s %2$s periodam: %3$s, izmaiņas salīdzinājumā ar iepriekšējo periodu — %4$s + Grafiks atjaunots. + Izvērst + Sakļaut + Vienums izvērsts + Vienums ir sakļauts + %1$s: %2$s, %3$s: %4$s + Ziņa + Skati + Piesakieties vietnē WordPress.com, lai izveidotu savienojumu ar %1$s Apstipriniet savu e-pasta adresi — norādījumi nosūtīti uz %s - Atcelt - Labi - http(s):// + Apstipriniet savu e-pasta adresi — uz jūsu e-pastu nosūtīti norādījumi + Sakļaut + Izvērst + Notiek multivides augšupielāde. Lūdzu, pieskarieties, lai skatītu opcijas. + Mēģiniet augšupielādēt vēlreiz Noņemt saiti Ievietot saiti - Mēģiniet augšupielādēt vēlreiz - Notiek multivides augšupielāde. Lūdzu, pieskarieties, lai skatītu opcijas. + http(s):// + Atcelt + Labi Atveriet saiti jaunā logā/cilnē Lai skatītu savu statistiku, piesakieties WordPress.com kontā. - Nav ziņu, kas atbilstu jūsu meklēšanas vaicājumam - Meklēt ziņas - Šeit cilvēki jūs atradīs internetā. - Īsumā - Šodien Visu laiku - Skatījumi šonedēļ - Lūdzu, piesakieties WordPress lietotnē, lai pievienotu logrīku. - Nav pieejams neviens tīkls - Nevarēja ielādēt datus - Tips - Krāsa - Izvēlieties savu vietni - Tumšs - Gaisma - Krāsa - Izvēlieties savu vietni - Vietne - Visu laiku - Skatījumi šonedēļ + Šodien + Īsumā + Šeit cilvēki jūs atradīs internetā. + Meklēt ziņas + Nav ziņu, kas atbilstu jūsu meklēšanas vaicājumam Pievienojiet logrīku - Spraudņa informācijas atsvaidzināšana aizņem ilgāku laiku nekā parasti. Lūdzu, vēlāk pārbaudiet vēlreiz. + Skatījumi šonedēļ + Visu laiku + Vietne + Izvēlieties savu vietni + Krāsa + Gaisma + Tumšs + Izvēlieties savu vietni + Krāsa + Tips + Nevarēja ielādēt datus + Nav pieejams neviens tīkls + Lūdzu, piesakieties WordPress lietotnē, lai pievienotu logrīku. + Skatījumi šonedēļ Ja tikko reģistrējāt domēna vārdu, lūdzu, pagaidiet, līdz mēs pabeigsim tā iestatīšanu, un mēģiniet vēlreiz.\n\nJa tā nav, šķiet, ka kaut kas ir noticis nepareizi un spraudņa funkcija šai vietnei var nebūt pieejama. - Pavalsts (nav pieejama) - Reģistrējot šo domēnu, jūs piekrītat mūsu %1$s noteikumiem %2$s - Pārbaudiet tīkla savienojumu un mēģiniet vēlreiz. - Šobrīd nevar ielādēt šo lapu. - Nevarēja izgūt iestatījumus: daži API nav pieejami šai OAuth lietotnes ID un konta kombinācijai. + Spraudņa informācijas atsvaidzināšana aizņem ilgāku laiku nekā parasti. Lūdzu, vēlāk pārbaudiet vēlreiz. Iestatot Jetpack, jūs piekrītat mūsu %1$s noteikumiem un nosacījumiem %2$s - Nav savienojuma. Rediģēšana ir atspējota. - Lai atkārtoti savienotu lietotni ar jūsu pašu mitināto vietni, ievadiet šeit jauno vietnes paroli. - Parole atjaunota + Nevarēja izgūt iestatījumus: daži API nav pieejami šai OAuth lietotnes ID un konta kombinācijai. + Šobrīd nevar ielādēt šo lapu. + Pārbaudiet tīkla savienojumu un mēģiniet vēlreiz. + Reģistrējot šo domēnu, jūs piekrītat mūsu %1$s noteikumiem %2$s + Pavalsts (nav pieejama) Atjaunot paroli + Parole atjaunota + Lai atkārtoti savienotu lietotni ar jūsu pašu mitināto vietni, ievadiet šeit jauno vietnes paroli. + Nav savienojuma. Rediģēšana ir atspējota. Notiek domēna vārda reģistrācija… - Atlasiet valsti Izvēlies valsti - Reģistrēt domēnu - Pasta indekss - Valsts - Pilsēta - Adrese 2 - Adrese - Valsts - Valsts kods + Atlasiet valsti Tālrunis - Organizācija (pēc izvēles) + Valsts kods + Valsts + Adrese + Adrese 2 + Pilsēta + Valsts + Pasta indekss + Reģistrēt domēnu Jūsu ērtībai esam iepriekš aizpildījuši jūsu WordPress.com\n kontaktinformāciju. Lūdzu, pārskatiet to, lai pārliecinātos, ka tā ir pareizā informācija, ko vēlaties izmantot šim domēnam. - Domēna kontaktinformācija - Reģistrējies publiski - Reģistrējieties privāti, izmantojot Privātuma aizsardzību + Organizācija (pēc izvēles) Domēnu īpašniekiem ir jādalās ar kontaktinformāciju publiski pieejamā visu domēnu datubāzē.\n Izmantojot konfidencialitātes aizsardzību, mēs publicējam savu, nevis jūsu informāciju un privāti pārsūtam jebkuru saziņu jums. - Privātuma aizsardzība + Reģistrējieties privāti, izmantojot Privātuma aizsardzību + Reģistrējies publiski + Domēna kontaktinformācija Lūdzu, ievadiet derīgu %s - Jauns - Atlaist - Pamēģiniet to tagad - Izvēlieties, kādu statistiku skatīt, un koncentrējieties uz datiem, kas jums ir vissvarīgākie. Ieskatu apakšdaļā pieskarieties vienumam %1$s, lai pielāgotu savu statistiku. + Privātuma aizsardzība Pārvaldiet savu statistiku + Izvēlieties, kādu statistiku skatīt, un koncentrējieties uz datiem, kas jums ir vissvarīgākie. Ieskatu apakšdaļā pieskarieties vienumam %1$s, lai pielāgotu savu statistiku. + Pamēģiniet to tagad + Atlaist + Jauns Pārskatu iegūšana… - Neizdevās ievietot datu nesēju. Lūdzu, pieskarieties, lai skatītu opcijas. - Neizdevās ievietot datu nesēju. \nLūdzu, pieskarieties, lai mēģinātu vēlreiz. Notiek jūsu melnraksta augšupielāde + Neizdevās ievietot datu nesēju. \nLūdzu, pieskarieties, lai mēģinātu vēlreiz. + Neizdevās ievietot datu nesēju. Lūdzu, pieskarieties, lai skatītu opcijas. Notiek melnraksta augšupielāde - Melnraksti Atjaunojot ziņu, radās kļūda - Ar atpakaļejošu datumu: %s - Skatiet tikai visatbilstošāko statistiku. Tālāk pievienojiet un kārtojiet savus ieskatus. - Sociālie - Vietņu gada statistika - Sekotāju kopsumma - Domēna ieteikumus nevarēja ielādēt - Ierakstiet atslēgvārdu, lai iegūtu vairāk ideju - Ieteikumi netika atrasti + Melnraksti Reģistrēt domēnu - Noņemt no ieskatiem - Pārvietojieties uz leju - Pārvietojieties uz augšu - Statistikas vienumu iestatījumi - Ziņa tiek pārveidota par melnrakstu - Ziņa tiek atjaunota - Ziņa atjaunota - Ziņa tiek izmesta atktitnē - Izmetot šo ziņu, tiks izmestas arī nesaglabātās izmaiņas. Vai tiešām vēlaties turpināt? + Ieteikumi netika atrasti + Ierakstiet atslēgvārdu, lai iegūtu vairāk ideju + Domēna ieteikumus nevarēja ielādēt + Sekotāju kopsumma + Vietņu gada statistika + Sociālie + Skatiet tikai visatbilstošāko statistiku. Tālāk pievienojiet un kārtojiet savus ieskatus. + Ar atpakaļejošu datumu: %s Vietējās izmaiņas - Pārvietot uz melnrakstu - Pārslēgties uz saraksta skatu - Pārslēgties uz karšu skatu - Jums nav nevienas atkritnē ievietotas ziņas - Jums nav neviena ziņas melnraksta - Jums nav ieplānotu ziņu + Izmetot šo ziņu, tiks izmestas arī nesaglabātās izmaiņas. Vai tiešām vēlaties turpināt? + Ziņa tiek izmesta atktitnē + Ziņa atjaunota + Ziņa tiek atjaunota + Ziņa tiek pārveidota par melnrakstu + Statistikas vienumu iestatījumi + Pārvietojieties uz augšu + Pārvietojieties uz leju + Noņemt no ieskatiem Jūs vēl neesat publicējis nevienu ziņu - Lūdzu, piesakieties ar savu lietotājvārdu un paroli. + Jums nav ieplānotu ziņu + Jums nav neviena ziņas melnraksta + Jums nav nevienas atkritnē ievietotas ziņas + Pārslēgties uz karšu skatu + Pārslēgties uz saraksta skatu + Pārvietot uz melnrakstu Lūdzu, piesakieties, izmantojot savu WordPress.com lietotājvārdu, nevis e-pasta adresi. - Vidēji vārdi / ziņa - Vārdu kopskaits - Vidējais rādītājs patīk / ziņa - Kopējais simpātiju skaits - Vidēji komentāri / ziņas - Kopā komentāri - Ziņas - gads - Šogad + Lūdzu, piesakieties ar savu lietotājvārdu un paroli. Vietne šajā adresē nav WordPress vietne. Lai mēs varētu ar to izveidot savienojumu, vietnei ir jāizmanto WordPress. - Neizdevās pārbaudīt pieejamos domēna kredītus + Šogad + gads + Ziņas + Kopā komentāri + Vidēji komentāri / ziņas + Kopējais simpātiju skaits + Vidējais rādītājs patīk / ziņa + Vārdu kopskaits + Vidēji vārdi / ziņa Domēna kredītu pārbaude - Reģistrēt domēnu - Lai instalētu spraudņus, ar vietni ir jābūt saistītam pielāgotam domēnam. + Neizdevās pārbaudīt pieejamos domēna kredītus Instalējiet spraudni - Vēlāk varēsiet pielāgot savas vietnes izskatu un darbību - Publicēšanas datums: %s - Grafiks: %s - Publicēts: %s - Paredzēts: %s - Pēdējās nedēļas - Vid. Skatījumi dienā - Skatījumi - Periods - Mēneši un gadi + Lai instalētu spraudņus, ar vietni ir jābūt saistītam pielāgotam domēnam. + Reģistrēt domēnu Ielādēt vairāk - Šodien - Labākā stunda - Labākā diena + Mēneši un gadi + Periods + Skatījumi + Vid. Skatījumi dienā + Pēdējās nedēļas + Paredzēts: %s + Publicēts: %s + Grafiks: %s + Publicēšanas datums: %s + Vēlāk varēsiet pielāgot savas vietnes izskatu un darbību Tiek rādīta statistika par: - Nē paldies - Vēlāk - Novērtējiet tagad + Labākā diena + Labākā stunda + Šodien Priecājos jūs atkal redzēt! Ja jums patīk lietotne, mēs priecāsimies par vērtējumu Google Play veikalā. - Ziņa ir pārveidota atpakaļ melnrakstā - Sūtīšanas aktivitāte - Vietne vēl nav ielādēta - Vairāk ziņu + Novērtējiet tagad + Vēlāk + Nē paldies Mazāk ziņu - Jūs varat zaudēt sasniegto. Vai esat pārliecināts, ka vēlaties iziet? - Jebkurā gadījumā skatiet plānus - Lai skatītu plānus, ir nepieciešams interneta savienojums, tāpēc informācija var būt novecojusi. - Lai skatītu plānus, ir nepieciešams interneta savienojums. + Vairāk ziņu + Vietne vēl nav ielādēta + Sūtīšanas aktivitāte + Ziņa ir pārveidota atpakaļ melnrakstā Pašlaik nevaram ielādēt plānus. Lūdzu, pamēģiniet vēlreiz vēlāk. - Nevar ielādēt plānus - Nav savienojuma - Pārslēdzieties uz bloku redaktoru - Ielādējot datus, radās problēma. Atsvaidziniet lapu, lai mēģinātu vēlreiz. - Dati nav ielādēti - Rediģējiet jaunas ziņas un lapas, izmantojot bloku redaktoru + Lai skatītu plānus, ir nepieciešams interneta savienojums. + Lai skatītu plānus, ir nepieciešams interneta savienojums, tāpēc informācija var būt novecojusi. + Jebkurā gadījumā skatiet plānus + Jūs varat zaudēt sasniegto. Vai esat pārliecināts, ka vēlaties iziet? Izmantojiet bloku redaktoru + Rediģējiet jaunas ziņas un lapas, izmantojot bloku redaktoru + Dati nav ielādēti + Ielādējot datus, radās problēma. Atsvaidziniet lapu, lai mēģinātu vēlreiz. + Pārslēdzieties uz bloku redaktoru + Nav savienojuma + Nevar ielādēt plānus izeja - Palieliniet savu auditoriju - Pielāgojiet savu vietni - Nākamie soļi - Izvēlieties unikālu vietnes ikonu Apmeklētāji savā pārlūkprogrammā redzēs jūsu ikonu. Pievienojiet pielāgotu ikonu, lai iegūtu izsmalcinātu, profesionālu izskatu. - Pieskarieties %1$s Statistika %2$s, lai redzētu, kā darbojas jūsu vietne. + Izvēlieties unikālu vietnes ikonu + Nākamie soļi + Pielāgojiet savu vietni + Palieliniet savu auditoriju Piesitiet %1$s Jūsu vietnes ikonai %2$s, lai augšupielādētu jaunu ikonu. Sagatavojiet un publicējiet savu pirmo ziņu. + Pieskarieties %1$s Statistika %2$s, lai redzētu, kā darbojas jūsu vietne. Iespējot ziņu kopīgošanu Automātiski kopīgojiet jaunas ziņas savos sociālo mediju kontos. - Pārbaudiet savas vietnes statistiku Sekojiet līdzi savas vietnes veiktspējai. - Izlaist uzdevumu + Pārbaudiet savas vietnes statistiku Atgādinājums - Izvēlieties nākamo periodu - Izvēlieties iepriekšējo periodu - %1$s skatījumu + Izlaist uzdevumu Populārākais laiks - %1$s (%2$s) + Izvēlieties iepriekšējo periodu + Izvēlieties nākamo periodu +%1$s (%2$s) - Tiek rādīts vietnes priekšskatījums - Skaidrs - Šķiet, ka savienojums ir lēns. Ja sarakstā neredzat savu jauno vietni, mēģiniet atsvaidzināt. - Atcelt vietnes izveides vedni - Mēs veidojam jūsu jauno vietni - Radās problēma - Izveidot vietni - Izveidot vietni + %1$s (%2$s) + %1$s skatījumu Šeit cilvēki jūs atradīs internetā. - Jūsu meklēšanai nav nevienas pieejamās adreses - Sazinoties ar serveri, radās kļūda. Lūdzu, mēģiniet vēlreiz + Izveidot vietni + Izveidot vietni + Radās problēma + Mēs veidojam jūsu jauno vietni + Atcelt vietnes izveides vedni + Šķiet, ka savienojums ir lēns. Ja sarakstā neredzat savu jauno vietni, mēģiniet atsvaidzināt. + Skaidrs + Tiek rādīts vietnes priekšskatījums Radās problēma + Sazinoties ar serveri, radās kļūda. Lūdzu, mēģiniet vēlreiz + Jūsu meklēšanai nav nevienas pieejamās adreses Radās problēma - Jūsu vietne ir izveidota! - %1$d no %2$d - Izveidot vietni - Ieteikumi ir atjaunoti - Nevarēja atlasīt tikko pievienoto pašu mitināto vietni. Versijas konflikts - Ļaujiet automātiski ziņot par kļūmēm, lai palīdzētu mums uzlabot lietotnes veiktspēju. - Ziņojumi par negadījumiem - Atsaukt + Nevarēja atlasīt tikko pievienoto pašu mitināto vietni. + Ieteikumi ir atjaunoti + Izveidot vietni + %1$d no %2$d + Jūsu vietne ir izveidota! + Izmest tīmekļa vietni + Notiek ziņas atjaunošana Tīmekļa versija noraidīta Vietējā versija tika noraidīta - Notiek ziņas atjaunošana - Izmest tīmekļa vietni + Atsaukt + Ziņojumi par negadījumiem + Ļaujiet automātiski ziņot par kļūmēm, lai palīdzētu mums uzlabot lietotnes veiktspēju. Izmest vietējo - Vietējā vietne\nsaglabāta %1$s\n\nTīmekļa vietne\nsaglabāta %2$s\n - Šai ziņai ir divas versijas, kas atšķiras. Atlasiet versiju, kuru vēlaties atmest.\n\n Atrisiniet sinhronizācijas konfliktu - Nav datu par šo periodu + Šai ziņai ir divas versijas, kas atšķiras. Atlasiet versiju, kuru vēlaties atmest.\n\n + Vietējā vietne\nsaglabāta %1$s\n\nTīmekļa vietne\nsaglabāta %2$s\n Noņemiet atrašanās vietu no multivides + Nav datu par šo periodu Pašlaik nevaram atvērt statistiku. Lūdzu, pamēģiniet vēlreiz vēlāk - Nav neviena multivides satura vienība, kas atbilstu jūsu meklējumam - Meklējiet, lai atrastu GIF, ko pievienot savai multivides bibliotēkai! - Skatījumi - Autors - Autori - Skatījumi - Meklēšanas vārds - Meklēšanas vienumi - Skatījumi - Nosaukums - Video - Skati - Valsts - Valstis - Klikšķi - Saite - Klikšķi - Skati + Tumblr + Google+ + LinkedIn + Path + Ziņas un lapas Atsaucēji Atsaucējs - Ziņas un lapas - Path - LinkedIn - Google+ - Tumblr - Twitter - Facebook - Skatīt vairāk - Kopīgot ziņu + Skati + Klikšķi + Saite + Klikšķi + Valstis + Valsts + Skati + Video Izveidot ziņu + Kopīgot ziņu + Skatīt vairāk Ir pagājis %1$s kopš %2$s publicēšanas. Lūk, kā ziņai ir veicies līdz šim: - Ir pagājis %1$s kopš %2$s publicēšanas. Palieliniet savu ziņu skaitu un palieliniet tās skatījumu skaitu, kopīgojot savu ziņu: - Tagi un kategorijas + Facebook + Twitter + Nosaukums + Skatījumi + Meklēšanas vienumi + Meklēšanas vārds + Skatījumi + Autori + Autors + Skatījumi + Meklējiet, lai atrastu GIF, ko pievienot savai multivides bibliotēkai! + Nav neviena multivides satura vienība, kas atbilstu jūsu meklējumam Visu laiku - %1$s - %2$s - Sekotāji - Pakalpojums - %1$s | %2$s - Skati - Nosaukums - Skati - Nosaukums - Komentāri - Nosaukums - Autors + Tagi un kategorijas + Ir pagājis %1$s kopš %2$s publicēšanas. Palieliniet savu ziņu skaitu un palieliniet tās skatījumu skaitu, kopīgojot savu ziņu: Ziņas un lapas - Autori - Kopš - Sekotājs - Kopējais %1$s sekotāju skaits: %2$s - E-pasts - WordPress.com + Autors + Nosaukums + Komentāri + Nosaukums + Skati + Nosaukums + Skati + %1$s | %2$s + Pakalpojums + Sekotāji + %1$s - %2$s Pārvaldiet ieskatus + WordPress.com + E-pasts + Kopējais %1$s sekotāju skaits: %2$s + Sekotājs + Kopš + Autori Pagaidām nav pievienots neviens ieskats Datu vēl nav Atkļūdošanas izvēlne Notiek paroles maiņa… - Jūsu parolei jābūt vismaz sešas rakstzīmes garai. Lai tā būtu stiprāka, izmantojiet lielos un mazos burtus, ciparus un simbolus, piemēram, ! \" ? $ % ^ & ). - Parole veiksmīgi nomainīta Mainiet paroli - Vārds - (bez nosaukuma) - HTML priekšskatījums + Parole veiksmīgi nomainīta + Jūsu parolei jābūt vismaz sešas rakstzīmes garai. Lai tā būtu stiprāka, izmantojiet lielos un mazos burtus, ciparus un simbolus, piemēram, ! \" ? $ % ^ & ). Vizuāls priekšskatījums - Pārskatīšana - Iepriekšējais + HTML priekšskatījums + (bez nosaukuma) + Vārds Nākamais + Iepriekšējais + Pārskatīšana Izmantots %1$s - Lūdzu, ievadiet vietni WordPress.com vai ar Jetpack savienotu pašu mitinātu WordPress vietni - Notiek pārskatīšanas ielāde - Ielādēta pārskatīšana - Ielādēt - Ziņa izveidota vietnē %1$s vietnē %2$s - Lapa izveidota vietnē %1$s vietnē %2$s - Pagaidām nav vēstures - Kad veiksiet izmaiņas savās ziņās, šeit būs redzama izmaiņu vēsture. Kad veiksiet izmaiņas savā lapā, šeit būs redzama izmaiņu vēsture. + Kad veiksiet izmaiņas savās ziņās, šeit būs redzama izmaiņu vēsture. + Pagaidām nav vēstures + Lapa izveidota vietnē %1$s vietnē %2$s + Ziņa izveidota vietnē %1$s vietnē %2$s + Ielādēt + Ielādēta pārskatīšana + Notiek pārskatīšanas ielāde + Lūdzu, ievadiet vietni WordPress.com vai ar Jetpack savienotu pašu mitinātu WordPress vietni Lietotāja tēls - Pilns izmērs - Liels - Vidējs - Sīktēls Vēsture + Sīktēls + Vidējs + Liels + Pilns izmērs Atlasītā lapa nav pieejama Gaida pārskatīšanu - Jums nav nevienas miskastes lapas - Jums nav ieplānotu lapu - Jums nav melnrakstu lapu - Jūs vēl neesat publicējis nevienu lapu - Meklēt lapās - Jūsu meklēšanai neatbilst neviena lapa - Dzēst neatgriezeniski - Pārvietot uz miskasti Pārvietot uz melnrakstu - Iestatīt pamatu - Skatīt - Izmests atkritnē - Plānots - Melnraksti - Publicēts + Pārvietot uz miskasti + Dzēst neatgriezeniski + Jūsu meklēšanai neatbilst neviena lapa + Meklēt lapās + Jūs vēl neesat publicējis nevienu lapu + Jums nav melnrakstu lapu + Jums nav ieplānotu lapu + Jums nav nevienas miskastes lapas Esam veikuši pārāk daudz mēģinājumu nosūtīt SMS verifikācijas kodu - paņemiet pārtraukumu un pēc minūtes pieprasiet jaunu kodu. - Šim Google kontam nav atbilstoša WordPress.com konta. - Nav vietņu, kas atbilstu jūsu meklējumam - Nav vietņu, kas atbilstu jūsu meklējumam - Lapas pamats ir mainīts - Lapa ir neatgriezeniski izdzēsta - Lapa ir ieplānota - Lapa ir publicēta - Lapa ir izmesta + Publicēts + Melnraksti + Plānots + Skatīt + Iestatīt pamatu + Izmests atkritnē + Lapas pamats ir mainīts + Nav vietņu, kas atbilstu jūsu meklējumam + Šim Google kontam nav atbilstoša WordPress.com konta. Lapa ir pārvietota uz mapi Melnraksti - Augstākais līmenis - Vai tiešām vēlaties dzēst %s lapu? - Mainot lapas pamatu, radās problēma - Mainot lapas statusu, radās problēma - Dzēšot lapu, radās problēma + Lapa ir izmesta + Lapa ir publicēta + Lapa ir ieplānota + Lapa ir neatgriezeniski izdzēsta Iestatīt pamatu + Dzēšot lapu, radās problēma + Mainot lapas statusu, radās problēma + Mainot lapas pamatu, radās problēma + Vai tiešām vēlaties dzēst %s lapu? + Augstākais līmenis Nerādīt pieskarieties šeit - Izveidojiet savu vietni Sagatavojiet savu vietni. + Izveidojiet savu vietni Vai nav patīkami svītrot lietas no saraksta? - Skatiet savu vietni - Priekšskatiet savu vietni, lai redzētu to, ko redzēs jūsu apmeklētāji. + Pievienojieties saviem sociālo mediju kontiem - jūsu vietne automātiski kopīgos jaunas ziņas. Kopīgojiet savu vietni + Skatiet savu vietni Pieskarieties %1$s Savienojumi %2$s, lai pievienotu savus sociālo mediju kontus - Pievienojieties saviem sociālo mediju kontiem - jūsu vietne automātiski kopīgos jaunas ziņas. + Priekšskatiet savu vietni, lai redzētu to, ko redzēs jūsu apmeklētāji. Publicēt ziņu Pieskarieties %1$s Izveidot ziņu %2$s, lai izveidotu jaunu ziņu Nē paldies Savienot ar citām vietnēm - Iet - Atcelt - Ne tagad - Vairāk Jums nav nevienas vietnes - Nav tēmas, kurām sekoju - Pievienojiet tematus šeit, lai atrastu ziņas par iecienītākajām tēmām + Vairāk + Ne tagad + Atcelt + Iet Piesakieties WordPress.com kontā, kuru izmantojāt, lai izveidotu savienojumu ar Jetpack. - Jetpack Jetpack BUJ + Jetpack Lai savā WordPress vietnē izmantotu statistiku, jums būs jāinstalē Jetpack spraudnis. - Nav motīvu, kas atbilstu jūsu meklēšanas vaicājumam - Ko jūs vēlētos atrast? - Nav atzīmju, kas atbilstu jūsu meklēšanas vaicājumam - Jums nav nevienas birkas - Pievienojiet šeit bieži izmantotās birkas, lai tās varētu ātri atlasīt, atzīmējot ziņas. - Izveidojiet birku - Jūsu meklējumam neatbilst neviens multivide Vai atteikties no WordPress? + Jūsu meklējumam neatbilst neviens multivide + Izveidojiet birku + Pievienojiet šeit bieži izmantotās birkas, lai tās varētu ātri atlasīt, atzīmējot ziņas. + Jums nav nevienas birkas + Nav atzīmju, kas atbilstu jūsu meklēšanas vaicājumam + Ko jūs vēlētos atrast? + Nav motīvu, kas atbilstu jūsu meklēšanas vaicājumam Jums ir izmaiņas ziņās, kuras nav augšupielādētas jūsu vietnē. Izrakstoties tūlīt, šīs izmaiņas tiks dzēstas no jūsu ierīces. Vai tomēr atteikties? - Skatītāju vēl nav - Pagaidām nav e-pasta sekotāju - Pagaidām nav sekotāju - Pagaidām nav lietotāju Šeit parādīsies ziņas, kas jums patīk + Pagaidām nav lietotāju + Pagaidām nav sekotāju + Pagaidām nav e-pasta sekotāju + Skatītāju vēl nav Pagaidām nekas nepatika - Pārejiet uz sekošanu - Atklājiet vietnes - Nav sekotu vietņu - Pagaidām nav Patīk Pagaidām nav sekotāju + Pagaidām nav Patīk Tā kā izmantojat bezmaksas plānu, aktivitātēs redzēsiet ierobežotu skaitu notikumu. - Veicot izmaiņas savā vietnē, šeit varēsit skatīt savu darbību vēsturi Pagaidām nav aktivitātes - Izveidojiet ziņu - Izveidojiet lapu - Augšupielādēt multividi + Veicot izmaiņas savā vietnē, šeit varēsit skatīt savu darbību vēsturi Jums nav neviena multivides vienība - attēlu galerija - vietnes ikona + Augšupielādēt multividi + Izveidojiet lapu + Izveidojiet ziņu tēmas attēls + vietnes ikona + attēlu galerija izceltais attēls Izmest profila bilde - Pārejošs - E-pasts - Lūdzu ievadiet savu e-pasta adresi - Lai turpinātu, lūdzu, ievadiet savu e-pasta adresi un vārdu - Jauns ziņojums no palīdzības un atbalsta - WordPress - Nav uzstādīts - E-pasts saziņai - Notiek atjaunošana Atjaunots uz %1$s %2$s - Pašlaik tiek atjaunota jūsu vietne - Jūsu vietne ir veiksmīgi atjaunota - Jūsu vietne ir veiksmīgi atjaunota \nAtjaunota uz %1$s %2$s - Jūsu vietne tiek atjaunota \nAtjauno uz %1$s %2$s + Notiek atjaunošana + E-pasts saziņai + Nav uzstādīts + WordPress + Jauns ziņojums no palīdzības un atbalsta + Lai turpinātu, lūdzu, ievadiet savu e-pasta adresi un vārdu + Lūdzu ievadiet savu e-pasta adresi + E-pasts + Pārejošs Darbību žurnāla rīcības poga - Automātiski pārvaldīta + Jūsu vietne tiek atjaunota \nAtjauno uz %1$s %2$s + Jūsu vietne ir veiksmīgi atjaunota \nAtjaunota uz %1$s %2$s + Jūsu vietne ir veiksmīgi atjaunota + Pašlaik tiek atjaunota jūsu vietne Saglabājiet šo ziņu un atgriezieties, lai to izlasītu, kad vien vēlaties. Tā būs pieejama tikai šajā ierīcē - saglabātās ziņas netiek sinhronizētas ar citām jūsu ierīcēm. - Saglabāt ziņas vēlākam laikam - Nevar veikt meklēšanu + Automātiski pārvaldīta Nekas nav atrasts - Lasiet avota ziņu + Nevar veikt meklēšanu + Saglabāt ziņas vēlākam laikam Vietnes + Lasiet avota ziņu Burvju saite nosūtīta - Koda pārbaude - Pieteikšanās akreditācijas dati - Burvju saite nosūtīta - Burvju saites pieteikšanās - Vietnes adreses pieteikšanās E-pasta adreses pieteikšanās - Piesitiet %s, lai saglabātu ziņu savā sarakstā. - Vēl nav saglabāts neviens ieraksts! - Ziņa saglabāta - Skatīt visu - Noņemt no saglabātajām ziņām - Pievienot saglabātajām ziņām - Saglabātās ziņas + Vietnes adreses pieteikšanās + Burvju saites pieteikšanās + Burvju saite nosūtīta + Pieteikšanās akreditācijas dati + Koda pārbaude Noņemts - Mainīt vietnes ikonu - Atcelt - Noņemt - Mainīt - Jums nav atļaujas rediģēt vietnes ikonu. - Jums nav atļaujas pievienot vietnes ikonu. - Kā vēlaties rediģēt ikonu? - Vai vēlaties pievienot vietnes ikonu? - Vietnes ikona - šajā vietnē + Saglabātās ziņas + Pievienot saglabātajām ziņām + Noņemt no saglabātajām ziņām + Skatīt visu + Ziņa saglabāta + Vēl nav saglabāts neviens ieraksts! + Piesitiet %s, lai saglabātu ziņu savā sarakstā. Iespējot - Vai iespējot paziņojumus par %1$s%2$s%3$s? - Ieslēgt vietnes paziņojumus - Izslēgt vietnes paziņojumus - Jetpack ikona + šajā vietnē + Vietnes ikona + Vai vēlaties pievienot vietnes ikonu? + Kā vēlaties rediģēt ikonu? + Jums nav atļaujas pievienot vietnes ikonu. + Jums nav atļaujas rediģēt vietnes ikonu. + Mainīt + Noņemt + Atcelt + Mainīt vietnes ikonu Notikums - Darbības ikona - Aktivitāšu vēsture - Izlasiet konfidencialitātes politiku - Mēs izmantojam citus izsekošanas rīkus, tostarp dažus no trešajām pusēm. Lasiet par šiem un kā tos kontrolēt. - Trešo pušu politika - Šī informācija palīdz mums uzlabot mūsu produktus, padarīt mārketingu jums atbilstošāku, personalizēt jūsu WordPress.com pieredzi un vēl vairāk, kā detalizēti aprakstīts mūsu privātuma politikā. - Privātuma politika - Kopīgojiet informāciju ar mūsu analīzes rīku par pakalpojumu izmantošanu, piesakoties savā WordPress.com kontā. - Sīkdatņu politika - Privātuma iestatījumi + Jetpack ikona + Vai iespējot paziņojumus par %1$s%2$s%3$s? Vākt informāciju + Privātuma iestatījumi + Sīkdatņu politika + Kopīgojiet informāciju ar mūsu analīzes rīku par pakalpojumu izmantošanu, piesakoties savā WordPress.com kontā. + Privātuma politika + Šī informācija palīdz mums uzlabot mūsu produktus, padarīt mārketingu jums atbilstošāku, personalizēt jūsu WordPress.com pieredzi un vēl vairāk, kā detalizēti aprakstīts mūsu privātuma politikā. + Trešo pušu politika + Mēs izmantojam citus izsekošanas rīkus, tostarp dažus no trešajām pusēm. Lasiet par šiem un kā tos kontrolēt. + Izlasiet konfidencialitātes politiku + Aktivitāšu vēsture + Darbības ikona Ziņa iesniegta - Spraudņa funkcijai ir nepieciešams, lai vietne būtu labā kārtībā. Spraudņa funkcijai ir nepieciešams, lai ar šo lietotāju būtu saistīts primārā domēna abonements. - Spraudņa funkcijai ir nepieciešamas administratora privilēģijas. - Spraudni nevar instalēt VIP vietnēs. - Spraudni nevar instalēt diska vietas ierobežojumu dēļ. - Spraudņa funkcijai ir nepieciešama verificēta e-pasta adrese. - Spraudņa funkcija prasa, lai vietne būtu publiska. - Spraudņa funkcijai ir nepieciešams biznesa plāns. + Spraudņa funkcijai ir nepieciešams, lai vietne būtu labā kārtībā. Spraudņa funkcijai ir nepieciešams pielāgots domēns. + Spraudņa funkcijai ir nepieciešams biznesa plāns. + Spraudņa funkcija prasa, lai vietne būtu publiska. + Spraudņa funkcijai ir nepieciešama verificēta e-pasta adrese. + Spraudni nevar instalēt diska vietas ierobežojumu dēļ. + Spraudni nevar instalēt VIP vietnēs. + Spraudņa funkcijai ir nepieciešamas administratora privilēģijas. Mēs veicam galīgo iestatīšanu — gandrīz pabeigts… Notiek spraudņa instalēšana… - Uzstādīt Pirmā spraudņa instalēšana jūsu vietnē var ilgt 1 minūti. Šajā laikā jūs nevarēsiet veikt izmaiņas savā vietnē. - Instalējiet spraudni + Uzstādīt + Uzreiz + Iknedēļas Paziņojumi + Instalējiet spraudni Jaunos komentārus saņemt manā e-pastā - Iknedēļas - Uzreiz - Katru dienu - Jaunas ziņas - Saņemiet paziņojumus par jaunām ziņām šajā vietnē Nosūtīt man jaunus ziņojumus e-pastā - Visas manas sekotās vietnes - Sekotās vietnes - Persona, kas lasa ierīci ar paziņojumiem + Saņemiet paziņojumus par jaunām ziņām šajā vietnē + Jaunas ziņas + Katru dienu + Vai tiešām vēlaties neatgriezeniski izdzēst šo ziņu? Cilvēki, kas meklē grafikus un diagrammas + Persona, kas lasa ierīci ar paziņojumiem + Sekotās vietnes + Visas manas sekotās vietnes %1$s uz %2$s - Vai tiešām vēlaties neatgriezeniski izdzēst šo ziņu? - Svarīgs - Vispārīgi Izmantojiet šo fotoattēlu - %1$d no %2$d - Fotoattēlus nodrošina %s - Meklēt, lai atrastu bezmaksas fotoattēlus, ko pievienot savai multivides bibliotēkai - Meklēt bezmaksas fotoattēlu bibliotēkā - Izvēlieties kādu no bezmaksas fotoattēlu bibliotēkas - Nevar saglabāt tukšu melnrakstu - %1$s no neierobežota - Priekšskatījums %d + Vispārīgi + Svarīgs Pievienot %d - Izveidot birku - virzīties uz augšu - Paziņojumi - Atvērt ārējo saiti - parādīt vairāk - foto - dzēst - Atskaņot video - atskaņot piedāvāto video - spraudņa logotips - spraudņa reklāmkarogs - izvēlēties no WordPress multivides - atveriet kameru - izvēlēties no ierīces - informācija par lomu - spēlēt - attēla priekšskatījums - priekšskatījums - audio - atskaņot video - atkritumi - mēģiniet vēlreiz - multivides priekšskatījums, faila nosaukums %s - noņemt %s - %s profila attēls - atzīme + Priekšskatījums %d + %1$s no neierobežota + Nevar saglabāt tukšu melnrakstu + Izvēlieties kādu no bezmaksas fotoattēlu bibliotēkas + Meklēt bezmaksas fotoattēlu bibliotēkā + Meklēt, lai atrastu bezmaksas fotoattēlus, ko pievienot savai multivides bibliotēkai + Fotoattēlus nodrošina %s + %1$d no %2$d + Izveidot birku Notiek reģistrēšanās Google tīklā… - Neizdevās izveidot savienojumu ar Jetpack: %s + atzīme + %s profila attēls + noņemt %s + Atskaņot video + dzēst + foto + parādīt vairāk + Atvērt ārējo saiti + Paziņojumi + virzīties uz augšu + multivides priekšskatījums, faila nosaukums %s + mēģiniet vēlreiz + atkritumi + atskaņot video + audio + priekšskatījums + attēla priekšskatījums + spēlēt + informācija par lomu + izvēlēties no ierīces + atveriet kameru + izvēlēties no WordPress multivides + spraudņa reklāmkarogs + spraudņa logotips + atskaņot piedāvāto video Jūs jau esat izveidojis savienojumu ar Jetpack - Vizuālais režīms - HTML režīms - Priekšskatījums - Saglabāt kā melnrakstu + Neizdevās izveidot savienojumu ar Jetpack: %s %s TB + Saglabāt kā melnrakstu + Priekšskatījums + HTML režīms + Vizuālais režīms + Jauns konts + Izvēlieties vietni + Rediģēt fotoattēlu + Paziņojuma informācija %s + Komentārs ir apstiprināts %s GB - %s MB - %s kB - %s B - %1$s no %2$s - Ja jums nepieciešams vairāk vietas, apsveriet sava WordPress plāna jaunināšanu. - Izmantotā vieta - Mediji - Komentārs atzīmēts kā nevēlams - Komentārs atzīmēts kā mēstule - Komentārs ir izdzēsts - Komentārs atjaunots - Komentārs nosūtīts uz atkritni - Komentārs atzīmēts ar “Nepatīk” - Komentārs patika Komentārs nav apstiprināts - Komentārs ir apstiprināts - Paziņojuma informācija %s - Rediģēt fotoattēlu - Izvēlieties vietni - Jauns konts - Pieteicies kā - Personas informācija - Informācija par failu - Koplietošanas pogas - Paziņojumi - Lasītājs - Es - Mana vietne + Komentārs patika + Komentārs atzīmēts ar “Nepatīk” + Komentārs nosūtīts uz atkritni + Komentārs atjaunots + Komentārs ir izdzēsts + Komentārs atzīmēts kā mēstule + Komentārs atzīmēts kā nevēlams + Mediji + Izmantotā vieta + Ja jums nepieciešams vairāk vietas, apsveriet sava WordPress plāna jaunināšanu. + %1$s no %2$s + %s B + %s kB + %s MB Paziņojumu iestatījumi + Mana vietne + Es + Lasītājs + Paziņojumi + Koplietošanas pogas + Informācija par failu + Personas informācija + Pieteicies kā Jūsu tēls (avatar) ir augšupielādēts un drīz būs pieejams. - Šķiet, ka esat izslēdzis šai funkcijai nepieciešamās atļaujas. <br/><br/> Lai to mainītu, rediģējiet savas atļaujas un pārliecinieties, vai ir iespējota opcija <strong>%s</strong>. + Versija %s + Koplietošanas modulis ir atspējots Atļaujas + Šķiet, ka esat izslēdzis šai funkcijai nepieciešamās atļaujas. <br/><br/> Lai to mainītu, rediģējiet savas atļaujas un pārliecinieties, vai ir iespējota opcija <strong>%s</strong>. Piedāvātais - Koplietošanas modulis ir atspējots - Versija %s Izvēlētajai skaņai ir nederīgs ceļš. Lūdzu, izvēlieties citu. - QP %s - Atlikušas %1$d lapas / ziņas Atlikusi 1 lapa - Atlikušas %1$d lapas - Atlikušas %1$d ziņas - Atlicis %1$d lapas/ziņa un 1 fails - Atlicis %1$d ziņas un 1 fails + Atlikušas %1$d lapas / ziņas + QP %s Atlicis %1$d lapas un 1 fails - Atlikusi 1 ziņa un 1 fails - Atlikusi 1 lapa un 1 fails - Atlikušas %1$d lapas/ziņas un %2$d no %3$d failiem - Atlikušas %1$d ziņas un %2$d no %3$d failiem - Atlikušas %1$d lapas un %2$d no %3$d failiem - Atlikusi 1 ziņa un %1$d no %2$d failiem + Atlicis %1$d ziņas un 1 fails + Atlicis %1$d lapas/ziņa un 1 fails + Atlikušas %1$d ziņas + Atlikušas %1$d lapas Atlikusi 1 lapa un %1$d no %2$d failiem - Nav augšupielādētas %1$d ziņas / lapas + Atlikusi 1 ziņa un %1$d no %2$d failiem + Atlikušas %1$d lapas un %2$d no %3$d failiem + Atlikušas %1$d ziņas un %2$d no %3$d failiem + Atlikušas %1$d lapas/ziņas un %2$d no %3$d failiem + Atlikusi 1 lapa un 1 fails + Atlikusi 1 ziņa un 1 fails Nav augšupielādētas %1$d lapas - 1 lapa nav augšupielādēta - %1$d ziņas nav augšupielādētas - 1 ziņa nav augšupielādēta - %1$d ziņas / lapas ar %2$d failiem nav augšupielādētas - %1$d lapas ar %2$d failiem nav augšupielādētas - 1 lapa ar %1$d failiem nav augšupielādēta - %1$d ziņas ar %2$d failiem nav augšupielādētas + Nav augšupielādētas %1$d ziņas / lapas 1 ziņa ar %1$d failiem nav augšupielādēta - %1$d ziņas / lapas ar 1 failu nav augšupielādētas - %1$d lapas ar 1 failu nav augšupielādētas - 1 lapa ar 1 failu nav augšupielādēta - %1$d ziņas ar 1 failu nav augšupielādētas - 1 ziņa ar 1 failu nav augšupielādēta - (Bez nosaukuma) + %1$d ziņas ar %2$d failiem nav augšupielādētas + 1 lapa ar %1$d failiem nav augšupielādēta + %1$d lapas ar %2$d failiem nav augšupielādētas + %1$d ziņas / lapas ar %2$d failiem nav augšupielādētas + 1 ziņa nav augšupielādēta + %1$d ziņas nav augšupielādētas + 1 lapa nav augšupielādēta \@%s + (Bez nosaukuma) + 1 ziņa ar 1 failu nav augšupielādēta + %1$d ziņas ar 1 failu nav augšupielādētas + 1 lapa ar 1 failu nav augšupielādēta + %1$d lapas ar 1 failu nav augšupielādētas + %1$d ziņas / lapas ar 1 failu nav augšupielādētas Izveidot vietni - Piesitiet, lai turpinātu. - Vietne izveidota! - Google pārāk ilgi neatbildēja. Iespējams, jums būs jāgaida, līdz būs pieejams spēcīgāks interneta savienojums. - Mainiet lietotājvārdu - Rakstiet, lai saņemtu vairāk ieteikumu - Jūsu pašreizējais lietotājvārds ir %1$s%2$s%3$s. Ar dažiem izņēmumiem citi redzēs tikai jūsu parādāmo vārdu %4$s%5$s%6$s. - No %1$s%2$s%3$s nav ieteikts neviens lietotājvārds. Lūdzu, ievadiet vairāk burtu vai ciparu, lai saņemtu ieteikumus. - Izgūstot lietotājvārda ieteikumus, radās kļūda. - Vai atteikt lietotājvārda maiņu? - Izmest - Saglabāt - Pievienot tēlu (avatar) E-pasts jau pastāv WordPress.com.\nPieteikšanās turpinās. - Notiek konta jaunināšana… + Pievienot tēlu (avatar) + Saglabāt + Izmest + Vai atteikt lietotājvārda maiņu? + Izgūstot lietotājvārda ieteikumus, radās kļūda. + No %1$s%2$s%3$s nav ieteikts neviens lietotājvārds. Lūdzu, ievadiet vairāk burtu vai ciparu, lai saņemtu ieteikumus. + Jūsu pašreizējais lietotājvārds ir %1$s%2$s%3$s. Ar dažiem izņēmumiem citi redzēs tikai jūsu parādāmo vārdu %4$s%5$s%6$s. + Rakstiet, lai saņemtu vairāk ieteikumu + Mainiet lietotājvārdu + Google pārāk ilgi neatbildēja. Iespējams, jums būs jāgaida, līdz būs pieejams spēcīgāks interneta savienojums. + Vietne izveidota! + Piesitiet, lai turpinātu. Sūta e-pastu - Mēģiniet vēlreiz - Aizvērt - Nosūtot e-pastu, radās problēmas. Tagad varat mēģināt vēlreiz vai aizvērt un mēģināt vēlāk. - Lietotājvārds - Jūs vienmēr varat pieteikties, izmantojot tikko izmantoto saiti, bet, ja vēlaties, varat arī iestatīt paroli. - Parole (nav obligāta) - Parādāmais vārds - Mēģiniet vēlreiz - Atgriezties - Atjauninot jūsu kontu, radās problēmas. Lai turpinātu, varat atkārtot mēģinājumu vai atgriezt izmaiņas. + Notiek konta jaunināšana… Radās problēmas augšupielādējot jūsu tēlu (avatar). - Nepieciešams atjaunināt - Meklēt spraudņus - Jauns - Populārs - Nav atbilstību - Skatīt visu - Pārvaldīt - Nav iespējams veikt spraudņu meklēšanu - Instalējot %s, radās kļūda - Veiksmīgi instalēta %s - Uzstādīt - Patīk - Pievienot jaunu vietni + Atjauninot jūsu kontu, radās problēmas. Lai turpinātu, varat atkārtot mēģinājumu vai atgriezt izmaiņas. + Atgriezties + Mēģiniet vēlreiz + Parādāmais vārds + Parole (nav obligāta) + Jūs vienmēr varat pieteikties, izmantojot tikko izmantoto saiti, bet, ja vēlaties, varat arī iestatīt paroli. + Lietotājvārds + Nosūtot e-pastu, radās problēmas. Tagad varat mēģināt vēlreiz vai aizvērt un mēģināt vēlāk. + Aizvērt + Mēģiniet vēlreiz Izveidojiet jaunu vietni savam biznesam, žurnālam vai personīgajam emuāram; vai pievienojiet esošu WordPress instalāciju. - Lai saņemtu noderīgus paziņojumus savā ierīcē no savas WordPress vietnes, jums jāinstalē spraudnis Jetpack. Vai vēlaties iestatīt Jetpack? + Pievienot jaunu vietni + Patīk + Uzstādīt + Veiksmīgi instalēta %s + Instalējot %s, radās kļūda + Nav iespējams veikt spraudņu meklēšanu + Pārvaldīt + Skatīt visu + Nav atbilstību + Populārs + Jauns + Meklēt spraudņus + Nepieciešams atjaunināt Aizkavēta attēlu ielāde + Lai saņemtu noderīgus paziņojumus savā ierīcē no savas WordPress vietnes, jums jāinstalē spraudnis Jetpack. Vai vēlaties iestatīt Jetpack? Instalēt Jetpack Pārslēgt tekstu Jūsu WordPress versija Nepieciešama WordPress versija Pēdējoreiz atjaunots - Versija - 5 zvaigznes - 4 zvaigznes - 3 zvaigznes - 2 zvaigznes 1 zvaigzne - Nav paredzēts - %s lejupielādes - %s vērtējumi - Lasīt atsauksmes + 2 zvaigznes + 3 zvaigznes + 4 zvaigznes + 5 zvaigznes + Versija Bieži uzdotie jautājumi - Kas jauns - Uzstādīšana + Lasīt atsauksmes + %s vērtējumi + %s lejupielādes + Nav paredzēts Apraksts - Iestatījumi - Instalēts + Uzstādīšana + Kas jauns Instalēta versija %s - Versija %s + Instalēts + Iestatījumi autors %s - Mainīt attēlu + Versija %s Nevar ielādēt spraudņus - Lapas - Pārvaldiet savas vietnes birkas - Saglabāšana - Dzēš + Mainīt attēlu Vai neatgriezeniski dzēst birku “%s”? + Dzēš + Saglabāšana + Pārvaldiet savas vietnes birkas + Lapas Birka ar šo nosaukumu jau pastāv - Pievienot jaunu birku - Apraksts - Birka Jūsu vietne WordPress.com atbalsta Accelerated Mobile Pages izmantošanu - Google vadītu iniciatīvu, kas ievērojami paātrina mobilo ierīču ielādes laiku + Birka + Apraksts + Pievienot jaunu birku Accelerated Mobile Pages (AMP) - Nevar ielādēt laika joslas Uzziniet vairāk par datuma un laika formatēšanu - Pielāgots formāts + Nevar ielādēt laika joslas Pielāgots + Pielāgots formāts Ziņas vienā lapā Izvēlieties pilsētu savā laika joslā - Laika zona Laika formāts + Laika zona Datuma formāts Nedēļa sākas - Birkas Satiksme + Birkas Dzēst Ārējā saite Spraudņa ikona - Spraudņa mājas lapa WordPress.org Spraudņu lapa + Spraudņa mājas lapa Vai tiešām vēlaties noņemt %1$s no %2$s? Tas deaktivizēs spraudni un izdzēsīs visus saistītos failus un datus. - Noņemiet spraudni Notiek %s noņemšana… + Noņemiet spraudni Notiek %s atspējošana… Konfigurējot spraudni, radās kļūda: %s Kļūda, noņemot %s Veiksmīgi noņemts %s Atjauninot %1$s, radās kļūda: %2$s - Atjauninot %s, radās kļūda. %s veiksmīgi atjaunināts + Atjauninot %s, radās kļūda. Ir pieejama versija %s Automātiskie jauninājumi Aktīvs - Neaktīvs - Aktīvs - Spraudņi - Spraudņi Atvērt saiti jaunā logā / cilnē + Spraudņi + Spraudņi + Aktīvs + Neaktīvs Saite uz Radās kļūda. Lūdzu, norādiet autentifikācijas kodu, lai turpinātu. Lūdzu, vēlreiz pārbaudiet savu paroli, lai turpinātu. Pieteikšanās ir pārtraukta - Lūdzu, uzgaidiet, kamēr piesakāties. Notiek pieteikšanās… + Lūdzu, uzgaidiet, kamēr piesakāties. Piesitiet, lai turpinātu. Pieteicies! Google pieteikšanos nevarēja sākt. Lūdzu, ievadiet paroli Tā vietā nosūtiet man citu kodu Mēs nosūtījām īsziņu uz tālruņa numuru, kas beidzas ar %s. Lūdzu, īsziņā ievadiet verifikācijas kodu. - Izmērs - Atlicis 1 fails Atlicis %1$d no %2$d failiem + Atlicis 1 fails + Izmērs Atlikusi 1 ziņa Notiek augšupielāde… Rakstīt ziņu %d faili ir veiksmīgi augšupielādēti ,%d veiksmīgi augšupielādēts - 1 file uploaded - 1 fails nav augšupielādēts Augšupielādēti %d faili + 1 fails nav augšupielādēts + 1 file uploaded %d faili nav augšupielādēti Noņemt no ziņas Vai noņemt šo attēlu no ziņas? - Pielāgot Informācija par failu - \nVarbūt izmēģināt citu kontu? + Pielāgot Izveidojot savienojumu ar Google kontu, radās problēmas. + \nVarbūt izmēģināt citu kontu? Aizvērt Lai turpinātu izmantot šo Google kontu, lūdzu, norādiet atbilstošo WordPress.com paroli. Tas tiks jautāts tikai vienu reizi. Radās tīkla kļūda. Lūdzu, pārbaudiet savienojumu un mēģiniet vēlreiz. @@ -2658,207 +2626,207 @@ Language: lv Izvēlieties piedāvāto attēlu Piesakieties vietnē WordPress.com, lai kopīgotu saturu. Ievadiet savas WordPress vietnes adresi, ar kuru vēlaties kopīgot saturu. - Atvienojot vietni, radās kļūda Vietne ir atvienota - Atvienojiet + Atvienojot vietni, radās kļūda Vai tiešām vēlaties atvienot Jetpack no vietnes? + Atvienojiet \"Atvienoties no WordPress.com\" Jūs varat atzīmēt IP adresi (vai adrešu sēriju) kā \"Vienmēr atļauts\", novēršot, ka Jetpack tās nekad bloķē. IPv4 un IPv6 ir pieņemami. Lai norādītu diapazonu, ievadiet zemo un lielo vērtību, atdalot tos ar domuzīmi. Piemērs: 12.12.12.1–12.12.12.100 Nepieciešama divpakāpju autentifikācija - Saskaņojiet kontus, izmantojot e-pastu Atļaut pieteikšanos programmā WordPress.com + Saskaņojiet kontus, izmantojot e-pastu Pieteikšanās programmā WordPress.com Bloķējiet ļaunprātīgus pieteikšanās mēģinājumus Aizsardzība pret brutāla spēka uzbrukumiem Sūtiet paziņojumus Nosūtiet paziņojumus pa e-pastu - Pārraugiet savas vietnes darbspēju Drošība - Jetpack iestatījumi - Pievienošana - Izvēlieties vietni + Pārraugiet savas vietnes darbspēju Pievienot multivides bibliotēkai + Izvēlieties vietni + Pievienošana + Jetpack iestatījumi Pievienot jaunai ziņai Nederīgs IP vai IP diapazons - Dzēš Vai izdzēst šo videoklipu? + Dzēš Vai izdzēst šo attēlu? - Informācija par dokumentu Audio informācija + Informācija par dokumentu Video informācija - Attēla informācija Priekšskatījums - Augšuplādes datums - Ilgums + Attēla informācija Video izmēri + Ilgums + Augšuplādes datums Attēla izmēri - Faila tips - Faila nosaukums URL + Faila nosaukums + Faila tips Alt teksts - Pievienojiet vietni Mirgo gaisma + Pievienojiet vietni Vibrēt ierīci Izvēlieties skaņu Skati un skaņas E-pasts no WordPress.com Paziņot man par melnrakstiem, kas gaida Komentāri par citām vietnēm - Cits Visas manas vietnes + Cits Jūsu vietnes Izslēdzot paziņojumu iestatījumus, tiks atspējoti visi šīs lietotnes paziņojumi neatkarīgi no to veida. Pēc paziņojumu iestatījumu ieslēgšanas varat precīzi iestatīt, kāda veida paziņojumus saņemat. Lai saņemtu paziņojumus šajā ierīcē, ieslēdziet paziņojumus iestatījumos. Iespējot paziņojumus Atspējot paziņojumus Izslēgts - Ieslēgts Maksimālais video izmērs + Ieslēgts Maksimālais attēla izmērs Augšupielādējot multivides failus šajā ziņā, radās kļūda: %s. Augšupielādējot šo ziņu, radās kļūda: %s. - Multivides pievienošana Apmeklējiet %s, lai uzzinātu vairāk + Multivides pievienošana Nevarēja atrast lapu serverī Nevar publicēt tukšu lapu Neizdevās augšupielādēt domēnu \"%s\" Multivide ir noņemta. Vai dzēst to no šīs ziņas? Atverot noklusējuma tīmekļa pārlūkprogrammu, radās kļūda. Lūdzu, izvēlieties citu lietotni: Nevar atvērt saiti - Nevarēja atrast ziņu serverī Šī ziņa vairs nepastāv + Nevarēja atrast ziņu serverī Multivides augšupielāde tika atcelta Augšupielādējot multividi šajā lapā, radās kļūda: %s. Augšupielādējot šo lapu, radās kļūda: %s. Jūsu ziņa tiek augšupielādēta Notiek multivides augšupielāde… - Lapa ir ieplānota Ziņa ir ieplānota - Mēģiniet vēlreiz + Lapa ir ieplānota Rindā esoša ziņa - Notiek faila “%s” augšupielāde + Mēģiniet vēlreiz Savienojums ar serveri tika zaudēts - Manas vietnes + Notiek faila “%s” augšupielāde Mana vietne - Nevar noteikt jūsu e-pasta klienta lietotni + Manas vietnes Lūdzu, ievadiet verifikācijas kodu + Nevar noteikt jūsu e-pasta klienta lietotni Lūdzu, ievadiet lietotājvārdu Lai piekļūtu ziņai, piesakieties vietnē WordPress.com. Pievienojot vietni, radās kļūda. Kļūdas kods: %s Vietnes adreses pārbaude - Vai nepieciešama papildu palīdzība? Kad apmeklējat vietni pārlūkā Chrome, ekrāna augšdaļā esošajā joslā tiek parādīta jūsu vietnes adrese. + Vai nepieciešama papildu palīdzība? Kāda ir manas vietnes adrese? - Vietnes adrese Ievadiet tās WordPress vietnes adresi, kuru vēlaties izveidot savienojumu. + Vietnes adrese Jau esat pieteicies vietnē WordPress.com - Turpināt - Pievienojiet citu vietni Ievadiet savu WordPress.com paroli. + Pievienojiet citu vietni + Turpināt Pieprasa pieteikšanās e-pastu Izskatās, ka šī parole nav pareiza. Lūdzu, vēlreiz pārbaudiet savu informāciju un mēģiniet vēlreiz. Verifikācijas koda pieprasīšana, izmantojot īsziņu. Tā vietā nosūtiet man kodu - Open Mail - Nākamais Piesakieties vietnē WordPress.com, izmantojot e-pasta adresi, lai pārvaldītu visas savas WordPress vietnes. - Profila fotoattēls + Nākamais + Open Mail Negaidīta atbilde no servera + Profila fotoattēls Nevar apturēt augšupielādi, jo tā jau ir pabeigta - Virsraksts - Atkārtot Atsaukt + Virsraksts Atvainojiet! Funkcija vēl nav ieviesta :( - Multivide ir pārāk maza, lai to parādītu + Atkārtot Brīdinājums: ne visi nomestie vienumi tiek atbalstīti! + Multivide ir pārāk maza, lai to parādītu Attēlu nomešana virsrakstā nav atļauta - Nometot tekstu, radās kļūda Attēlu nomešana HTML režīmā nav atļauta + Nometot tekstu, radās kļūda Dalieties ar savu stāstu šeit… - Privāts - Melnraksts Gaida pārskatīšanu + Melnraksts + Privāts Publicēt - Tagad Tikai tie, kuriem ir šī parole, var apskatīt šo ziņu + Tagad Izraksti ir neobligāti, autora veidoti satura kopsavilkumi. Taka ir ziņas nosaukumam draudzīga versija. - Ziņas formāts - Birkas - Taka Izraksts - Nav noteikts - Vairāk iespēju + Taka + Birkas + Ziņas formāts Kategorijas un birkas + Vairāk iespēju + Nav noteikts Viss - Augšējais līmenis Pamata kategorija (pēc izvēles): + Augšējais līmenis Jums nav audio - Jums nav dokumentu Jums nav neviena videoklipa + Jums nav dokumentu Jums nav attēlu Pārāk ilgi bija jāgaida atbilde no servera Fails ir pārāk liels, lai to varētu augšupielādēt šajā vietnē Fails pārsniedz šīs vietnes maksimālo augšupielādes lielumu Video ir pārāk liels, lai to augšupielādētu Attēls ir pārāk liels, lai to augšupielādētu. Mēģiniet lietotnes iestatījumos mainīt attēlu optimizēšanu - Audio - Video - Dokumenti - Attēli Viss + Attēli + Dokumenti + Video + Audio %1$s tika liegta piekļuve jūsu mediju failiem. Lai to novērstu, rediģējiet savas atļaujas un ieslēdziet %2$s. Skatīt komentārus Video kvalitāte. Augstākas vērtības nozīmē labākas kvalitātes videoklipus. - Maina videoklipu izmērus ziņās līdz šim izmēram Iespējojiet videoklipu lieluma maiņu un saspiešanu + Maina videoklipu izmērus ziņās līdz šim izmēram Optimizēt videoklipus - Melnraksts ir augšupielādēts Video kvalitāte + Melnraksts ir augšupielādēts Kamera Uzglabāšana Rediģēt atļaujas - Atļaut %s nepieciešama piekļuve jūsu fotoattēliem + Atļaut Tas tiks iekļauts tvītos, kad cilvēki koplietos, izmantojot pogu Twitter Mainiet koplietošanas pogu etiķetes tekstu. Šis teksts netiks parādīts, kamēr nebūsit pievienojis vismaz vienu koplietošanas pogu. Pieteikšanās kontā %s savienojumu neizdevās izveidot, jo netika atlasīts neviens konts. - Savienots - Twitter - Patīk Ļaujiet sev un lasītājiem visus komentārus atzīmēt ar Patīk - Pogas - Rediģēt pogas “Vēl” + Patīk + Twitter + Savienots Poga \"Vairāk\" satur nolaižamo izvēlni, kurā tiek parādītas koplietošanas pogas + Rediģēt pogas “Vēl” + Pogas Atlasiet, kuras pogas tiek rādītas zem jūsu ziņām - Twitter lietotājvārds Komentēt Patīk - Pogas stils - Etiķete - Koplietošanas pogas + Twitter lietotājvārds Rādīt Pogu Patīk - Parādīt pogu Pārmest žurnālu + Koplietošanas pogas + Etiķete + Pogas stils Pārmācīt un atzīmēt ar Patīk - Oficiālās pogas + Parādīt pogu Pārmest žurnālu Tikai teksts - Tikai ikona - Ikona un teksts + Oficiālās pogas Atlasiet kontu, kuru vēlaties autorizēt. Ņemiet vērā, ka jūsu ziņas tiks automātiski kopīgotas ar atlasīto kontu. - Savieno %s - Vai atvienot no %s? + Ikona un teksts + Tikai ikona Pievienojiet citu kontu - Atkārtoti izveidojiet savienojumu - Atvienojiet - Izveidojiet savienojumu + Vai atvienot no %s? + Savieno %s Izveidojiet savienojumu, lai automātiski kopīgotu savus emuāra ziņojumus ar %s. - Saistītie konti + Izveidojiet savienojumu + Atvienojiet + Atkārtoti izveidojiet savienojumu Pievienojiet savus iecienītos sociālo mediju pakalpojumus, lai automātiski kopīgotu jaunus ierakstus ar draugiem. + Saistītie konti Paziņojumi. Pārvaldiet savus paziņojumus. Lasītājs. Sekojiet citu vietņu saturam. Mana vietne. Skatiet savu vietni un pārvaldiet to, ieskaitot statistiku. - Sociālie Ne tagad + Sociālie Augšupielādes kļūda. Mēģiniet lietotnes iestatījumos mainīt attēlu optimizēšanu Notiek multivides saglabāšana šajā ierīcē Nevar saglabāt multividi @@ -2869,12 +2837,12 @@ Language: lv Pieskarieties un turiet, lai atlasītu vairākus komentārus Izvēlieties video no ierīces Izvēlieties fotoattēlu no ierīces - WordPress multivide - Pievienot kā galeriju Pievienojiet atsevišķi - Pievienojiet vairākus fotoattēlus - %d slejas + Pievienot kā galeriju + WordPress multivide 1 sleja + %d slejas + Pievienojiet vairākus fotoattēlus Nosūtīt e-pastu vēlreiz Kad jūs pirmo reizi reģistrējāties, mēs nosūtījām e-pastu uz adresi %s. Lūdzu, atveriet ziņojumu un noklikšķiniet uz zilās pogas, lai iespējotu publicēšanu. Kad pirmo reizi reģistrējāties, mēs nosūtījām jums e-pasta ziņojumu. Lūdzu, atveriet ziņojumu un noklikšķiniet uz zilās pogas, lai iespējotu publicēšanu. @@ -2882,8 +2850,8 @@ Language: lv Sūtot verifikācijas e-pastu, radās kļūda. Vai jūs jau esat verificēts? Nosūtīta apstiprinājuma e-pasta vēstule, pārbaudiet savu iesūtni Notiek ziņas saglabāšana kā melnraksts - Uzņemiet video Nofotografēt + Uzņemiet video Esiet uzmanīgi! Kad vietne ir izdzēsta, to vairs nevar atjaunot. Pirms turpiniet, pārliecinieties par to. Visas jūsu ziņas, attēli un dati tiks dzēsti. Šīs vietnes adrese (%s) tiks zaudēta. Vai dzēst vietni? @@ -2893,37 +2861,36 @@ Language: lv Noņemot vietni, radās kļūda. Mēģiniet vēlreiz vēlāk Ziņu neizdevās augšupielādēt multivides failā, un tā tika saglabāta lokāli Vai noņemt šo vietni no lietotnes? - Izvēlieties fotoattēlu Ierīce ir bezsaistē. Ziņa saglabāta lokāli. + Izvēlieties fotoattēlu Ziņa saglabāta tiešsaistē Attēlu kvalitāte. Augstākas vērtības nozīmē labākas kvalitātes attēlus. Iespējot attēlu lieluma maiņu un saspiešanu Augšupielādēts - Augšupielāde neizdevās - Dzēsts - Dzēšana - Augšupielāde Rindā + Augšupielāde + Dzēšana + Dzēsts + Augšupielāde neizdevās Attēla kvalitāte Visas multivides augšupielādes ir atceltas nezināmas kļūdas dēļ. Lūdzu, mēģiniet augšupielādēt vēlreiz Nezināms ziņas formāts Iesniegt - Tika konstatēta vietnes dublikāts. Šī vietne jau pastāv lietotnē, jūs to nevarat pievienot. + Tika konstatēta vietnes dublikāts. Jūs jau esat pieteicies WordPress.com kontā, jūs nevarat pievienot WordPress.com vietni, kas ir saistīta ar citu kontu. Nevar ielādēt multividi Nepieciešams savienojums, lai atsvaidzinātu bibliotēku Jums nav atļaujas skatīt vai rediģēt multivides failus - Mediju nevarēja atrast Ierīces datu nesējā ir liegta lasīšanas atļauja + Mediju nevarēja atrast Optimizēt attēlus - Radās multivides kļūda Radās multivides augšupielādes kļūda - Mēģiniet vēlreiz - Apstiprināt + Radās multivides kļūda Nevarēja izveidot savienojumu. Mēģinot piekļūt jūsu vietnes XMLRPC galapunktam, \n mēs saņēmām kļūdu 403. Lietotnei tas ir nepieciešams, lai sazinātos ar jūsu vietni. Lai atrisinātu šo problēmu, sazinieties ar savu mitinātāju. + Apstiprināt + Mēģiniet vēlreiz Nebija iespējams izveidot savienojumu. Jūsu resursdators bloķē POST pieprasījumus, un lietotnei tad ir\nnepieciešams lai sazinātos ar jūsu vietni. Lai atrisinātu šo problēmu, sazinieties ar mitinātāju. - Meklēt sekotajās vietnēs Neatstājiet to novārtā! \'%1$s\' gaida, kad tiks publicēts. Neatstājiet to novārtā! \'%1$s\' gaida, kad tiks publicēts. \'%1$s\' paliek melnraksts. Atcerieties to publicēt! @@ -2949,61 +2916,61 @@ Language: lv Patīk… Notiek apstrāde… Darbība pabeigta! - Komentārs patika - Izlogoties Piesakieties vietnē WordPress.com + Izlogoties + Komentārs patika Vairāk vietnē WordPress.com Vairāk no %s Atveriet ierīces iestatījumus - %s: nederīgs e-pasts %s: lietotājs bloķēja ielūgumus + %s: nederīgs e-pasts %s: jau seko - %s: jau ir dalībnieks %s: lietotājs nav atrasts + %s: jau ir dalībnieks Komentārs apstiprināts! Patīk tagad - Skatītājs Sekotājs + Skatītājs Nav savienojuma, nevarēja saglabāt jūsu profilu Pa labi - Pa kreisi Nav + Pa kreisi Atlasīts %1$d Nevarēja izgūt vietnes lietotājus - E-pasta sekotājs - Sekotājs Notiek lietotāju ielāde… - Skatītāji + Sekotājs + E-pasta sekotājs E-pasta sekotāji + Skatītāji Sekotāji Komanda Uzaiciniet ne vairāk kā 10 e-pasta adreses un / vai WordPress.com lietotājvārdus. Tiem, kuriem nepieciešams lietotājvārds, tiks nosūtīti norādījumi, kā to izveidot. Ja šis skatītājs tiks noņemts, viņš vairs nesaņems paziņojumus par šo vietni, ja vien viņš atkārtoti netiks sekots.\n\nVai jūs joprojām vēlaties noņemt šo skatītāju? Ja šis lietotājs tiks noņemts, viņš vairs nesaņems paziņojumus par šo vietni, ja vien viņš atkārtoti netiks sekots.\n\nVai jūs joprojām vēlaties noņemt šo sekotāju? Tā kā %1$s - Nevarēja noņemt skatītāju Nevarēja noņemt sekotāju + Nevarēja noņemt skatītāju Nevarēja izgūt vietnes e-pasta sekotājus Nevarēja izgūt vietnes sekotājus Dažas multivides augšupielādes neizdevās. Šajā stāvoklī nevar pārslēgties uz HTML režīmu. Vai noņemt visas neizdevušās augšupielādes un turpināt? - Attēla sīktēls Vizuālais redaktors - Platums + Attēla sīktēls + Izmaiņas saglabātas + Paraksts Saite uz + Platums Alternatīvais teksts - Paraksts - Izmaiņas saglabātas Vai atmest nesaglabātās izmaiņas? Vai pārtraukt augšupielādi? Ievietojot datu nesēju, radās kļūda Jūs pašlaik augšupielādējat multividi. Lūdzu, uzgaidiet, līdz tas tiks pabeigts. Nevar ievietot multividi tieši HTML režīmā. Lūdzu, pārslēdzieties atpakaļ uz vizuālo režīmu. Notiek galerijas augšupielāde… - Piesitiet, lai mēģinātu vēlreiz! - Uzaicinājums veiksmīgi nosūtīts %1$s: %2$s Uzaicinājums nosūtīts, bet radās kļūda (-as)! + Uzaicinājums veiksmīgi nosūtīts + Piesitiet, lai mēģinātu vēlreiz! Mēģinot nosūtīt ielūgumu, radās kļūda. Nevar nosūtīt: ir nederīgi lietotājvārdi vai e-pasta adreses Nevar nosūtīt: lietotājvārds vai e-pasts nav derīgs @@ -3011,8 +2978,8 @@ Language: lv Pielāgots ziņojums Uzaicināt Lietotājvārdi vai e-pasti - Uzaiciniet cilvēkus Ārējais + Uzaiciniet cilvēkus Notīrīt meklēšanas vēsturi Vai notīrīt meklēšanas vēsturi? Vaicājumam %s netika atrasti rezultāti @@ -3020,33 +2987,32 @@ Language: lv Saistītā ziņa Priekšskatījuma ekrānā saites ir atspējotas Nosūtīt - %1$s tika veiksmīgi noņemts Ja noņemsiet %1$s, šis lietotājs vairs nevarēs piekļūt šai vietnei, taču vietnē paliks %1$s izveidotais saturs.\n\nVai jūs joprojām vēlaties noņemt šo lietotāju? + %1$s tika veiksmīgi noņemts Noņemt %1$s - Loma Cilvēki - Šajā sarakstā esošās vietnes pēdējā laikā neko nav publicējušas + Loma Nevarēja noņemt lietotāju - Nevarēja atjaunināt lietotāja lomu Nevarēja izgūt vietnes skatītājus + Nevarēja atjaunināt lietotāja lomu Atjauninot jūsu Gravatar, radās kļūda - Kļūda, atkārtoti ielādējot jūsu Gravatar Atrodot apgriezto attēlu, radās kļūda + Kļūda, atkārtoti ielādējot jūsu Gravatar Apgriežot attēlu, radās kļūda Pārbauda e-pastu Pašlaik nav pieejams. Lūdzu ievadiet savu paroli Pieteikties Tiek parādīts publiski, kad komentējat. Uzņemiet vai atlasiet fotoattēlu - Plāni - Plāns Jūsu ziņas, lapas un iestatījumi tiks nosūtīti jums pa e-pastu uz adresi %s. + Plāns + Plāni Eksportējiet savu saturu - Eksportētais e-pasts nosūtīts! Notiek satura eksportēšana… - Pirkumu pārbaude - Rādīt pirkumus + Eksportētais e-pasts nosūtīts! Jūsu vietnē ir aktīvi premium uzlabojumi. Lūdzu, atceliet jauninājumus pirms vietnes dzēšanas. + Rādīt pirkumus + Pirkumu pārbaude Premium jauninājumi Kaut kas nogāja greizi. Nevarēja pieprasīt pirkumus. Notiek vietnes dzēšana… @@ -3055,50 +3021,50 @@ Language: lv Primārais domēns Dzēšot jūsu vietni, radās kļūda. Lūdzu, sazinieties ar atbalsta dienestu, lai saņemtu papildu palīdzību. Dzēšot vietni, radās kļūda - Eksportēt saturu Lūdzu, ierakstiet %1$s zemāk esošajā laukā, lai apstiprinātu. Pēc tam jūsu vietne uz visiem laikiem tiks dzēsta. - Apstipriniet vietnes dzēšanu + Eksportēt saturu Sazinieties ar atbalsta dienestu + Apstipriniet vietnes dzēšanu Ja vēlaties izveidot vietni, bet nevēlaties nevienu no tagad esošajām ziņām un lapām, mūsu atbalsta komanda var dzēst jūsu ziņas, lapas, multivides līdzekļus un komentārus.\n\nTādējādi jūsu vietne un URL paliks aktīvi, bet jūs varēsiet no jauna sākt satura veidošanu. Vienkārši sazinieties ar mums, lai dzēstu jūsu pašreizējo saturu. - Ļaujiet mums palīdzēt Sāciet savu vietni no jauna - Sāciet no jauna + Ļaujiet mums palīdzēt Lietotnes iestatījumi + Sāciet no jauna Noņemt neizdevušās augšupielādes - Papildu Nav izdzēstu komentāru + Papildu Nav gaidošu komentāru Nav apstiprinātu komentāru Izlaist Nebija iespējams izveidot savienojumu. Serverī nav vajadzīgo XML-RPC metožu. - Centrs - Video Statuss - Standarta - Citāts - Saite - Attēls - Galerija + Video + Centrs Tērzēšana - Audio - Mala + Galerija + Attēls + Saite + Citāts + Standarta Informācija par WordPress.com kursiem un pasākumiem (tiešsaistē un klātienē). + Mala + Audio Iespējas piedalīties WordPress.com pētījumos un aptaujās. Padomi, kā maksimāli izmantot WordPress.com. Kopiena - Pētījums - Ieteikumi Atbildes uz maniem komentāriem - Lietotājvārda pieminējumi + Ieteikumi + Pētījums Vietnes sasniegumi - Vietne seko + Lietotājvārda pieminējumi Patīk manām ziņām + Vietne seko Patīk maniem komentāriem Komentāri manā vietnē %d vienumi 1 vienums - Visi lietotāji Zināmo lietotāju komentāri + Visi lietotāji Bez komentāriem %d komentāru lapā 1 komentārs vienā lapā @@ -3110,9 +3076,9 @@ Language: lv Pieprasiet manuālu apstiprinājumu visiem komentāriem. %d dienas 1 diena - interneta adrese - Galvenā vietne Lai apstiprinātu jauno adresi, noklikšķiniet uz verifikācijas saites e-pastā, kas nosūtīts uz adresi %1$s + Galvenā vietne + interneta adrese Jūs pašlaik augšupielādējat multividi. Lūdzu, uzgaidiet, līdz tas būs pabeigts. Šobrīd komentārus nevarēja atjaunināt - tiek rādīti senāki komentāri Iestatīt piedāvāto attēlu @@ -3121,13 +3087,13 @@ Language: lv Vai neatgriezeniski dzēst šos komentārus? Vai neatgriezeniski dzēst šo komentāru? Dzēst - Atjaunot Komentārs ir dzēsts + Atjaunot Nav surogātpasta komentāru - Viss Nevarēja ielādēt lapu - Izslēgts + Viss Saskarnes valoda + Izslēgts Par lietotni Nevarēja saglabāt jūsu konta iestatījumus Nevarēja izgūt jūsu konta iestatījumus @@ -3135,20 +3101,20 @@ Language: lv Valodas kods nav atpazīts Atļaut komentārus ievietot pavedienos. Pavediens līdz - Atspējots - Meklēt Noņemt + Meklēt + Atspējots Sākotnējais izmērs Jūsu vietne ir redzama tikai jums un apstiprinātajiem lietotājiem Jūsu vietne ir redzama visiem, bet lūdz meklētājprogrammas to neindeksēt Jūsu vietne ir redzama visiem, un meklētājprogrammas to var indeksēt Daži vārdi par tevi… - Par mani Parādītais vārds pēc noklusējuma būs jūsu lietotājvārds, ja tas nav iestatīts + Par mani Publiski redzamais vārds - Uzvārds - Vārds Mans profils + Vārds + Uzvārds Saistītā ziņojuma priekšskatījuma attēls Nevarēja saglabāt vietnes informāciju Nevarēja izgūt vietnes informāciju @@ -3203,13 +3169,13 @@ Language: lv %d līmeņi Privāts Slēpts - Publisks Dzēst vietni + Publisks Aizturēt moderācijai Saites komentāros Automātiski apstiprināt - Lapošana Pavediens + Lapošana Kārtot pēc Lietotājiem jābūt autorizētiem Jāiekļauj vārds un e-pasta adrese @@ -3219,26 +3185,25 @@ Language: lv Noklusējuma formāts Noklusējuma kategorija Adrese - Devīze Vietnes nosaukums + Devīze Jauno ziņu noklusējums - Rakstīšana Konts - Vispārīgi + Rakstīšana Vispirms jaunākais - Senākais pirmais - Aizveriet pēc - Komentāri - Saistītās ziņas - Privātums + Vispārīgi Diskusija + Privātums + Saistītās ziņas + Komentāri + Aizveriet pēc + Senākais pirmais Jums nav atļaujas augšupielādēt multividi vietnē - Nezināms Nekad + Nezināms Šī ziņa vairs nepastāv Jums nav atļauts skatīt šo ziņu Nevar izgūt šo ziņu - Vietnes, kurām sekojat, pēdējā laikā neko nav publicējušas Nav jaunāko ziņu URL ir nokopēts starpliktuvē Atlasītā tēma @@ -3246,22 +3211,22 @@ Language: lv Kaut kas nogāja greizi. Nevarēja aktivizēt tēmu autors: %1$s Paldies, ka izvēlējāties %1$s - PĀRVALDĪT VIETU GATAVS - Atbalsts - Sīkāka informācija - Skats + PĀRVALDĪT VIETU Izmēģiniet un pielāgojiet + Skats + Sīkāka informācija + Atbalsts Aktivizēt - Aktīvs - Atbalsts - Sīkāka informācija - Pielāgot Aktuālā tēma - Lapa atjaunināta - Ziņa atjaunināta - Lapa publicēta + Pielāgot + Sīkāka informācija + Atbalsts + Aktīvs Ziņa publicēta + Lapa publicēta + Ziņa atjaunināta + Lapa atjaunināta Diemžēl nav atrasta neviena tēma. Ielādēt vairāk ziņu Neviena vietne neatbilst “%s” @@ -3281,10 +3246,8 @@ Language: lv Sākotnēji ievietoja %s Sākotnēji ievietoja %1$s par %2$s %s patīk - 1 patīk Patīk - %,d sekotāji - Tematu un vietņu rediģēšana + 1 patīk Lasītāja ziņa Ierīcē parādīto paziņojumu iestatījumi. Paziņojumu iestatījumi, kas tiek nosūtīti uz jūsu kontam piesaistīto e-pastu. @@ -3293,276 +3256,254 @@ Language: lv Paziņojumu veidi Nevarēja ielādēt paziņojumu iestatījumus Komentāru patīk - Lietotnes paziņojumi - E-pasts Paziņojumu cilne + E-pasts + Lietotnes paziņojumi Mēs vienmēr nosūtīsim svarīgus e-pasta ziņojumus par jūsu kontu, taču arī jūs varat saņemt dažas noderīgas ekstras. Jaunākās ziņojas kopsavilkums Nav savienojuma - Ziņa nosūtīta uz atkritni - Atkritne - Statistika - Priekšskatījums - Skats - Publicēt Rediģēt - Jums nav atļauts piekļūt šai vietnei - Šo vietni nevarēja atrast + Publicēt + Skats + Priekšskatījums + Statistika + Atkritne + Ziņa nosūtīta uz atkritni Atcelt Pieprasījuma derīguma termiņš ir beidzies. Piesakieties vietnē WordPress.com, lai mēģinātu vēlreiz. - Ignorēt Vislabākie skati + Ignorēt Šodienas statistika Visu laiku ziņas, skatījumi un apmeklētāji Ieskati Izrakstieties no vietnes WordPress.com - Piesakieties vietnē WordPress.com Pieteikšanās / atteikšanās - Konta iestatījumi + Piesakieties vietnē WordPress.com \"%s\" netika paslēpts, jo tā ir pašreizējā vietne + Konta iestatījumi Izveidojiet vietni WordPress.com - Pievienojiet pašu mitinātu vietni - Pievienojiet jaunu vietni Rādīt / slēpt vietnes - Izvēlieties vietni - Skatīt vietni - Skatīt administratoru + Pievienojiet jaunu vietni + Pievienojiet pašu mitinātu vietni Pārslēgt vietni + Skatīt administratoru + Skatīt vietni + Izvēlieties vietni + Izskats un sajūta + Publicēt Vietnes iestatījumi Ziņas - Publicēt - Izskats un sajūta - Konfigurācija Piesitiet, lai tos parādītu - Atcelt visu atlasi - Atlasīt visus - Paslēpt + Konfigurācija Parādīt - Lai turpinātu, piesakieties vēlreiz. - Nederīgs apstiprinājuma kods - Apstiprinājuma kods + Paslēpt + Atlasīt visus + Atcelt visu atlasi Valoda - Nevar izgūt ziņas - Nevarēja atvērt paziņojumu - Nezināmi meklēšanas termini - Meklēšanas termini - Autori - Notiek lapu iegūšana… - Notiek ziņu iegūšana… + Apstiprinājuma kods + Nederīgs apstiprinājuma kods + Lai turpinātu, piesakieties vēlreiz. Notiek multivides iegūšana… - Lietojumprogrammu žurnāli ir nokopēti starpliktuvē - Šī vietne ir tukša - Jaunas ziņas - Kopējot tekstu starpliktuvē, radās kļūda + Notiek ziņu iegūšana… + Notiek lapu iegūšana… + Autori + Meklēšanas termini + Nezināmi meklēšanas termini + Nevarēja atvērt paziņojumu + Nevar izgūt ziņas Notiek ziņas augšupielāde - %1$d gadi - Gads - %1$d mēneši - Mēnesis + Kopējot tekstu starpliktuvē, radās kļūda + Jaunas ziņas + Lietojumprogrammu žurnāli ir nokopēti starpliktuvē %1$d dienas - Diena %1$d srundas - pirms stundas %1$d minūtes - pirms minūtes - pirms dažām sekundēm - Sekotāji - Video - Ziņas un lapas - Valstis - Patīk - Apmeklētāji - Skatījumi - Gadi + %1$d mēneši + %1$d gadi Notiek tēmu iegūšana… + Gadi + Skatījumi + Apmeklētāji + Patīk + Valstis + Ziņas un lapas + Video + Sekotāji + pirms dažām sekundēm + pirms minūtes + pirms stundas + Diena + Mēnesis + Gads Sīkāka informācija Atlasīts %d - Pārlūkojiet mūsu BUJ - Pagaidām nav komentāru - Nav ziņu ar šo tematu - Patīk - Skatīt oriģinālo rakstu - Komentāri ir slēgti %1$d no %2$d - Nevar publicēt tukšu ziņu - Jums nav atļaujas skatīt vai rediģēt ziņas - Jums nav atļaujas skatīt vai rediģēt lapas - Vairāk - Vecāks par mēnesi - Vecāki par nedēļu - Vecāki par 2 dienām - Palīdzība un atbalsts - Patika - Komentēt - Komentārs ir dzēsts - Atbildiet uz %s - Vēl nav ziņu. Kāpēc gan tādu neizveidot? Notiek izrakstīšanās… + Vēl nav ziņu. Kāpēc gan tādu neizveidot? + Atbildiet uz %s + Komentārs ir dzēsts + Komentēt + Patika + Vecāki par 2 dienām + Vecāki par nedēļu + Vecāks par mēnesi + Vairāk + Jums nav atļaujas skatīt vai rediģēt lapas + Jums nav atļaujas skatīt vai rediģēt ziņas + Nevar publicēt tukšu ziņu + Komentāri ir slēgti + Skatīt oriģinālo rakstu + Patīk + Pagaidām nav komentāru + Pārlūkojiet mūsu BUJ + Palīdzība un atbalsts Nevar veikt šo darbību - Nevar bloķēt šo vietni - Šīs vietnes ziņas vairs netiks rādītas - Bloķēt šo vietni Grafiks Atjaunot - Nav ieteikto vietņu - Nevar pārtraukt sekošanu šai vietnei - Nevar sekot šai vietnei - Jūs jau sekojat šai vietnei - Nevar parādīt šo vietni - Vietne, kurai sekojat - Ievadiet URL vai tematu, kam sekot - Vietnes, kurām sekojat - Temati, kuriem sekojat - Lasītāja vietne - Ja parasti izveidojat savienojumu ar šo vietni bez problēmām, šī kļūda var nozīmēt, ka kāds mēģina uzdoties par vietni, un jums nevajadzētu turpināt. Vai jūs tomēr vēlaties uzticēties sertifikātam? - Nederīgs SSL sertifikāts Palīdzība - Ievadītais lietotājvārds vai parole ir nepareiza - Ievadiet derīgu e-pasta adresi - Jūsu e-pasta adrese nav derīga - Kļūda lejupielādējot attēlu - Komentāru nevarēja atvērt - Kļūda rediģējot komentāru - Kļūda moderējot - Radusies kļūda + Nederīgs SSL sertifikāts + Ja parasti izveidojat savienojumu ar šo vietni bez problēmām, šī kļūda var nozīmēt, ka kāds mēģina uzdoties par vietni, un jums nevajadzētu turpināt. Vai jūs tomēr vēlaties uzticēties sertifikātam? Komentārus šobrīd nevarēja atsvaidzināt Lapas šobrīd nevarēja atsvaidzināt Ziņas šobrīd nevarēja atsvaidzināt - Dzēšot ziņu, radās kļūda - Nav paziņojumu - Multivides augšupielādei ir nepieciešama piestiprināta SD karte - Kategorijas nosaukuma lauks ir obligāts - Kategorija ir veiksmīgi pievienota - Neizdevās pievienot kategoriju - Nav surogātpasts - Neizdevās ielādēt tēmas - Piekļūstot šim emuāram, radās kļūda - Multivides vienumu nevarēja izgūt + Radusies kļūda + Kļūda moderējot + Kļūda rediģējot komentāru + Komentāru nevarēja atvērt + Kļūda lejupielādējot attēlu + Jūsu e-pasta adrese nav derīga + Ievadiet derīgu e-pasta adresi + Ievadītais lietotājvārds vai parole ir nepareiza Nav pieejams neviens tīkls - Nevar noņemt šo tēmu - Nevar pievienot šo tēmu - Lietojumprogrammu žurnāls - Veidojot lietotņu datu bāzi, radās kļūda. Mēģiniet pārinstalēt lietotni. - Šis emuārs ir paslēpts, un to nevarēja ielādēt. Iespējojiet to vēlreiz iestatījumos un mēģiniet vēlreiz. - Medijus šobrīd nevar atsvaidzināt - WordPress emuārs - Attēla iestatījumi - Vietējās izmaiņas - Jaunie mediji - Jauna ziņa - Paziņojumu pagaidām nav… - Nepieciešama autorizācija - Pārbaudiet, vai ievadītais vietnes URL ir derīgs - Nevarēja izveidot pagaidu failu multivides augšupielādei. Pārliecinieties, vai ierīcē ir pietiekami daudz brīvas vietas. - Kategorijas nosaukums - Pievienot jaunu kategoriju - Skatīt pārlūkprogrammā + Multivides vienumu nevarēja izgūt + Piekļūstot šim emuāram, radās kļūda + Neizdevās ielādēt tēmas + Nav surogātpasts + Neizdevās pievienot kategoriju + Kategorija ir veiksmīgi pievienota + Kategorijas nosaukuma lauks ir obligāts + Multivides augšupielādei ir nepieciešama piestiprināta SD karte + Nav paziņojumu + Dzēšot ziņu, radās kļūda Noņemt vietni - Saglabā izmaiņas - Atkritne + Skatīt pārlūkprogrammā + Pievienot jaunu kategoriju + Kategorijas nosaukums + Nevarēja izveidot pagaidu failu multivides augšupielādei. Pārliecinieties, vai ierīcē ir pietiekami daudz brīvas vietas. + Jaunie mediji + Vietējās izmaiņas + Attēla iestatījumi + WordPress emuārs + Medijus šobrīd nevar atsvaidzināt + Veidojot lietotņu datu bāzi, radās kļūda. Mēģiniet pārinstalēt lietotni. + Lietojumprogrammu žurnāls + Atlasiet kategorijas + Savienojuma kļūda + Piekļūstot šim spraudnim, radās kļūda + Mēstule + Rediģēt komentāru + Apstiprināt + Neapstiprināt + Mēstules Vai nosūtīt uz atkritni? + Saglabā izmaiņas + Ielādējot ziņu, radās kļūda. Atsvaidziniet savas ziņas un mēģiniet vēlreiz. + Uzzināt vairāk + Sīktēlu režģis + Jums nav atļaujas skatīt multivides bibliotēku + Dažus multivides failus pašlaik nevar izdzēst. Pamēģini vēlreiz vēlāk. + Saites teksts (neobligāti) + Lapas iestatījumi + Vietējais melnraksts + Nevarēja atrast augšupielādējamo failu. Vai tas tika izdzēsts vai pārvietots? + Ziņu iestatījumi + Vai dzēst ziņu? + Vai dzēst lapu? + Apstiprināts + Gaida + Pārbaudiet, vai ievadītais vietnes URL ir derīgs + Nepieciešama autorizācija + Paziņojumu pagaidām nav… + Jauna ziņa + Šis emuārs ir paslēpts, un to nevarēja ielādēt. Iespējojiet to vēlreiz iestatījumos un mēģiniet vēlreiz. Atkritne - Mēstules - Neapstiprināt - Apstiprināt - Rediģēt komentāru + Atkritne Izmests atkritnē - Mēstule - Gaida - Apstiprināts - Vai dzēst lapu? - Vai dzēst ziņu? - Ziņu iestatījumi - Nevarēja atrast augšupielādējamo failu. Vai tas tika izdzēsts vai pārvietots? - Horizontālā izlīdzināšana - Vietējais melnraksts - Lapas iestatījumi Izveidojiet saiti - Saites teksts (neobligāti) - Dažus multivides failus pašlaik nevar izdzēst. Pamēģini vēlreiz vēlāk. - Jums nav atļaujas skatīt multivides bibliotēku - Sīktēlu režģis - Uzzināt vairāk - Ielādējot ziņu, radās kļūda. Atsvaidziniet savas ziņas un mēģiniet vēlreiz. - Piekļūstot šim spraudnim, radās kļūda - Savienojuma kļūda - Atlasiet kategorijas + Horizontālā izlīdzināšana Kopīgot saiti Notiek ziņu ielāde… - Jums un %, d citiem patīk šis %,d cilvēkiem šis patīk - Jūs nevarat kopīgot ar WordPress bez redzama emuāra Komentārs atzīmēts kā mēstule + Jums un %, d citiem patīk šis + Jūs nevarat kopīgot ar WordPress bez redzama emuāra Komentārs nav apstiprināts - Nevar izgūt šo ziņu - Jums un vēl vienam patīk šis - Atlasiet videoklipu Atlasiet fotoattēlu - Pierakstīties - Nevar atvērt %s - Nevar skatīt attēlu + Atlasiet videoklipu + Jums un vēl vienam patīk šis + Nevar izgūt šo ziņu Nevar kopīgot - Tā nav derīga tēma - Jūs jau sekojat šai tēmai - Nevarēja ievietot jūsu komentāru + Nevar skatīt attēlu + Nevar atvērt %s + Pierakstīties Jums patīk šis - Vienam cilvēkam tas patīk - Noņemts %s - Pievienots %s - Atbildēt uz komentāru… - Sekojošs - Sekot + Nevarēja ievietot jūsu komentāru Dalīties - Atkārtots emuārs + Sekot + Atbildēt uz komentāru… + Pievienots %s + Noņemts %s + Vienam cilvēkam tas patīk (Bez nosaukuma) - Pagaidām nav komentāru + Atkārtots emuārs Šis saraksts ir tukšs - Mēneši - Nedēļas - Dienas - Vakar - Šodien - Novirzītāji - Birkas un kategorijas - Klikšķi - Statistika - Dalīties - Aktivizēt - Neizdevās jaunināt - Apraksts - Paraksts - Nosaukums - Slaidrāde - Loki - Flīzēts - Kvadrāti + Pagaidām nav komentāru Tēmas - Izmest + Kvadrāti + Flīzēts + Loki + Slaidrāde + Nosaukums + Paraksts + Apraksts + Neizdevās jaunināt + Aktivizēt + Dalīties + Statistika + Klikšķi + Birkas un kategorijas + Novirzītāji + Šodien + Vakar + Dienas + Nedēļas + Mēneši Pārvaldīt - un vēl %d. - %d jauni paziņojumi - Seko - Atbilde publicēta + Izmest Pieslēgties + Atbilde publicēta + Seko + %d jauni paziņojumi + un vēl %d. Notiek ielāde… - HTTP parole HTTP lietotājvārds + HTTP parole Augšupielādējot multividi, radās kļūda Nepareizs lietotājvārds vai parole. - Pieslēgties - Lietotājvārds Parole + Lietotājvārds + Pieslēgties Lasītājs - Iekļaut attēlu ziņas saturā - Izmantojiet kā piedāvāto attēlu - Platums - Apakšvirsraksts (neobligāti) - Lapas - Ziņas - Anonīms Nav pieejams neviens tīkls - Darīts + Anonīms + Ziņas + Lapas + Apakšvirsraksts (neobligāti) + Platums + Izmantojiet kā piedāvāto attēlu + Iekļaut attēlu ziņas saturā Labi + Darīts URL Notiek augšupielāde… Līdzināšana @@ -3574,28 +3515,28 @@ Language: lv Iestatījumi Saīsnes nosaukums nevar būt tukšs Privāts - Nosaukums - Atdaliet tagus ar komatiem Kategorijas + Atdaliet tagus ar komatiem + Nosaukums Nepieciešama SD karte Mediji Kategorija ir veiksmīgi atjaunota - Apstiprināt Dzēst - Kategorijas atjaunošana neizdevās + Apstiprināt Nav - Publicēt tūlīt - Atbildēt - ieslēgts - Priekšskatījums - Kategorijas atsvaidzināšanas kļūda - Kļūda - - - Paziņojumu iestatījumi - Pievienot - Saglabāt + Kategorijas atjaunošana neizdevās Atcelt + Saglabāt + Pievienot + Paziņojumu iestatījumi + + + Kļūda + Kategorijas atsvaidzināšanas kļūda + Priekšskatījums + ieslēgts + Atbildēt + Publicēt tūlīt Vienreiz Divas reizes diff --git a/WordPress/src/main/res/values-mk/strings.xml b/WordPress/src/main/res/values-mk/strings.xml index ecb4f36353e0..62de87df00e8 100644 --- a/WordPress/src/main/res/values-mk/strings.xml +++ b/WordPress/src/main/res/values-mk/strings.xml @@ -133,7 +133,6 @@ Language: mk Неможе да се сподели Неможе да се види сликата Неможе да се отвори %s - Следење Додадено %s На едно лице му се допаѓа ова На тебе ти се допаѓа ова diff --git a/WordPress/src/main/res/values-ms/strings.xml b/WordPress/src/main/res/values-ms/strings.xml index e37bf5e6eb0b..fc101753eae7 100644 --- a/WordPress/src/main/res/values-ms/strings.xml +++ b/WordPress/src/main/res/values-ms/strings.xml @@ -287,7 +287,6 @@ Language: ms Sahkan Cuba Semula Tidak boleh berhubung. Hos anda menyekat permintaan POST, dan aplikasi\n memerlukannya untuk berkomunikasi dengan laman anda. Hubungi hos anda untuk menyelesaikan masalah ini. - Cari laman yang diikuti Jangan biarkannya bergantung! \'%1$s\' sedang menunggu untuk diterbitkan. Jangan biarkannya bergantung! \'%1$s\' sedang menunggu untuk diterbitkan. \'%1$s\' kekal sebagai draf. Ingat untuk menerbitkannya! @@ -383,7 +382,6 @@ Language: ms Buang %1$s Peranan Orang - Laman dalam senarai ini tiada kiriman baharu. Tidak dapat membuang pengguna Tidak boleh mendapatkan penonton laman Tidak dapat mengemaskini peranan pengguna @@ -583,7 +581,6 @@ Language: ms Kiriman ini tidak lagi wujud Anda tidak dibenarkan melihat kiriman ini Tidak boleh mendapatkan kiriman ini - Laman yang anda ikuti belum mengirim apa-apa baru-baru ini Tiada kiriman terkini URL disalin ke papan keratan Tema Dipilih @@ -728,7 +725,6 @@ Language: ms Tidak dapat melaksanakan tindakan ini Kemas kini Jadual - Laman yang diikuti Bantuan Sijil SSL tidak sah Jika anda biasanya berhubung ke laman ini tanpa masalah, ralat ini mungkin bermakna bahawa seseorang sedang cuba menyamar sebagai laman ini, dan anda tidak sepatutnya teruskan. Adakah anda masih ingin mempercayai sijil ini? @@ -812,7 +808,6 @@ Language: ms Kongsi Ikut Tidak dapat membuka %s - Mengikuti %s ditambah %s dibuang Seorang menyukainya diff --git a/WordPress/src/main/res/values-nb/strings.xml b/WordPress/src/main/res/values-nb/strings.xml index 0ff2940e6b9d..03fd0c3c1269 100644 --- a/WordPress/src/main/res/values-nb/strings.xml +++ b/WordPress/src/main/res/values-nb/strings.xml @@ -21,7 +21,6 @@ Language: nb_NO Last opp fotografier eller videoer Sjekk dine varsler Bruk <b> Oppdag </b> for å finne nettsteder og stikkord. - Bruk <b> Oppdag </b> for å finne nettsteder og stikkord. Prøv å velge %1$s Innstillinger %2$s for å legge til emner du liker. Miniatyrbilde for video Toppkommentatorer Publisert for %1$d år siden @@ -224,7 +223,6 @@ Language: nb_NO Søkeinnstillinger IP-adresser som alltid er tillatt Ikke tillatte kommentarer - Følg emner Avvis Last ned Utløper %1$s @@ -338,7 +336,6 @@ Language: nb_NO Fullført Neste Slett - Følg emner Ingen nylige innlegg Velkommen! Skann @@ -358,12 +355,10 @@ Language: nb_NO Pamela Nguyen Å bli inspirert Følg dine favorittnettsteder og oppdag nye blogger. - Nettsteder å følge Velg bilder Side opprettet Tilbake Kom i gang - Følg emner for å oppdage nye blogger Av Merk som ikke spam Merk som spam @@ -490,7 +485,6 @@ Language: nb_NO Blokk duplisert Blokk kuttet Blokk kopiert - Emne Ulagrede endringer Åpne lenke i en nettleser Gradienttype @@ -516,8 +510,6 @@ Language: nb_NO Avbryt Flytt til kladd Flytt innlegg til kladder? - Velg dine emner - Velg dine emner Utført Velg noen for å fortsette Publisert @@ -545,7 +537,6 @@ Language: nb_NO Hjemmeside oppdatert Velg en farge Dobbelttrykk for å gå til fargeinnstillinger - Når du følger nettsteder vil du se innholdet her Finn ut mer Sett inn %d klipp @@ -557,7 +548,6 @@ Language: nb_NO Kunne ikke velge nettstedet. Vennligst forsøk igjen. Fortsett Reblogging mislyktes - Behandle nettsteder Hva som er nytt Lenkeadressen kopiert Kopier lenkeadesse @@ -647,22 +637,13 @@ Language: nb_NO Generelt Legg til nytt kort Legg til nytt statistikkort - Velg nettsted eller nøkkelord for å filtrere innlegg Fjern nåværende filter - Behandle emner og nettsteder Logge inn på WordPress.com? - Logg inn på WordPress.com for å se de siste innleggene fra emner du følger - Logg inn på WordPress.com for å se siste innlegg fra nettsteder du følger Erstatt nåværende blokk Legg til på slutten Legg til i begynnelsen Legg til blokk foran Legg til blokk etter - Legg til et emne - Følg et nettsted - Du kan følge innlegg om et spesifikt emne ved å legge til et emne - Se de siste innleggene fra nettsteder du følger - Følger Filter Rediger video Rediger media @@ -700,7 +681,6 @@ Language: nb_NO Straks ferdig! Vi må bare få bekreftet din e-postadresse koblet til Jetpack <b>%1$s</b> Logg inn med din innlggingsinformasjon fra nettstedet %1$s Nettstedsside - Følger Likinger Oppdag Lagret @@ -1184,7 +1164,6 @@ Language: nb_NO Vi har gjort for mange forsøk på å sende en verifiseringskode via SMS — ta en pause og be om en ny om et minutt. Det er ingen WordPress.com-konto som passer til denne Google-kontoen. Ingen nettsteder passer med ditt søk - Ingen nettsteder passer med ditt søk Siden forelder har blitt endret Siden er permanent slettet Siden har blitt planlagt publisert @@ -1215,8 +1194,6 @@ Language: nb_NO Ikke nå Mer Du har ingen nettsteder - Ingen fulgte emner - Legg til emner for å finne innlegg om dine favoritt-emner Logg inn på dem WordPres.com-kontoen du brukte til koble til Jetpack. Jetpack Jetpack FAQ @@ -1236,9 +1213,6 @@ Language: nb_NO Ingen brukere ennå Innlegg du liker vil dukke opp her Ingen likt ennå - Gå til fulgte - Oppdag nettsteder - Ingen fulgte nettsteder Ingen likinger ennå Ingen følgere ennå Siden du ikke har et abonnement vil du bare se et begrenset antall handelser i din aktivitet. @@ -1302,8 +1276,6 @@ Language: nb_NO dette nettstedet Aktiver Aktiver varsler for %1$s%2$s%3$s? - Skru på varsler for nettstedet - Skru av varsler for nettstedet Jetpack-ikon Hendelse Aktivtitetsikon @@ -1854,7 +1826,6 @@ Language: nb_NO Bekreft Klarte ikke å koble til. Vi mottok en 403-feil når vi prøvde å få tilgang til ditt nettsteds XMLRPC-sluttpunkt.\nAppen behøver det for å kunne kommunisere med nettstedet ditt. Kontakt verten din for å løse dette problemet. Klarte ikke å koble til. Verten din blokkerer POST-forespørsler, og appen trenger den for\nå kunne kommunisere med nettstedet ditt. Kontakt verten din for å løse dette problemet. - Søk i fulgte nettsteder Ikke la den henge og slenge! \'%1$s\' venter på å bli publisert. Ikke la den daffe rundt! \'%1$s\' venter på å bli publisert. \'%1$s\' er fortsatt et utkast. Husk på å publisere den! @@ -1956,7 +1927,6 @@ Language: nb_NO Fjern %1$s Rolle Folk - Nettstedene på denne listen har ikke lagt ut noe i det siste Klarte ikke å fjerne brukeren Klarte ikke å oppdatere brukerrollen Klarte ikke å hente inn sideleserne @@ -2169,7 +2139,6 @@ Language: nb_NO Dette innlegget finnes ikke lenger Du er ikke autorisert til å vise dette innlegget Klarte ikke å hente inn dette innlegget - Nettstedene du følger har ikke lagt ut noe i det siste Ingen nylige innlegg Nettadressen ble kopiert til utklippstavlen Valgt tema @@ -2214,8 +2183,6 @@ Language: nb_NO %s Likes 1 Like Like - %,d følgere - Rediger emner og nettsteder Leser-innlegg Innstillinger for notifikasjoner som dukker opp på din enhet. Innstillinger for notifikasjoner som sendes til din kontotilknyttede E-postadresse. @@ -2237,8 +2204,6 @@ Language: nb_NO Vis Publiser Rediger - Du har ikke tillatelse til å få adgang til dette nettstedet - Dette nettstdet ble ikke funnet Angre Forespørselen har utløpt. Logg inn på WordPress.com og prøv igjen. Ignorer @@ -2282,7 +2247,6 @@ Language: nb_NO Henter innlegg … Henter media … App-loggbøker har blitt kopiert til utklippstavlen - Dette nettstedet er tomt Nye innlegg En feil oppstod under kopiering av tekst til utklippstavlen Laster opp innlegg @@ -2310,7 +2274,6 @@ Language: nb_NO %d valgt Bla gjennom vår FAQ Ingen kommentarer enda - Ingen innlegg om dette emnet Liker Vis den opprinnelige artikkelen Kommentarer er lukket @@ -2330,21 +2293,8 @@ Language: nb_NO Ingen innlegg er her ennå. Hvorfor ikke lage en? Logger av … Kan ikke gjøre dette - Kan ikke blokkere dette nettstedet - Innlegg fra dette nettstedet vil ikke lenger bli vist - Blokkér dette nettstedet Publiser Oppdater - Ingen anbefalte nettsteder - Klarte ikke å avfølge dette nettstedet - Klarte ikke å følge dette nettstedet - Du følger allerede dette nettstedet - Klarte ikke å vise dette nettstedet - Nettstdedet ble fulgt - Skriv inn en URL eller et emne å følge - Fulgte nettsteder - Fulgte emner - Leser-nettsted Hvis du vanligvis har koblet deg til dette nettstedet uten problemer, kan denne feilen bety at noen prøver å imitere dette nettstedet, og at du ikke bør fortsette. Er du helt sikker på at du vil stole på dette sertifikatet likevel? Ugyldig SSL-sertifikat Hjelp @@ -2370,8 +2320,6 @@ Language: nb_NO En feil oppstod under å få tilgang til denne bloggen Mediegjenstanden kunne ikke bli hentet inn Ingen nettverkstilgang er tilgjengelig - Kunne ikke fjerne dette emnet - Kunne ikke legge til dette emnet Applikasjonsloggen En feil oppstod under oppretting av app-databasen. Prøv å reinstallere appen. Bloggen er skjult og kunne ikke bli lastet inn. Aktiver den igjen i innstillingene og prøv igjen. @@ -2432,15 +2380,12 @@ Language: nb_NO Klarte ikke å åpne %s Klarte ikke å vise bilde Klarte ikke å dele - Det var ikke et gyldig emne - Du følger allerede dette emnet Klarte ikke å poste kommentaren din Du liker dette En person liker dette Fjernet %s La til %s Svar på kommentar … - Følger Følg Del Reblogg diff --git a/WordPress/src/main/res/values-nl/strings.xml b/WordPress/src/main/res/values-nl/strings.xml index 483b2aa9b458..da223b77112a 100644 --- a/WordPress/src/main/res/values-nl/strings.xml +++ b/WordPress/src/main/res/values-nl/strings.xml @@ -537,7 +537,6 @@ Language: nl Selecteer het %1$s tabblad Meldingen %2$s om onderweg updates te ontvangen. Selecteer het %1$s plusje %2$s om media te uploaden. Je kan vanuit elk apparaat media aan je berichten/pagina\'s toevoegen. Gebruik <b>Ontdekken</b> om sites en tags te zoeken. - Gebruik <b>Discover</b> om sites en tags te zoeken. Probeer eens %1$s Instellingen %2$s te selecteren om onderwerpen toe te voegen die je leuk vindt. Video thumbnail Top commentators %1$d jaar geleden gepubliceerd @@ -1034,7 +1033,6 @@ Language: nl Altijd toegestane IP-adressen Niet toegelaten reacties Voeg knoptekst toe - Volg onderwerpen Een nieuwe manier om boeiende inhoud op je site te maken en te publiceren. Negeren Download @@ -1346,8 +1344,6 @@ Language: nl Lay-outs zijn niet beschikbaar indien offline Ga verder met winkel-referenties Vind je verbonden e-mail - Volg onderwerpen - Probeer meer onderwerpen te volgen om de zoekopdracht uit te breiden Geen recente berichten Welkom! Scan @@ -1386,7 +1382,6 @@ Language: nl Met deze krachtige editor kun je onderweg publiceren. Welkom bij de wereld\'s meest populaire sitebouwer. Media laden is mislukt - Sites om te volgen We werken hard om meer blokken toe te voegen bij elke release. \'%s\' wordt niet volledig ondersteund Help knop @@ -1407,7 +1402,6 @@ Language: nl Kies uit WordPress mediabibliotheek Terug Aan de slag - Volg onderwerpen om nieuwe blogs te ontdekken Door Deze verwijzer kan niet gemarkeerd worden als spam Markering als spam ongedaan maken @@ -1565,7 +1559,6 @@ Language: nl Blok gekopieerd De site titel kan alleen gewijzigd worden door een gebruiker met de beheerder rol. De site titel wordt getoont in de titelbalk van een webbrowser en wordt getoont in de header van de meeste thema\'s. - Onderwerp Kon de site titel niet updaten. Controleer je netwerkverbinding en probeer het dan opnieuw. Niet opgeslagen wijzigingen Open link in een browser @@ -1597,8 +1590,6 @@ Language: nl Verplaatsen naar concept Berichten in prullenbak kunnen niet bewerkt worden. Wil je de status van dit bericht wijzigen naar \"concept\" zodat je er aan kan werken? Verplaats bericht naar concept? - Kies je onderwerpen - Kies je onderwerpen Klaar Selecteer een paar om verder te gaan Gepubliceerd @@ -1641,7 +1632,6 @@ Language: nl Instellingen Selecteer een kleur Twee keer tikken om naar de kleurinstellingen te gaan - Wanneer je sites volgt, zie je hier de inhoud ervan Meer informatie Nieuw in %s Invoegen %d @@ -1655,9 +1645,6 @@ Language: nl Kan site niet selecteren. Probeer het opnieuw. Doorgaan Reblog mislukt - Beheer sites - Zodra je een WordPress.com site maakt, kun je inhoud die je leuk vindt rebloggen op je eigen site. - Geen beschikbare WordPress.com sites Wat is er nieuw Link adres gekopieerd Link adres kopiëren @@ -1756,23 +1743,13 @@ Language: nl Nieuwe kaart toevoegen Nieuwe statistiekenkaart toevoegen Gebruik de filterknop om berichten over specifieke onderwerpen te vinden - Selecteer een tag of site, pop-upvenster - Selecteer een site of tag om berichten te filteren Verwijder het huidige filter - Beheer onderwerpen & sites Inloggen op WordPress.com - Log in op WordPress.com om de laatste berichten van door jou gevolgde onderwerpen te zien - Log in op WordPress.com om de laatste berichten van gevolgde sites te bekijken Huidig blok vervangen Toevoegen aan einde Toevoegen aan begin Blok toevoegen voor Blok toevoegen na - Voeg een onderwerp toe - Een site volgen - Je kunt berichten over een bepaald onderwerp volgen door een onderwerp toe te voegen - Bekijk de nieuwste berichten van sites die je volgt - Volgen Filteren Videobijschrift. %s Video bewerken @@ -1817,7 +1794,6 @@ Language: nl Bijna klaar! We hoeven nu alleen nog het e-mailadres (<b>%1$s</b>) te verifiëren dat aan je Jetpack-account is gekoppeld Inloggen met je site-referenties voor %1$s. Site-pagina - Volgen Vind-ik-leuks Ontdek Opgeslagen @@ -2311,7 +2287,6 @@ Language: nl We hebben te vaak geprobeerd om een sms-verificatiecode te versturen. Even geduld en vraag er over een minuut nog een aan. Er is geen WordPress.com-account gekoppeld aan dit Google-account. Er komen geen sites overeen met je zoekopdracht - Er komen geen sites overeen met je zoekopdracht Bovenliggend item van pagina gewijzigd Pagina is permanent verwijderd Pagina is ingepland @@ -2344,8 +2319,6 @@ Language: nl Niet nu Meer Je hebt geen sites - Geen gevolgde onderwerpen - Voeg hier onderwerpen toe om berichten te vinden over je favoriete onderwerpen Log in op het WordPress.com-account dat je gebruikte om verbinding te maken met Jetpack. Jetpack Veelgestelde vragen Jetpack @@ -2365,9 +2338,6 @@ Language: nl Nog geen gebruikers Berichten die je liked, verschijnen hier Nog niets leuk gevonden - Ga naar volgen - Sites ontdekken - Geen gevolgde sites Nog geen vind-ik-leuks Nog geen volgers Aangezien je een gratis abonnement gebruikt, zie je een beperkt aantal gebeurtenissen in je activiteit. @@ -2432,8 +2402,6 @@ Language: nl deze site Inschakelen Meldingen voor %1$s%2$s%3$s inschakelen? - Site meldingen inschakelen - Site meldingen uitschakelen Jetpack pictogram Gebeurtenis Activiteitenpictogram @@ -3011,7 +2979,6 @@ Language: nl Bevestigen Kan geen verbinding maken. Er is een 403-fout opgetreden tijdens onze poging om het XMLRPC-eindpunt van je\n site te openen. De app heeft dat nodig om met je site te communiceren. Neem contact op met je host voor een oplossing voor\n dit probleem. Kan geen verbinding maken. Je host blokkeert POST-aanvragen en de app heeft\n dat nodig om met je site te communiceren. Neem contact op met je host om dit probleem op te lossen. - Zoek gevolgde sites Niet weggaan! \'%1$s\' moet nog gepubliceerd worden. Niet weggaan! \'%1$s\' moet nog gepubliceerd worden. \'%1$s\' blijft een concept. Vergeet niet deze te publiceren! @@ -3113,7 +3080,6 @@ Language: nl Verwijder %1$s Rol Mensen - De sites in deze lijst hebben recent niets geplaatst Gebruiker verwijderen mislukt Gebruikersrol updaten mislukt Site-gebruikers ophalen mislukt @@ -3326,7 +3292,6 @@ Language: nl Dit bericht bestaat niet meer Je hebt geen rechten om dit bericht te lezen Kan dit bericht niet ophalen - De sites die je volgt hebben recent niets geplaatst Geen recente berichten URL gekopieerd naar klembord Geselecteerd thema @@ -3371,8 +3336,6 @@ Language: nl %s vind-ik-leuks 1 vind-ik-leuk Vind-ik-leuk - %,d volgers - Bewerk onderwerpen en sites Reader-bericht Instellingen voor meldingen die op je apparaat verschijnen. Instellingen voor meldingen die worden verstuurd naar het e-mailadres dat bij je account hoort. @@ -3394,8 +3357,6 @@ Language: nl Bekijk Publiceren Bewerken - Je hebt geen rechten om deze site te bezoeken - Deze site kon niet gevonden worden Ongedaan maken Je verzoek is verlopen. Log in bij WordPress.com probeer opnieuw. Negeren @@ -3439,7 +3400,6 @@ Language: nl Berichten ophalen… Media ophalen… Applicatielogs zijn gekopieerd naar het klembord - Deze site is leeg Nieuwe berichten Er is een fout opgetreden tijdens het kopiëren van de tekst naar het klembord Bericht wordt geüpload @@ -3467,7 +3427,6 @@ Language: nl %d geselecteerd Bekijk onze FAQ Nog geen reacties - Geen berichten met dit onderwerp Vind-ik-leuk Bekijk oorspronkelijk artikel Reacties zijn gesloten @@ -3487,21 +3446,8 @@ Language: nl Nog geen berichten. Waarom maak je er niet een? Uitloggen… Deze actie kan niet uitgevoerd worden - Blokkeren van deze site is mislukt - Berichten van deze site zullen niet meer getoond worden - Blokkeer deze site Inplannen Update - Geen aanbevolen sites - Kan deze site niet ontvolgen - Kan deze site niet volgen - Je volgt deze site al - Kan deze site niet tonen - Site gevolgd - Voer een URL of onderwerp in om te volgen - Gevolgde sites - Gevolgde onderwerpen - Reader site Als je normaal gesproken zonder problemen verbinding maakt met deze site kan deze fout betekenen dat iemand zich probeert voor te doen als deze site. Ga niet verder als dat zo is. Wil je het certificaat toch vertrouwen? Ongeldig SSL-certificaat Help @@ -3527,8 +3473,6 @@ Language: nl Er heeft zich een fout voorgedaan tijdens het openen van dit blog Media-item kan niet worden opgehaald Er is geen netwerk beschikbaar - Niet mogelijk om dit onderwerp te verwijderen - Niet mogelijk om dit onderwerp toe te voegen Applicatie log Er heeft zich een fout voorgedaan bij het aanmaken van de database van de app. Probeer de app opnieuw te installeren. Dit blog is verborgen en kan niet worden geladen. Schakel het blog in instellingen in en probeer het opnieuw. @@ -3590,15 +3534,12 @@ Language: nl Onmogelijk %s te openen Onmogelijk afbeelding te bekijken Onmogelijk te delen - Dat is geen geldig onderwerp - Je volgt dit onderwerp al Je reactie kon niet geplaatst worden Je vindt dit leuk 1 persoon vindt dit leuk %s verwijderd %s toegevoegd Beantwoord reactie… - Volgend Volg Delen Rebloggen diff --git a/WordPress/src/main/res/values-pl/strings.xml b/WordPress/src/main/res/values-pl/strings.xml index 2579de2e0904..8f1286e3b02c 100644 --- a/WordPress/src/main/res/values-pl/strings.xml +++ b/WordPress/src/main/res/values-pl/strings.xml @@ -599,7 +599,6 @@ Language: pl Zawsze dozwolone adresy IP Niedozwolone komentarze Dodaj tekst przycisku - Obserwowane tematy Odrzuć Pobierz Nowy sposób tworzenia i publikacji angażujących treści na twojej witrynie. @@ -890,8 +889,6 @@ Language: pl Wystąpił błąd podczas wyboru szablonu Zaloguj się za pomocą danych uwierzytelniających tej witryny Odnajdź swój połączony email - Obserwuj tematy - Spróbuj poniższych tematów aby poszerzyć wyszukiwanie Brak ostatnich wpisów Witaj! Skanuj @@ -928,7 +925,6 @@ Language: pl Czerpanie inspiracji Obserwuj swoje ulubione witryny i odkrywaj nowe blogi. Nie udało się wczytać plików mediów - Witryny do obserwacji Z każdym wydaniem pracujemy nad dodawaniem większej ilości bloków. \'%s\' nie jest w pełni wspierane Utwórz wpis z relacją @@ -950,7 +946,6 @@ Language: pl Powrót Rozpocznij Autor - Obserwuj tematy aby odkryć nowe blogi Oznacz jako Nie Spam Otwórz witrynę Przesyłanie plików gif @@ -1109,7 +1104,6 @@ Language: pl Niezapisane zmiany Tytuł witryny jest wyświetlony na pasku tytułu przeglądarki a także w nagłówku większości motywów. Nie można było zaktualizować tytułu witryny. Sprawdź ustawienia sieci i spróbuj ponownie. - Temat Otwórz odnośnik w przeglądarce Przechodzi do poprzedniego arkusza z treściami Przechodzi do personalizacji gradientów @@ -1139,8 +1133,6 @@ Language: pl Data publikacji Powrót Przesieść wpis do Szkiców? - Wybierz swoje zainteresowania - Wybierz swoje zainteresowania Gotowe Wybierz kilka aby kontynuować Opublikowano @@ -1182,7 +1174,6 @@ Language: pl Aby ustawić Stronę główną włącz opcję \"Statyczna strona główna\" w ustawieniach witryny Wybierz kolor Stuknij dwukrotnie, by przejść do ustawień kolorów - Gdy zaczniesz śledzić inne witryny, zobaczysz tutaj ich treść Dowiedz się więcej Wstaw %d przytnij @@ -1203,9 +1194,6 @@ Language: pl Skopiowano adres odnośnika Skopiuj adres odnośnika Nie udało się reblogować - Zarządzanie witryny - Kiedy utowrzysz witrynę WordPress.com, możesz reblogować zawartość, którą chcesz na swoją własną witrynę - Brak dostępnych witryn WordPress.com Co nowego Liczba kolumn Stuknij dwukrotnie, aby przesunąć blok w lewo @@ -1296,23 +1284,13 @@ Language: pl Dodaj kartę nowych statystyk Wpisy i strony Użyj przycisku filtra aby odnaleźć wpisy dotyczące określonych tematów - Wybierz znacznik lub witrynę, wyskakujące okienko - Wybierz witrynę lub znacznik aby odfiltrować wpisy Usuń bieżący filtr Zaloguj się do WordPress.com - Zarządzaj Tematami i Witrynami - Zaloguj się do WordPress.com aby zobaczyć ostatnie wpisy, z witryn które obserwujesz - Zaloguj się do WordPress.com aby zobaczyć ostatnie wpisy dotyczące tematów, które obserwujesz Zamień aktualny blok Dodaj zakończenie Dodaj początek Dodaj blok przed Dodaj blok za - Obserwuj witrynę - Zobacz najnowsze wpisy z witryn, które obserwujesz - Dodaj temat - Możesz obserwować wpisy lub określony temat dodając temat - Obserwowane Filtr Edytuj film Edytuj media @@ -1353,7 +1331,6 @@ Language: pl Nie byliśmy w stanie uzyskać dostępu do twojej witryny. Aby rozwiązać ten problem, sprawdź dostęp do hosta. Nie byliśmy w stanie uzyskać dostępu do twojej witryny z powodu problemu z <b>SSL Certificatem</b>. Aby rozwiązać ten problem, sprawdź dostęp do hosta. Nie byliśmy w stanie uzyskać dostępu do twojej witryny ponieważ wymaga <b>Authentykacji HTTP</b>. Aby rozwiązać ten problem, sprawdź dostęp do hosta. - Obserwowane Zaloguj się za pomocą danych uwierzytelniających %1$s tej witryny Nie byliśmy w stanie uzyskać dostępu do <b>pliku XMLRPC</b> na twojej witrynie. Aby rozwiązać ten problem, sprawdź dostęp do hosta. Prawie zakończone! Musimy tylko sprawdzić twój adres email <b>%1$s</b> podłączony do Jetpacka @@ -1848,7 +1825,6 @@ Language: pl W koszu Nie ma konta WordPress skojarzonego z tym kontem Google. Brak witryn spełniających kryteria twojego wyszukiwania - Brak witryn spełniających kryteria twojego wyszukiwania Strona nadrzędną została zmieniona Strona została trwale usunięta Strona została zaplanowana @@ -1879,8 +1855,6 @@ Language: pl Anuluj Nie teraz Więcej - Nie obserwujesz żadnych tematów - Dodaj tematy aby odnaleźć wpisy dotyczące tych które ciebie interesują Nie masz żadnych witryn Zaloguj się na stronę konto WordPress.com które używałeś do podłączenia Jetpacka. Jetpack @@ -1901,9 +1875,6 @@ Language: pl Brak oglądających przez email Jeszcze nie ma użytkowników Nic jeszcze nie polubione - Brak obserwowanych witryn - Idź do obserwowanych - Odkrywaj witryny Brak obserwujących Brak polubień Korzystasz z planu darmowego, więc zobaczysz tylko ograniczoną liczbę działań w ramach swojej aktywności. @@ -1968,8 +1939,6 @@ Language: pl ta witryna Włącz Włączyć powiadomienia dla %1$s%2$s%3$s? - Włącz powiadomienia dla witryny - Wyłącz powiadomienia dla witryny Ikona Jetpacka Wydarzenie Ikona aktywności @@ -2544,7 +2513,6 @@ Language: pl Potwierdź Nie można się połączyć. Otrzymaliśmy błąd nr 403 podczas próby dostępu do \npunktu końcowego XMLRPC twojej witryny. Aplikacja wymaga tego połączenia w celu komunikacji z twoją witryną. Skontaktuj się ze swoim hostingiem w celu rozwiązania\n tego problemu. Nie można się połączyć. Twój host blokuje zapytania POST - aplikacja wymaga tego połączenia w celu skomunikowania się z twoją witryną. Skontaktuj się ze swoim hostingiem w celu rozwiązania tego problemu. - Przeszukaj obserwowane witryny Nie pozostawiaj wpisu w zawieszeniu! \'%1$s\' czeka na zatwierdzenie. Nie pozostawiaj wpisu w zawieszeniu! \'%1$s\' czeka na zatwierdzenie \'%1$s\' pozostaje szkicem. Pamiętaj aby opublikować ten wpis! @@ -2646,7 +2614,6 @@ Language: pl Usuń %1$s Ludzie Rola - Witryny na tej liście nie opublikowały ostatnio żadnych treści Nie można usunąć użytkownika Nie można zaktualizować roli użytkownika Nie można pobrać oglądających tej witryny @@ -2859,7 +2826,6 @@ Language: pl Ten wpis już nie istnieje Nie posiadasz uprawień do podglądu tego wpisu Nie można odzyskać tego wpisu - Witryny, które obserwujesz niczego ostatnio nie opublikowały Brak ostatnich wpisów Adres URL skopiowano do schowka Wybrany motyw @@ -2903,9 +2869,7 @@ Language: pl Po raz pierwszy opublikowano przez %1$s na %2$s %s polubień 1 polubienie - %,d obserwujących Lubię - Edytuj tematy i witryny Wpis czytnika Ustawienia powiadomień pojawiających się na twoim urządzeniu Ustawienia powiadomień wysyłanych na adres email przywiązany do twojego konta. @@ -2927,8 +2891,6 @@ Language: pl Statystyki Zobacz Do kosza - Nie masz uprawnień dostępu do tej witryny - Nie można odnaleźć tej witryny Cofnij Zapytanie wygasło. Zaloguj się na WordPress.com aby spróbować ponownie. Najwięcej wyświetleń @@ -2975,7 +2937,6 @@ Language: pl Dziennik aplikacji został skopiowany do schowka Nowe wpisy Przesyłanie wpisu - Ta witryna jest pusta %1$d minut Rok %1$d lat @@ -3013,28 +2974,14 @@ Language: pl Brak wpisów. Może jakiś opublikujesz? Polubiony Wylogowywanie… - Brak wpisów z tym tematem Lubię Odpowiedz użytkownikowi %s Możliwość komentowania została wyłączona Pomoc i wsparcie Brak komentarzy Nie można wykonać tego działania - Nie można zablokować tej witryny - Wpisy z tej witryny nie będą więcej pokazywane - Zablokuj tę witrynę Zaktualizuj Zaplanuj - Obserwowane blogi - Brak polecanych witryn - Nie udało się pokazać tej witryny - Witryna obserwowana - Witryna Czytnika - Już obserwujesz tą witrynę - Nie udało się wyłączyć obserwowania tej witryny - Nie udało się włączyć obserwowania tego witryny - Obserwowane tematy - Wpisz adres lub temat aby obserwować Pomoc Niepoprawny certyfikat SSL Jeśli zazwyczaj łączysz się z tą stroną bez problemów, ten błąd może oznaczać, że ktoś próbuje się pod nią podszyć i nie powinieneś kontynuować. Czy mimo to chcesz zaufać temu certyfikatowi? @@ -3102,8 +3049,6 @@ Language: pl Wystąpił błąd podczas próby dostępu do tej wtyczki Usunąć wpis? Usunąć stronę? - Nie udało się dodać tematu - Nie udało się usunąć tematu Oczekujący Kosz Zatwierdzono @@ -3133,11 +3078,8 @@ Language: pl Nie można wyświetlić obrazka Rebloguj Zarejestruj się - To nie jest poprawny temat - Obserwujesz już ten temat (Bez nazwy) Brak komentarzy - Obserwowane Motywy Kafelki Kwadraty diff --git a/WordPress/src/main/res/values-pt-rBR/strings.xml b/WordPress/src/main/res/values-pt-rBR/strings.xml index da8a42b813d5..9f24d5e1fe76 100644 --- a/WordPress/src/main/res/values-pt-rBR/strings.xml +++ b/WordPress/src/main/res/values-pt-rBR/strings.xml @@ -375,7 +375,6 @@ Language: pt_BR Selecione a aba %1$s notificações %2$s para obter atualizações em qualquer lugar. Selecione %1$s mais %2$s para enviar mídia. Você pode adicioná-la aos seus posts/páginas de qualquer dispositivo. Use <b> descobrir </b> para encontrar sites e tags. - Use <b> descobrir </b> para encontrar sites e tags. Tente selecionar %1$s configurações %2$s para adicionar tópicos que você gosta. Miniatura do vídeo Principais comentaristas Publicado há %1$d anos @@ -867,7 +866,6 @@ Language: pt_BR Endereços IP sempre permitidos Comentários não permitidos Adicionar texto do botão - Seguir tópicos Uma nova maneira de criar e publicar conteúdos atraentes em seu site. Dispensar Baixar @@ -1178,8 +1176,6 @@ Language: pt_BR Modelos não estão disponíveis off-line Prosseguir com as informações salvas Encontre o e-mail conectado - Seguir tópicos - Tente seguir mais assuntos para melhorar a pesquisa Nenhum post recente Desejamos boas-vindas! Examinar @@ -1218,7 +1214,6 @@ Language: pt_BR Com o editor avançado, você publica seus posts de onde estiver. Desejamos boas-vindas ao criador de sites mais popular do mundo. O envio da mídia falhou - Sites para seguir Estamos trabalhando arduamente para adicionar mais blocos a cada lançamento. \"%s\" não é totalmente compatível Botão de ajuda @@ -1239,7 +1234,6 @@ Language: pt_BR Escolher da biblioteca de mídias do WordPress Voltar Comece agora - Siga tópicos para descobrir novos blogs Por Este referenciador não pode ser marcado como spam Desmarcar como spam @@ -1397,7 +1391,6 @@ Language: pt_BR Bloco copiado O título do site pode ser editado somente por contas com função de administrador. O título do site é exibido na barra de título do navegador e também no cabeçalho da maioria dos temas. - Tópico Não foi possível atualizar o título do site. Verifique sua conexão de rede e tente novamente. Alterações não salvas Abrir link no navegador @@ -1429,8 +1422,6 @@ Language: pt_BR Mover para rascunhos Posts na lixeira não podem ser editados. Você deseja alterar o status deste post para rascunho para que possa editá-lo? Mover post para rascunhos? - Escolha seus interesses - Escolher seus interesses Concluído Selecione alguns para continuar Publicado @@ -1472,7 +1463,6 @@ Language: pt_BR Para definir uma \"Página inicial\" ative a opção \"Página inicial estática\" em \"Configurações do site\" Selecionar uma cor Toque duas vezes para ir para as configurações de cor - Ao seguir sites, você verá o conteúdo deles aqui Saiba mais O que há de novo em %s Inserir %d @@ -1486,9 +1476,6 @@ Language: pt_BR Não foi possível selecionar o site. Tente novamente. Continuar Falha ao reblogar - Gerenciar sites - Assim que você criar um site no WordPress.com, você poderá republicar o conteúdo que você curtir em seu próprio site. - Nenhum site WordPress.com disponível Novidades Link copiado Copiar link @@ -1587,23 +1574,13 @@ Language: pt_BR Adicionar novo cartão Adicionar novo cartão de estatísticas Use o botão de filtro para encontrar posts de assuntos específicos - Selecione um site ou tag para filtrar posts, janela popup - Selecione um site ou tag para filtrar posts Remover o filtro atual - Gerenciar tópicos e sites Acessar o WordPress.com - Acesse com o WordPress.com para ver os posts mais recentes dos tópicos que você segue - Acesse com o WordPress.com para ver os posts mais recentes dos sites que você segue Substituir o bloco atual Adicionar ao final Adicionar no início Adicionar bloco antes Adicionar bloco depois - Adicionar um tópico - Seguir um site - Você pode seguir posts de um assunto específico adicionando um tópico - Veja os posts mais recentes de sites que você segue - Seguindo Filtrar Legenda do vídeo. %s Editar vídeo @@ -1648,7 +1625,6 @@ Language: pt_BR Quase pronto! Só precisamos verificar seu endereço de e-mail conectado ao Jetpack: <b>%1$s</b> Acessar com as credenciais do site %1$s Página do site - Seguindo Curtidas Explorar Salvo @@ -2139,7 +2115,6 @@ Language: pt_BR Já fizemos muitas tentativas de enviar o código de verificação por SMS. Espere alguns minutos e solicite um novo código mais tarde. Não há nenhuma conta no WordPress.com usando essa conta do Google. Nenhum site corresponde à sua pesquisa - Nenhum site corresponde à sua pesquisa A página ascendente foi alterada Página excluída permanentemente Página agendada @@ -2170,8 +2145,6 @@ Language: pt_BR Agora não Mais Você não tem nenhum site - Nenhum tópico seguido - Adicione tópicos aqui para encontrar posts sobre seus assuntos favoritos Acesse a conta do WordPress.com usada para conectar o Jetpack. Jetpack Perguntas frequentes sobre o Jetpack @@ -2191,9 +2164,6 @@ Language: pt_BR Ainda não há usuários Os posts que você gosta aparecerão aqui Nada foi curtido ainda - Ir para sites seguidos - Descubra sites - Nenhum site seguido Nenhuma curtida ainda Nenhum seguidor ainda Como você está usando o plano gratuito, você verá eventos limitados em suas atividades. @@ -2258,8 +2228,6 @@ Language: pt_BR este site Ativar Ativar notificações para %1$s%2$s%3$s? - Ativar notificações do site - Desativar notificações do site Ícone do Jetpack Evento Ícone da atividade @@ -2833,7 +2801,6 @@ Language: pt_BR Confirmar Não foi possível conectar. Recebemos um erro 403 ao tentar acessar o arquivo XMLRPC de seu site.\nO aplicativo necessita dessa conexão para se comunicar com seu site.\nEntre em contato com sua hospedagem para corrigir esse problema. Não foi possível conectar. Seu servidor está bloqueando solicitações POST e\n o aplicativo precisa delas para se comunicar com o seu site. Entre em contato com seu servidor para resolver este problema. - Buscar sites seguidos Não o deixe de lado! \"%1$s\" está esperando ser publicado. Não o deixe de lado! \"%1$s\" está esperando ser publicado. \"%1$s\" ainda é um rascunho. Lembre-se de publicá-lo! @@ -2935,7 +2902,6 @@ Language: pt_BR Remover %1$s Função Pessoas - Os sites desta lista não publicaram nada recentemente Não foi possível remover usuário Não foi possível atualizar a função do usuário Não foi possível recuperar os espectadores do site @@ -3148,7 +3114,6 @@ Language: pt_BR Este post não existe mais Você não possui autorização para ver este post Falha ao carregar esse post - Os sites que você segue não publicaram nada recentemente Não há posts recentes O URL foi copiado para a área de transferência Tema selecionado @@ -3193,8 +3158,6 @@ Language: pt_BR %s curtidas 1 curtida Curtir - %,d seguidores - Editar tópicos e sites Post do leitor Configurações de notificações que são exibidas em seu dispositivo. Configurações de notificações que são enviadas ao e-mail vinculado à sua conta. @@ -3216,8 +3179,6 @@ Language: pt_BR Exibir Publicar Editar - Você não está autorizado a acessar este site - Não foi possível encontrar esse site Desfazer A solicitação expirou. Faça login no WordPress.com para tentar novamente. Ignorar @@ -3261,7 +3222,6 @@ Language: pt_BR Obtendo posts… Obtendo mídia… O logs do aplicativo foram copiados para a área de transferência - Este site está vazio Novos posts Ocorreu um erro ao copiar o texto para a área de transferência Fazendo upload do post @@ -3289,7 +3249,6 @@ Language: pt_BR %d selecionados Veja nossa seção de Perguntas Frequentes Nenhum comentário - Nenhum post neste tópico Curtir Ver o artigo original Os comentários estão desativados @@ -3309,21 +3268,8 @@ Language: pt_BR Nenhum post. Por que não criar um? Saindo… Não é possível executar esta ação - Não é possível bloquear este site - Os posts deste blog não serão mais exibidos - Bloquear este site Agendar Atualizar - Nenhum site recomendado - Não é possível deixar de seguir este site - Não é possível seguir este site - Você já segue este site - Não é possível mostrar este site - Site seguido - Digite um URL ou tópico para seguir - Sites seguidos - Tópicos seguidos - Leitor do site Se você geralmente se conecta a este site sem problemas, talvez este erro signifique que alguém está tentando imitar o site, e você não deve continuar. Deseja confiar no certificado mesmo assim? Certificado SSL inválido Ajuda @@ -3349,8 +3295,6 @@ Language: pt_BR Ocorreu um erro ao acessar este blog O item de mídia não pode ser recuperado Não há rede disponível - Não é possível remover este tópico - Não é possível adicionar este tópico Log do aplicativo Ocorreu um erro ao criar o banco de dados do aplicativo. Tente reinstalar o aplicativo. Este blog está oculto e não foi possível carregá-lo. Habilite-o em configurações e tente novamente. @@ -3412,15 +3356,12 @@ Language: pt_BR Não é possível abrir %s Não é possível visualizar a imagem Não é possível compartilhar - Esta tópico não é válido - Você já segue esse tópico Não foi possível postar o seu comentário Você curte isto Uma pessoa curte isto Excluído %s Adicionado %s Responda para comentar - Seguindo Seguir Compartilhar Reblogar diff --git a/WordPress/src/main/res/values-ro/strings.xml b/WordPress/src/main/res/values-ro/strings.xml index 5812063492a6..ef5c19a1ecfd 100644 --- a/WordPress/src/main/res/values-ro/strings.xml +++ b/WordPress/src/main/res/values-ro/strings.xml @@ -1,11 +1,82 @@ + Pentru moment, nu putem să deschidem monitorizare site. Te rog să reîncerci mai târziu + Jurnale server web + Jurnale PHP + Valori metrice + Monitorizare site + Folosește <b>Descoperă</b> ca să găsești site-uri și etichete. Încearcă să selectezi <b>Abonamente</b> ca să vezi conținutul la care te-ai abonat și să-ți administrezi abonamentele. + Mergi la Abonamente + Blogurile la care te-ai abonat nu au publicat nimic recent + Abonează-te la bloguri în Descoperă sau caută un blog care ți-a plăcut. + Niciun blog recomandat + Nu te-ai abonat la nicio etichetă + Nu există articole cu această etichetă + Nu pot să blochez acest blog + Articolele din acest blog nu vor mai fi arătate + Nu pot face dezabonarea la blog + Nu ești autorizat să accesezi acest blog + Nu pot face abonarea la acest blog + Te-ai abonat deja la acest blog + Nu pot să arăt acest blog + Te-ai abonat deja la această etichetă + Alege ce te interesează + 1 abonat + %s abonați + %d abonați + Blog la care te-ai abonat + Caută bloguri la care te-ai abonat + Introdu un URL-ul sau o etichetă la care să te abonezi + Te-ai abonat + Abonează-te + Blochează acest blog + Editează etichetele și blogurile + Bloguri la care te-ai abonat + Etichete la care te-ai abonat + Urmărește etichetele + Administrează etichetele și blogurile + Etichetă + Bloguri în Cititor + Te-ai abonat + %d etichete + O etichetă + Nicio etichetă + %d bloguri + 1 blog + Niciun blog + Liste + Automattic + Apreciate + Salvate + Abonamente + Descoperă + Caută + Abonează-te la etichete + Încearcă să te abonezi la mai multe etichete ca să extinzi căutarea + Abonează-te la etichete ca să descoperi bloguri noi + Bloguri la care să te abonezi + Abonează-te la o etichetă + Etichete sugerate + Caută un blog + Abonează-te la o etichetă și vei putea să vezi aici cele mai bune articole cu această etichetă. + Nicio etichetă + Abonează-te la bloguri în Descoperă și vei vedea aici ultimele articole publicate pe ele. Sau caută un blog care ți-a plăcut. + Niciun abonament la bloguri + Abonează-te la un blog + Poți să te abonezi la articole despre un anumit subiect prin adăugarea unei etichete + Vezi cele mai noi articole pe blogurile la care te-ai abonat + Filtrează după etichetă + Filtrează după blog + După an + După lună + După săptămână + După zi Aștept conexiunea Trafic Lucrează offline @@ -99,7 +170,6 @@ Language: ro Cont și setări Selectează un plan Gratuit în primul an, cu orice plan cu plată anuală - Un urmăritor Salvat Salvează S-ar putea să-ți placă @@ -601,7 +671,6 @@ Language: ro Selectează %1$s fila Notificări %2$s pentru a primi actualizări din mers. Selectează %1$s și %2$s pentru a încărca elemente media. Le poți adăuga în articole/pagini de pe orice dispozitiv. Folosește <b> Descoperă </b> pentru a găsi site-uri și etichete. - Folosește <b> Descoperă </b> pentru a găsi site-uri și etichete. Încearcă să selectezi %1$s Setări %2$s pentru a adăuga subiecte care îți plac. Miniatură video Cei mai activi comentatori Publicat acum %1$d ani @@ -1098,7 +1167,6 @@ Language: ro Adrese IP mereu permise Comentarii neaprobate Adaugă text în buton - Urmărește subiecte Un mod nou de a crea și publica conținut captivant pe site-ul tău. Refuză Descarcă @@ -1410,8 +1478,6 @@ Language: ro Aranjamentele nu sunt disponibile când ești offline Continuă cu datele de conectare la magazin Găsește emailul conectat - Urmărește subiecte - Încearcă să urmărești mai multe subiecte pentru a extinde căutarea Niciun articol recent Bine ai venit! Scanează @@ -1450,7 +1516,6 @@ Language: ro Cu acest editor puternic poți publica din mers. Bine ai venit la cel mai popular constructor de site-uri web din lume. Încărcarea media a eșuat - Site-uri de urmărit Lucrăm continuu pentru a adăuga mai multe blocuri la fiecare lansare. „%s” nu este acceptat în totalitate Buton pentru ajutor @@ -1471,7 +1536,6 @@ Language: ro Alege din biblioteca Media din WordPress Înapoi Începe - Urmărește niște subiecte pentru a descoperi bloguri noi De Acest referent nu poate fi marcat ca spam Anulează marcarea ca spam @@ -1629,7 +1693,6 @@ Language: ro Bloc copiat Titlul site-ului poate fi modificat numai de un utilizator cu rolul de administrator. Titlul site-ului este afișat în bara de titluri a unui navigator web și, pentru majoritatea temelor, este afișat în antet. - Subiect Nu am putut actualiza titlul site-ului. Verifică conexiunea la rețea și încearcă din nou. Modificări nesalvate Deschide legătura într-un navigator @@ -1661,8 +1724,7 @@ Language: ro Mută în ciorne Articolele aruncate la gunoi nu pot fi editate. Vrei să modifici starea acestui articol în „ciornă” pentru a-l putea edita? Muți articolul în Ciorne? - Alege subiecte - Alege subiecte + Alege etichetele Gata Selectează câteva pentru a continua Publicat @@ -1705,7 +1767,6 @@ Language: ro Pentru a seta Prima pagină activează „Prima pagină statică” în Setări site Selectează o culoare Atinge de două ori pentru a merge la setări culori - Când urmărești site-uri, vei vedea conținutul lor aici Află mai mult Care sunt noutățile în %s Inserează %d @@ -1719,9 +1780,9 @@ Language: ro Nu am putut selecta site-ul. Te rog reîncearcă. Continuă Republicarea a eșuat - Administrează site-urile - După ce ai creat un site WordPress.com, poți republica un conținut care îți place pe propriul site. - Indisponibilă pentru site-urile WordPress.com + Administrează blogurile + După ce ai creat un blog WordPress.com, poți să republici un conținut care îți place pe propriul site. + Nu este disponibil niciun blog WordPress.com Ce este nou Adresa legăturii a fost copiată Copiază adresa legăturii @@ -1821,23 +1882,17 @@ Language: ro Adaugă cartuș nou Adaugă un cartuș nou pentru statistici Folosește butonul de filtrare pentru a găsi articole pentru anumite subiecte - Selectează o etichetă sau un site, o fereastră popup - Selectează un site sau o etichetă pentru a filtra articolele + Selectează o etichetă sau un blog, o fereastră popup Înlătură filtrul curent - Administrează subiectele și site-urile Autentifică-te în WordPress.com - Autentifică-te în WordPress.com pentru a vedea ultimele articole cu subiectele pe care le urmărești - Autentifică-te în WordPress.com pentru a vedea ultimele din site-urile pe care le urmărești + Autentifică-te în WordPress.com pentru a vedea ultimele articole cu etichetele la care te-ai abonat + Autentifică-te în WordPress.com pentru a vedea ultimele articole din blogurile la care te-ai abonat Înlocuiește blocul curent Adaugă la sfârșit Adaugă la început Adaugă bloc înainte Adaugă bloc după - Adaugă un subiect - Urmărește un site - Poți urmări articole despre un anumit subiect prin adăugarea unei subiect - Vezi ultimele articole de pe site-urile pe care le urmărești - Urmăresc + Adaugă o etichetă Filtrează Subtitrare video. %s Editează videoul @@ -1882,7 +1937,6 @@ Language: ro Aproape gata! Trebuie doar să-ți verificăm adresa de email conectată la Jetpack <b>%1$s</b> Autentifică-te cu datele de conectare ale site-ului %1$s Pagină site - Urmăresc Aprecieri Descoperă Salvate @@ -2376,7 +2430,7 @@ Language: ro Am făcut prea multe încercări de a trimite un cod de verificare prin SMS — ia o pauză și cere altul nou peste un minut. Nu există niciun cont WordPress.com care să se potrivească cu acest cont Google. Nu se potrivește niciun site cu căutarea ta - Nu se potrivește niciun site cu căutarea ta + Nu se potrivește niciun blog cu căutarea ta Părintele paginii a fost schimbat Pagina a fost ștearsă definitiv Pagina a fost programată @@ -2409,8 +2463,7 @@ Language: ro Nu acum Mai mult Nu ai niciun site - Nu urmărești niciun subiect - Adaugă subiecte aici pentru a găsi articole cu subiectele tale preferate + Adaugă etichete aici ca să găsești articole despre subiectele tale preferate Autentifică-te în contul WordPress.com pe care l-ai folosit pentru a conecta Jetpack. Jetpack Întrebări frecvente Jetpack @@ -2430,9 +2483,7 @@ Language: ro Niciun utilizator până acum Articolele pe care le apreciezi vor apărea aici Nu ai apreciat nimic până acum - Du-te la urmărire - Descoperă site-uri - Niciun site urmărit + Descoperă bloguri Nicio apreciere până acum Niciun urmăritor până acum Deoarece ai un plan gratuit, vei vedea numai anumite evenimente în activitatea ta. @@ -2497,8 +2548,8 @@ Language: ro acest site Activează Activezi notificările pentru %1$s%2$s%3$s? - Activează notificările pe site - Dezactivează notificările pe site + Activează notificările pe blog + Dezactivează notificările pe blog Icon Jetpack Eveniment Icon activități @@ -2695,7 +2746,7 @@ Language: ro Eroare la instalarea %s %s instalat cu succes Instalează - Apreciere + Apreciază Adaugă site nou Creează un site nou pentru afacerea, revista ta sau blogul personal; sau conectează o instalare WordPress existentă. Pentru a primi notificări utile pe dispozitivul tău de la site-ul propriu WordPress, va trebui să instalezi modulul Jetpack. Vrei să inițializezi Jetpack? @@ -3080,7 +3131,6 @@ Language: ro Confirmă N-am putut conecta. Am primit o eroare 403 la încercarea de a accesa\n punctul-final XMLRPC pentru site-ul tău. Aplicația are nevoie de el pentru a comunica cu site-ul tău. Contactează-ți gazda pentru a rezolva\n această problemă. Nu m-am putut conecta. Gazda ta blochează cererile POST și aplicația trebuie\n să comunice cu site-ul tău. Contactează-ți gazda pentru a rezolva această problemă. - Caută site-uri urmărite Nu-l lăsa atârnat! \'%1$s\' așteaptă să fie publicat. Nu-l lăsa atârnat! \'%1$s\' așteaptă să fie publicat. \'%1$s\' rămâne o ciornă. Nu uita să-l publici! @@ -3118,7 +3168,7 @@ Language: ro %s: deja un membru %s: utilizator negăsit Comentariu aprobat! - Apreciere + Apreciază acum Vizitator Urmăritor @@ -3182,7 +3232,7 @@ Language: ro Înlătură %1$s Rol Oameni - Site-urile din această listă nu au publicat nimic recent + Blogurile din această listă nu au publicat nimic recent Nu s-a putut înlătura utilizatorul Nu s-a putut actualiza rolul utilizatorului N-am putut aduce vizitatorii site-ului @@ -3395,7 +3445,6 @@ Language: ro Acest articol nu mai există Nu ești autorizat să vezi acest articol Acest articol nu poate fi regăsit - Site-urile pe care le urmărești n-au publicat nimic recent Niciun articol recent URL copiat în clipboard Tema selectată @@ -3440,8 +3489,6 @@ Language: ro %s aprecieri 1 apreciere Aprecieri - %,d urmăritori - Editează subiectele și site-urile Cititor articol Setări pentru notificările ce apar pe dispozitivul tău mobil. Setări pentru notificările ce sunt trimise la emailul atașat contului tău. @@ -3463,8 +3510,7 @@ Language: ro Vizualizare Publică Editare - Nu ești autorizat să accesezi acest site - Acest site nu a putut fi găsit + Acest blog nu a putut fi găsit Anulează Cererea a expirat. Autentifică-te pe WordPress.com pentru a încerca din nou. Ignoră @@ -3508,7 +3554,7 @@ Language: ro Se aduc articole… Se aduc media… Jurnalele aplicației au fost copiate în clipbord - Acest site este gol + Acest blog este gol Articole noi A apărut o eroare în timp ce copiam textul în clipbord Încarc articolul @@ -3536,8 +3582,7 @@ Language: ro %d selectate Răsfoiește întrebările noastre frecvente Niciun comentariu încă - Niciun articol cu acest subiect - Apreciere + Apreciază Vezi articolul original Comentariile sunt închise %1$d din %2$d @@ -3556,22 +3601,8 @@ Language: ro Niciun articol încă. De ce să nu creezi unul? Deautentificare…. Nu pot face acestă acțiune - Nu pot bloca acest site - Articolele din acest site nu vor mai fi arătate - Blochează acest site Programează Actualizează - Niciun site recomandat - Nu pot anula urmărirea acest site - Nu pot urmări acest site - Deja urmărești acest site - Nu pot să arăt acest site - Site urmărit - %s urmăritori - Introdu un URL sau un subiect pentru a-l urmări - Site-uri urmărite - Subiecte urmărite - Site Cititor Dacă în mod uzual te conectezi fără probleme la acest site, această eroare poate să însemne că cineva încearcă să se substituie site-ului și n-ar trebui să mai continui. Preferi să te încrezi în certificat oricum? Certificat SSL invalid Ajutor @@ -3597,8 +3628,8 @@ Language: ro A apărut o eroare la accesarea blogului Elementul media nu a putut fi readus Nu e nicio rețea disponibilă - Nu pot să înlătur acest subiect - Nu pot să adaug acest subiect + Nu pot să înlătur această etichetă + Nu pot să adaug această etichetă Jurnal aplicații A apărut o eroare în timp ce se creea baza de date a aplicației. Încearcă reinstalarea ei. Acest blog este ascuns și nu poate fi încărcat. Validează-l din nou din setări și încearcă din nou. @@ -3660,15 +3691,13 @@ Language: ro Nu pot deschide %s Nu pot vedea imaginea Nu pot partaja - Acela nu este un subiect valid - Urmărești deja subiectul acesta + Aceea nu este o etichetă validă Nu s-a putut publica comentariul tău Îți place acesta O persoană apreciază asta %s înlăturat %s adăugat Răspunde la comentariu… - Urmăresc Urmărește Partajează Republicare diff --git a/WordPress/src/main/res/values-ru/strings.xml b/WordPress/src/main/res/values-ru/strings.xml index 9161f8f5fcc0..a2a2b1bd8ba3 100644 --- a/WordPress/src/main/res/values-ru/strings.xml +++ b/WordPress/src/main/res/values-ru/strings.xml @@ -99,7 +99,6 @@ Language: ru Учетная запись и настройки Выберите тарифный план Бесплатно на первый год при покупке любого годового тарифного плана - 1 подписчик Сохранено Сохранить Вам может понравиться @@ -601,7 +600,6 @@ Language: ru Перейдите на вкладку %1$sУведомления%2$s, чтобы получать изменения на ходу. Нажмите %1$s и %2$s, чтобы загрузить медиафайл. Можете добавить его в записи или на страницы с любого устройства. Используйте раздел <b>Поиск</b>, чтобы искать сайты и метки. - Используйте раздел <b>Поиск</b>, чтобы искать сайты и метки. Перейдите в %1$sНастройки%2$s, чтобы добавить интересные вам темы. Миниатюра видео Топ комментаторов Опубликовано %1$d г./лет назад @@ -1098,7 +1096,6 @@ Language: ru Белый список IP Запрещённые комментарии Добавить текст кнопки - Подписаться на темы Новый способ создавать и публиковать захватывающее содержимое на вашем сайте. Скрыть Скачать @@ -1410,8 +1407,6 @@ Language: ru Макеты недоступны при отсутствии подключения к сети Продолжить с учетными данными магазина Узнать адрес привязанной эл. почты - Подписаться на темы - Для расширения поиска попробуйте подписаться на больше тем Нет свежих записей Добро пожаловать! Сканировать @@ -1450,7 +1445,6 @@ Language: ru С настолько мощным редактором вы можете создавать публикации на ходу. Добро пожаловать в самый популярный в мире конструктор сайтов. Загрузка медиафайла неудалась - Сайты для подписки Мы стараемся добавить как можно больше блоков в каждом выпуске. \'%s\' полностью не поддерживается Кнопка помощи @@ -1471,7 +1465,6 @@ Language: ru Выберите из медиатеки WordPress Назад Начните - Подписывайтесь на темы для того, чтобы найти новые блоги От автора Этот реферер не может быть отмечен как спам Убрать отметку спам @@ -1629,7 +1622,6 @@ Language: ru Блок скопирован Название сайта может быть изменено только администратором. Название сайта отображается в заголовке браузера и отображается большинством тем в заголовке сайта. - Тема Невозможно обновить название сайта. Проверьте подключение к сети и попробуйте снова. Несохранённые изменения Открыть ссылку в браузере @@ -1661,8 +1653,6 @@ Language: ru Переместить в черновики Записи из корзины не могут быть отредактированы. Хотите изменить статус на \"черновик\", чтобы получить возможность редактирования? Переместить записи в черновики - Выберите ваши интересы - Выберите ваши интересы Готово Выберите несколько для продолжения Опубликована @@ -1705,7 +1695,6 @@ Language: ru Для установки главной страницы включите \"Статическую главную страницу\" в настройках сайта Выберите цвет Нажмите дважды для перехода в настройки цветов - При подписке на сайты вы увидите их содержимое здесь Подробнее Что нового в %s? Вставить %d @@ -1719,9 +1708,6 @@ Language: ru Не удалось выбрать сайт. Повторите попытку. Продолжить Перепубликация не удалась - Управление сайтами - После создания сайта на WordPress.com вы сможете сделать перепубликацию понравившегося содержимого на своем сайте. - Нет доступных сайтов на WordPress.com Что нового Адрес ссылки скопирован Скопировать адрес ссылки @@ -1821,23 +1807,13 @@ Language: ru Добавить новую карточку Добавить новую карточку статистики Используйте кнопку фильтра для поиска записей по интересующим темам - Выберите метку или сайт, всплывающее окно - Выберите сайт или метку для фильтрации записей Убрать текущий фильтр - Управление темами и сайтами Войти на WordPress.com - Войдите на WordPress.com, чтобы увидеть последние записи по темам, на которые вы подписаны - Войдите на WordPress.com, чтобы увидеть последние записи с сайтов, на которые вы подписаны Заменить текущий блок Добавить в конце Добавить в начале Добавить блок перед Добавить блок после - Добавить тему - Подписаться на сайт - Вы можете подписаться на определенную тему добавив её - Читайте свежие записи с сайтов, на которые вы подписаны - Подписки Фильтр Подпись к видео. %s Изменить видео @@ -1882,7 +1858,6 @@ Language: ru Почти готово! Нужно только проверить адрес эл.почты подключения Jetpack <b>%1$s</b> Войдите с именем пользователя и паролем для сайта %1$s Страница сайта - Подписчик Отметки \"Нравится\" Найти Сохранено @@ -2376,7 +2351,6 @@ Language: ru Слишком много попыток отправить СМС-код проверки, отдохните и запросите снова через пару минут. Ни одна учетная запись WordPress.com не совпадает с этой записью в Google. Нет сайтов по критериям поиска - Нет сайтов по критериям поиска Родитель для страницы сменен Страница удалена навсегда Страница запланирована к публикации @@ -2409,8 +2383,6 @@ Language: ru Не сейчас Больше У вас нет сайтов - Нет подписок на темы - Добавьте любимые темы здесь, чтобы найти по ним записи Войдите в учетную запись WordPress.com, с которой был подключен Jetpack. Jetpack Jetpack FAQ @@ -2430,9 +2402,6 @@ Language: ru Ещё нет пользователей Записи, которые вам понравились будут здесь Нет отметок \"нравится\" - Перейти к подпискам - Найти сайты - Нет подписок на сайты Ещё нет отметок \"нравится\" Ещё нет подписчиков Для бесплатных тарифов число событий в истории ограничено. @@ -2497,8 +2466,6 @@ Language: ru этот сайт Включить Включить уведомления для %1$s%2$s%3$s? - Включить уведомления сайта - Отключить уведомления сайта Значок Jetpack Событие Значок активности @@ -3080,7 +3047,6 @@ Language: ru Подтвердить Не удалось подключиться. При попытке подключиться к конечной точке XMLRPC вашего сайта мы получили\n ошибку 403. Это необходимо для обмена данными между приложением и вашим сайтом. Свяжитесь с хостинг-провайдером, чтобы решить\n эту проблему. Не удалось подключиться. Ваш хостинг-провайдер блокирует запросы POST, которые нужны приложению\n для обмена данными с вашим сайтом. Свяжитесь с хостинг-провайдером, чтобы решить эту проблему. - Искать на веб-сайтах, на которые вы подписаны Не бросайте эту запись! Запись «%1$s» должна увидеть свет. Не бросайте эту запись! Запись «%1$s» должна увидеть свет. Запись «%1$s» остаётся в черновиках. Не забудьте опубликовать её! @@ -3182,7 +3148,6 @@ Language: ru Удалить %1$s Роль Люди - На сайтах из этого списка за последнее время не было ничего опубликовано Не удалось удалить пользователя Не удалось обновить роль пользователя Не получить список пользователей сайта @@ -3395,7 +3360,6 @@ Language: ru Эта запись больше не существует У вас нет прав на просмотр этой записи Не удается загрузить эту запись - На сайтах, на которые вы подписаны, в последнее время не публиковались новые записи Нет свежих записей URL-адрес скопирован в буфер обмена Выбранная тема @@ -3440,8 +3404,6 @@ Language: ru %s оценок 1 оценка Оценить - %,d подписчиков - Редактировать темы и сайты Запись из Чтива Настройки уведомлений, отображаемых на вашем устройстве. Настройки уведомлений, отправляемых на e-mail из вашей учётной записи. @@ -3463,8 +3425,6 @@ Language: ru Просмотреть Опубликовать Изменить - У вас нет разрешения на доступ к этому сайту. - Не удаётся найти этот сайт. Назад Время запроса истекло. Авторизуйтесь на WordPress.com и попробуйте еще раз. Пропустить @@ -3508,7 +3468,6 @@ Language: ru Загрузка записей… Загрузка медиафайлов… Журналы приложения скопированы в буфер обмена. - Этот сайт пуст. Новые записи Произошла ошибка при копировании текста в буфер обмена. Идет отправка на сервер. @@ -3536,7 +3495,6 @@ Language: ru Выбрано: %d Поиск в списке часто задаваемых вопросов Пока нет комментариев - Нет записей по этой теме Нравится Просмотреть исходную публикацию Комментарии закрыты @@ -3556,22 +3514,8 @@ Language: ru Пока нет записей. Создайте первую! Выход из системы… Не удалось совершить это действие - Не удалось заблокировать этот сайт - Записи с этого сайта больше не будут отображаться - Заблокировать этот сайт Запланировать Обновить - Нет рекомендованных сайтов - Не удалось отписаться - Не удалось подписаться на этот сайт - Вы уже подписаны на этот сайт - Не удалось отобразить сайт - Вы подписаны на этот сайт - %s подписчиков - Введите URL или тему для подписки - Отслеживаемые сайты - Подписанные темы - Сайт из Чтива Если вы обычно заходите на этот сайт без проблем, эта ошибка может означать, что кто-то пытается подделать сайт и вам не стоит сюда заходить. Хотите ли вы доверять ssl сертификату? Недействительный сертификат SSL Помощь @@ -3597,8 +3541,6 @@ Language: ru Ошибка при попытке подключиться к блогу Медиа-файл не может быть восстановлен Нет доступной сети. - Не удается удалить эту тему - Не удается подписаться на эту тему Лог приложения Произошла ошибка при создании базы данных приложения- попробуйте его переустановить. Этот блог является скрытым и не может быть загружен. Откройте его через настройки и попробуйте снова. @@ -3660,15 +3602,12 @@ Language: ru Не удаётся открыть %s Не удаётся просмотреть изображение Не в состоянии поделиться - Это неверная тема - Вы уже подписаны на эту тему Не удалось оставить комментарий Вам нравится это Одному человеку нравится это Метка %s удалена Метка %s добавлена Ответить на комментарий… - Отписаться Подписаться Поделиться Перепубликация diff --git a/WordPress/src/main/res/values-sk/strings.xml b/WordPress/src/main/res/values-sk/strings.xml index 8ac07425a11d..63f9f40cd6a8 100644 --- a/WordPress/src/main/res/values-sk/strings.xml +++ b/WordPress/src/main/res/values-sk/strings.xml @@ -20,7 +20,6 @@ Language: sk Nedávno ste na tejto stránke vykonali zmeny, ale neboli uložené. Zvoľte verziu k načítaniu:\n\n Odkaz na Nastavenia odkazu - Pridať tému Filter Inštaluj plugin Naplánované na: %s @@ -147,7 +146,6 @@ Language: sk Vynaložili sme veľké úsilie, aby sme odoslali cez SMS overovací kód - skús opätovne neskôr. Neexistuje žiaden účet na WordPress.com, ktorý zopodvedá tomuto Google účtu. Žiadna webová stránka nezodpovedá vyhľadávaniu. - Žiadna webová stránka nezodpovedá vášmu vyhľadávaniu. Strana predlohy sa zmenila Stránka bola presunutá do Koncepty Najvyššia úroveň @@ -177,8 +175,6 @@ Language: sk Teraz nie Nemáte žiadne webové stránky Viac - Žiadne sledované témy - Pridajte témy a nájdite články vašich obľúbených témach Jetpack Najčastejšie otázky Jetpack Prihláste sa do účtu WordPress.com. ktorý používate na pripojenie Jetpack. @@ -198,9 +194,6 @@ Language: sk Zatiaľ žiadni používatelia Zobrazia sa tu príspevky, ktoré sa vám páčia Zatiaľ nebolo nič označené Páči sa mi to - Prejdite na sledovanie - Objavte webové stránky - Žiadne sledované webové stránky Zatiaľ žiadne lajky Zatiaľ žiadni odberatelia Keďže máte voľný plán, uvidíte vo svojich aktivitách obmedzené udalosti. @@ -265,8 +258,6 @@ Language: sk Táto webová stránka Oprávnenie Umožniť upozornenia pre %1$s%2$s%3$s? - Zapnúť upozornenia webovej stránky - Vypnúť upozornenia webovej stránky Ikona Jetpack Udalosť Ikonka aktivity @@ -847,7 +838,6 @@ Language: sk Potvrdiť Nepodarilo sa pripojiť. Došlo k chybe 403, keď ste sa snažili dostať na webovú stránku XMLRPC koncový bod. Aplikácia ho vyžaduje, aby mohla komunikovať s vašou webovou stránkou. Kontaktujte svojho hosta, aby vyriešil problém. Nemožno pripojiť. Váš hostiteľ blokuje žiadosti ČLÁNOK. Aplikácia potrebuje to potrebuje na komunikáciu s vašou webovou stránkou. Kontaktujte hostiteľa, aby vyriešil tento problém. - Hľadajte sledované webové stránky Nečakajte! %1$s\' čaká na zverejnenie. Nečakajte! %1$s\' čaká na zverejnenie. %1$s\' zostáva ako koncept. Pripomenúť na zverjnenie! @@ -949,7 +939,6 @@ Language: sk Odstrániť %1$s Ľudia Rola - Webové stránky v tomto zozname neuverejnili v poslednej dobe nič Nepodarilo sa odstrániť daného používateľa Nepodarilo sa aktualizovať používateľskú rolu Nepodarilo sa získať návštevníkov stránky @@ -1162,7 +1151,6 @@ Language: sk Tento článok už neexistuje Nie ste autorizovaný na prezeranie tohto článku Nemožno načítať tento článok - Webové stránky, ktoré sledujete v poslednej dobe nezverejnili nič. Žiadne nové články URL adresa skopírovaná do schránky Zvolená téma @@ -1202,10 +1190,8 @@ Language: sk Pôvodne publikované autorom %s Pôvodne publikované autorom %1$s v %2$s počet lajkov: %s - počet sledujúcich: %,d 1 lajk lajk - Upraviť témy a webové stránky Článok čítačky Nastavenia upozornení zobrazujúcich sa na vašom zariadení. Nastavenia upozornení odosielaných na e-mail, ktorý je spojený s vašim účtom. @@ -1227,8 +1213,6 @@ Language: sk Zobraziť Zverejniť Článok presunutý do koša - Nemáte oprávnenie na prístup na túto webovú stránku - Táto webová stránka sa nenašla Zrušiť zmenu Platnosť požiadavky uplynula. Prihláste sa na stránku WordPress.com a skúste to znova. Najlepšie zobrazenia @@ -1275,7 +1259,6 @@ Language: sk Nové príspevky Záznamy aplikácie boli skopírované do schránky Nahrávanie príspevku - Táto webová stránka je prázdna Načítavajú sa témy Mesiac Pred hodinou @@ -1318,24 +1301,9 @@ Language: sk Lajk Lajknuté Odhlasovanie… - Neexistuje žiadny príspevok s touto témou Nie je možné vykonať túto akciu - Príspevky z tejto webovej stránky sa už nebudú zobrazovať - Nepodarilo sa zablokovať túto webovú stránku - Blokovať túto webovú stránku Aktualizovať Rozvrh - Sledované webové stránky - Nepodarilo sa zrušiť sledovanie tejto webovej stránky - Sledovaná webová stránka - Túto webovú stránku už sledujete - Nepodarilo sa zobraziť túto webovú stránku - Nepodarilo sa sledovať túto webovú stránku - Žiadne odporúčané webové stránky - Webová stránka čítačky - Sledované témy - Zadajte adresu URL alebo tému, ktorú chcete sledovať - %s odberateľov Pomocník Neplatný SSL certifikát Ak sa bežne pripájate bez problémov, táto chyba môže znamenať, že sa niekto pokúša prevziať vašu identitu. Neodporúčame vám pokračovať. Chcete aj napriek tomu dôverovať tomuto certifikátu? @@ -1407,8 +1375,6 @@ Language: sk Nepodarilo sa nájsť súbor na nahrávanie. Bol odstránený alebo presunutý? Vymazať stránku? Vymazať príspevok? - Túto tému nie je možné pridať - Túto tému nie je možné odstrániť Zdieľať odkaz Načítavajú sa príspevky Nemôžete zdieľať na WordPress bez viditeľného blogu @@ -1427,15 +1393,12 @@ Language: sk Nie je možné zdieľať Nie je možné zobraziť obrázok Sledovať - Sledujem (bez názvu) Páči sa vám to pridané: %s Jeden lajk Odpovedajte na komentár… Zatiaľ žiadne komentáre - Túto tému už sledujete - Toto nie je platná téma Témy Dní Týždňov diff --git a/WordPress/src/main/res/values-sq/strings.xml b/WordPress/src/main/res/values-sq/strings.xml index 9f6e9e656e63..daa7ef576846 100644 --- a/WordPress/src/main/res/values-sq/strings.xml +++ b/WordPress/src/main/res/values-sq/strings.xml @@ -99,7 +99,6 @@ Language: sq_AL Rregullime dhe Llogari Përzgjidhni një plan Falas për vitin e parë, me plane vjetore të paguar - 1 ndjekës U ruajt Ruaje Mund t’ju pëlqente edhe @@ -599,7 +598,6 @@ Language: sq_AL Përzgjidhni %1$s skedë Njoftimesh %2$s që të merrni përditësime kudo që të jeni. Përzgjidhni %1$s plus %2$s që të ngarkoni media. Mund ta shtoni te postimet/faqet tuaja prej çfarëdo pajisjeje. Përdorni <b> Zbuloni </b> që të gjeni sajte dhe etiketa. - Përdorni <b> Zbuloni </b> që të gjeni sajte dhe etiketa. Provoni të përzgjidhni %1$s Rregullime %2$s që të shtoni subjekte që ju pëlqejnë. Miniaturë Videoje Komentatorët Kryesues Botuar %1$d vjet më parë @@ -1091,7 +1089,6 @@ Language: sq_AL Adresa IP të lejuara përgjithnjë Komente të palejuara Tekst butoni Shtoni - Ndiqni tema Një rrugë e re për të krijuar dhe botuar lëndë tërheqëse në sajtin tuaj. Hidhe tej Shkarkoje @@ -1402,8 +1399,6 @@ Language: sq_AL S’mund të kihen skema, teksa jeni jashtë linje Vazhdo me kredenciale shitoreje Gjeni email-in tuaj të lidhur - Ndiqni tema - Provoni të ndiqni më tepër tema që të zgjerohet kërkimi Pa postime së fundi Mirë se vini! Skanoje @@ -1442,7 +1437,6 @@ Language: sq_AL Me fuqinë e përpunuesit mund të postoni kudo që ndodheni. Mirë se vini te krijuesi më popullor në botë i sajteve. Dështoi ngarkimi i medias - Sajte për t’u ndjekur Po punojmë fort për të shtuar më tepër blloqe me çdo hedhje në qarkullim. \'%s\' s’mbulohet plotësisht Buton ndihme @@ -1463,7 +1457,6 @@ Language: sq_AL Zgjidhni prej Mediatekës WordPress Mbrapsht Fillojani - Ndiqni tema, që të zbuloni blogje të rinj Nga Këtij referuesi s’mund t’i vihet shenjë si i padëshiruar Hiqja Shenjën Si i Padëshiruar @@ -1621,7 +1614,6 @@ Language: sq_AL Blloku u kopjua Titulli i Sajtit mund të ndryshohet vetëm nga një përdorues në rolin e përgjegjësit. Titulli i Sajtit shfaqet te shtylla e titujve e një shfletuesi dhe, për shumicën e temave, shfaqet te kryet. - Subjekt S’u përditësua dot titull sajti. Kontrolloni lidhjen në rrjet dhe riprovoni. Ndryshime të paruajtura Hape lidhjen në një shfletues @@ -1653,8 +1645,6 @@ Language: sq_AL Shpjere te Skica Postimet e shpënë në hedhurina s’mund të përpunohen. Doni të ndryshohet gjendja e këtij postimi në “skicë”, që të mund të merreni me të? Të kalohet postimi te Skicat? - Zgjidhni temat tuaja - Zgjidhni temat tuaja U bë Që të vazhdohet, përzgjidhni ndoca Të botuar @@ -1697,7 +1687,6 @@ Language: sq_AL Që të caktoni Faqe hyrëse, aktivizoni te Rregullime Sajti \"Faqe hyrëse Statike\" Përzgjidhni një ngjyrë Prekeni dyfish që të kaloni te rregullimet e ngjyrave - Kur ndiqni sajte, lëndën e tyre do ta shihni këtu Shihni më tepër Ç’ka të Re Në %s Fut %d @@ -1711,9 +1700,6 @@ Language: sq_AL S’u përzgjodh dot sajt. Ju lutemi, riprovoni. Vazhdo Riblogimi dështoi - Administroni Sajte - Pasi të krijoni një sajt WordPress.com, mund të riblogoni në sajtin tuaj lëndën që doni. - S’ka sajte WordPress.com Ç’ka të Re Adresa e lidhjes u kopjua Kopjo adresë lidhjeje @@ -1813,23 +1799,13 @@ Language: sq_AL Shtoni Kartë të Re Shtoni kartë të re statistikash Përdorni butonin e filtrave që të gjeni postime rreth subjektesh specifike - Përzgjidhni një Etiketë ose Sajt, Dritare Flluskë - Përzgjidhni një Sajt ose Etiketë që të filtrohen postime Hiqe filtrin e tanishme - Administroni Tema & Sajte Hyni te WordPress.com - Që të shihni postimet më të reja në temat që ndiqni, bëni hyrjen te llogaria juaj në WordPress.com - Bëni hyrjen te llogaria juaj në WordPress.com që të shihni postimet më të reja prej sajtesh që ndiqni Zëvendëso Bllokun e Tanishëm Shtoje Në Fund Shtoje Në Fillim Shtoje Përpara Bllokut Shtoje Pas Bllokut - Shtoni një temë - Ndiqni një sajt - Mund të ndiqni postime lidhur me një subjekt të caktuar, duke shtuar një temë - Shihni postimet më të reja prej sajtesh që ndiqni - Në ndjekje Filtër Legjendë videoje. %s Përpunoni videon @@ -1874,7 +1850,6 @@ Language: sq_AL Thuajse mbërritëm! Na duhet vetëm të verifikojmë adresën tuaj email të lidhur me Jetpack-un <b>%1$s</b> Hyni me kredencialet tuaja për sajtin %1$s Faqe sajti - Ndjekur prej jush Pëlqime Zbuloni U ruajt @@ -2368,7 +2343,6 @@ Language: sq_AL Provuam shumë herë t’ju dërgonin një kod verifikimi SMS — bëni ca pushim, dhe kërkoni një të ri pas ndonjë minute. S’ka llogari WordPress.com që përputhet me këtë llogari Google. S’u gjetën sajte me përputhje për kërkimin tuaj - S’u gjetën sajte me përputhje për kërkimin tuaj Faqja mëmë është ndryshuar Faqja është fshirë përgjithmonë Faqja është planifikuar për botim @@ -2401,8 +2375,6 @@ Language: sq_AL Jo tani Më tepër S’keni ende ndonjë sajt - Pa tema të ndjekura - Shtoni këtu tema që të gjeni postime rreth temave tuaja të parapëlqyera Bëni hyrjen te llogaria WordPress.com që përdorët për t’ia përshoqëruar Jetpack-ut. Jetpack PBR për Jetpack @@ -2422,9 +2394,6 @@ Language: sq_AL Ende pa përdorues Postimet që pëlqeni do të shfaqen këtu Ende pa pëlqyer gjë - Shko te vijuesja - Zbuloni sajte - Pa sajte të ndjekur Ende pa pëlqime Ende pa ndjekës Meqë jeni nën një plan falas, do të shihni akte të kufizuara në veprimtarinë tuaj. @@ -2489,8 +2458,6 @@ Language: sq_AL këtë sajt Aktivizoji Aktivizo njoftime për %1$s%2$s%3$s? - Aktivizoni njoftime sajti - Çaktivizoni njoftime sajti Ikonë Jetpack Veprimtari Ikonë veprimtarie @@ -3072,7 +3039,6 @@ Language: sq_AL Ripohojeni S’u bë dot lidhja. Morëm një gabim 403, kur provuam të hyjmë\n te pikëmbarimi XMLRPC i sajtit tuaj. Kjo i duhet aplikacionit, që të mund të komunikojë me sajtin tuaj.\n Lidhuni me strehuesin tuaj që ta zgjidhni këtë problem. S’u bë dot lidhja. Strehuesi juaj i bllokon kërkesat POST, dhe aplikacionit\n i duhen që të mund të komunikojë me sajtin tuaj. Lidhuni me strehuesin tuaj që ta zgjidhni këtë problem. - Kërkoni te sajtet vijues Mos e lini varur! \'%1$s\' është në pritje të botimit. Mos e lini varur! \'%1$s\' është në pritje të botimit. \'%1$s\' mbetet skicë. Mos harroni ta botoni! @@ -3174,7 +3140,6 @@ Language: sq_AL Hiqe %1$s Rol Persona - Sajtet në këtë listë s’kanë postuar ndonjë gjë tani së fundi S’u hoq dot përdoruesi S’u përditësua dot rol përdoruesi S’u morën dot shikues sajti @@ -3387,7 +3352,6 @@ Language: sq_AL Ky postim s’ekziston më S’jeni i autorizuar ta shihni këtë postim S’arrihet të merret ky postim - Sajtet që ndiqni s’kanë postuar gjë tani afër Pa postime së fundi URL-ja u kopjua në të papastër Temë e Përzgjedhur @@ -3432,8 +3396,6 @@ Language: sq_AL %s Pëlqime 1 Pëlqim Pëlqim - %,d Ndjekës - Përpunoni tema dhe sajte Postim Te Lexuesi Rregullime për njoftime që shfaqen në pajisjen tuaj. Rregullime për njoftime që dërgohen drejt email-it përshoqëruar llogarisë tuaj. @@ -3455,8 +3417,6 @@ Language: sq_AL Shiheni Botojeni Përpunojeni - S’jeni i autorizuar të hyni në këtë sajt - Ky sajt s’u gjet dot Zhbëje Kërkesa skadoi. Hyni te WordPress.com që të riprovoni. Shpërfille @@ -3500,7 +3460,6 @@ Language: sq_AL Po sillen postimet… Po sillet media… Regjistrat e aplikacionit u kopjuan te e papastra - Ky sajt është i zbrazët Postime të reja Ndodhi një gabim gjatë kopjimit të tekstit te e papastra Po ngarkohet postimi @@ -3528,7 +3487,6 @@ Language: sq_AL %d të përzgjedhur Shfletoni PBR tonat Ende pa komente - S’ka postime me këtë temë Pëlqim Shihni shkrimin origjinal Komentet janë mbyllur @@ -3548,22 +3506,8 @@ Language: sq_AL Ende pa postime. Pse nuk krijoni një? Po dilet… I pazoti të kryejë këtë veprim - S’arrihet të bllokohet ky sajt - Postimet prej këtij sajti s’do të shfaqen më - Bllokoje këtë sajt Planifikoje Përditësoje - S’ka sajte të këshilluar - S’arrihet të ndërpritet ndjekja e këtij sajti - S’arrihet të ndiqet ky sajt - E ndiqni tashmë këtë sajt - S’arrihet të shfaqet ky sajt - Sajti u ndoq - %s ndjekës - Jepni një URL ose temë që të ndiqet - Sajte te ndjekur - Tema të ndjekura - Sajti i Lexuesit Nëse zakonisht lidheni te ky sajt pa probleme, ky gabim mund të thotë që dikush po provon të hiqet si ky sajt, dhe s’duhet të vazhdoni. Doni të besohet dëshmia, sido qoftë? Dëshmi SSL e pavlefshme Ndihmë @@ -3589,8 +3533,6 @@ Language: sq_AL Ndodhi një gabim gjatë hyrjes te ky blog S’u mor dot objekti media S’ka rrjet gati - S’arrihet të hiqet kjo temë - S’arrihet të shtohet kjo temë Regjistër aplikacioni Ndodhi një gabim gjatë krijimit të bazës së të dhënave për aplikacionin. Provoni të riinstaloni aplikacionin. Ky blog është i fshehur dhe s’u ngarkua dot. Aktivizojeni sërish te rregullimet dhe riprovoni. @@ -3652,15 +3594,12 @@ Language: sq_AL S’arrin të hapë %s S’arrin të shihet figura S’arrin të ndajë me të tjerët - Kjo s’është temë e vlefshme - E ndiqni tashmë këtë temë S’u postua dot komenti juaj E pëlqeni Kjo i pëlqen një personi U hoq %s U shtua %s Përgjigjuni komentit… - Ndjekur prej jush Ndiqe Ndajeni me të tjerët Riblogoje diff --git a/WordPress/src/main/res/values-sr/strings.xml b/WordPress/src/main/res/values-sr/strings.xml index 14cc044454a5..57e6e53ba271 100644 --- a/WordPress/src/main/res/values-sr/strings.xml +++ b/WordPress/src/main/res/values-sr/strings.xml @@ -243,7 +243,6 @@ Language: sr_RS Гледајте раст ваше публике помоћу дубинске аналитике. Пратите своје омиљене локације и откривајте нове блогове. Учитавање садржаја није успело - Веб места за праћење \'%s\' није у потпуности подржан Дајемо све од себе да додамо нове блокове са сваком објавом. Дугме помоћи @@ -375,7 +374,6 @@ Language: sr_RS Блок исечен Блок копиран Наслов сајта може да измени само корисник са администраторском улогом. - Тема Несачуване измене Отвори везу у прегледачу Иди назад @@ -405,8 +403,6 @@ Language: sr_RS Заказано Датум објаве Прочитај објаву CCPA везану за приватност - Одаберите своје теме - Одаберите своје теме Објава везана за приватност за кориснике из Калифорније Статус & Видљивост Ажурирај сада @@ -430,7 +426,6 @@ Language: sr_RS Почетна страница успешно ажурирана Одабери боју Додирни двапут за подешавања боја - Када пратите веб локације, овде ћете видети њихов садржај исеци Сазнај више Убаци %d @@ -444,7 +439,6 @@ Language: sr_RS Није могуће поделити Адреса везе је копирана Настави - Управљај сајтовима Шта има ново Убаци Настави @@ -507,8 +501,6 @@ Language: sr_RS Додај на почетак Додај блок пре Додај блок после - Додај ознаку - Прати сајт Филтрирај Уреди видео запис Аутор чланка @@ -537,7 +529,6 @@ Language: sr_RS Домен није доступан -%s Страница сајта - Прати Сачувано Откриј Свиђања @@ -902,7 +893,6 @@ Language: sr_RS Види Нема сајтова који се поклапају са Вашом претрагом Не постоји WordPress.com налог који се поклапа са овим Google налогом. - Нема сајтова који се поклапају са Вашом претрагом Родитељ странице је промењен Страница је заказана Страница је трајно обрисана @@ -929,8 +919,6 @@ Language: sr_RS Не сада Више Немате ниједан сајт - Нема праћених ознака - Додајте ознаке како бисте пронашли чланке о својим омиљеним темама Jetpack Jetpack Често Постављана Питања Пријавите се на WordPress.com налог који сте користили за повезивање Jetpack-а. @@ -946,8 +934,6 @@ Language: sr_RS Још увек нема пратилаца електронске поште Још увек нема гледалаца Чланци који Вам се свиђају ће се појавити овде - Откриј сајтове - Нема праћених сајтова Још нема свиђања Још нема пратилаца Још увек нема активности @@ -1004,8 +990,6 @@ Language: sr_RS Немате дозволу да уређујете иконицу сајта Иконица активности Омогући обавештења за %1$s%2$s%3$s? - Укључи обавештења сајта - Искључи обавештења сајта Иконица Jetpack-а Догађај Дневник активности @@ -1472,7 +1456,6 @@ Language: sr_RS Дошло је до грешке са отпремањем садржаја Покушај поново Потврди - Претражи праћене сајтове Ваш нацрт \'%1$s\' Вас чека - не заборавите да га објавите! Да ли сте знали да је \'%1$s\' још увек нацрт? Објавите га! Посети @@ -1568,7 +1551,6 @@ Language: sr_RS Уклони %1$s Улога Људи - Сајтови на овој листи нису ништа објавили неко време Корисник није уклоњен Није промењена улога корисника Грешка приликом мењања вашег Граватара @@ -1786,8 +1768,6 @@ Language: sr_RS %s свиђања 1 свиђање Свиђање - %,d пратилаца - Уреди ознаке и сајтове Чланак читача Подешавања за обавештења која се појављују на вашем уређају. Подешавања за обавештења која су послата на е-пошту повезану са вашим налогом. @@ -1809,8 +1789,6 @@ Language: sr_RS Уређивање Објављивање Статистика - Нисте овлашћени да приступите овом веб месту - Овај сајт не може бити пронађен Врати Захтев је истекао. Пријавите се на WordPress.com да бисте покушали поново. Занемари @@ -1857,7 +1835,6 @@ Language: sr_RS Нови чланци Дошло је до грешке приликом копирања текста у оставу Отпремање чланка - Овај сајт је празан Добављам теме… %1$d месеци Година @@ -1899,25 +1876,10 @@ Language: sr_RS Прегледајте наша ЧПП Одјава… Одговорите %s - Нема чланака са овом темом Помоћ и подршка Није могуће обавити овај поступак - Није могуће блокирати ову страницу - Блокирај овај сајт - Чланци са овог сајта више неће бити приказивани Заказати Ажурирај - %s пратилаца - Веб места која пратите - Унесите URL или ознаку за праћење - Сајт запраћен - Није могуће приказати овај сајт - Већ пратите овај сајт - Није могуће пратити овај сајт - Није могуће отпратити овај сајт - Нема препоручених сајтова - Сајт читача - Праћене теме Помоћ Неисправна SSL потврда Уколико се уобичајено на ово веб место повезујете без проблема, ова грешка може да значи да неко други покушава да се представи као ваше веб место и у том случају не би требало да наставите. Желите ли ипак да верујете овој потврди? @@ -1989,8 +1951,6 @@ Language: sr_RS Нема обавештења … још увек. Обриши страницу? Обриши чланак? - Није могуће додати ову тему - Није могуће уклонити ову тему Подели везу Добављам чланке… Коментар означен као непожељан @@ -2003,7 +1963,6 @@ Language: sr_RS Није могуће добавити овај чланак Вама и још некоме се ово свиђа Прати - Престани са праћењем Додат %s Уклоњен %s Једној особи се ово свиђа @@ -2018,8 +1977,6 @@ Language: sr_RS Одговор на коментар… Још увек нема коментара Пријави се - Већ пратите ову тему - Ово није исправна тема Квадрати Кругови Наслов diff --git a/WordPress/src/main/res/values-sv/strings.xml b/WordPress/src/main/res/values-sv/strings.xml index e74959c5051b..72e80c2ff3a1 100644 --- a/WordPress/src/main/res/values-sv/strings.xml +++ b/WordPress/src/main/res/values-sv/strings.xml @@ -1,11 +1,60 @@ + PHP-loggar + Webbplatsövervakning + Gå till prenumerationer + Inga rekommenderade bloggar + Inga inlägg med denna etikett + Kan inte blockera denna blogg + Inlägg från denna blogg kommer inte längre att visas + Kan inte prenumerera på denna blogg + Du prenumererar redan på denna blogg + Kan inte visa denna blogg + Du prenumererar redan på denna etikett + Välj dina intressen + 1 prenumerant + %s prenumeranter + Ange en URL eller etikett att prenumerera på + Prenumererad + Prenumerera + Blockera denna blogg + Redigera etiketter och bloggar + Hantera etiketter och bloggar + Etikett + %d etiketter + 1 etikett + 0 etiketter + %d bloggar + 1 blogg + 0 bloggar + Listor + Automattic + Prenumerationer + Upptäck + Sök + Prenumerera på etiketter + Prenumerera på etiketter för att upptäcka nya bloggar + Bloggar att prenumerera på + Prenumerera på en etikett + Föreslagna etiketter + Sök efter en blogg + Prenumerera på en etikett så kommer du att se de bästa inläggen från den här. + Inga etiketter + Inga bloggprenumerationer + Prenumerera på en blogg + Se de nyaste inläggen från bloggar du prenumererar på + Filtrera efter etikett + Filtrera efter blogg + Efter år + Efter månad + Efter vecka + Efter dag Väntar på anslutning Trafik Arbetar offline @@ -99,7 +148,6 @@ Language: sv_SE Konto och inställningar Välj ett paket Gratis första året med årliga betalpaket - 1 följare Sparat Spara Du kanske gillar @@ -601,7 +649,6 @@ Language: sv_SE Välj fliken %1$sNotiser%2$s för att få uppdateringar i farten. Välj %1$splustecknet%2$s för att ladda upp media Du kan lägga till det i dina inlägg/på dina sidor från valfri enhet. Använd <b>Upptäck</b> för att hitta webbplatser och etiketter. - Använd <b>Upptäck</b> för att hitta webbplatser och etiketter. Prova att välja %1$sInställningar%2$s för att lägga till ämnen som du gillar. Miniatyrbild för videoklipp Toppkommenterare Publicerades för %1$d år sedan @@ -1098,7 +1145,6 @@ Language: sv_SE IP-adresser som alltid tillåts Kommentering avstängd Lägg till knapptext - Följ ämnen Ett nytt sätt att skapa och publicera engagerande innehåll på din webbplats. Avfärda Ladda ner @@ -1410,8 +1456,6 @@ Language: sv_SE Layouter är inte tillgängliga när du saknar internetförbindelse Fortsätt med butiksautentiseringsuppgifter Hitta din anslutna e-postadress - Följ ämnen - Försök att följa fler ämnen för att söka bredare Inga nya inlägg Välkommen! Skanna @@ -1450,7 +1494,6 @@ Language: sv_SE Med den kraftfulla redigeringsmiljön kan du skapa inlägg på rörlig fot. Välkommen till världens populäraste webbplatsbyggare. Hämtningen av mediafiler misslyckades - Webbplatser att följa Vi arbetar för fullt med att lägga till fler block i varje utgåva. ”%s” stöds inte fullt ut Hjälpknapp @@ -1471,7 +1514,6 @@ Language: sv_SE Välj ur mediabiblioteket i WordPress Tillbaka Kom igång - Följ ämnen för att upptäcka nya bloggar Av Denna hänvisande webbplats går inte att avmarkera som skräp Ta bort markering som skräppost @@ -1629,7 +1671,6 @@ Language: sv_SE Blocket kopierat Webbplatsrubriken kan bara ändras av en användare med rollen administratör. Webbplatsrubriken syns webbläsarens titelrad och de flesta teman visar den också i sidhuvudet. - Ämne Det gick inte att uppdatera webbplatsens rubrik. Kontrollera din nätverksanslutning och försök igen. Ej sparade ändringar Öppna länken i en webbläsare @@ -1661,8 +1702,7 @@ Language: sv_SE Flytta till utkast Kastade inlägg kan inte redigeras. Vill du ändra statusen för detta inlägg till “utkast“ så att du kan arbeta med det? Flytta inlägget till utkast? - Välj dina ämnen - Välj dina ämnen + Välj dina etiketter Klar Välj några för att fortsätta Publicerat @@ -1705,7 +1745,6 @@ Language: sv_SE För att ange startsida behöver du aktivera ”Statisk startsida” under webbplatsinställningar Välj en färg Dubbeltryck för att gå till färginställningarna - Om du följer några webbplatser kan du se deras innehåll här Ta reda på mer Vad som är nytt i %s Infoga %d @@ -1719,9 +1758,8 @@ Language: sv_SE Kunde inte välja webbplats. Försök igen. Fortsätt Reblogg misslyckades - Hantera webbplatser - När du har skapat en webbplats på WordPress.com kan du reblogga innehåll du tycker om till din egen webbplats. - Inga webbplatser på WordPress.com tillgängliga + Hantera bloggar + Inga tillgängliga WordPress.com-bloggar Nyheter Länkadress kopierad Kopiera länkadress @@ -1821,23 +1859,16 @@ Language: sv_SE Lägg till nytt kort Lägg till nytt kort med statistik Använd filtreringsknappen för att hitta inlägg om specifika ämnen - Välj en etikett eller en webbplats, popup-fönster - Välj en webbplats eller etikett för att filtrera inläggen + Välj en etikett eller en blogg, popup-fönster Ta bort befintligt filter - Hantera ämnen och webbplatser Logga in på WordPress.com - Logga in på WordPress.com för att se de senaste inläggen från de ämnen du följer - Logga in på WordPress.com för att se de senaste inläggen från de webbplatser du följer + Logga in på WordPress.com för att se de senaste inläggen från etiketterna du prenumererar på Ersätt aktuellt block Lägg till sist Lägg till först Lägg till block före Lägg till block efter - Lägg till ett ämne - Följ en webbplats - Du kan följa inlägg om ett specifikt ämne genom att lägga till ett ämne - Se de senaste inläggen från webbplatserna du följer - Följer + Lägg till en etikett Filter Beskrivning för video. %s Redigera video @@ -1882,7 +1913,6 @@ Language: sv_SE Nästan klart! Vi behöver bara bekräfta den e-postadress du har registrerad hos Jetpack <b>%1$s</b> Logga in med dina inloggningsuppgifter för webbplatsen %1$s Webbplatssida - Följer Gillar Upptäck Sparat @@ -2376,7 +2406,7 @@ Language: sv_SE Vi har gjort för många försök att leverera en verifieringskod via SMS – Vänta lite och be om en ny om en minut. Det finns inget WordPress.com-konto som stämmer mot detta Google-konto. Inga webbplatser motsvarar din sökning - Inga webbplatser motsvarar din sökning + Inga bloggar matchar din sökning Överordnad sida har uppdaterats Sidan har raderats permanent Sidan har schemalagts @@ -2409,8 +2439,7 @@ Language: sv_SE Inte nu Mera Du har inga webbplatser - Inga följda ämnen - Lägg till ämnen här för att hitta inlägg om dina favoritämnen + Lägg till etiketter här för att hitta inlägg om dina favoritämnen Logga in på WordPress.com-kontot du använde för att ansluta Jetpack. Jetpack Jetpack FAQ @@ -2430,9 +2459,7 @@ Language: sv_SE Inga användare än Inlägg som du gillar kommer att visas här Ingenting gillat än - Gå till följda webbplatser - Hitta webbplatser - Inga följda webbplatser + Upptäck bloggar Inga gillamarkeringar än Inga följare än Eftersom du har ett gratispaket visar din aktivitetslogg begränsade händelser. @@ -2497,8 +2524,8 @@ Language: sv_SE denna webbplats Aktivera Aktivera aviseringar för %1$s%2$s%3$s? - Slå på webbplatsaviseringar - Stäng av webbplatsaviseringar + Slå på bloggaviseringar + Stäng av bloggaviseringar Jetpack-ikon Händelse Aktivitetsikon @@ -3080,7 +3107,6 @@ Language: sv_SE Bekräfta Det gick inte att ansluta. Vi får fel 403 (förbjudet) när vi anropar XMLRPC-ändpunkten för din webbplats. Appen behöver detta för att kunna kommunicera med din webbplats. Kontakta webbhotellet för att lösa detta problem. Det gick inte att ansluta. Din webbserver blockerar POST-anrop, som appen behöver för att kommunicera med din webbplats. Kontakta ditt webbhotell för att lösa detta problem. - Sök följda webbplatser Dröj inte längre, \'%1$s\' vill bli publicerad! Dröj inte längre, \'%1$s\' vill bli publicerad! \'%1$s\' är fortfarande ett utkast. Kom ihåg att publicera! @@ -3182,7 +3208,6 @@ Language: sv_SE Ta bort %1$s Roll Människor - Webbplatserna i denna lista har inte publicerat några inlägg på senare tid Kunde inte ta bort användare Kunde inte uppdatera användarroll Kunde inte hämta webbplatsens läsare @@ -3395,7 +3420,6 @@ Language: sv_SE Detta inlägg finns inte längre Du har inte behörighet att se detta inlägg Kunde inte hämta detta inlägg - De webbplatser du följer har inte publicerat något nyligen Inga nya inlägg URL kopierad till urklipp Valt tema @@ -3440,8 +3464,6 @@ Language: sv_SE %s gillar 1 gillar Gilla - %,d följare - Redigera ämnen och webbplatser Läsare-inlägg Inställningar för aviseringar som visas på din enhet. Inställningar för aviseringar som skickas till den e-postadress som är knuten till ditt konto. @@ -3463,8 +3485,7 @@ Language: sv_SE Visa Publicera Redigera - Du har inte behörighet för att komma åt denna blogg - Denna webbplats kunde inte hittas + Denna blogg kunde inte hittas Ångra Begäran har löpt ut. Logga in på WordPress.com för att försöka igen. Ignorera @@ -3508,7 +3529,7 @@ Language: sv_SE Hämtar inlägg… Hämtar media… App-loggar har kopierats till urklipp - Denna webbplats är tom + Denna blogg är tom Nya inlägg Ett fel uppstod när text skulle kopieras till urklipp Laddar upp inlägg @@ -3536,7 +3557,6 @@ Language: sv_SE %d valda Bläddra bland vanliga frågor Inga kommentarer än - Inga inlägg med detta ämne Gilla Visa originalartikel Kommentarer inaktiverade @@ -3556,22 +3576,8 @@ Language: sv_SE Inga inlägg än. Varför inte skapa ett? Loggar ut… Kunde inte genomföra denna åtgärd - Kunde inte blockera denna webbplats - Inlägg från denna webbplats kommer inte längre att visas - Blockera denna webbplats Tidinställ Uppdatera - Inga rekommenderade webbplatser - Kunde inte sluta följa denna webbplats - Kunde inte följa denna webbplats - Du följer redan denna webbplats - Kunde inte visa denna webbplats - Webbplatsen följs - %s följare - Ange en URL eller ämne att följa - Följda webbplatser - Följda ämnen - Läsarwebbplats Om du vanligtvis kan nå denna webbplats utan problem kan felet betyda att någon försöker efterlikna webbplatsen och du borde inte fortsätta. Vill du lita på certifikatet ändå? Ogiltigt SSL-ceritfikat Hjälp @@ -3597,8 +3603,8 @@ Language: sv_SE Ett fel uppstod vid anslutning till bloggen Medieobjektet kunde inte hämtas Inget nätverk tillgängligt - Kan inte ta bort detta ämne - Kan inte lägga till detta ämne + Kan inte ta bort denna etikett + Kan inte lägga till denna etikett Programlogg Ett fel uppstod vid skapandet av app-databasen. Försök återinstallera appen. Den här bloggen är dold och kunde inte laddas. Aktivera den igen i inställningarna och försök igen. @@ -3660,15 +3666,13 @@ Language: sv_SE Kunde inte öppna %s Kunde inte visa bild Kunde inte dela - Det är inte ett giltigt ämne - Du följer redan detta ämne + Det är inte en giltig etikett Kunde inte kommentera Du gillar detta En person gillar detta Tog bort %s Lade till %s Svara kommentaren… - Följer Följ Dela Reblogga diff --git a/WordPress/src/main/res/values-th/strings.xml b/WordPress/src/main/res/values-th/strings.xml index f206c5a3881b..ae16c7e4af1a 100644 --- a/WordPress/src/main/res/values-th/strings.xml +++ b/WordPress/src/main/res/values-th/strings.xml @@ -85,7 +85,6 @@ Language: th ไม่มีเรื่องนี้อยู่อีกแล้ว คุณไม่มีสิทธิที่จะดูเรื่องนี้ ไม่สามารถดึงข้อมูลเรื่องนี้ - เว็บที่คุณติดตามยังไม่มีเรื่องใหม่เมื่อเร็ว ๆ มานี้ ไม่มีเรื่องใหม่ ธีมที่เลือก ไม่สามารถโหลดธีม @@ -226,7 +225,6 @@ Language: th ไม่สามารถทำการกระทำนี้ได้ อัปเดต ตารางงาน - เว็บที่ติดตามแล้ว ช่วยเหลือ SSL certificate ใช้งานไม่ได้ ถ้าคุณสามารถเชื่อมต่อกับเว็บนี้บ่อย ๆ โดยไม่มีปัญหา ความผิดพลาดนี้อาจหมายถึงมีบางคนพยายามเปลี่ยนแปลงเว็บทำให้คุณไม่สามารถดำเนินการต่อได้ คุณต้องการที่จะเชื่อใจการรับรองนี้หรือไม่? @@ -312,7 +310,6 @@ Language: th ลบ %s แล้ว แบ่งปัน ติดตาม - กำลังติดตาม (ไม่มีหัวข้อ) รายชื่อนี้ว่างเปล่า ตอบกลับไปที่ความเห็น… diff --git a/WordPress/src/main/res/values-tr/strings.xml b/WordPress/src/main/res/values-tr/strings.xml index e35a04c2fea2..68bc835a8c78 100644 --- a/WordPress/src/main/res/values-tr/strings.xml +++ b/WordPress/src/main/res/values-tr/strings.xml @@ -96,7 +96,6 @@ Language: tr Hesap ve Ayarlar Paket seçin Yıllık ücretli paketlerde ilk yıl ücretsizdir. - 1 takipçi Kaydedildi Kaydet Şunları beğenebilirsiniz: @@ -598,7 +597,6 @@ Language: tr Hareket halindeyken güncellemeleri almak için %1$s Bildirimleri sekmesini %2$s seçin. Ortam yüklemek için %1$s artı %2$s seçin. Herhangi bir cihazdan yazılarınıza / sayfalarınıza ekleyebilirsiniz. Siteleri ve etiketleri bulmak için <b>Keşfet</b>\'i kullanın. - Siteleri ve etiketleri bulmak için <b>Keşfet</b>\'i kullanın. Beğendiğiniz konuları eklemek için %1$s Ayarlar\'ı %2$s seçmeyi deneyin. Video küçük resmi En iyi yorumcular %1$d yıl önce yayımlandı @@ -1095,7 +1093,6 @@ Language: tr Her zaman izin verilen IP adresleri İzin verilmeyen yorumlar Düğme metni ekle - Konuları takip et Sitenizde ilgi çekici içerik oluşturmanın ve yayınlamanın yeni bir yolu. Kapat İndir @@ -1407,8 +1404,6 @@ Language: tr Çevrimdışıyken düzenler kullanılamaz Mağaza kimlik bilgileriyle devam edin Bağlı e-postanızı bulun - Takip edilen konular - Arama kapsamını genişletmek için daha fazla konuyu takip etmeyi deneyin Yeni yazı yok Hoş geldiniz! Tarama @@ -1447,7 +1442,6 @@ Language: tr Güçlü düzenleyici ile hareket halindeyken yazı gönderebilirsiniz. Dünyanın en popüler web sitesi oluşturucusuna hoş geldiniz. Medya yükleme başarısız oldu - Takip edilecek siteler Her sürümde daha fazla blok eklemek için elimizden geleni yapıyoruz. \'%s\' tamamen desteklenmiyor Yardım düğmesi @@ -1468,7 +1462,6 @@ Language: tr WordPress Ortam Kütüphanesi\'nden seçin Geri Başlayın - Yeni bloglar keşfetmek için konular takip edin gönderen: Bu yönlendiren, istenmeyen posta olarak işaretlenemez İstenmeyen posta işaretini kaldır @@ -1626,7 +1619,6 @@ Language: tr Blok kopyalandı Site Başlığı yalnızca yönetici rolüne sahip bir kullanıcı tarafından değiştirilebilir. Site Başlığı, web tarayıcısının başlık çubuğunda görüntülenir ve çoğu temada üst bilgide gösterilir. - Konu Site başlığı güncellenemedi. Ağ bağlantınızı kontrol edip tekrar deneyin. Kaydedilmemiş değişiklikler Bağlantıyı tarayıcıda aç @@ -1658,8 +1650,6 @@ Language: tr Taslağa taşı Çöpe atılan yazılar düzenlenemez. Üzerinde çalışabilmek için bu yazının durumunu \"taslak\" olarak değiştirmek ister misiniz? Yazı taslaklara taşınsın mı? - Konularınızı seçin - Konularınızı seçin Tamamlandı Devam etmek için birkaç tane seçin Yayımlandı @@ -1702,7 +1692,6 @@ Language: tr Ana sayfa ayarlamak için Site Ayarları’nda “Statik Ana Sayfa” seçeneğini belirleyin Bir renk seçin Renk ayarlarına gitmek için çift dokunun - Siteleri takip ettiğinizde, içeriklerini burada görürsünüz Daha fazlasını bul %s İle İlgili Yenilikler %d ekle @@ -1716,9 +1705,6 @@ Language: tr Site seçilemedi. Lütfen yeniden deneyin. Devam Yeniden bloglama başarısız - Siteleri yönet - Bir WordPress.com sitesi oluşturduktan sonra, beğendiğiniz içeriği kendi sitenize yeniden bloglayabilirsiniz. - Kullanılabilir WordPress.com sitesi yok Neler yeni Bağlantı kopyalandı Bağlantıyı kopyala @@ -1818,23 +1804,13 @@ Language: tr Yeni kart ekle Yeni istatistik kartı ekle Belirli konular hakkında yazılar bulmak için filtre düğmesini kullanın - Etiket veya Site Seçin, Açılır Pencere - Yazıları filtrelemek için bir Site veya Etiket seçin Geçerli filtreyi kaldır - Konuları ve Siteleri Yönetme WordPress.com\'da oturum aç - Takip ettiğiniz konulardaki en yeni yazıları görmek için WordPress.com\'da oturum açın - Takip ettiğiniz sitelerdeki en son yazıları görmek için WordPress.com\'da oturum açın Mevcut bloğu değiştir Sona ekle Başa ekle Blok öncesine ekle Blok sonrasına ekle - Bir konu ekle - Bir siteyi takip et - Bir konu ekleyerek o konudaki yazıları takip edebilirsiniz - Takip ettiğiniz sitelerdeki en yeni yazıları görün - Takip edilen Filtrele Video yazısı. %s Videoyu düzenle @@ -1879,7 +1855,6 @@ Language: tr Çok az kaldı! Sadece Jetpack bağlantılı e-posta adresinizi doğrulamamız gerekiyor<b>%1$s</b> %1$s site kimlik bilginizle giriş yapın Site sayfası - Takip Ediliyor Beğeniler Keşfet Kaydedildi @@ -2373,7 +2348,6 @@ Language: tr Çok fazla SMS doğrulama kodu gönderimi yaptık. Biraz mola verin ve bir dakika sonra yenisini talep edin. Bu Google hesabıyla eşleşen bir WordPress.com hesabı bulunmuyor. Aramanızla eşleşen site bulunamadı - Aramanızla eşleşen site bulunamadı Üst sayfa değiştirildi Sayfa kalıcı olarak silindi Sayfa zamanlandı @@ -2406,8 +2380,6 @@ Language: tr Şimdi değil Daha fazlası Hiçbir siteniz yok - Takip edilen konu yok - En sevdiğiniz konularla ilgili yazıları bulmak için buraya konu ekleyin Jetpack\'i bağlamak için kullandığınız WordPress.com hesabına giriş yapın. Jetpack Jetpack SSS @@ -2427,9 +2399,6 @@ Language: tr Henüz kullanıcı yok Beğendiğiniz yazılar burada yer alacak Henüz herhangi bir şey beğenilmedi - Takip edilenlere git - Siteleri keşfet - Takip edilen site yok Henüz beğeni yok Henüz takipçi yok Ücretsiz bir paket kullandığınız için etkinliklerinizde sınırlı içerik görüyorsunuz. @@ -2494,8 +2463,6 @@ Language: tr bu site Etkinleştir %1$s%2$s%3$s için bildirimler etkinleştirilsin mi? - Site bildirimlerini aç - Site bildirimlerini kapat Jetpack simgesi İşlem Etkinlik simgesi @@ -3077,7 +3044,6 @@ Language: tr Onayla Bağlanılamıyor. Sitenizin XMLRPC uç noktasına bağlanırken bir 403\n hatası aldık. Uygulamanın sitenizle iletişim kurabilmesi için gereklidir. Problemi çözmek için\n servis sağlayıcınızla iletişime geçin. Bağlanılamıyor. Sunucunuz POST isteklerini engelliyor ve uygulama sitenizle\n iletişim kurmak için buna ihtiyaç duyuyor. Bu problemi gidermek için servis sağlayıcınızla iletişime geçin. - Takip edilen siteleri ara Asılı bırakmayın! \'%1$s\' yayınlanmayı bekliyor. Asılı bırakmayın! \'%1$s\' yayınlanmayı bekliyor. \'%1$s\' bir taslak olarak kaldı. Yayınlamayı unutmayın! @@ -3179,7 +3145,6 @@ Language: tr %1$s kullanıcısını kaldır Rol Kişiler - Bu listedeki siteler yakın zamanda herhangi bir gönderide bulunmadı Kullanıcı kaldırılamıyor Kullanıcı rolü güncellenemiyor Site izleyicileri getirilemedi @@ -3392,7 +3357,6 @@ Language: tr Bu yazı artık mevcut değil Bu yazıyı görüntülemeye yetkili değilsiniz Bu yazı getirilemiyor - Takip ettiğiniz siteler yakın tarihte herhangi bir gönderi yapmadı Yeni yazı yok Adres panoya kopyalandı Seçili tema @@ -3437,8 +3401,6 @@ Language: tr %s beğeni 1 beğeni Beğen - %,d takipçi - Konu ve site düzenleme Okuyucu yazısı Cihazınızda görünen bildirimlerin ayarları. Hesabınıza bağlı e-posta adresine gönderilen bildirimlerin ayarları. @@ -3460,8 +3422,6 @@ Language: tr Görüntüle Yayımla Düzenle - Bu siteye erişim için yetkiniz yok - Site bulunamadı Geri al İstek süresi doldu. WordPress.com\'a giriş yaparak tekrar deneyin. Yoksay @@ -3505,7 +3465,6 @@ Language: tr Yazılar alınıyor… Medya alınıyor… Uygulama günlükleri panoya kopyalandı - Bu site boş Yeni yazılar Metin panoya kopyalanırken bir hata oluştu Yazı yükleniyor @@ -3533,7 +3492,6 @@ Language: tr %d seçili SSS sayfamıza göz atın Henüz yorum yapılmadı - Bu konuyla ilgili hiç yazı yok Beğen Orijinal makaleyi oku Yorumlar kapandı @@ -3553,22 +3511,8 @@ Language: tr Henüz yazı yok. Bir yazı oluşturmaya ne dersiniz? Çıkış yapılıyor… Bu eylemi gerçekleştirilemiyor - Bu site engellenemiyor - Bu siteden yazılar artık gösterilmeyecek - Bu siteyi engelleyin Zamanla Güncelle - Önerilen site yok - Bu sitenin takibi bırakılamıyor - Bu site takip edilemiyor - Bu siteyi zaten takip ediyorsunuz - Bu site gösterilemiyor - Site takip edildi - %s takipçi - Bir URL veya takip etmek istediğiniz konuyu girin - Takip edilen siteler - Takip edilen konular - Okuyucu sitesi Eğer bu siteye genelde sorunsuz şekilde bağlanabiliyorsanız bu hata birilerinin siteyi taklit ettiği anlamına gelebilir. Yine de sertifikaya güvenmek ister misiniz? Geçersiz SSL setifikası Yardım @@ -3594,8 +3538,6 @@ Language: tr Bu bloga erişilirken hata ile karşılaşıldı Ortam dosyası geri getirilemedi Uygun durumda şebeke yok - Bu konu silinemiyor - Bu konu eklenemiyor Uygulama günlüğü Uygulama veritabanı oluşturulurken hata meydana geldi. Uygulamayı tekrar yüklemeyi deneyin. Bu blog gizli ve yüklenemedi. Ayarlardan yeniden etkinleştirin ve yeniden deneyin. @@ -3657,15 +3599,12 @@ Language: tr %s açılamadı Görsel görüntülenemedi Paylaşılamadı - Bu geçerli bir konu değil - Bu konuyu zaten takip ediyorsunuz Yorumunuz gönderilemedi Bunu beğendin Bir kişi bunu beğendi %s kaldırıldı %s eklendi Yorumu yanıtla… - Takipte Takip et Paylaş Yeniden blogla diff --git a/WordPress/src/main/res/values-uz/strings.xml b/WordPress/src/main/res/values-uz/strings.xml index 7f93f6fed4a2..1448ad2ea541 100644 --- a/WordPress/src/main/res/values-uz/strings.xml +++ b/WordPress/src/main/res/values-uz/strings.xml @@ -19,7 +19,6 @@ Language: uz Ushbu ro‘yxat bo‘sh Bo‘lish Kuzatish - Kuzatmoqda Mulohazangiz kiritilmadi Bo‘lishib bo‘lmadi Rasm ko‘rinmayapti diff --git a/WordPress/src/main/res/values-vi/strings.xml b/WordPress/src/main/res/values-vi/strings.xml index c13a50c467f2..3410940f02c9 100644 --- a/WordPress/src/main/res/values-vi/strings.xml +++ b/WordPress/src/main/res/values-vi/strings.xml @@ -64,7 +64,6 @@ Language: vi_VN Chọn tab %1$s Thông báo %2$s để nhận cập nhật mới. Chọn %1$s thêm %2$s để tải lên media. Bạn có thể thêm nó vào bài viết/trang từ bất kỳ thiết bị nào. Dùng <b> Khám phá </b> để tìm blog và thẻ. - Dùng <b> Khám phá </b> để tìm blog và thẻ. Thử chọn %1$s Cài đặt %2$s để thêm những đề tài bạn thích. Ảnh đại diện video Top người bình luận Đăng %1$d năm trước @@ -545,7 +544,6 @@ Language: vi_VN Luôn cho phép những IP Cấm bình luận Thêm chữ trên nút - Theo dõi thẻ Một cách mới để viết và đăng nội dung trên blog của bạn. Bỏ qua Tải về @@ -856,8 +854,6 @@ Language: vi_VN Không dùng được bố cục khi rớt mạng Tiếp tục với định giá đã lưu Tìm email đã kết nối - Theo dõi thẻ - Thử theo dõi nhiều thẻ hơn để mở rộng kết quả tìm kiếm Không có bài viết mới Chào mừng! Quét @@ -896,7 +892,6 @@ Language: vi_VN Đăng mọi nơi với công cụ chỉnh sửa mạnh mẽ. Chào mừng đến với nền tảng blog nổi tiếng nhất thế giới. Tải media thất bại - Blog đề xuất Chúng tôi đang cố gắng thêm nhiều khối trong các bản cập nhật. \'%s\' chưa được hỗ trợ Nút trợ giúp @@ -917,7 +912,6 @@ Language: vi_VN Chọn từ Thư viện Media WordPress Quay lại Bắt Đầu - Theo dõi thẻ để khám phá những trang blog mới Bởi Không thể đánh dấu nguồn dẫn về này là spam Bỏ đánh dấu là spam @@ -1075,7 +1069,6 @@ Language: vi_VN Đã chép khối Chỉ có quản trị viên mới có quyền đổi tiêu đề blog. Tiêu đề blog xuất hiện trên thanh tiêu đề trình duyệt và hiển thị ở phần đầu trang của hầu hết các chủ đề. - Thẻ Không thể đổi tiêu đề blog. Kiểm tra kết nối mạng và thử lại. Thay đổi chưa được lưu Mở liên kết trong trình duyệt @@ -1107,8 +1100,6 @@ Language: vi_VN Lưu Nháp Không thể sửa những bài trong thùng rác. Hãy thay đổi trạng thái thành \"Nháp\" để sửa. Chuyển về nháp? - Chọn thẻ bạn thích - Chọn thẻ bạn thích Xong Chọn vài mục để tiếp tục Đã đăng @@ -1150,7 +1141,6 @@ Language: vi_VN Chọn \"Trang Chủ\" trong Cài đặt Blog để kích hoạt trang Trang Chủ Chọn màu Nhấn hai lần để thiết lập màu - Khi bạn theo dõi blog nào đó, bạn sẽ thấy nội dung của họ ở đây Tìm hiểu thêm Chèn %d cắt @@ -1163,9 +1153,6 @@ Language: vi_VN Không thể chọn blog. Xin thử lại. Tiếp tục Đăng lại thất bại - Quản lý Blog - Nếu bạn đã tạo một trang WordPress.com, bạn có thể đăng lại nội dung bạn thích trên trang đó. - Chưa có trang WordPress.com Có gì mới? Đã chép địa chỉ liên kết Chép địa chỉ liên kết @@ -1263,23 +1250,13 @@ Language: vi_VN Thêm mục mới Thêm mục thống kê mới Dùng nút lọc để tìm bài viết cụ thể - Chọn Thẻ hoặc Blog, cửa sổ Pop Up - Chọn Blog hoặc Thẻ để lọc bài viết Xóa bộ lọc hiện tại - Thẻ & Blog Đăng nhập WordPress.com - Đăng nhập WordPress.com để đọc bài viết mới nhất từ những thẻ mà bạn theo dõi - Đăng nhập WordPress.com để đọc bài viết mới nhất từ những blog mà bạn theo dõi Thay thế khối hiện tại Thêm đến Hết Thêm đến Bắt Đầu Thêm khối trước Thêm khối sau - Thêm thẻ - Theo dõi blog - Bạn có thể theo dõi các bài viết có cùng đề tài bằng cách thêm thẻ - Đọc bài viết mới nhất từ blog bạn theo dõi - Đang theo dõi Bộ lọc Chú thích video. %s Sửa video @@ -1324,7 +1301,6 @@ Language: vi_VN Sắp xong! Chúng tôi cần xác minh địa chỉ email <b>%1$s</b> của bạn đã kết nối Jetpack Đăng nhập với chứng chỉ trang %1$s Trang - Đang theo dõi Đã thích Khám phá Đã lưu @@ -1810,7 +1786,6 @@ Language: vi_VN Chúng tôi đã gửi mã xác minh SMS quá nhiều lần - hãy tạm dừng và yêu cầu mã mới sau một phút. Không có tài khoản WordPress.com nào kết nối với tài khoản Google này. Không có blog nào trùng khớp - Không có blog nào trùng khớp Trang mẹ đã bị thay đổi Đã xóa trang vĩnh viễn Đã lên lịch đăng trang @@ -1841,8 +1816,6 @@ Language: vi_VN Để sau Thêm Bạn chưa có blog nào - Chưa theo dõi thẻ nào - Thêm thẻ ở đây để tìm bài viết liên quan những đề tài mà bạn yêu thích Đăng nhập tài khoản WordPress.com mà bạn có kết nối Jetpack. Jetpack Jetpack FAQ @@ -1862,9 +1835,6 @@ Language: vi_VN Chưa có thành viên Bài viết bạn thích sẽ xuất hiện ở đây Chưa có bài viết được thích - Những blog bạn đang theo dõi - Khám phá - Chưa theo dõi blog nào Chưa có lượt thích Chưa có người theo dõi Vì bạn đang dùng gói miễn phí nên sẽ bị hạn chế xem lại hoạt động. @@ -1929,8 +1899,6 @@ Language: vi_VN blog này Bật Bật thông báo cho %1$s%2$s%3$s? - Bật thông báo blog - Tắt thông báo blog Biểu tượng Jetpack Sự kiện Biểu tượng hoạt động @@ -2502,7 +2470,6 @@ Language: vi_VN Xác nhận Không thể kết nối. Chúng tôi đã nhận được lỗi 403 khi cố gắng truy cập\n XMLRPC endpoint. Ứng dụng cần thứ này để giao tiếp với trang web của bạn. Liên hệ với máy chủ của bạn để giải quyết\n vấn đề này. Không thể kết nối. Máy chủ của bạn đang chặn các yêu cầu ĐĂNG\n mà ứng dụng cần để giao tiếp với trang của bạn. Liên hệ với máy chủ của bạn để giải quyết vấn đề này. - Tìm kiếm blog đã theo dõi Đừng để nó mọc nấm! \'%1$s\' đang chờ được đăng. Đừng để nó mọc nấm! \'%1$s\' đang chờ được đăng. \'%1$s\' vẫn là bản nháp. Nhớ đăng nó! @@ -2604,7 +2571,6 @@ Language: vi_VN Chặn %1$s Vai trò Mọi người - Các blog trong danh sách này không có bài mới gần đây Không thể chặn người dùng Không thể đổi vai trò người dùng Không tải được danh sách độc giả @@ -2817,7 +2783,6 @@ Language: vi_VN Bài viết này không còn tồn tại Bạn không có quyền xem bài viết này Không thể tải bài viết này - Blog mà bạn theo dõi không đăng bất kì bài viết nào gần đây Không có bài viết mới Đã chép URL vào bộ nhớ tạm Chủ đề đã chọn @@ -2862,8 +2827,6 @@ Language: vi_VN %s thích 1 thích Thích - %,d người theo dõi - Sửa các thẻ và blog Bài viết theo dõi Những thông báo trên thiết bị của bạn. Những thông báo được gửi đến email. @@ -2885,8 +2848,6 @@ Language: vi_VN Xem Đăng Sửa - Bạn không có quyền truy cập blog này - Blog này không tồn tại Hoàn tác Yêu cầu đã hết hạn. Đăng nhập vào Wordpress.com để thử lại. Bỏ qua @@ -2930,7 +2891,6 @@ Language: vi_VN Đang tải bài viết… Đang tải media… Nhật ký ứng dụng đã được chép vào bộ nhớ tạm - Blog này chưa đăng gì Có bài viết mới Có lỗi xảy ra trong khi chép văn bản vào bộ nhớ tạm Đang đăng bài viết @@ -2958,7 +2918,6 @@ Language: vi_VN Đã chọn %d Câu hỏi thường gặp Chưa có bình luận - Không có bài viết với thẻ này Thích Xem bài viết gốc Bình luận đã tắt @@ -2978,21 +2937,8 @@ Language: vi_VN Chưa có bài viết nào. Viết ngay bây giờ? Đang đăng xuất… Không thể thực hiện thao tác này - Không thể ẩn blog này - Bài viết từ blog này sẽ không được hiển thị nữa - Ẩn blog này Lịch đăng Cập nhật - Không có đề xuất blog - Không thể ngưng theo dõi blog này - Không thể theo dõi blog này - Bạn đã theo dõi blog này rồi - Không thể hiện blog này - Đã theo dõi blog - Nhập URL hoặc thẻ bạn thích - Blog theo dõi - Thẻ theo dõi - Đọc Blog Nếu bạn thường kết nối bình thường với trang web này, lỗi này có thể là ai do đó đang cố gắng mạo danh trang web, và bạn không nên tiếp tục. Bạn có chắc chắn tin tưởng chứng chỉ? Chứng nhận SSL không hợp lệ Trợ giúp @@ -3018,8 +2964,6 @@ Language: vi_VN Có lỗi xảy ra khi truy cập blog này Không tải được danh sách media Không có kết nối mạng - Không thể loại bỏ thẻ này - Không thể thêm thẻ này Nhật ký ứng dụng Xảy ra lỗi khi tạo cơ sở dữ liệu ứng dụng. Thử cài đặt lại ứng dụng. Blog này bị ẩn và không xem được. Hiện lại nó trong cài đặt và thử lại. @@ -3081,15 +3025,12 @@ Language: vi_VN Không thể mở %s Không thể xem ảnh Không thể chia sẻ - Đó không phải một thẻ hợp lệ - Bạn đã theo dõi thẻ này rồi Không thể đăng bình luận của bạn Bạn thích bài này 1 người thích bài viết Đã xóa %s Đã thêm %s Trả lời bình luận… - Đang theo dõi Theo dõi Chia sẻ Đăng lại diff --git a/WordPress/src/main/res/values-zh-rCN/strings.xml b/WordPress/src/main/res/values-zh-rCN/strings.xml index 71b3d44fb193..81a78c54e08f 100644 --- a/WordPress/src/main/res/values-zh-rCN/strings.xml +++ b/WordPress/src/main/res/values-zh-rCN/strings.xml @@ -95,7 +95,6 @@ Language: zh_CN 账户和设置 选择套餐 订阅年度付费套餐即可享受首年免费使用权 - 1 名粉丝 已保存 保存 您可能会喜欢 @@ -594,7 +593,6 @@ Language: zh_CN 选择%1$s“通知”选项卡%2$s,随时随地获取更新。 选择%1$s添加%2$s可上传媒体。 您可以使用任何设备将其添加到您的文章/页面。 使用<b>发现</b>查找站点和标签。 - 使用<b>发现</b>查找站点和标签。 尝试选择%1$s设置%2$s,添加您喜欢的话题。 视频缩略图 优秀评论者 发表于 %1$d 年前 @@ -1089,7 +1087,6 @@ Language: zh_CN 始终允许的 IP 地址 不允许的评论 添加按钮文本 - 关注话题 在您的站点上创建、发布吸引人内容的新方法。 忽略 下载 @@ -1400,8 +1397,6 @@ Language: zh_CN 离线时无法使用布局 继续使用商店凭证 找到您的关联电子邮件 - 关注话题 - 尝试关注更多话题以扩大搜索范围 无近期文章 欢迎! 扫描 @@ -1440,7 +1435,6 @@ Language: zh_CN 有了这个功能强大的编辑器,您可以随时随地发表内容。 欢迎使用全球最热门的网站构建器。 媒体加载失败 - 关注的站点 我们正在努力在每个版本中添加更多区块。 不完全支持 \'%s\' “帮助”按钮 @@ -1461,7 +1455,6 @@ Language: zh_CN 从 WordPress 媒体库中选择 返回 开始 - 关注话题以发现新博客 作者 不能将此推荐来源标记为垃圾信息 取消标记为垃圾信息 @@ -1619,7 +1612,6 @@ Language: zh_CN 已拷贝区块 站点标题只能由担任管理员角色的用户更改。 站点标题显示在网络浏览器的标题栏中,以及大部分主题的页眉中。 - 主题 无法更新站点标题。 请检查您的网络连接,然后重试。 未保存的更改 在浏览器中打开链接 @@ -1651,8 +1643,6 @@ Language: zh_CN 移动到草稿 无法编辑已放入回收站的文章。 您想将此文章的状态更改为“草稿”,以便您可以进行编辑? 将文章移动到“草稿”? - 选择您的兴趣 - 选择您的兴趣 完成 选择一些以继续 已发布 @@ -1695,7 +1685,6 @@ Language: zh_CN 要设置主页,请在“站点设置”中启用“静态主页” 选择一种颜色 点击两下以进入颜色设置 - 在您关注站点时,您会在这里看到其内容 了解更多 %s 中有何新内容? 插入 %d @@ -1709,9 +1698,6 @@ Language: zh_CN 无法选择站点。请再试一次。 继续 转载失败 - 管理站点 - 建立 WordPress.com 站点后,您可以将喜爱的内容转载到自己的站点。 - 没有可用的 WordPress.com 站点 新变化 链接地址已复制 复制链接地址 @@ -1810,23 +1796,13 @@ Language: zh_CN 添加新卡片 添加新统计信息卡片 使用“过滤器”按钮查找特定主题的文章 - 选择标签、站点或弹出窗口 - 选择站点或标签来过滤文章 删除当前过滤器 - 管理主题和站点 登录 WordPress.com - 登录 WordPress.com,查看有关您关注的主题的最新博文 - 登录 WordPress.com 以查看您关注的站点的最新文章 替换现有区块 添加到结尾 添加到开始 在之前添加区块 在之后添加区块 - 添加主题 - 关注站点 - 您可以通过添加主题来关注有关某个特定主题的博文 - 查看您关注的站点的最新文章 - 已关注 过滤器 视频说明。%s 编辑视频 @@ -1871,7 +1847,6 @@ Language: zh_CN 马上就好!我们需要验证您的 Jetpack 连接的电子邮箱地址 <b>%1$s</b> 使用 %1$s 站点凭据登录 站点页面 - 关注中 喜欢 发现 已保存 @@ -2364,7 +2339,6 @@ Language: zh_CN 尝试发送短信验证码的次数太多了 - 休息一下,在一分钟后再申请新的短信验证码。 没有与此 Google 账户匹配的 WordPress.com 账户。 没有与您的搜索匹配的站点 - 没有与您的搜索匹配的站点 已更改父页面 已永久删除页面 已预发布页面 @@ -2396,8 +2370,6 @@ Language: zh_CN 现在不行 更多 您没有任何站点 - 无已关注的主题 - 在此处添加主题,以查找有关您喜爱的主题的博文 登录用于关联 Jetpack 的 WordPress.com 账户。 Jetpack Jetpack 常见问题解答 @@ -2417,9 +2389,6 @@ Language: zh_CN 尚无用户 您喜欢的文章会显示在这里 暂无喜欢 - 去关注 - 发现站点 - 无关注的站点 尚无喜欢 尚无粉丝 由于您使用的是免费套餐,因此您的活动中显示有限的事件。 @@ -2484,8 +2453,6 @@ Language: zh_CN 此站点 启用 是否为 %1$s%2$s%3$s 启用通知? - 打开站点通知 - 关闭站点通知 Jetpack 图标 事件 活动图标 @@ -3064,7 +3031,6 @@ Language: zh_CN 确认 无法连接。尝试访问您的站点 XMLRPC 终端时\n收到 403 错误。与您的站点进行通信所需要的应用程序。请联系您的托管服务提供商\n以解决此问题。 无法连接。您的主机阻止 POST 请求,app 需要\n该接口方可与您的站点通信。请联系您的托管服务提供商解决此问题。 - 在已关注的站点中搜索 请不要离开!「%1$s」正在等待发布。 请不要离开!「%1$s」正在等待发布。 「%1$s」仍是草稿。记得发布哦! @@ -3166,7 +3132,6 @@ Language: zh_CN 删除 %1$s 角色 人员 - 此列表中的站点最近未发布任何内容 无法删除用户 无法更新用户角色 无法获取站点查看数 @@ -3379,7 +3344,6 @@ Language: zh_CN 此文章不再存在 您不具备查看此文章的权限 无法检索这篇文章 - 您关注的站点近期未发布任何内容 无近期文章 URL 已复制到剪贴板 选择的主题 @@ -3424,8 +3388,6 @@ Language: zh_CN %s 喜欢 1 喜欢 - %,d 个粉丝 - 编辑主题和站点 读者文章 关于出现在设备上的通知的设置。 发送到与您的账户相关联的电子邮件中的通知的设置。 @@ -3447,8 +3409,6 @@ Language: zh_CN 查看 发布 编辑 - 您无权访问此站点 - 找不到此站点 撤消 请求已过期。请登录 WordPress.com 再试一次。 忽略 @@ -3492,7 +3452,6 @@ Language: zh_CN 正在获取文章… 正在获取媒体… 已将应用程序日志复制到剪贴板 - 此站点为空 新文章 复制文本到剪贴板时出错 正在上传文章 @@ -3520,7 +3479,6 @@ Language: zh_CN 已选 %d 个 浏览我们的常见问题解答 尚无评论 - 没有与此主题相关的博文 喜欢 查看原文 评论功能被关闭 @@ -3540,22 +3498,8 @@ Language: zh_CN 尚无文章。为何不创建一个? 正在退出… 无法执行此操作 - 无法阻止此站点 - 此站点中的文章不会再显示 - 阻止此站点 计划 更新 - 无推荐站点 - 无法取消关注此站点 - 无法关注此站点 - 您已经关注此站点 - 无法显示此站点 - 已关注的站点 - %s 名粉丝 - 输入要关注的 URL 或主题 - 已关注的博客 - 已关注的主题 - “阅读器”站点 如果您平时连接该站点没有问题,则此错误可能意味着有人试图冒充该站点,您不应继续。是否仍然信任该证书? 无效的SSL证书 帮助 @@ -3581,8 +3525,6 @@ Language: zh_CN 抱歉,尝试访问该博客时发生错误 抱歉,无法从图库检索该媒体对象 没用可用的网络 - 无法移除此主题 - 无法添加此主题 程序日志 创建程序数据库时出错,请重新安装程序. 这个博客是隐藏的,无法加载。在设置中重新启用它并再次尝试。 @@ -3644,15 +3586,12 @@ Language: zh_CN 无法打开 %s 无法查看图片 无法分享 - 该主题无效 - 您已经关注此主题 无法发表评论 您喜欢了 1人喜欢了 已移除 %s 已添加 %s 回复评论 - 关注中 订阅 分享 转载 diff --git a/WordPress/src/main/res/values-zh-rHK/strings.xml b/WordPress/src/main/res/values-zh-rHK/strings.xml index 6264159fd484..d888de67af83 100644 --- a/WordPress/src/main/res/values-zh-rHK/strings.xml +++ b/WordPress/src/main/res/values-zh-rHK/strings.xml @@ -96,7 +96,6 @@ Language: zh_TW 帳號與設定 選取方案 選購任何年繳方案,第一年完全免費 - 1 位關注者 已儲存 儲存 你可能會喜歡 @@ -595,7 +594,6 @@ Language: zh_TW 選取%1$s通知分頁%2$s讓你在行動途中也可收到更新。 選取%1$s加號%2$s即可上傳媒體。 你可以從任何裝置將其新增至你的貼文/頁面。 使用<b>探索</b>功能來找出網站和分頁。 - 使用<b>探索</b>功能來找出網站和分頁。 試試選取%1$s設定%2$s來新增你喜歡的主題。 影片縮圖 踴躍回應者 %1$d 年前發佈 @@ -1091,7 +1089,6 @@ Language: zh_TW 一律允許的 IP 位址 留言含有不允許的內容 新增按鈕文字 - 追蹤主題 在網站創作並發布引人注目內容的全新方式。 關閉 下載 @@ -1402,8 +1399,6 @@ Language: zh_TW 版面配置在離線時無法使用 使用商店憑證繼續 尋找你連結的電子郵件 - 追蹤主題 - 嘗試追蹤更多主題以擴大搜尋範圍 沒有近期文章 歡迎! 掃瞄 @@ -1442,7 +1437,6 @@ Language: zh_TW 這個功能強大的編輯器讓你隨時隨地都能發佈文章。 歡迎使用全球最受歡迎的網站建置工具。 媒體載入失敗 - 值得關注的網站 我們正在努力開發,讓每次版本更新都可以新增更多區塊。 系統不完全支援「%s」 「協助」按鈕 @@ -1463,7 +1457,6 @@ Language: zh_TW 從 WordPress 媒體庫選擇 返回 開始使用 - 追蹤主題以探索新網誌 發表者: 此推薦連結不能被標記為垃圾郵件 取消標記為垃圾郵件 @@ -1621,7 +1614,6 @@ Language: zh_TW 已複製區塊 只有具有管理員角色的使用者才能變更網站標題。 網站標題會顯示在網頁瀏覽器的標題列中,且會顯示在大部分佈景主題的頁首中。 - 主旨 無法更新網站標題。 請檢查你的網路連線並再試一次。 未儲存的變更 在瀏覽器中開啟連結 @@ -1653,8 +1645,6 @@ Language: zh_TW 移至草稿 你無法編輯移至垃圾桶的文章。 要將此文章狀態變更為「草稿」以便修正嗎? 是否將文章移至草稿? - 選擇你的主題 - 選擇你的主題 完成 選取幾項以繼續操作 已發佈 @@ -1697,7 +1687,6 @@ Language: zh_TW 若要設定首頁,請在網站設定中啟用「靜態首頁」 選擇顏色 點選兩次即可前往顏色設定 - 關注網站後,網站內容就會顯示於此 瞭解更多 %s 新功能 插入 %d 個 @@ -1711,9 +1700,6 @@ Language: zh_TW 無法選擇網站,請再試一次。 繼續 轉發失敗 - 管理網站 - 建立 WordPress.com 網站後,可以將喜歡的內容轉發到自己的網站。 - 沒有可用的 WordPress.com 網站 最新內容 已複製連結位址 複製連結位址 @@ -1812,23 +1798,13 @@ Language: zh_TW 新增卡片 新增統計資料卡片 使用篩選按鈕尋找特定主題的文章 - 選擇一個標籤或網站、快顯視窗 - 選擇網站或標籤以篩選文章 移除目前的篩選條件 - 管理主題和網站 登入 WordPress.com - 登入 WordPress.com,查看你關注主題的最新文章 - 登入 WordPress.com,查看關注網站的最新文章 取代目前區塊 新增至「結束」 新增至「開始」 在之前新增區塊 在之後新增區塊 - 新增主題 - 關注網站 - 你可以新增主題以關注特定主題的文章 - 查看你關注網站的最新聞張 - 關注中 篩選 視訊標題。%s 編輯視訊 @@ -1873,7 +1849,6 @@ Language: zh_TW 快完成了!我們只需驗證你與 Jetpack 綁定的電子郵件地址就行了<b>%1$s</b> 請使用 %1$s 網站憑證登入 網頁 - 關注中 按讚數 探索 已儲存 @@ -2367,7 +2342,6 @@ Language: zh_TW 已嘗試傳送 SMS 驗證碼太多次,請稍待片刻,一分鐘後再送出新驗證碼要求。 沒有 WordPress.com 帳號符合此 Google 帳號。 沒有網站符合你的搜尋條件 - 沒有網站符合你的搜尋條件 頁面上層項目已變更 頁面已永久刪除 頁面已排程 @@ -2399,8 +2373,6 @@ Language: zh_TW 現在不要 更多 你沒有任何網站 - 沒有關注任何主題 - 請在此處新增主題,以尋找你最愛的主題文章 請登入你用來連結 Jetpack 的 WordPress.com 帳號。 Jetpack Jetpack 常見問題 @@ -2420,9 +2392,6 @@ Language: zh_TW 尚未有使用者 這裡會顯示你按讚的文章 尚未有按讚的文章 - 前往關注 - 發掘網站 - 尚未有關注的網站 尚未有人按讚 尚未有關注者 由於你使用免費版方案,你將無法查看所有活動。 @@ -2487,8 +2456,6 @@ Language: zh_TW 此網站 啟用 要啟用 %1$s%2$s%3$s 的通知? - 開啟網站通知 - 關閉網站通知 Jetpack 圖示 事件 活動圖示 @@ -3068,7 +3035,6 @@ Language: zh_TW 確認 無法連線。嘗試存取網站的 XMLRPC 終端時\n收到 403 錯誤訊息。此應用程式需要 XMLRPC 終端才能與你的網站通訊。請聯絡你的主機服務提供者,\n以解決此問題。 無法連結。你的主機服務提供者封鎖了 POST 請求,但此應用程式需要\n需要使用 POST 請求才能與你的網站通訊。請聯絡你的主機服務提供者,以解決此問題。 - 搜尋關注的網站 別讓它晾在那裡!「%1$s」正在等你發表。 別讓它晾在那裡!「%1$s」正在等你發表。 「%1$s」還是草稿,請記得發表! @@ -3170,7 +3136,6 @@ Language: zh_TW 移除 %1$s 角色 使用者 - 此清單中的網站最近未張貼任何文章 無法移除使用者 無法更新使用者角色 無法擷取網站使用者 @@ -3383,7 +3348,6 @@ Language: zh_TW 此文章已不存在 你未獲授權無法檢視此文章 無法擷取此文章 - 您所關注的網站最近未發表任何文章 沒有近期文章 網址已複製到剪貼簿 選取的佈景主題 @@ -3428,8 +3392,6 @@ Language: zh_TW %s 個讚 1 個讚 - %,d 個追蹤我的人 - 編輯主題和網站 讀者文章 在裝置上顯示通知的相關設定。 將通知傳送至帳號所繫結之電子郵件地址的相關設定。 @@ -3451,8 +3413,6 @@ Language: zh_TW 檢視 上架 編輯 - 你沒有存取此網站的權限 - 找不到這個網站 復原 要求已到期。登入 WordPress.com 再試一次。 忽略 @@ -3496,7 +3456,6 @@ Language: zh_TW 正在擷取文章… 正在擷取媒體… 應用程式記錄已複製到剪貼簿 - 這個網站沒有內容 新文章 將文字複製到剪貼簿時發生錯誤 正在上傳文章 @@ -3524,7 +3483,6 @@ Language: zh_TW 已選取:%d 瀏覽常見問題集 尚未有留言 - 沒有任何與此主題相關的文章 按讚 查看原始文章 留言已關閉 @@ -3544,22 +3502,8 @@ Language: zh_TW 尚無文章。建立文章? 正在登出… 無法執行此動作 - 無法封鎖此網站 - 將不再顯示此網站的文章 - 封鎖此網站 排程 更新 - 沒有推薦的網站 - 無法取消關注此網站 - 無法關注此網站 - 你已經關注此網站 - 無法顯示此網站 - 已關注的網站 - %s 位關注者 - 輸入要關注的 URL 或主題 - 關注的網站 - 已關注的主題 - 讀者網站 如果你通常能夠順利連線至此網站,則此錯誤可能代表有人正嘗試冒充該網站,因此請勿繼續操作。是否仍然要信任憑證? 無效的 SSL 憑證 說明 @@ -3585,8 +3529,6 @@ Language: zh_TW 存取此網誌時發生錯誤 無法擷取媒體項目 沒有可用的網路 - 無法移除此主題 - 無法新增此主題 應用程式記錄檔 建立應用程式資料庫時發生錯誤。請嘗試重新安裝應用程式。 此網誌已隱藏,無法載入。請在設定中啟用網誌,然後再試一次。 @@ -3648,15 +3590,12 @@ Language: zh_TW 無法開啟 %s 無法檢視圖片 無法分享 - 這不是有效的主題 - 你已經關注了此主題 無法張貼你的回應 你說這個讚 1 人說這個讚 移除 %s 新增 %s 回應評論 - 追蹤 追蹤 分享 轉發 diff --git a/WordPress/src/main/res/values-zh-rTW/strings.xml b/WordPress/src/main/res/values-zh-rTW/strings.xml index 6264159fd484..d888de67af83 100644 --- a/WordPress/src/main/res/values-zh-rTW/strings.xml +++ b/WordPress/src/main/res/values-zh-rTW/strings.xml @@ -96,7 +96,6 @@ Language: zh_TW 帳號與設定 選取方案 選購任何年繳方案,第一年完全免費 - 1 位關注者 已儲存 儲存 你可能會喜歡 @@ -595,7 +594,6 @@ Language: zh_TW 選取%1$s通知分頁%2$s讓你在行動途中也可收到更新。 選取%1$s加號%2$s即可上傳媒體。 你可以從任何裝置將其新增至你的貼文/頁面。 使用<b>探索</b>功能來找出網站和分頁。 - 使用<b>探索</b>功能來找出網站和分頁。 試試選取%1$s設定%2$s來新增你喜歡的主題。 影片縮圖 踴躍回應者 %1$d 年前發佈 @@ -1091,7 +1089,6 @@ Language: zh_TW 一律允許的 IP 位址 留言含有不允許的內容 新增按鈕文字 - 追蹤主題 在網站創作並發布引人注目內容的全新方式。 關閉 下載 @@ -1402,8 +1399,6 @@ Language: zh_TW 版面配置在離線時無法使用 使用商店憑證繼續 尋找你連結的電子郵件 - 追蹤主題 - 嘗試追蹤更多主題以擴大搜尋範圍 沒有近期文章 歡迎! 掃瞄 @@ -1442,7 +1437,6 @@ Language: zh_TW 這個功能強大的編輯器讓你隨時隨地都能發佈文章。 歡迎使用全球最受歡迎的網站建置工具。 媒體載入失敗 - 值得關注的網站 我們正在努力開發,讓每次版本更新都可以新增更多區塊。 系統不完全支援「%s」 「協助」按鈕 @@ -1463,7 +1457,6 @@ Language: zh_TW 從 WordPress 媒體庫選擇 返回 開始使用 - 追蹤主題以探索新網誌 發表者: 此推薦連結不能被標記為垃圾郵件 取消標記為垃圾郵件 @@ -1621,7 +1614,6 @@ Language: zh_TW 已複製區塊 只有具有管理員角色的使用者才能變更網站標題。 網站標題會顯示在網頁瀏覽器的標題列中,且會顯示在大部分佈景主題的頁首中。 - 主旨 無法更新網站標題。 請檢查你的網路連線並再試一次。 未儲存的變更 在瀏覽器中開啟連結 @@ -1653,8 +1645,6 @@ Language: zh_TW 移至草稿 你無法編輯移至垃圾桶的文章。 要將此文章狀態變更為「草稿」以便修正嗎? 是否將文章移至草稿? - 選擇你的主題 - 選擇你的主題 完成 選取幾項以繼續操作 已發佈 @@ -1697,7 +1687,6 @@ Language: zh_TW 若要設定首頁,請在網站設定中啟用「靜態首頁」 選擇顏色 點選兩次即可前往顏色設定 - 關注網站後,網站內容就會顯示於此 瞭解更多 %s 新功能 插入 %d 個 @@ -1711,9 +1700,6 @@ Language: zh_TW 無法選擇網站,請再試一次。 繼續 轉發失敗 - 管理網站 - 建立 WordPress.com 網站後,可以將喜歡的內容轉發到自己的網站。 - 沒有可用的 WordPress.com 網站 最新內容 已複製連結位址 複製連結位址 @@ -1812,23 +1798,13 @@ Language: zh_TW 新增卡片 新增統計資料卡片 使用篩選按鈕尋找特定主題的文章 - 選擇一個標籤或網站、快顯視窗 - 選擇網站或標籤以篩選文章 移除目前的篩選條件 - 管理主題和網站 登入 WordPress.com - 登入 WordPress.com,查看你關注主題的最新文章 - 登入 WordPress.com,查看關注網站的最新文章 取代目前區塊 新增至「結束」 新增至「開始」 在之前新增區塊 在之後新增區塊 - 新增主題 - 關注網站 - 你可以新增主題以關注特定主題的文章 - 查看你關注網站的最新聞張 - 關注中 篩選 視訊標題。%s 編輯視訊 @@ -1873,7 +1849,6 @@ Language: zh_TW 快完成了!我們只需驗證你與 Jetpack 綁定的電子郵件地址就行了<b>%1$s</b> 請使用 %1$s 網站憑證登入 網頁 - 關注中 按讚數 探索 已儲存 @@ -2367,7 +2342,6 @@ Language: zh_TW 已嘗試傳送 SMS 驗證碼太多次,請稍待片刻,一分鐘後再送出新驗證碼要求。 沒有 WordPress.com 帳號符合此 Google 帳號。 沒有網站符合你的搜尋條件 - 沒有網站符合你的搜尋條件 頁面上層項目已變更 頁面已永久刪除 頁面已排程 @@ -2399,8 +2373,6 @@ Language: zh_TW 現在不要 更多 你沒有任何網站 - 沒有關注任何主題 - 請在此處新增主題,以尋找你最愛的主題文章 請登入你用來連結 Jetpack 的 WordPress.com 帳號。 Jetpack Jetpack 常見問題 @@ -2420,9 +2392,6 @@ Language: zh_TW 尚未有使用者 這裡會顯示你按讚的文章 尚未有按讚的文章 - 前往關注 - 發掘網站 - 尚未有關注的網站 尚未有人按讚 尚未有關注者 由於你使用免費版方案,你將無法查看所有活動。 @@ -2487,8 +2456,6 @@ Language: zh_TW 此網站 啟用 要啟用 %1$s%2$s%3$s 的通知? - 開啟網站通知 - 關閉網站通知 Jetpack 圖示 事件 活動圖示 @@ -3068,7 +3035,6 @@ Language: zh_TW 確認 無法連線。嘗試存取網站的 XMLRPC 終端時\n收到 403 錯誤訊息。此應用程式需要 XMLRPC 終端才能與你的網站通訊。請聯絡你的主機服務提供者,\n以解決此問題。 無法連結。你的主機服務提供者封鎖了 POST 請求,但此應用程式需要\n需要使用 POST 請求才能與你的網站通訊。請聯絡你的主機服務提供者,以解決此問題。 - 搜尋關注的網站 別讓它晾在那裡!「%1$s」正在等你發表。 別讓它晾在那裡!「%1$s」正在等你發表。 「%1$s」還是草稿,請記得發表! @@ -3170,7 +3136,6 @@ Language: zh_TW 移除 %1$s 角色 使用者 - 此清單中的網站最近未張貼任何文章 無法移除使用者 無法更新使用者角色 無法擷取網站使用者 @@ -3383,7 +3348,6 @@ Language: zh_TW 此文章已不存在 你未獲授權無法檢視此文章 無法擷取此文章 - 您所關注的網站最近未發表任何文章 沒有近期文章 網址已複製到剪貼簿 選取的佈景主題 @@ -3428,8 +3392,6 @@ Language: zh_TW %s 個讚 1 個讚 - %,d 個追蹤我的人 - 編輯主題和網站 讀者文章 在裝置上顯示通知的相關設定。 將通知傳送至帳號所繫結之電子郵件地址的相關設定。 @@ -3451,8 +3413,6 @@ Language: zh_TW 檢視 上架 編輯 - 你沒有存取此網站的權限 - 找不到這個網站 復原 要求已到期。登入 WordPress.com 再試一次。 忽略 @@ -3496,7 +3456,6 @@ Language: zh_TW 正在擷取文章… 正在擷取媒體… 應用程式記錄已複製到剪貼簿 - 這個網站沒有內容 新文章 將文字複製到剪貼簿時發生錯誤 正在上傳文章 @@ -3524,7 +3483,6 @@ Language: zh_TW 已選取:%d 瀏覽常見問題集 尚未有留言 - 沒有任何與此主題相關的文章 按讚 查看原始文章 留言已關閉 @@ -3544,22 +3502,8 @@ Language: zh_TW 尚無文章。建立文章? 正在登出… 無法執行此動作 - 無法封鎖此網站 - 將不再顯示此網站的文章 - 封鎖此網站 排程 更新 - 沒有推薦的網站 - 無法取消關注此網站 - 無法關注此網站 - 你已經關注此網站 - 無法顯示此網站 - 已關注的網站 - %s 位關注者 - 輸入要關注的 URL 或主題 - 關注的網站 - 已關注的主題 - 讀者網站 如果你通常能夠順利連線至此網站,則此錯誤可能代表有人正嘗試冒充該網站,因此請勿繼續操作。是否仍然要信任憑證? 無效的 SSL 憑證 說明 @@ -3585,8 +3529,6 @@ Language: zh_TW 存取此網誌時發生錯誤 無法擷取媒體項目 沒有可用的網路 - 無法移除此主題 - 無法新增此主題 應用程式記錄檔 建立應用程式資料庫時發生錯誤。請嘗試重新安裝應用程式。 此網誌已隱藏,無法載入。請在設定中啟用網誌,然後再試一次。 @@ -3648,15 +3590,12 @@ Language: zh_TW 無法開啟 %s 無法檢視圖片 無法分享 - 這不是有效的主題 - 你已經關注了此主題 無法張貼你的回應 你說這個讚 1 人說這個讚 移除 %s 新增 %s 回應評論 - 追蹤 追蹤 分享 轉發 From 4574346e9ba94d25e73958d9ad6a55581c044e04 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Thu, 8 Feb 2024 19:53:04 +0000 Subject: [PATCH 081/170] Bump version number --- version.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.properties b/version.properties index bebb7d297a3d..67e16033cfed 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -versionName=24.2-rc-1 -versionCode=1407 \ No newline at end of file +versionName=24.2-rc-2 +versionCode=1408 \ No newline at end of file From 79db6634b7bba13d189bdaaa22c7cbaa85341e51 Mon Sep 17 00:00:00 2001 From: Thomas Horta Date: Thu, 8 Feb 2024 17:42:01 -0300 Subject: [PATCH 082/170] Only pass a single category to the Filters Sheet The current implementation only ever expects to receive a single category but to keep most of the old code we are still using a List of categories for the sub filter logic. That is not needed on the roo SubfilterBottomSheetFragment though and the presence of the list was causing a crash since the Parcelable implementation of the SubfilterCategory was not working as expected. Removing the list from that Fragment and using a single category lets us remove the `Parcelable` requirement from the SubfilterCategory enum since we can now deal with a simple Serializable class, therefore fixing the crash. --- .../ui/reader/ReaderPostListFragment.java | 2 +- .../ui/reader/SubfilterBottomSheetFragment.kt | 15 +++++------- .../ui/reader/subfilter/BottomSheetUiState.kt | 2 +- .../ui/reader/subfilter/SubFilterViewModel.kt | 2 +- .../reader/subfilter/SubfilterPageFragment.kt | 23 +------------------ 5 files changed, 10 insertions(+), 34 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java index d7bbc9b13c4b..2da410a95ab6 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java @@ -640,7 +640,7 @@ private void initSubFilterViewModel(@Nullable Bundle savedInstanceState) { BottomSheetVisible visibleState = (BottomSheetVisible) uiState; bottomSheet = SubfilterBottomSheetFragment.newInstance( SubFilterViewModel.getViewModelKeyForTag(mTagFragmentStartedWith), - visibleState.getCategories(), + visibleState.getCategory(), mUiHelpers.getTextOfUiString(requireContext(), visibleState.getTitle()) ); bottomSheet.show(getChildFragmentManager(), SUBFILTER_BOTTOM_SHEET_TAG); diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/SubfilterBottomSheetFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/SubfilterBottomSheetFragment.kt index 01de1e11aa52..287858802a62 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/SubfilterBottomSheetFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/SubfilterBottomSheetFragment.kt @@ -24,7 +24,7 @@ import org.wordpress.android.ui.reader.subfilter.SubfilterCategory.SITES import org.wordpress.android.ui.reader.subfilter.SubfilterCategory.TAGS import org.wordpress.android.ui.reader.subfilter.SubfilterListItem.Tag import org.wordpress.android.ui.reader.subfilter.SubfilterPagerAdapter -import org.wordpress.android.util.extensions.getParcelableArrayListCompat +import org.wordpress.android.util.extensions.getSerializableCompat import javax.inject.Inject import com.google.android.material.R as MaterialR @@ -36,19 +36,19 @@ class SubfilterBottomSheetFragment : BottomSheetDialogFragment() { companion object { const val SUBFILTER_VIEW_MODEL_KEY = "subfilter_view_model_key" const val SUBFILTER_TITLE_KEY = "subfilter_title_key" - const val SUBFILTER_CATEGORIES_KEY = "subfilter_categories_key" + const val SUBFILTER_CATEGORY_KEY = "subfilter_category_key" @JvmStatic fun newInstance( subfilterViewModelKey: String, - categories: List, + category: SubfilterCategory, title: CharSequence ): SubfilterBottomSheetFragment { val fragment = SubfilterBottomSheetFragment() val bundle = Bundle() bundle.putString(SUBFILTER_VIEW_MODEL_KEY, subfilterViewModelKey) bundle.putCharSequence(SUBFILTER_TITLE_KEY, title) - bundle.putParcelableArrayList(SUBFILTER_CATEGORIES_KEY, ArrayList(categories)) + bundle.putSerializable(SUBFILTER_CATEGORY_KEY, category) fragment.arguments = bundle return fragment @@ -68,9 +68,7 @@ class SubfilterBottomSheetFragment : BottomSheetDialogFragment() { val subfilterVmKey = requireArguments().getString(SUBFILTER_VIEW_MODEL_KEY)!! val bottomSheetTitle = requireArguments().getCharSequence(SUBFILTER_TITLE_KEY)!! - val categories = requireNotNull( - requireArguments().getParcelableArrayListCompat(SUBFILTER_CATEGORIES_KEY) - ) + val category = requireArguments().getSerializableCompat(SUBFILTER_CATEGORY_KEY)!! viewModel = ViewModelProvider( parentFragment as ViewModelStoreOwner, @@ -87,7 +85,7 @@ class SubfilterBottomSheetFragment : BottomSheetDialogFragment() { requireActivity(), childFragmentManager, subfilterVmKey, - categories.toList() + listOf(category) ) pager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) { @@ -110,7 +108,6 @@ class SubfilterBottomSheetFragment : BottomSheetDialogFragment() { } editSubscriptions.setOnClickListener { - val category = categories.firstOrNull() ?: return@setOnClickListener val subsPageIndex = when (category) { SITES -> ReaderSubsActivity.TAB_IDX_FOLLOWED_BLOGS TAGS -> ReaderSubsActivity.TAB_IDX_FOLLOWED_TAGS diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/BottomSheetUiState.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/BottomSheetUiState.kt index 7107a7c4395a..2f163dd1ecfc 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/BottomSheetUiState.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/BottomSheetUiState.kt @@ -5,7 +5,7 @@ import org.wordpress.android.ui.utils.UiString sealed class BottomSheetUiState(val isVisible: Boolean) { data class BottomSheetVisible( val title: UiString, - val categories: List + val category: SubfilterCategory ) : BottomSheetUiState(true) object BottomSheetHidden : BottomSheetUiState(false) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt index 44d50e65e150..e331ecaeb231 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubFilterViewModel.kt @@ -234,7 +234,7 @@ class SubFilterViewModel @Inject constructor( _bottomSheetUiState.value = Event( BottomSheetVisible( UiStringRes(category.titleRes), - listOf(category) // TODO thomashortadev this should accept only a single category + category ) ) val source = when(category) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt index 7e7d1bd07c77..7f6f071b5232 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt @@ -4,9 +4,6 @@ package org.wordpress.android.ui.reader.subfilter import android.content.Context import android.os.Bundle -import android.os.Parcel -import android.os.Parcelable -import android.os.Parcelable.Creator import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -215,25 +212,7 @@ class SubfilterPagerAdapter( } } -enum class SubfilterCategory(@StringRes val titleRes: Int, val type: ItemType) : Parcelable { +enum class SubfilterCategory(@StringRes val titleRes: Int, val type: ItemType) { SITES(R.string.reader_filter_by_blog_title, SITE), TAGS(R.string.reader_filter_by_tag_title, TAG); - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeInt(type.ordinal) - } - - override fun describeContents(): Int { - return 0 - } - - companion object CREATOR : Creator { - override fun createFromParcel(parcel: Parcel): SubfilterCategory { - return values()[parcel.readInt()] - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } } From 51ae6a7f94f04de9196793377a38baee661ffc5e Mon Sep 17 00:00:00 2001 From: Thomas Horta Date: Thu, 8 Feb 2024 17:45:20 -0300 Subject: [PATCH 083/170] Fix minor warnings in SubfilterPageFragment --- .../android/ui/reader/subfilter/SubfilterPageFragment.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt index 7f6f071b5232..4820df8c4599 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/subfilter/SubfilterPageFragment.kt @@ -104,7 +104,7 @@ class SubfilterPageFragment : Fragment() { subFilterViewModel = ViewModelProvider( requireParentFragment().parentFragment as ViewModelStoreOwner, viewModelFactory - ).get(subfilterVmKey, SubFilterViewModel::class.java) + )[subfilterVmKey, SubFilterViewModel::class.java] subFilterViewModel.subFilters.observe(viewLifecycleOwner) { (recyclerView.adapter as? SubfilterListAdapter)?.let { adapter -> @@ -184,7 +184,7 @@ class SubfilterPageFragment : Fragment() { class SubfilterPagerAdapter( val context: Context, val fm: FragmentManager, - val subfilterViewModelKey: String, + private val subfilterViewModelKey: String, categories: List ) : FragmentPagerAdapter(fm) { private val filterCategory = categories @@ -198,7 +198,7 @@ class SubfilterPagerAdapter( return fragment } - override fun getPageTitle(position: Int): CharSequence? { + override fun getPageTitle(position: Int): CharSequence { return context.getString(filterCategory[position].titleRes) } From ceb4c52b070aefa95048066a20d28708dc7be930 Mon Sep 17 00:00:00 2001 From: Thomas Horta Date: Thu, 8 Feb 2024 18:07:43 -0300 Subject: [PATCH 084/170] Dismiss the Subfilter sheet if any required argument is null --- .../android/ui/reader/SubfilterBottomSheetFragment.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/SubfilterBottomSheetFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/reader/SubfilterBottomSheetFragment.kt index 287858802a62..ead55fbc4c12 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/SubfilterBottomSheetFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/SubfilterBottomSheetFragment.kt @@ -66,9 +66,14 @@ class SubfilterBottomSheetFragment : BottomSheetDialogFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - val subfilterVmKey = requireArguments().getString(SUBFILTER_VIEW_MODEL_KEY)!! - val bottomSheetTitle = requireArguments().getCharSequence(SUBFILTER_TITLE_KEY)!! - val category = requireArguments().getSerializableCompat(SUBFILTER_CATEGORY_KEY)!! + val subfilterVmKey = requireArguments().getString(SUBFILTER_VIEW_MODEL_KEY) + val bottomSheetTitle = requireArguments().getCharSequence(SUBFILTER_TITLE_KEY) + val category = requireArguments().getSerializableCompat(SUBFILTER_CATEGORY_KEY) + + if (subfilterVmKey == null || category == null || bottomSheetTitle == null) { + dismiss() + return + } viewModel = ViewModelProvider( parentFragment as ViewModelStoreOwner, From 51a40e45febfe808c5836e09150540b5274e9627 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Thu, 8 Feb 2024 23:10:17 -0300 Subject: [PATCH 085/170] Update logic to unsubscribe tag in manage tags and blogs screen: keep the tag in the list when unsubscribed, and only change the follow button status --- .../ui/reader/adapters/ReaderTagAdapter.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java index 5dc99a307cea..3dec73b9df12 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java @@ -28,6 +28,8 @@ import org.wordpress.android.util.ToastUtils; import java.lang.ref.WeakReference; +import java.util.HashMap; +import java.util.Map; import javax.inject.Inject; @@ -41,6 +43,7 @@ public interface TagDeletedListener { private final ReaderTagList mTags = new ReaderTagList(); private TagDeletedListener mTagDeletedListener; private ReaderInterfaces.DataLoadedListener mDataLoadedListener; + private final Map mBlogIdIsFollowedMap = new HashMap<>(); public ReaderTagAdapter(Context context) { super(); @@ -103,7 +106,13 @@ public ReaderTagList getItems() { public void onBindViewHolder(TagViewHolder holder, int position) { final ReaderTag tag = mTags.get(position); holder.mTxtTagName.setText(tag.getLabel()); - holder.mRemoveFollowButton.setOnClickListener(v -> performDeleteTag(tag)); + holder.mRemoveFollowButton.setOnClickListener(view -> { + final boolean currentValue = Boolean.TRUE.equals(mBlogIdIsFollowedMap.get(tag.getTagSlug())); + final boolean newValue = !currentValue; + mBlogIdIsFollowedMap.put(tag.getTagSlug(), newValue); + holder.mRemoveFollowButton.setIsFollowed(newValue); + performDeleteTag(tag); + }); } private void performDeleteTag(@NonNull ReaderTag tag) { @@ -124,11 +133,6 @@ public void onActionResult(boolean succeeded) { boolean success = ReaderTagActions.deleteTag(tag, actionListener, mAccountStore.hasAccessToken()); if (success) { - int index = mTags.indexOfTagName(tag.getTagSlug()); - if (index > -1) { - mTags.remove(index); - notifyItemRemoved(index); - } if (mTagDeletedListener != null) { mTagDeletedListener.onTagDeleted(tag); } @@ -175,6 +179,12 @@ protected void onPostExecute(ReaderTagList tagList) { if (tagList != null && !tagList.isSameList(mTags)) { mTags.clear(); mTags.addAll(tagList); + mBlogIdIsFollowedMap.clear(); + for (final ReaderTag tag : mTags) { + if (!mBlogIdIsFollowedMap.containsKey(tag.getTagSlug())) { + mBlogIdIsFollowedMap.put(tag.getTagSlug(), true); + } + } notifyDataSetChanged(); } mIsTaskRunning = false; From a41e57d0ea43397e3e383088fdb32e2624591707 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Fri, 9 Feb 2024 09:39:58 +0100 Subject: [PATCH 086/170] ShareIntentReceiver - Add Toast message when media can be loaded --- .../org/wordpress/android/ui/ShareIntentReceiverActivity.java | 1 + 1 file changed, 1 insertion(+) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java index 6d100f6d2c07..9dac0732e1aa 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java @@ -112,6 +112,7 @@ private void downloadExternalMedia() { } } } catch (Exception e) { + ToastUtils.showToast(this, R.string.error_media_load, ToastUtils.Duration.LONG); AppLog.e(T.MEDIA, "ShareIntentReceiver failed to download media ", e); } } From ad478ab72d2bca60fc225d5ea30a1975ab93b735 Mon Sep 17 00:00:00 2001 From: Annmarie Ziegler Date: Fri, 9 Feb 2024 07:55:19 -0500 Subject: [PATCH 087/170] Add string resource for super fast media deep link messaging --- WordPress/src/main/res/values/strings.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index d28bdcc5957d..62e87667048c 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -4878,4 +4878,7 @@ translators: %s: Select control option value e.g: "Auto, 25%". --> PHP Logs Web Server Logs We cannot open site monitoring at the moment. Please try again later + + + Site not found. Check that you are logged into the correct account. From 319ee2d1a5f5ee24d3cf58fd9b378de5899f8907 Mon Sep 17 00:00:00 2001 From: Annmarie Ziegler Date: Fri, 9 Feb 2024 07:55:52 -0500 Subject: [PATCH 088/170] Add new navigation action to support opening My Site with a message --- .../org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt index 470f6f149669..cee3bc824c2d 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt @@ -97,6 +97,10 @@ class DeepLinkNavigator navigateAction.site, navigateAction.siteMonitorType ) + is NavigateAction.OpenMySiteWithMessage -> activityNavigator.openMySiteWithMessageInNewStack( + activity, + navigateAction.message + ) } if (navigateAction != LoginForResult) { activity.finish() @@ -134,5 +138,6 @@ class DeepLinkNavigator object DomainManagement : NavigateAction() data class OpenSiteMonitoringForSite(val site: SiteModel?, val siteMonitorType: SiteMonitorType) : NavigateAction() + data class OpenMySiteWithMessage(val message: Int) : NavigateAction() } } From d2c3fe1b13f180503ad2a934330cd2fd6fe0a93f Mon Sep 17 00:00:00 2001 From: Annmarie Ziegler Date: Fri, 9 Feb 2024 07:56:36 -0500 Subject: [PATCH 089/170] Add new fun for handling open my site view with a message --- .../wordpress/android/ui/ActivityNavigator.kt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityNavigator.kt b/WordPress/src/main/java/org/wordpress/android/ui/ActivityNavigator.kt index 61cb8664470a..9378e0842f6f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityNavigator.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityNavigator.kt @@ -186,5 +186,19 @@ class ActivityNavigator @Inject constructor() { .addNextIntent(intent) .startActivities() } -} + fun openMySiteWithMessageInNewStack( + context: Context, + message: Int + ) { + val taskStackBuilder = TaskStackBuilder.create(context) + val mainActivityIntent = getMainActivityInNewStack(context) + val intent = Intent(context, WPMainActivity::class.java) + intent.putExtra(WPMainActivity.ARG_OPEN_PAGE, WPMainActivity.ARG_MY_SITE) + intent.putExtra(WPMainActivity.ARG_OPEN_PAGE_MESSAGE, message) + taskStackBuilder + .addNextIntent(mainActivityIntent) + .addNextIntent(intent) + .startActivities() + } +} From 2e43fe2561a1495d69094640cea2ace5883759fc Mon Sep 17 00:00:00 2001 From: Annmarie Ziegler Date: Fri, 9 Feb 2024 07:57:52 -0500 Subject: [PATCH 090/170] Refactor: change the navigation action to OpenMySiteWithMessage when an error occurs finding the site --- .../android/ui/deeplinks/handlers/QRCodeMediaLinkHandler.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/handlers/QRCodeMediaLinkHandler.kt b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/handlers/QRCodeMediaLinkHandler.kt index 16f8ce2d2c7d..53b7126c967f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/handlers/QRCodeMediaLinkHandler.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/handlers/QRCodeMediaLinkHandler.kt @@ -28,7 +28,7 @@ class QRCodeMediaLinkHandler @Inject constructor( analyticsTrackerWrapper.track(AnalyticsTracker.Stat.DEEP_LINK_FAILED, mapOf(ERROR to INVALID_SITE_ID, CAMPAIGN to uri.getQueryParameter(CAMPAIGN)?.replace("-", "_"))) - NavigateAction.OpenMySite + NavigateAction.OpenMySiteWithMessage(org.wordpress.android.R.string.qrcode_media_deeplink_error) } else -> { NavigateAction.OpenMediaPickerForSite(siteModel) From c8ce6ee2273a652cfdfb81098f7b9bb5e7332eca Mon Sep 17 00:00:00 2001 From: Annmarie Ziegler Date: Fri, 9 Feb 2024 07:59:42 -0500 Subject: [PATCH 091/170] Use the snackbarSequencer to show a snackbar if open page includes a message argument for super fast media uploads by qrcode. --- .../android/ui/main/WPMainActivity.java | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java index e20b85c298d4..6d67608adebb 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java @@ -29,6 +29,7 @@ import com.google.android.gms.common.GoogleApiAvailability; import com.google.android.gms.tasks.Task; import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.google.android.material.snackbar.Snackbar; import com.google.android.play.core.review.ReviewInfo; import com.google.android.play.core.review.ReviewManager; import com.google.android.play.core.review.ReviewManagerFactory; @@ -138,6 +139,7 @@ import org.wordpress.android.ui.uploads.UploadUtils; import org.wordpress.android.ui.uploads.UploadUtilsWrapper; import org.wordpress.android.ui.utils.JetpackAppMigrationFlowUtils; +import org.wordpress.android.ui.utils.UiString.UiStringRes; import org.wordpress.android.ui.whatsnew.FeatureAnnouncementDialogFragment; import org.wordpress.android.util.AniUtils; import org.wordpress.android.util.AppLog; @@ -152,6 +154,9 @@ import org.wordpress.android.util.QuickStartUtilsWrapper; import org.wordpress.android.util.ShortcutUtils; import org.wordpress.android.util.SiteUtils; +import org.wordpress.android.util.SnackbarItem; +import org.wordpress.android.util.SnackbarItem.Info; +import org.wordpress.android.util.SnackbarSequencer; import org.wordpress.android.util.ToastUtils; import org.wordpress.android.util.analytics.AnalyticsTrackerWrapper; import org.wordpress.android.util.analytics.AnalyticsUtils; @@ -233,6 +238,7 @@ public class WPMainActivity extends LocaleAwareActivity implements public static final String ARG_IS_CHANGING_CONFIGURATION = "IS_CHANGING_CONFIGURATION"; public static final String ARG_BYPASS_MIGRATION = "bypass_migration"; public static final String ARG_MEDIA = "show_media"; + public static final String ARG_OPEN_PAGE_MESSAGE = "open_page_message"; private boolean mIsChangingConfiguration = false; private WPMainNavigationView mBottomNav; @@ -287,6 +293,8 @@ public class WPMainActivity extends LocaleAwareActivity implements @Inject ActivityNavigator mActivityNavigator; + @Inject SnackbarSequencer mSnackbarSequencer; + /* * fragments implement this if their contents can be scrolled, called when user * requests to scroll to the top @@ -380,10 +388,10 @@ public void onCreate(@Nullable Bundle savedInstanceState) { } } else if (openedFromShortcut) { initSelectedSite(); - mShortcutsNavigator.showTargetScreen(getIntent().getStringExtra( - ShortcutsNavigator.ACTION_OPEN_SHORTCUT), this, getSelectedSite()); - showJetpackOverlayIfNeeded(getIntent().getStringExtra( - ShortcutsNavigator.ACTION_OPEN_SHORTCUT)); + mShortcutsNavigator.showTargetScreen(getIntent().getStringExtra( + ShortcutsNavigator.ACTION_OPEN_SHORTCUT), this, getSelectedSite()); + showJetpackOverlayIfNeeded(getIntent().getStringExtra( + ShortcutsNavigator.ACTION_OPEN_SHORTCUT)); } else if (openRequestedPage) { handleOpenPageIntent(getIntent()); } else if (isQuickStartRequestedFromPush) { @@ -880,6 +888,7 @@ protected void onNewIntent(@NonNull Intent intent) { } private void handleOpenPageIntent(@NonNull Intent intent) { + showOpenPageMessageIfNeeded(); String pagePosition = intent.getStringExtra(ARG_OPEN_PAGE); if (!TextUtils.isEmpty(pagePosition)) { switch (pagePosition) { @@ -1920,4 +1929,24 @@ private void showPrivacySettingsScreen(@Nullable Boolean requestedAnalyticsValue // startActivityForResult(intent, RequestCodes.SETTINGS); // TODO: do we need to handle the result? startActivity(intent); } + + private void showOpenPageMessageIfNeeded() { + if (getIntent() != null) { + int messageResId = getIntent().getIntExtra(ARG_OPEN_PAGE_MESSAGE, -1); + if (messageResId > -1) { + mSnackbarSequencer.enqueue( + new SnackbarItem( + new Info( + findViewById(R.id.coordinator), + new UiStringRes(messageResId), + Snackbar.LENGTH_LONG + ), + null, + null, + null + ) + ); + } + } + } } From 414ddf809666941a0ad68b415bd83f523b4cfb5d Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Fri, 9 Feb 2024 15:22:21 +0200 Subject: [PATCH 092/170] Allow defining which notification channels to create on app initialisation --- .../org/wordpress/android/AppInitializer.kt | 119 ++++++++++-------- 1 file changed, 66 insertions(+), 53 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/AppInitializer.kt b/WordPress/src/main/java/org/wordpress/android/AppInitializer.kt index cd4fba1f5bd5..8d7a32fcd36b 100644 --- a/WordPress/src/main/java/org/wordpress/android/AppInitializer.kt +++ b/WordPress/src/main/java/org/wordpress/android/AppInitializer.kt @@ -464,65 +464,78 @@ class AppInitializer @Inject constructor( credentialsClient.connect() } - private fun createNotificationChannelsOnSdk26() { + private fun createNotificationChannelsOnSdk26( + normal: Boolean = true, + important: Boolean = true, + reminder: Boolean = true, + transient: Boolean = true, + weeklyRoundup: Boolean = true + ) { // create Notification channels introduced in Android Oreo if (Build.VERSION.SDK_INT >= VERSION_CODES.O) { - // Create the NORMAL channel (used for likes, comments, replies, etc.) - val normalChannel = NotificationChannel( - application.getString(R.string.notification_channel_normal_id), - application.getString(R.string.notification_channel_general_title), - NotificationManager.IMPORTANCE_DEFAULT - ) - // Register the channel with the system; you can't change the importance - // or other notification behaviors after this val notificationManager = application.getSystemService( Context.NOTIFICATION_SERVICE ) as NotificationManager - notificationManager.createNotificationChannel(normalChannel) + if (normal) { + // Create the NORMAL channel (used for likes, comments, replies, etc.) + val normalChannel = NotificationChannel( + application.getString(R.string.notification_channel_normal_id), + application.getString(R.string.notification_channel_general_title), + NotificationManager.IMPORTANCE_DEFAULT + ) + // Register the channel with the system; you can't change the importance + // or other notification behaviors after this - // Create the IMPORTANT channel (used for 2fa auth, for example) - val importantChannel = NotificationChannel( - application.getString(R.string.notification_channel_important_id), - application.getString(R.string.notification_channel_important_title), - NotificationManager.IMPORTANCE_HIGH - ) - // Register the channel with the system; you can't change the importance - // or other notification behaviors after this - notificationManager.createNotificationChannel(importantChannel) - - // Create the REMINDER channel (used for various reminders, like Quick Start, etc.) - val reminderChannel = NotificationChannel( - application.getString(R.string.notification_channel_reminder_id), - application.getString(R.string.notification_channel_reminder_title), - NotificationManager.IMPORTANCE_LOW - ) - // Register the channel with the system; you can't change the importance - // or other notification behaviors after this - notificationManager.createNotificationChannel(reminderChannel) - - // Create the TRANSIENT channel (used for short-lived notifications such as processing a Like/Approve, - // or media upload) - val transientChannel = NotificationChannel( - application.getString(R.string.notification_channel_transient_id), - application.getString(R.string.notification_channel_transient_title), - NotificationManager.IMPORTANCE_DEFAULT - ) - transientChannel.setSound(null, null) - transientChannel.enableVibration(false) - transientChannel.enableLights(false) - // Register the channel with the system; you can't change the importance - // or other notification behaviors after this - notificationManager.createNotificationChannel(transientChannel) - - // Create the WEEKLY ROUNDUP channel (used for weekly roundup notification containing weekly stats) - val weeklyRoundupChannel = NotificationChannel( - application.getString(R.string.notification_channel_weekly_roundup_id), - application.getString(R.string.notification_channel_weekly_roundup_title), - NotificationManager.IMPORTANCE_LOW - ) - // Register the channel with the system; you can't change the importance or other notification behaviors - // after this - notificationManager.createNotificationChannel(weeklyRoundupChannel) + notificationManager.createNotificationChannel(normalChannel) + } + if (important) { + // Create the IMPORTANT channel (used for 2fa auth, for example) + val importantChannel = NotificationChannel( + application.getString(R.string.notification_channel_important_id), + application.getString(R.string.notification_channel_important_title), + NotificationManager.IMPORTANCE_HIGH + ) + // Register the channel with the system; you can't change the importance + // or other notification behaviors after this + notificationManager.createNotificationChannel(importantChannel) + } + if (reminder) { + // Create the REMINDER channel (used for various reminders, like Quick Start, etc.) + val reminderChannel = NotificationChannel( + application.getString(R.string.notification_channel_reminder_id), + application.getString(R.string.notification_channel_reminder_title), + NotificationManager.IMPORTANCE_LOW + ) + // Register the channel with the system; you can't change the importance + // or other notification behaviors after this + notificationManager.createNotificationChannel(reminderChannel) + } + if (transient) { + // Create the TRANSIENT channel (used for short-lived notifications such as processing a Like/Approve, + // or media upload) + val transientChannel = NotificationChannel( + application.getString(R.string.notification_channel_transient_id), + application.getString(R.string.notification_channel_transient_title), + NotificationManager.IMPORTANCE_DEFAULT + ) + transientChannel.setSound(null, null) + transientChannel.enableVibration(false) + transientChannel.enableLights(false) + // Register the channel with the system; you can't change the importance + // or other notification behaviors after this + notificationManager.createNotificationChannel(transientChannel) + } + if (weeklyRoundup) { + // Create the WEEKLY ROUNDUP channel (used for weekly roundup notification containing weekly stats) + val weeklyRoundupChannel = NotificationChannel( + application.getString(R.string.notification_channel_weekly_roundup_id), + application.getString(R.string.notification_channel_weekly_roundup_title), + NotificationManager.IMPORTANCE_LOW + ) + // Register the channel with the system; you can't change the importance or other notification behaviors + // after this + notificationManager.createNotificationChannel(weeklyRoundupChannel) + } } } From 80790f9feb025335c97108b99fcd6c7772280c78 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Fri, 9 Feb 2024 15:23:17 +0200 Subject: [PATCH 093/170] Only create the transient channel when notifications are disabled to prevent upload notification crash --- .../java/org/wordpress/android/AppInitializer.kt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/AppInitializer.kt b/WordPress/src/main/java/org/wordpress/android/AppInitializer.kt index 8d7a32fcd36b..02eb23ed98bc 100644 --- a/WordPress/src/main/java/org/wordpress/android/AppInitializer.kt +++ b/WordPress/src/main/java/org/wordpress/android/AppInitializer.kt @@ -993,10 +993,19 @@ class AppInitializer @Inject constructor( } private fun updateNotificationSettings() { - if(!jetpackFeatureRemovalPhaseHelper.shouldShowNotifications()) + if (!jetpackFeatureRemovalPhaseHelper.shouldShowNotifications()) { NotificationsUtils.cancelAllNotifications(application) - else + // Only create the transient notification channel to handle upload notifications + createNotificationChannelsOnSdk26( + normal = false, + important = false, + reminder = false, + transient = true, + weeklyRoundup = false, + ) + } else { createNotificationChannelsOnSdk26() + } } companion object { From 07d89b5ca50cc4c311a02582312a3952f9bb5945 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Fri, 9 Feb 2024 16:01:10 +0200 Subject: [PATCH 094/170] Adds release note --- RELEASE-NOTES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index ba0924f0ba7a..43636fbd07d7 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -11,6 +11,7 @@ * [**] Prevent images from temporarily disappearing when uploading media [https://github.com/WordPress/gutenberg/pull/57869] * [***] [Jetpack-only] Reader: introduced new UI/UX for content navigation and filtering [https://github.com/wordpress-mobile/WordPress-Android/pull/19978] * [**] Prevents crashes when the webview state is too big [https://github.com/wordpress-mobile/WordPress-Android/pull/20139] +* [*] [WordPress-only] Prevents a crash occurring when uploading videos under certain conditions [https://github.com/wordpress-mobile/WordPress-Android/pull/20168] 24.1 ----- From d6921e2f28d4f0b2194d0c076121bbea3b52fc2d Mon Sep 17 00:00:00 2001 From: Annmarie Ziegler Date: Fri, 9 Feb 2024 09:11:02 -0500 Subject: [PATCH 095/170] Update unit test to reflect new navigation action --- .../ui/deeplinks/handlers/QRCodeMediaLinkHandlerTest.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/WordPress/src/test/java/org/wordpress/android/ui/deeplinks/handlers/QRCodeMediaLinkHandlerTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/deeplinks/handlers/QRCodeMediaLinkHandlerTest.kt index 009f82b60a07..ec0028d4a418 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/deeplinks/handlers/QRCodeMediaLinkHandlerTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/deeplinks/handlers/QRCodeMediaLinkHandlerTest.kt @@ -8,6 +8,7 @@ import org.mockito.Mock import org.mockito.junit.MockitoJUnitRunner import org.mockito.kotlin.verify import org.mockito.kotlin.whenever +import org.wordpress.android.R import org.wordpress.android.analytics.AnalyticsTracker import org.wordpress.android.fluxc.model.SiteModel import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction @@ -76,7 +77,7 @@ class QRCodeMediaLinkHandlerTest { } @Test - fun `given unrecognized siteId, when deep linked, then opens my site view`() { + fun `given unrecognized siteId, when deep linked, then opens my site view with message`() { val mediaUri = buildUri(host = "apps.wordpress.com", queryParams = mapOf("campaign" to "qr-code-media"), path = arrayOf("get"), ) @@ -85,7 +86,7 @@ class QRCodeMediaLinkHandlerTest { val navigateAction = qrCodeMediaLinkHandler.buildNavigateAction(mediaUri) - assertThat(navigateAction).isEqualTo(NavigateAction.OpenMySite) + assertThat(navigateAction).isEqualTo(NavigateAction.OpenMySiteWithMessage(R.string.qrcode_media_deeplink_error)) } @Test From 4c494c8f50eb17bc36471e683c08ba2acd70ddb0 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Fri, 9 Feb 2024 11:49:21 -0300 Subject: [PATCH 096/170] Disable follow button while subscribe/unsubscribe from tag API request is in progress --- .../android/ui/reader/ReaderSubsActivity.java | 2 -- .../ui/reader/adapters/ReaderTagAdapter.java | 30 +++++++++---------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java index 9b0d02c08482..0386ddbfa4dc 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java @@ -497,8 +497,6 @@ public void onTagDeleted(ReaderTag tag) { if (mLastAddedTagName != null && mLastAddedTagName.equalsIgnoreCase(tag.getTagSlug())) { mLastAddedTagName = null; } - String labelRemovedTag = getString(R.string.reader_label_removed_tag); - showInfoSnackbar(String.format(labelRemovedTag, tag.getLabel())); } /* diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java index 3dec73b9df12..453e4494a856 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java @@ -106,27 +106,27 @@ public ReaderTagList getItems() { public void onBindViewHolder(TagViewHolder holder, int position) { final ReaderTag tag = mTags.get(position); holder.mTxtTagName.setText(tag.getLabel()); - holder.mRemoveFollowButton.setOnClickListener(view -> { - final boolean currentValue = Boolean.TRUE.equals(mBlogIdIsFollowedMap.get(tag.getTagSlug())); - final boolean newValue = !currentValue; - mBlogIdIsFollowedMap.put(tag.getTagSlug(), newValue); - holder.mRemoveFollowButton.setIsFollowed(newValue); - performDeleteTag(tag); - }); + holder.mRemoveFollowButton.setOnClickListener(view -> performDeleteTag(tag, holder.mRemoveFollowButton)); } - private void performDeleteTag(@NonNull ReaderTag tag) { + private void performDeleteTag(@NonNull ReaderTag tag, @NonNull final ReaderFollowButton readerFollowButton) { if (!NetworkUtils.checkConnection(getContext())) { return; } - ReaderActions.ActionListener actionListener = new ReaderActions.ActionListener() { - @Override - public void onActionResult(boolean succeeded) { - if (!succeeded && hasContext()) { - ToastUtils.showToast(getContext(), R.string.reader_toast_err_removing_tag); - refresh(); - } + final boolean currentFollowValue = Boolean.TRUE.equals(mBlogIdIsFollowedMap.get(tag.getTagSlug())); + final boolean newFollowValue = !currentFollowValue; + mBlogIdIsFollowedMap.put(tag.getTagSlug(), newFollowValue); + readerFollowButton.setIsFollowed(newFollowValue); + + // Disable follow button until API call returns + readerFollowButton.setEnabled(false); + + ReaderActions.ActionListener actionListener = succeeded -> { + readerFollowButton.setEnabled(true); + if (!succeeded && hasContext()) { + ToastUtils.showToast(getContext(), R.string.reader_toast_err_removing_tag); + refresh(); } }; From e2dd699f76acd1317f203e93b67f52a0fd946f47 Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Fri, 9 Feb 2024 17:09:15 -0300 Subject: [PATCH 097/170] Refresh tags chip count when subscribed status changes in manage tags & blogs screen --- .../android/ui/reader/ReaderSubsActivity.java | 3 +-- .../android/ui/reader/ReaderTagFragment.java | 6 +++--- .../android/ui/reader/adapters/ReaderTagAdapter.java | 11 +++++++++++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java index 0386ddbfa4dc..3a6de1069ea2 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java @@ -176,8 +176,7 @@ private void setResult() { boolean shouldRefreshSubscriptions = false; if (mPageAdapter != null) { final ReaderTagFragment readerTagFragment = mPageAdapter.getReaderTagFragment(); - final ReaderBlogFragment readerBlogFragment = mPageAdapter.getReaderBlogFragment(); - if (readerTagFragment != null && readerBlogFragment != null) { + if (readerTagFragment != null) { shouldRefreshSubscriptions = readerTagFragment.hasChangedSelectedTags(); } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java index 1638e7ae1eb0..b9a6ab66e30a 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java @@ -49,10 +49,10 @@ public boolean hasChangedSelectedTags() { for (final ReaderTag readerTag : mInitialReaderTagList) { initialTagsSlugs.add(readerTag.getTagSlug()); } - final List currentReaderTagList = getTagAdapter().getItems(); + final List currentlySubscribedReaderTagList = getTagAdapter().getSubscribedItems(); final Set currentTagsSlugs = new HashSet<>(); - if (currentReaderTagList != null) { - for (final ReaderTag readerTag : currentReaderTagList) { + if (currentlySubscribedReaderTagList != null) { + for (final ReaderTag readerTag : currentlySubscribedReaderTagList) { currentTagsSlugs.add(readerTag.getTagSlug()); } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java index 453e4494a856..562be8065d92 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java @@ -102,6 +102,17 @@ public ReaderTagList getItems() { return mTags; } + @Nullable + public ReaderTagList getSubscribedItems() { + final ReaderTagList readerSubscribedTagsList = new ReaderTagList(); + for (final ReaderTag readerTag : mTags) { + if (Boolean.TRUE.equals(mBlogIdIsFollowedMap.get(readerTag.getTagSlug()))) { + readerSubscribedTagsList.add(readerTag); + } + } + return readerSubscribedTagsList; + } + @Override public void onBindViewHolder(TagViewHolder holder, int position) { final ReaderTag tag = mTags.get(position); From 920d4f868b334d771c45940ec9e4b226a1ed435e Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Fri, 9 Feb 2024 17:15:05 -0300 Subject: [PATCH 098/170] Update tag followed status in memory only when the action finishes --- .../wordpress/android/ui/reader/adapters/ReaderTagAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java index 562be8065d92..54b62b95bca9 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java @@ -127,13 +127,13 @@ private void performDeleteTag(@NonNull ReaderTag tag, @NonNull final ReaderFollo final boolean currentFollowValue = Boolean.TRUE.equals(mBlogIdIsFollowedMap.get(tag.getTagSlug())); final boolean newFollowValue = !currentFollowValue; - mBlogIdIsFollowedMap.put(tag.getTagSlug(), newFollowValue); readerFollowButton.setIsFollowed(newFollowValue); // Disable follow button until API call returns readerFollowButton.setEnabled(false); ReaderActions.ActionListener actionListener = succeeded -> { + mBlogIdIsFollowedMap.put(tag.getTagSlug(), newFollowValue); readerFollowButton.setEnabled(true); if (!succeeded && hasContext()) { ToastUtils.showToast(getContext(), R.string.reader_toast_err_removing_tag); From a02167aa006e45d06394db9ec6f25ffac53f88de Mon Sep 17 00:00:00 2001 From: Renan Lukas <14964993+RenanLukas@users.noreply.github.com> Date: Fri, 9 Feb 2024 19:46:58 -0300 Subject: [PATCH 099/170] Fix PR comment: tag was being deleted on success but never added again --- .../android/ui/reader/ReaderSubsActivity.java | 10 ++++- .../android/ui/reader/ReaderTagFragment.java | 10 ++++- .../ui/reader/adapters/ReaderTagAdapter.java | 39 ++++++++++++------- 3 files changed, 43 insertions(+), 16 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java index 3a6de1069ea2..955a08936ce5 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderSubsActivity.java @@ -70,7 +70,7 @@ * followed tags and followed blogs */ public class ReaderSubsActivity extends LocaleAwareActivity - implements ReaderTagAdapter.TagDeletedListener { + implements ReaderTagAdapter.TagDeletedListener, ReaderTagAdapter.TagAddedListener { private EditText mEditAdd; private FloatingActionButton mFabButton; private ReaderFollowButton mBtnAdd; @@ -498,6 +498,14 @@ public void onTagDeleted(ReaderTag tag) { } } + @Override public void onTagAdded(@NonNull ReaderTag readerTag) { + mReaderTracker.trackTag( + AnalyticsTracker.Stat.READER_TAG_FOLLOWED, + readerTag.getTagSlug(), + ReaderTracker.SOURCE_SETTINGS + ); + } + /* * return to the previously selected page in the viewPager */ diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java index b9a6ab66e30a..f767642e9c8f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderTagFragment.java @@ -25,7 +25,8 @@ /* * fragment hosted by ReaderSubsActivity which shows followed tags */ -public class ReaderTagFragment extends Fragment implements ReaderTagAdapter.TagDeletedListener { +public class ReaderTagFragment extends Fragment + implements ReaderTagAdapter.TagDeletedListener, ReaderTagAdapter.TagAddedListener { private ReaderRecyclerView mRecyclerView; private ReaderTagAdapter mTagAdapter; @@ -103,6 +104,7 @@ private ReaderTagAdapter getTagAdapter() { Context context = WPActivityUtils.getThemedContext(getActivity()); mTagAdapter = new ReaderTagAdapter(context); mTagAdapter.setTagDeletedListener(this); + mTagAdapter.setTagAddedListener(this); mTagAdapter.setDataLoadedListener(isEmpty -> { checkEmptyView(); if (mIsFirstDataLoaded) { @@ -133,4 +135,10 @@ public void onTagDeleted(ReaderTag tag) { ((ReaderTagAdapter.TagDeletedListener) getActivity()).onTagDeleted(tag); } } + + @Override public void onTagAdded(@NonNull ReaderTag readerTag) { + if (getActivity() instanceof ReaderTagAdapter.TagDeletedListener) { + ((ReaderTagAdapter.TagAddedListener) getActivity()).onTagAdded(readerTag); + } + } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java index 54b62b95bca9..955783b7a630 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/adapters/ReaderTagAdapter.java @@ -38,12 +38,17 @@ public interface TagDeletedListener { void onTagDeleted(ReaderTag tag); } + public interface TagAddedListener { + void onTagAdded(@NonNull ReaderTag readerTag); + } + @Inject AccountStore mAccountStore; private final WeakReference mWeakContext; private final ReaderTagList mTags = new ReaderTagList(); private TagDeletedListener mTagDeletedListener; + private TagAddedListener mTagAddedListener; private ReaderInterfaces.DataLoadedListener mDataLoadedListener; - private final Map mBlogIdIsFollowedMap = new HashMap<>(); + private final Map mTagSlugIsFollowedMap = new HashMap<>(); public ReaderTagAdapter(Context context) { super(); @@ -56,6 +61,10 @@ public void setTagDeletedListener(TagDeletedListener listener) { mTagDeletedListener = listener; } + public void setTagAddedListener(@NonNull final TagAddedListener listener) { + mTagAddedListener = listener; + } + public void setDataLoadedListener(ReaderInterfaces.DataLoadedListener listener) { mDataLoadedListener = listener; } @@ -106,7 +115,7 @@ public ReaderTagList getItems() { public ReaderTagList getSubscribedItems() { final ReaderTagList readerSubscribedTagsList = new ReaderTagList(); for (final ReaderTag readerTag : mTags) { - if (Boolean.TRUE.equals(mBlogIdIsFollowedMap.get(readerTag.getTagSlug()))) { + if (Boolean.TRUE.equals(mTagSlugIsFollowedMap.get(readerTag.getTagSlug()))) { readerSubscribedTagsList.add(readerTag); } } @@ -125,15 +134,15 @@ private void performDeleteTag(@NonNull ReaderTag tag, @NonNull final ReaderFollo return; } - final boolean currentFollowValue = Boolean.TRUE.equals(mBlogIdIsFollowedMap.get(tag.getTagSlug())); - final boolean newFollowValue = !currentFollowValue; - readerFollowButton.setIsFollowed(newFollowValue); + final boolean isFollowingCurrent = Boolean.TRUE.equals(mTagSlugIsFollowedMap.get(tag.getTagSlug())); + final boolean isFollowingNew = !isFollowingCurrent; + readerFollowButton.setIsFollowed(isFollowingNew); // Disable follow button until API call returns readerFollowButton.setEnabled(false); ReaderActions.ActionListener actionListener = succeeded -> { - mBlogIdIsFollowedMap.put(tag.getTagSlug(), newFollowValue); + mTagSlugIsFollowedMap.put(tag.getTagSlug(), isFollowingNew); readerFollowButton.setEnabled(true); if (!succeeded && hasContext()) { ToastUtils.showToast(getContext(), R.string.reader_toast_err_removing_tag); @@ -141,12 +150,16 @@ private void performDeleteTag(@NonNull ReaderTag tag, @NonNull final ReaderFollo } }; - boolean success = ReaderTagActions.deleteTag(tag, actionListener, mAccountStore.hasAccessToken()); - - if (success) { - if (mTagDeletedListener != null) { + if (isFollowingCurrent) { + boolean success = ReaderTagActions.deleteTag(tag, actionListener, mAccountStore.hasAccessToken()); + if (success && mTagDeletedListener != null) { mTagDeletedListener.onTagDeleted(tag); } + } else { + boolean success = ReaderTagActions.addTag(tag, actionListener, mAccountStore.hasAccessToken()); + if (success && mTagAddedListener != null) { + mTagAddedListener.onTagAdded(tag); + } } } @@ -190,11 +203,9 @@ protected void onPostExecute(ReaderTagList tagList) { if (tagList != null && !tagList.isSameList(mTags)) { mTags.clear(); mTags.addAll(tagList); - mBlogIdIsFollowedMap.clear(); + mTagSlugIsFollowedMap.clear(); for (final ReaderTag tag : mTags) { - if (!mBlogIdIsFollowedMap.containsKey(tag.getTagSlug())) { - mBlogIdIsFollowedMap.put(tag.getTagSlug(), true); - } + mTagSlugIsFollowedMap.put(tag.getTagSlug(), true); } notifyDataSetChanged(); } From 70e624a8f90210d31d5f2e388ed50982482a6aa6 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Sun, 11 Feb 2024 19:30:01 +0300 Subject: [PATCH 100/170] Fix the issue with updating granularity on the traffic tab --- .../ui/stats/refresh/lists/StatsListFragment.kt | 9 ++++++++- .../ui/stats/refresh/lists/StatsListViewModel.kt | 15 +++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt index 01dc2cb9d3bb..f45f39109267 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt @@ -238,7 +238,14 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) { } private fun StatsListFragmentBinding.setupObservers(activity: FragmentActivity) { - viewModel.uiSourceUpdated.observe(viewLifecycleOwner) { + viewModel.uiSourceRemoved.observe(viewLifecycleOwner) { + viewModel.uiModel.removeObservers(viewLifecycleOwner) + viewModel.navigationTarget.removeObservers(viewLifecycleOwner) + viewModel.listSelected.removeObservers(viewLifecycleOwner) + viewModel.scrollToNewCard.removeObservers(viewLifecycleOwner) + } + + viewModel.uiSourceAdded.observe(viewLifecycleOwner) { observeUiChanges(activity) } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt index 3d1fd90673cf..366d1f7073f1 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListViewModel.kt @@ -81,8 +81,11 @@ abstract class StatsListViewModel( lateinit var listSelected: LiveData - private val mutableUiSourceUpdated = SingleLiveEvent() - val uiSourceUpdated: LiveData = mutableUiSourceUpdated + private val mutableUiSourceAdded = SingleLiveEvent() + val uiSourceAdded: LiveData = mutableUiSourceAdded + + protected val mutableUiSourceRemoved = SingleLiveEvent() + val uiSourceRemoved: LiveData = mutableUiSourceRemoved lateinit var uiModel: LiveData @@ -169,7 +172,7 @@ abstract class StatsListViewModel( listSelected = statsUseCase.listSelected navigationTarget = mergeNotNull(statsUseCase.navigationTarget, mutableNavigationTarget) scrollToNewCard = statsUseCase.scrollTo - mutableUiSourceUpdated.call() + mutableUiSourceAdded.call() } sealed class UiModel { @@ -227,6 +230,10 @@ class TrafficListViewModel @Inject constructor( ) { fun onGranularitySelected(statsGranularity: StatsGranularity) { if (dateSelector?.statsGranularity != statsGranularity) { + // Remove observers from the UI before changing the statsUseCase. This prevents removed use cases from + // affecting the UI. + mutableUiSourceRemoved.call() + dateSelector?.statsGranularity = statsGranularity val newUseCases = useCasesFactories.map { it.build( @@ -240,7 +247,7 @@ class TrafficListViewModel @Inject constructor( statsUseCase.loadData() dateSelector?.updateDateSelector() } - setUiLiveData() + setUiLiveData() // Set UI live data and observers again } } } From 47b2fc5bed42073a62634d30d203766d824a1a9f Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 12 Feb 2024 08:50:58 +0100 Subject: [PATCH 101/170] Update WordPressUtils to 3.13.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ed6ad9b46ad2..f443a2c67a89 100644 --- a/build.gradle +++ b/build.gradle @@ -28,7 +28,7 @@ ext { wordPressFluxCVersion = '2.64.0' wordPressLoginVersion = '1.12.0' wordPressPersistentEditTextVersion = '1.0.2' - wordPressUtilsVersion = '142-c0c7e4a342fb7ffd625fc8962d129293302d9731' + wordPressUtilsVersion = '3.13.0' indexosMediaForMobileVersion = '43a9026f0973a2f0a74fa813132f6a16f7499c3a' // debug From 42ad16fd8a402569769b252922d2def721ecfaa5 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 12 Feb 2024 13:10:35 +0100 Subject: [PATCH 102/170] Update error message when sharing a media file to the app fails --- .../org/wordpress/android/ui/ShareIntentReceiverActivity.java | 2 +- WordPress/src/main/res/values/strings.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java index 9dac0732e1aa..373448e22e02 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java @@ -112,7 +112,7 @@ private void downloadExternalMedia() { } } } catch (Exception e) { - ToastUtils.showToast(this, R.string.error_media_load, ToastUtils.Duration.LONG); + ToastUtils.showToast(this, R.string.error_media_could_not_share_media_from_device, ToastUtils.Duration.LONG); AppLog.e(T.MEDIA, "ShareIntentReceiver failed to download media ", e); } } diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index d28bdcc5957d..4d0f75434108 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -2006,6 +2006,7 @@ This file type is not allowed Unexpected empty file path for Media Could not find media file in path + Unable to load the media for sharing. Please check the app\'s permissions or use the app\'s media library. The specified path is a directory instead of a Media file Media upload failed.\n%1$s Your action is not allowed From 1d0c6320814eaf9d69f1cba7f7f0d487e9b9ae02 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 12 Feb 2024 13:50:10 +0100 Subject: [PATCH 103/170] Split long string --- WordPress/src/main/res/values/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index 4d0f75434108..9b1825e36e98 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -2006,7 +2006,8 @@ This file type is not allowed Unexpected empty file path for Media Could not find media file in path - Unable to load the media for sharing. Please check the app\'s permissions or use the app\'s media library. + Unable to load the media for sharing. Please check the app\'s permissions + or use the app\'s media library. The specified path is a directory instead of a Media file Media upload failed.\n%1$s Your action is not allowed From 4ebf72f4d6d18311a03b8e570e332be6ebafa27c Mon Sep 17 00:00:00 2001 From: Annmarie Ziegler Date: Mon, 12 Feb 2024 08:23:45 -0500 Subject: [PATCH 104/170] Update hashes for credential manager support --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 68f0424a0e10..dc60d7af2e7e 100644 --- a/build.gradle +++ b/build.gradle @@ -25,8 +25,8 @@ ext { automatticTracksVersion = '3.3.0' gutenbergMobileVersion = 'v1.112.0' wordPressAztecVersion = 'v2.0' - wordPressFluxCVersion = '2.64.0' - wordPressLoginVersion = '1.12.0' + wordPressFluxCVersion = '2949-57f909cbe27344a514fc1bf7658f29ddc742b9cb' + wordPressLoginVersion = '138-3a471657411fe82389b06ea0e70501fa457548ed' wordPressPersistentEditTextVersion = '1.0.2' wordPressUtilsVersion = '3.12.0' indexosMediaForMobileVersion = '43a9026f0973a2f0a74fa813132f6a16f7499c3a' From 6c13ba8703fbcc2ebe8da61ee41df20b41f4d46f Mon Sep 17 00:00:00 2001 From: Gerardo Date: Mon, 12 Feb 2024 14:27:41 +0100 Subject: [PATCH 105/170] Fix style issues with long line --- .../org/wordpress/android/ui/ShareIntentReceiverActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java index 373448e22e02..28edf0b25bab 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ShareIntentReceiverActivity.java @@ -112,7 +112,8 @@ private void downloadExternalMedia() { } } } catch (Exception e) { - ToastUtils.showToast(this, R.string.error_media_could_not_share_media_from_device, ToastUtils.Duration.LONG); + ToastUtils.showToast(this, + R.string.error_media_could_not_share_media_from_device, ToastUtils.Duration.LONG); AppLog.e(T.MEDIA, "ShareIntentReceiver failed to download media ", e); } } From d451ce8b458eb72db2a9d25d6f923ad65f2b2c01 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Mon, 12 Feb 2024 19:46:12 +0300 Subject: [PATCH 106/170] Fix the visibility issue with the menu button on the stats --- .../android/ui/stats/refresh/lists/StatsListFragment.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt index f45f39109267..c8d09a0b3643 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/StatsListFragment.kt @@ -81,15 +81,12 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) { } } - @Suppress("DEPRECATION") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) statsSection = arguments?.getSerializableCompat(LIST_TYPE) ?: activity?.intent?.getSerializableExtraCompat(LIST_TYPE) ?: StatsSection.INSIGHTS - - setHasOptionsMenu(statsSection == StatsSection.INSIGHTS) } override fun onSaveInstanceState(outState: Bundle) { @@ -210,6 +207,12 @@ class StatsListFragment : ViewPagerFragment(R.layout.stats_list_fragment) { } } + override fun onResume() { + super.onResume() + @Suppress("DEPRECATION") + setHasOptionsMenu(statsSection == StatsSection.INSIGHTS) + } + override fun onDestroyView() { super.onDestroyView() binding = null From 43f642b9cd481a528f24a10fd99aeb2ad3816702 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Mon, 12 Feb 2024 20:00:31 +0300 Subject: [PATCH 107/170] Update RELEASE-NOTES --- RELEASE-NOTES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index ba0924f0ba7a..a505d5aab873 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -2,7 +2,7 @@ 24.3 ----- - +* [*] [Jetpack-only] Fix the visibility issue with the menu button on the stats [https://github.com/wordpress-mobile/WordPress-Android/pull/20175] 24.2 ----- From 8d1d187a7e9ff5efc0196da0c8df30416c7f4841 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Thu, 11 Jan 2024 11:54:44 +0100 Subject: [PATCH 108/170] Add workflow for validating issues --- .github/workflows/validate-issues.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/validate-issues.yml diff --git a/.github/workflows/validate-issues.yml b/.github/workflows/validate-issues.yml new file mode 100644 index 000000000000..a45f53c001bd --- /dev/null +++ b/.github/workflows/validate-issues.yml @@ -0,0 +1,18 @@ +name: 📝 Validate Issues + +on: + issues: + types: [opened, labeled, unlabeled] + +jobs: + check-labels-on-issues: + uses: Automattic/dangermattic/.github/workflows/reusable-check-labels-on-issues.yml@iangmaia/gha-labels-on-issues-check + with: + label-format-list: '[ + "^\[.+\]", + "^[[:alnum:]]" + ]' + label-error-message: '🚫 Please add a type label (e.g. **[Type] Enhancement**) and a feature label (e.g. **Stats**) to this issue.' + label-success-message: 'Thanks for reporting! 👍' + secrets: + github-token: ${{ secrets.DANGERMATTIC_GITHUB_TOKEN }} From f652d9f3aa65e0a4e3c53c54312e1fae5ecc1a7b Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Fri, 19 Jan 2024 19:51:57 +0100 Subject: [PATCH 109/170] Adjust reusable workflow reference --- .github/workflows/validate-issues.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/validate-issues.yml b/.github/workflows/validate-issues.yml index a45f53c001bd..eb7b84441149 100644 --- a/.github/workflows/validate-issues.yml +++ b/.github/workflows/validate-issues.yml @@ -6,7 +6,7 @@ on: jobs: check-labels-on-issues: - uses: Automattic/dangermattic/.github/workflows/reusable-check-labels-on-issues.yml@iangmaia/gha-labels-on-issues-check + uses: Automattic/dangermattic/.github/workflows/reusable-check-labels-on-issues.yml@trunk with: label-format-list: '[ "^\[.+\]", From eb9a63e1ceed2f80c52efe6e21201e8c0591bfd0 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Mon, 12 Feb 2024 18:06:55 +0100 Subject: [PATCH 110/170] Use versioned shared GitHub Actions Workflow for Issues Check --- .github/workflows/validate-issues.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/validate-issues.yml b/.github/workflows/validate-issues.yml index eb7b84441149..c9899d62603d 100644 --- a/.github/workflows/validate-issues.yml +++ b/.github/workflows/validate-issues.yml @@ -6,7 +6,7 @@ on: jobs: check-labels-on-issues: - uses: Automattic/dangermattic/.github/workflows/reusable-check-labels-on-issues.yml@trunk + uses: Automattic/dangermattic/.github/workflows/reusable-check-labels-on-issues.yml@v1.0.0 with: label-format-list: '[ "^\[.+\]", From 530c0cf6c115ce230fd48dbccbf572295324657b Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Mon, 12 Feb 2024 19:29:36 +0100 Subject: [PATCH 111/170] Tweaks to prevent unnecessary checks running while a PR is a Draft --- .github/workflows/run-danger.yml | 4 +++- Dangerfile | 19 ++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/run-danger.yml b/.github/workflows/run-danger.yml index 910ff3bc717e..856ab8cea46d 100644 --- a/.github/workflows/run-danger.yml +++ b/.github/workflows/run-danger.yml @@ -2,10 +2,12 @@ name: ☢️ Danger on: pull_request: - types: [opened, synchronize, edited, review_requested, review_request_removed, labeled, unlabeled, milestoned, demilestoned] + types: [opened, reopened, ready_for_review, synchronize, edited, labeled, unlabeled, milestoned, demilestoned] jobs: dangermattic: + # runs on draft PRs only for opened / synchronize events + if: ${{ (github.event.pull_request.draft == false) || (github.event.pull_request.draft == true && contains(fromJSON('["opened", "synchronize"]'), github.event.action)) }} uses: Automattic/dangermattic/.github/workflows/reusable-run-danger.yml@v1.0.0 secrets: github-token: ${{ secrets.DANGERMATTIC_GITHUB_TOKEN }} diff --git a/Dangerfile b/Dangerfile index 066512321d91..ad3abc0bd09d 100644 --- a/Dangerfile +++ b/Dangerfile @@ -21,12 +21,6 @@ common_release_checker.check_internal_release_notes_changed(report_type: :messag android_release_checker.check_modified_strings_on_release -labels_checker.check( - do_not_merge_labels: ['Do Not Merge'], - required_labels: [//], - required_labels_error: 'PR requires at least one label.' -) - view_changes_checker.check pr_size_checker.check_diff_size( @@ -36,7 +30,14 @@ pr_size_checker.check_diff_size( android_unit_test_checker.check_missing_tests +# skip remaining checks if we have a Draft PR +return if github.pr_draft? + +labels_checker.check( + do_not_merge_labels: ['Do Not Merge'], + required_labels: [//], + required_labels_error: 'PR requires at least one label.' +) + # skip check for draft PRs and for WIP features unless the PR is against the main branch or release branch -unless github.pr_draft? || (github_utils.wip_feature? && !(github_utils.release_branch? || github_utils.main_branch?)) - milestone_checker.check_milestone_due_date(days_before_due: 4) -end +milestone_checker.check_milestone_due_date(days_before_due: 4) unless github_utils.wip_feature? && !(github_utils.release_branch? || github_utils.main_branch?) From 84f2668e2e127abed2cda399a9b029313594865d Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 13 Feb 2024 10:02:36 +1100 Subject: [PATCH 112/170] Freeze strings for translation --- fastlane/resources/values/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fastlane/resources/values/strings.xml b/fastlane/resources/values/strings.xml index d28bdcc5957d..9b1825e36e98 100644 --- a/fastlane/resources/values/strings.xml +++ b/fastlane/resources/values/strings.xml @@ -2006,6 +2006,8 @@ This file type is not allowed Unexpected empty file path for Media Could not find media file in path + Unable to load the media for sharing. Please check the app\'s permissions + or use the app\'s media library. The specified path is a directory instead of a Media file Media upload failed.\n%1$s Your action is not allowed From 303f52f55004b5ce10066e125c88c6372326a0d8 Mon Sep 17 00:00:00 2001 From: Annmarie Ziegler Date: Tue, 13 Feb 2024 05:28:35 -0500 Subject: [PATCH 113/170] Add release notes for credential manager support --- RELEASE-NOTES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index ba0924f0ba7a..acaabc9039e2 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -2,6 +2,7 @@ 24.3 ----- +- [**] Added support to use third-party passkey providers and other devices passkeys as a WordPress.com login option [https://github.com/wordpress-mobile/WordPress-Android/pull/20174] 24.2 From 419b55548589a7d8cfdf8e54e897aafe2209a297 Mon Sep 17 00:00:00 2001 From: Annmarie Ziegler Date: Tue, 13 Feb 2024 05:28:59 -0500 Subject: [PATCH 114/170] Update fluxc and login to trunk hashes --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index dc60d7af2e7e..ece11ae91c13 100644 --- a/build.gradle +++ b/build.gradle @@ -25,8 +25,8 @@ ext { automatticTracksVersion = '3.3.0' gutenbergMobileVersion = 'v1.112.0' wordPressAztecVersion = 'v2.0' - wordPressFluxCVersion = '2949-57f909cbe27344a514fc1bf7658f29ddc742b9cb' - wordPressLoginVersion = '138-3a471657411fe82389b06ea0e70501fa457548ed' + wordPressFluxCVersion = 'trunk-ed60798b4d96ec19863c74b0f525e2e20f4525db' + wordPressLoginVersion = 'trunk-a90b1ce939aba700d822f188d41624385f9c1dce' wordPressPersistentEditTextVersion = '1.0.2' wordPressUtilsVersion = '3.12.0' indexosMediaForMobileVersion = '43a9026f0973a2f0a74fa813132f6a16f7499c3a' From 49f63b4f5fa02343822d7ed94cfdda20f221e896 Mon Sep 17 00:00:00 2001 From: Ian Maia Date: Tue, 13 Feb 2024 17:46:25 +0100 Subject: [PATCH 115/170] Add Dangerfile improvements from PR feedback --- Dangerfile | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Dangerfile b/Dangerfile index ad3abc0bd09d..d439496653f9 100644 --- a/Dangerfile +++ b/Dangerfile @@ -11,7 +11,7 @@ android_release_checker.check_release_notes_and_play_store_strings android_strings_checker.check_strings_do_not_refer_resource -# skip remaining checks if we're during the release process +# skip remaining checks if we're in a release-process PR if github.pr_labels.include?('Releases') message('This PR has the `Releases` label: some checks will be skipped.') return @@ -30,8 +30,11 @@ pr_size_checker.check_diff_size( android_unit_test_checker.check_missing_tests -# skip remaining checks if we have a Draft PR -return if github.pr_draft? +# skip remaining checks if the PR is still a Draft +if github.pr_draft? + message('This PR is still a Draft: some checks will be skipped.') + return +end labels_checker.check( do_not_merge_labels: ['Do Not Merge'], @@ -39,5 +42,5 @@ labels_checker.check( required_labels_error: 'PR requires at least one label.' ) -# skip check for draft PRs and for WIP features unless the PR is against the main branch or release branch -milestone_checker.check_milestone_due_date(days_before_due: 4) unless github_utils.wip_feature? && !(github_utils.release_branch? || github_utils.main_branch?) +# runs the milestone check if this is not a WIP feature and the PR is against the main branch or the release branch +milestone_checker.check_milestone_due_date(days_before_due: 4) if (github_utils.main_branch? || github_utils.release_branch?) && !github_utils.wip_feature? From fc70d7063731885a1ded266680f0c41a260a4824 Mon Sep 17 00:00:00 2001 From: Ajesh R Pai Date: Wed, 14 Feb 2024 14:21:25 +0530 Subject: [PATCH 116/170] + Adds: the logic to change the tabs to publish once the post uploaded --- .../org/wordpress/android/ui/posts/PostsListActivity.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsListActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsListActivity.kt index de058ca0ed9b..482047fd2220 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsListActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostsListActivity.kt @@ -364,7 +364,7 @@ class PostsListActivity : LocaleAwareActivity(), } } - private fun setupActions() { + private fun PostListActivityBinding.setupActions() { viewModel.dialogAction.observe(this@PostsListActivity) { it?.show(this@PostsListActivity, supportFragmentManager, uiHelpers) } @@ -377,6 +377,7 @@ class PostsListActivity : LocaleAwareActivity(), uploadActionUseCase, uploadUtilsWrapper ) { isFirstTimePublishing -> + changeTabsOnPostUpload() bloggingRemindersViewModel.onPublishingPost(site.id, isFirstTimePublishing) reviewViewModel.onPublishingPost(isFirstTimePublishing) } @@ -384,6 +385,10 @@ class PostsListActivity : LocaleAwareActivity(), } } + private fun PostListActivityBinding.changeTabsOnPostUpload() { + tabLayout.getTabAt(PostListType.PUBLISHED.ordinal)?.select() + } + private fun PostListActivityBinding.loadViewState(state: PostListMainViewState) { if (state.isFabVisible) { fabButton.show() From 81eb6e19b66699eb5e6b8d7390ea38d628ac13e3 Mon Sep 17 00:00:00 2001 From: Ajesh R Pai Date: Wed, 14 Feb 2024 15:37:23 +0530 Subject: [PATCH 117/170] + Adds: the logic to switch to drafts tab when you add a new post --- .../wordpress/android/ui/posts/PostListMainViewModel.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewModel.kt index e5a5caf976da..2bc02b8388b7 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/posts/PostListMainViewModel.kt @@ -401,9 +401,18 @@ class PostListMainViewModel @Inject constructor( } fun handleEditPostResult(data: Intent?) { + switchToDraftTabIfNeeded(data) postActionHandler.handleEditPostResult(data) } + private fun switchToDraftTabIfNeeded(data: Intent?) { + if (data != null && data.getBooleanExtra(EditPostActivity.EXTRA_IS_NEW_POST, false) && + data.getBooleanExtra(EditPostActivity.EXTRA_HAS_CHANGES, false) + ) { + _selectTab.value = POST_LIST_PAGES.indexOf(DRAFTS) + } + } + private fun editRestoredAutoSavePost(localPostId: Int) { val post = postStore.getPostByLocalPostId(localPostId) if (post != null) { From e5e5deed271915b4f7dd8f28ec27e5b28ee96805 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Wed, 14 Feb 2024 20:43:04 +0300 Subject: [PATCH 118/170] Fix stats_insights_accessed event stats_insights_accessed was being tracked for always even when the insights tab was not selected. This fixes it and track the correct event. --- .../org/wordpress/android/ui/stats/refresh/StatsViewModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt index af3c5669e5f7..2373b2dd749d 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt @@ -164,7 +164,7 @@ class StatsViewModel analyticsTracker.track(stat = AnalyticsTracker.Stat.STATS_ACCESSED, site = statsSiteProvider.siteModel) initialSection?.let { statsSectionManager.setSelectedSection(it) } - trackSectionSelected(initialSection ?: StatsSection.INSIGHTS) + trackSectionSelected(statsSectionManager.getSelectedSection()) val initialGranularity = initialSection?.toStatsGranularity() if (initialGranularity != null && initialSelectedPeriod != null) { From ff00333170788080ace391a2c1b79c8befdb82a2 Mon Sep 17 00:00:00 2001 From: Andy Valdez Date: Thu, 15 Feb 2024 13:42:53 -0500 Subject: [PATCH 119/170] [Gradle] Added tracks to included_builds.gradle --- WordPress/build.gradle | 7 ++++++- config/gradle/included_builds.gradle | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/WordPress/build.gradle b/WordPress/build.gradle index 4b11a35570f3..7dc0d4c067a8 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -381,7 +381,12 @@ dependencies { } implementation "$gradle.ext.storiesAndroidMp4ComposePath:$automatticStoriesVersion" - implementation "com.automattic:Automattic-Tracks-Android:$automatticTracksVersion" + implementation("$gradle.ext.tracksBinaryPath") { + version { + strictly automatticTracksVersion + } + } + implementation ("com.automattic:rest:$automatticRestVersion") { exclude group: 'com.mcxiaoke.volley' } diff --git a/config/gradle/included_builds.gradle b/config/gradle/included_builds.gradle index 493a2dedb405..3d98d1c4b5e3 100644 --- a/config/gradle/included_builds.gradle +++ b/config/gradle/included_builds.gradle @@ -12,6 +12,7 @@ gradle.ext.aztecAndroidWordPressCommentsPath = "org.wordpress.aztec:wordpress-co gradle.ext.aztecAndroidGlideLoaderPath = "org.wordpress.aztec:glide-loader" gradle.ext.aztecAndroidPicassoLoaderPath = "org.wordpress.aztec:picasso-loader" gradle.ext.aboutAutomatticBinaryPath = "com.automattic:about" +gradle.ext.tracksBinaryPath = "com.automattic:Automattic-Tracks-Android" def localBuilds = new File("${rootDir}/local-builds.gradle") if (localBuilds.exists()) { @@ -97,4 +98,13 @@ if (localBuilds.exists()) { } } } + + if (ext.has("localTracksPath")) { + includeBuild(ext.localTracksPath) { + dependencySubstitution { + println "Substituting tracks with the local build" + substitute module("$gradle.ext.tracksBinaryPath") using project(':AutomatticTracks') + } + } + } } From a1a77d84adac78336b6ff65b8fd003fadc394e48 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Wed, 14 Feb 2024 22:08:44 +0300 Subject: [PATCH 120/170] Fix StatsViewModelTest --- .../android/ui/stats/refresh/StatsViewModelTest.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/StatsViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/StatsViewModelTest.kt index 8e7480cd034e..c94de84aab83 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/StatsViewModelTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/StatsViewModelTest.kt @@ -10,7 +10,6 @@ import org.junit.Test import org.mockito.Mock import org.mockito.kotlin.any import org.mockito.kotlin.anyOrNull -import org.mockito.kotlin.times import org.mockito.kotlin.verify import org.mockito.kotlin.whenever import org.wordpress.android.BaseUnitTest @@ -33,11 +32,13 @@ import org.wordpress.android.ui.stats.refresh.lists.StatsListViewModel.StatsSect import org.wordpress.android.ui.stats.refresh.lists.StatsListViewModel.StatsSection.DAYS import org.wordpress.android.ui.stats.refresh.lists.StatsListViewModel.StatsSection.INSIGHTS import org.wordpress.android.ui.stats.refresh.lists.StatsListViewModel.StatsSection.MONTHS +import org.wordpress.android.ui.stats.refresh.lists.StatsListViewModel.StatsSection.TRAFFIC import org.wordpress.android.ui.stats.refresh.lists.StatsListViewModel.StatsSection.WEEKS import org.wordpress.android.ui.stats.refresh.lists.StatsListViewModel.StatsSection.YEARS import org.wordpress.android.ui.stats.refresh.lists.sections.granular.SelectedDateProvider import org.wordpress.android.ui.stats.refresh.utils.NewsCardHandler import org.wordpress.android.ui.stats.refresh.utils.SelectedSectionManager +import org.wordpress.android.ui.stats.refresh.utils.SelectedTrafficGranularityManager import org.wordpress.android.ui.stats.refresh.utils.StatsSiteProvider import org.wordpress.android.ui.stats.refresh.utils.trackGranular import org.wordpress.android.ui.utils.UiString.UiStringRes @@ -58,6 +59,9 @@ class StatsViewModelTest : BaseUnitTest() { @Mock lateinit var statsSectionManager: SelectedSectionManager + @Mock + lateinit var selectedTrafficGranularityManager: SelectedTrafficGranularityManager + @Mock lateinit var analyticsTracker: AnalyticsTrackerWrapper @@ -97,6 +101,8 @@ class StatsViewModelTest : BaseUnitTest() { @Before fun setUp() { whenever(baseListUseCase.snackbarMessage).thenReturn(MutableLiveData()) + whenever(statsSectionManager.getSelectedSection()).thenReturn(TRAFFIC) + whenever(selectedTrafficGranularityManager.getSelectedTrafficGranularity()).thenReturn(StatsGranularity.DAYS) whenever(statsSectionManager.liveSelectedSection).thenReturn(liveSelectedSection) whenever(statsSiteProvider.siteModel).thenReturn(site) viewModel = StatsViewModel( @@ -105,6 +111,7 @@ class StatsViewModelTest : BaseUnitTest() { testDispatcher(), selectedDateProvider, statsSectionManager, + selectedTrafficGranularityManager, analyticsTracker, networkUtilsWrapper, statsSiteProvider, @@ -126,9 +133,7 @@ class StatsViewModelTest : BaseUnitTest() { viewModel.onSectionSelected(INSIGHTS) verify(statsSectionManager).setSelectedSection(INSIGHTS) - /* First one is default insights section selection which is set when no value is passed to vm for - initial section */ - verify(analyticsTracker, times(2)).track(STATS_INSIGHTS_ACCESSED) + verify(analyticsTracker).track(STATS_INSIGHTS_ACCESSED) } @Test From 4e138a5232a1714199b18d5a109405b222dda024 Mon Sep 17 00:00:00 2001 From: Andy Valdez Date: Thu, 15 Feb 2024 15:02:00 -0500 Subject: [PATCH 121/170] [Gradle] Added missing localTracksPath in local-builds.gradle-example --- local-builds.gradle-example | 1 + 1 file changed, 1 insertion(+) diff --git a/local-builds.gradle-example b/local-builds.gradle-example index 3ed77af540ee..79b280fabdab 100644 --- a/local-builds.gradle-example +++ b/local-builds.gradle-example @@ -21,4 +21,5 @@ ext { //localLoginFlowPath = "../WordPress-Login-Flow-Android" //localStoriesAndroidPath = "../stories-android" //localAztecAndroidPath = "../AztecEditor-Android" + //localTracksPath = "../Automattic-Tracks-Android" } From 1b3583ee745b0c9bab5c496b2e1aa60ba7f28ced Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Thu, 15 Feb 2024 16:25:00 +0300 Subject: [PATCH 122/170] Add more types to `StatsLaunchedFrom` --- .../android/ui/stats/refresh/StatsActivity.kt | 13 ++++++++++--- .../android/ui/stats/refresh/StatsViewModel.kt | 2 +- .../refresh/lists/widget/WidgetBlockListProvider.kt | 2 +- .../widget/alltime/AllTimeWidgetListProvider.kt | 2 +- .../lists/widget/today/TodayWidgetListProvider.kt | 2 +- .../stats/refresh/lists/widget/utils/WidgetUtils.kt | 2 +- .../lists/widget/views/ViewsWidgetListProvider.kt | 2 +- .../widget/weeks/WeekViewsWidgetListProvider.kt | 2 +- 8 files changed, 17 insertions(+), 10 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsActivity.kt index 2aaa415a22e9..42369a071d82 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsActivity.kt @@ -88,8 +88,15 @@ class StatsActivity : LocaleAwareActivity() { } } - enum class StatsLaunchedFrom { - STATS_WIDGET, - NOTIFICATIONS + enum class StatsLaunchedFrom(val value: String) { + QUICK_ACTIONS("quick_actions"), + TODAY_STATS_CARD("today_stats_card"), + ROW("row"), + WIDGET("widget"), + NOTIFICATION("notification"), + LINK("link"), + SHORTCUT("shortcut"), + ACTIVITY_LOG("activity_log"), + JETPACK_CONNECTION("jetpack_connection") } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt index 2373b2dd749d..923e8b7ede39 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt @@ -171,7 +171,7 @@ class StatsViewModel selectedDateProvider.setInitialSelectedPeriod(initialGranularity, initialSelectedPeriod) } - if (launchedFrom == StatsLaunchedFrom.STATS_WIDGET) { + if (launchedFrom == StatsLaunchedFrom.WIDGET) { analyticsTracker.track(AnalyticsTracker.Stat.STATS_WIDGET_TAPPED, statsSiteProvider.siteModel) } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/WidgetBlockListProvider.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/WidgetBlockListProvider.kt index 8b66c964e528..51437fe4dba2 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/WidgetBlockListProvider.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/WidgetBlockListProvider.kt @@ -57,7 +57,7 @@ class WidgetBlockListProvider(val context: Context, val viewModel: WidgetBlockLi intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) intent.putExtra(WordPress.LOCAL_SITE_ID, uiModel.localSiteId) intent.putExtra(StatsActivity.ARG_DESIRED_TIMEFRAME, uiModel.targetTimeframe) - intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.STATS_WIDGET) + intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.WIDGET) rv.setOnClickFillInIntent(R.id.container, intent) return rv } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/alltime/AllTimeWidgetListProvider.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/alltime/AllTimeWidgetListProvider.kt index fc183ed71068..3c47027e270b 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/alltime/AllTimeWidgetListProvider.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/alltime/AllTimeWidgetListProvider.kt @@ -70,7 +70,7 @@ class AllTimeWidgetListProvider(val context: Context, intent: Intent) : RemoteVi intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) intent.putExtra(WordPress.LOCAL_SITE_ID, uiModel.localSiteId) intent.putExtra(StatsActivity.ARG_DESIRED_TIMEFRAME, StatsTimeframe.INSIGHTS) - intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.STATS_WIDGET) + intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.WIDGET) rv.setOnClickFillInIntent(R.id.container, intent) return rv } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/today/TodayWidgetListProvider.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/today/TodayWidgetListProvider.kt index 13d3132151f8..e0e3918d8bd4 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/today/TodayWidgetListProvider.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/today/TodayWidgetListProvider.kt @@ -68,7 +68,7 @@ class TodayWidgetListProvider(val context: Context, intent: Intent) : RemoteView intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) intent.putExtra(WordPress.LOCAL_SITE_ID, uiModel.localSiteId) intent.putExtra(StatsActivity.ARG_DESIRED_TIMEFRAME, StatsTimeframe.INSIGHTS) - intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.STATS_WIDGET) + intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.WIDGET) rv.setOnClickFillInIntent(R.id.container, intent) return rv } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/utils/WidgetUtils.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/utils/WidgetUtils.kt index 686955a3e261..6693aa25c36f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/utils/WidgetUtils.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/utils/WidgetUtils.kt @@ -180,7 +180,7 @@ class WidgetUtils intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) intent.putExtra(WordPress.LOCAL_SITE_ID, localSiteId) intent.putExtra(StatsActivity.ARG_DESIRED_TIMEFRAME, statsTimeframe) - intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.STATS_WIDGET) + intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.WIDGET) return PendingIntent.getActivity( context, getRandomId(), diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/views/ViewsWidgetListProvider.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/views/ViewsWidgetListProvider.kt index ee5a67c6b132..0f7c58c6d537 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/views/ViewsWidgetListProvider.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/views/ViewsWidgetListProvider.kt @@ -90,7 +90,7 @@ class ViewsWidgetListProvider(val context: Context, intent: Intent) : RemoteView intent.putExtra(INITIAL_SELECTED_PERIOD_KEY, uiModel.period) intent.putExtra(WordPress.LOCAL_SITE_ID, uiModel.localSiteId) intent.putExtra(StatsActivity.ARG_DESIRED_TIMEFRAME, StatsTimeframe.DAY) - intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.STATS_WIDGET) + intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.WIDGET) rv.setOnClickFillInIntent(R.id.container, intent) return rv } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/weeks/WeekViewsWidgetListProvider.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/weeks/WeekViewsWidgetListProvider.kt index 69ccc38ed121..9ea2cf71fd5c 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/weeks/WeekViewsWidgetListProvider.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/lists/widget/weeks/WeekViewsWidgetListProvider.kt @@ -69,7 +69,7 @@ class WeekViewsWidgetListProvider(val context: Context, intent: Intent) : Remote intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) intent.putExtra(WordPress.LOCAL_SITE_ID, uiModel.localSiteId) intent.putExtra(StatsActivity.ARG_DESIRED_TIMEFRAME, StatsTimeframe.INSIGHTS) - intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.STATS_WIDGET) + intent.putExtra(StatsActivity.ARG_LAUNCHED_FROM, StatsLaunchedFrom.WIDGET) rv.setOnClickFillInIntent(R.id.container, intent) return rv } From 0af95e4214d4f1614a964256862af639d03686da Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Thu, 15 Feb 2024 21:37:39 +0300 Subject: [PATCH 123/170] Add launchedFrom param to start stats from ActivityLauncher --- .../android/ui/ActivityLauncher.java | 39 +++++++++++-------- .../android/ui/stats/refresh/StatsActivity.kt | 7 +++- .../ui/stats/refresh/StatsViewModel.kt | 4 +- .../ui/stats/refresh/StatsViewModelTest.kt | 4 +- 4 files changed, 32 insertions(+), 22 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index ab51fe1aad2e..e3827621c198 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -116,6 +116,7 @@ import org.wordpress.android.ui.stats.StatsTimeframe; import org.wordpress.android.ui.stats.StatsViewType; import org.wordpress.android.ui.stats.refresh.StatsActivity; +import org.wordpress.android.ui.stats.refresh.StatsActivity.StatsLaunchedFrom; import org.wordpress.android.ui.stats.refresh.StatsViewAllActivity; import org.wordpress.android.ui.stats.refresh.lists.StatsListViewModel.StatsSection; import org.wordpress.android.ui.stats.refresh.lists.detail.StatsDetailActivity; @@ -501,21 +502,23 @@ public static void openEditorForReblog( addNewPostForResult(editorIntent, activity, site, false, reblogSource, -1, null); } - public static void viewStatsInNewStack(Context context, SiteModel site) { - viewStatsInNewStack(context, site, null); + public static void viewStatsInNewStack(Context context, SiteModel site, @NonNull StatsLaunchedFrom launchedFrom) { + viewStatsInNewStack(context, site, null, launchedFrom); } - public static void viewStatsInNewStack(Context context, SiteModel site, @Nullable StatsTimeframe statsTimeframe) { - viewStatsInNewStack(context, site, statsTimeframe, null); + public static void viewStatsInNewStack(Context context, SiteModel site, @Nullable StatsTimeframe statsTimeframe, + @NonNull StatsLaunchedFrom launchedFrom) { + viewStatsInNewStack(context, site, statsTimeframe, null, launchedFrom); } public static void viewStatsInNewStack(Context context, SiteModel site, @Nullable StatsTimeframe statsTimeframe, - @Nullable String period) { + @Nullable String period, @NonNull StatsLaunchedFrom launchedFrom) { if (site == null) { handleMissingSite(context); return; } - runIntentOverMainActivityInNewStack(context, StatsActivity.buildIntent(context, site, statsTimeframe, period)); + runIntentOverMainActivityInNewStack(context, + StatsActivity.buildIntent(context, site, statsTimeframe, period, launchedFrom)); } private static void handleMissingSite(Context context) { @@ -537,9 +540,11 @@ public static PendingIntent buildStatsPendingIntentOverMainActivityInNewStack(Co @Nullable StatsTimeframe timeframe, @Nullable String period, @Nullable NotificationType type, + @NonNull + StatsLaunchedFrom launchedFrom, int requestCode, int flags) { return buildPendingIntentOverMainActivityInNewStack(context, - StatsActivity.buildIntent(context, site, timeframe, period, type), requestCode, flags); + StatsActivity.buildIntent(context, site, timeframe, period, launchedFrom, type), requestCode, flags); } private static PendingIntent buildPendingIntentOverMainActivityInNewStack(Context context, Intent intent, @@ -586,7 +591,7 @@ public static void viewSavedPostsListInReader(Context context) { context.startActivity(intent); } - public static void viewBlogStats(Context context, SiteModel site) { + public static void viewBlogStats(Context context, SiteModel site, @NonNull StatsLaunchedFrom from) { if (site == null) { AppLog.e(T.STATS, "SiteModel is null when opening the stats."); AnalyticsTracker.track( @@ -594,14 +599,15 @@ public static void viewBlogStats(Context context, SiteModel site) { ActivityLauncher.class.getName(), "NullPointerException", "Failed to open Stats because of the null SiteModel" - ); + ); ToastUtils.showToast(context, R.string.stats_cannot_be_started, ToastUtils.Duration.SHORT); } else { - StatsActivity.start(context, site); + StatsActivity.start(context, site, from); } } - public static void viewBlogStatsForTimeframe(Context context, SiteModel site, StatsTimeframe statsTimeframe) { + public static void viewBlogStatsForTimeframe(Context context, SiteModel site, StatsTimeframe statsTimeframe, + @NonNull StatsLaunchedFrom from) { if (site == null) { AppLog.e(T.STATS, "SiteModel is null when opening the stats."); AnalyticsTracker.track( @@ -609,10 +615,10 @@ public static void viewBlogStatsForTimeframe(Context context, SiteModel site, St ActivityLauncher.class.getName(), "NullPointerException", "Failed to open Stats because of the null SiteModel" - ); + ); ToastUtils.showToast(context, R.string.stats_cannot_be_started, ToastUtils.Duration.SHORT); } else { - StatsActivity.start(context, site, statsTimeframe); + StatsActivity.start(context, site, statsTimeframe, from); } } @@ -636,7 +642,8 @@ public static void viewInsightsManagement(Context context, int localSiteId) { context.startActivity(intent); } - public static void viewBlogStatsAfterJetpackSetup(Context context, SiteModel site) { + public static void viewBlogStatsAfterJetpackSetup(Context context, SiteModel site, + @NonNull StatsLaunchedFrom launchedFrom) { if (site == null) { AppLog.e(T.STATS, "SiteModel is null when opening the stats."); AnalyticsTracker.track( @@ -644,11 +651,11 @@ public static void viewBlogStatsAfterJetpackSetup(Context context, SiteModel sit ActivityLauncher.class.getName(), "NullPointerException", "Failed to open Stats because of the null SiteModel" - ); + ); ToastUtils.showToast(context, R.string.stats_cannot_be_started, ToastUtils.Duration.SHORT); return; } - StatsActivity.start(context, site); + StatsActivity.start(context, site, launchedFrom); } public static void viewConnectJetpackForStats(Context context, SiteModel site) { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsActivity.kt index 42369a071d82..0366e091f397 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsActivity.kt @@ -69,8 +69,9 @@ class StatsActivity : LocaleAwareActivity() { context: Context, site: SiteModel, statsTimeframe: StatsTimeframe? = null, - period: String? = null - ) = context.startActivity(buildIntent(context, site, statsTimeframe, period)) + period: String? = null, + launchedFrom: StatsLaunchedFrom + ) = context.startActivity(buildIntent(context, site, statsTimeframe, period, launchedFrom)) @JvmStatic @JvmOverloads @@ -79,11 +80,13 @@ class StatsActivity : LocaleAwareActivity() { site: SiteModel, statsTimeframe: StatsTimeframe? = null, period: String? = null, + launchedFrom: StatsLaunchedFrom, notificationType: NotificationType? = null ) = Intent(context, StatsActivity::class.java).apply { putExtra(WordPress.LOCAL_SITE_ID, site.id) statsTimeframe?.let { putExtra(ARG_DESIRED_TIMEFRAME, it) } period?.let { putExtra(INITIAL_SELECTED_PERIOD_KEY, it) } + putExtra(ARG_LAUNCHED_FROM, launchedFrom) notificationType?.let { putExtra(ARG_NOTIFICATION_TYPE, it) } } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt index 923e8b7ede39..9a117b9ef7c4 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt @@ -114,7 +114,7 @@ class StatsViewModel fun start(intent: Intent, restart: Boolean = false) { val localSiteId = intent.getIntExtra(WordPress.LOCAL_SITE_ID, 0) - val launchedFrom = intent.getSerializableExtraCompat(StatsActivity.ARG_LAUNCHED_FROM) + val launchedFrom = intent.getSerializableExtraCompat(StatsActivity.ARG_LAUNCHED_FROM) val initialTimeFrame = getInitialTimeFrame(intent) val initialSelectedPeriod = intent.getStringExtra(StatsActivity.INITIAL_SELECTED_PERIOD_KEY) val notificationType = intent.getSerializableExtraCompat(ARG_NOTIFICATION_TYPE) @@ -148,7 +148,7 @@ class StatsViewModel @Suppress("ComplexMethod", "LongParameterList") fun start( localSiteId: Int, - launchedFrom: Serializable?, + launchedFrom: StatsLaunchedFrom?, initialSection: StatsSection?, initialSelectedPeriod: String?, restart: Boolean, diff --git a/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/StatsViewModelTest.kt b/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/StatsViewModelTest.kt index c94de84aab83..9a586d0b4f12 100644 --- a/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/StatsViewModelTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/ui/stats/refresh/StatsViewModelTest.kt @@ -123,7 +123,7 @@ class StatsViewModelTest : BaseUnitTest() { jetpackFeatureRemovalOverlayUtil ) - viewModel.start(1, false, null, null, false, null) + viewModel.start(1, StatsActivity.StatsLaunchedFrom.QUICK_ACTIONS, TRAFFIC, null, false, null) } @Test @@ -337,7 +337,7 @@ class StatsViewModelTest : BaseUnitTest() { private fun startViewModel(statsModuleEnabled: Boolean = true) { whenever(site.isActiveModuleEnabled(any())).thenReturn(statsModuleEnabled) - viewModel.start(1, false, null, null, false, null) + viewModel.start(1, StatsActivity.StatsLaunchedFrom.QUICK_ACTIONS, null, null, false, null) } private val networkUnavailableError = StatsModuleActivateRequestState.Failure.NetworkUnavailable From ada365255635ec3b4ab2cb5ae96992e066b091d4 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Thu, 15 Feb 2024 21:55:21 +0300 Subject: [PATCH 124/170] Add tap_source property to the stats_accessed event --- .../wordpress/android/ui/stats/refresh/StatsViewModel.kt | 6 +++++- .../android/ui/stats/refresh/utils/StatsAnalyticsUtils.kt | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt index 9a117b9ef7c4..df7aaf44e7e7 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/StatsViewModel.kt @@ -49,6 +49,7 @@ import org.wordpress.android.ui.stats.refresh.utils.SelectedSectionManager import org.wordpress.android.ui.stats.refresh.utils.StatsSiteProvider import org.wordpress.android.ui.stats.refresh.utils.toStatsGranularity import org.wordpress.android.ui.stats.refresh.utils.trackGranular +import org.wordpress.android.ui.stats.refresh.utils.trackStatsAccessed import org.wordpress.android.ui.utils.UiString.UiStringRes import org.wordpress.android.util.JetpackBrandingUtils import org.wordpress.android.util.NetworkUtilsWrapper @@ -161,7 +162,10 @@ class StatsViewModel if (!isInitialized || restart) { isInitialized = true - analyticsTracker.track(stat = AnalyticsTracker.Stat.STATS_ACCESSED, site = statsSiteProvider.siteModel) + analyticsTracker.trackStatsAccessed( + site = statsSiteProvider.siteModel, + tapSource = launchedFrom?.value ?: "" + ) initialSection?.let { statsSectionManager.setSelectedSection(it) } trackSectionSelected(statsSectionManager.getSelectedSection()) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsAnalyticsUtils.kt b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsAnalyticsUtils.kt index 8113a9b097e7..664ef1a9a6ed 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsAnalyticsUtils.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/refresh/utils/StatsAnalyticsUtils.kt @@ -2,6 +2,7 @@ package org.wordpress.android.ui.stats.refresh.utils import org.wordpress.android.analytics.AnalyticsTracker.Stat import org.wordpress.android.analytics.AnalyticsTracker.Stat.STATS_INSIGHTS_VIEWS_VISITORS_TOGGLED +import org.wordpress.android.fluxc.model.SiteModel import org.wordpress.android.fluxc.network.utils.StatsGranularity import org.wordpress.android.fluxc.store.StatsStore.InsightType import org.wordpress.android.ui.stats.refresh.lists.widget.configuration.StatsWidgetConfigureFragment.WidgetType @@ -11,6 +12,7 @@ import org.wordpress.android.ui.stats.refresh.lists.widget.configuration.StatsWi import org.wordpress.android.ui.stats.refresh.lists.widget.configuration.StatsWidgetConfigureFragment.WidgetType.WEEK_VIEWS import org.wordpress.android.util.analytics.AnalyticsTrackerWrapper +private const val TAP_SOURCE_PROPERTY = "tap_source" private const val GRANULARITY_PROPERTY = "granularity" private const val DAYS_PROPERTY = "days" private const val WEEKS_PROPERTY = "weeks" @@ -27,6 +29,9 @@ private const val MINIFIED_WIDGET_PROPERTY = "minified" private const val CHIP_VIEWS_PROPERTY = "views" private const val CHIP_VISITORS__PROPERTY = "visitors" +fun AnalyticsTrackerWrapper.trackStatsAccessed(site: SiteModel, tapSource: String) = + track(stat = Stat.STATS_ACCESSED, site = site, properties = mutableMapOf(TAP_SOURCE_PROPERTY to tapSource)) + fun AnalyticsTrackerWrapper.trackGranular(stat: Stat, granularity: StatsGranularity) { val property = when (granularity) { StatsGranularity.DAYS -> DAYS_PROPERTY From ceba38148422cd58b4bf13f651afcac3c8d12c67 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Thu, 15 Feb 2024 21:58:42 +0300 Subject: [PATCH 125/170] Send quick_actions as tap_source when opening the stats from My Site --- .../org/wordpress/android/ui/mysite/MySiteFragment.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt index 6034341af6b4..5879e3b7cbfc 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt @@ -59,6 +59,7 @@ import org.wordpress.android.ui.quickstart.QuickStartTracker import org.wordpress.android.ui.reader.ReaderActivityLauncher import org.wordpress.android.ui.reader.tracker.ReaderTracker import org.wordpress.android.ui.stats.StatsTimeframe +import org.wordpress.android.ui.stats.refresh.StatsActivity import org.wordpress.android.ui.uploads.UploadService import org.wordpress.android.ui.uploads.UploadUtilsWrapper import org.wordpress.android.ui.utils.TitleSubtitleSnackbarSpannable @@ -607,7 +608,12 @@ class MySiteFragment : Fragment(R.layout.my_site_fragment), action.quickStartEvent ) is SiteNavigationAction.OpenUnifiedComments -> ActivityLauncher.viewUnifiedComments(activity, action.site) - is SiteNavigationAction.OpenStats -> ActivityLauncher.viewBlogStats(activity, action.site) + is SiteNavigationAction.OpenStats -> ActivityLauncher.viewBlogStats( + activity, + action.site, + StatsActivity.StatsLaunchedFrom.QUICK_ACTIONS + ) + is SiteNavigationAction.ConnectJetpackForStats -> ActivityLauncher.viewConnectJetpackForStats(activity, action.site) is SiteNavigationAction.StartWPComLoginForJetpackStats -> From 87d89cf8bee8015f0a354ece2862c4ee332552bd Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Thu, 15 Feb 2024 22:02:50 +0300 Subject: [PATCH 126/170] Send row as tap_source when opening the stats from My More screen --- .../org/wordpress/android/ui/mysite/menu/MenuActivity.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mysite/menu/MenuActivity.kt b/WordPress/src/main/java/org/wordpress/android/ui/mysite/menu/MenuActivity.kt index b80d28a42095..33f583b28840 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mysite/menu/MenuActivity.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mysite/menu/MenuActivity.kt @@ -64,6 +64,7 @@ import org.wordpress.android.ui.mysite.items.listitem.ListItemAction import org.wordpress.android.ui.pages.SnackbarMessageHolder import org.wordpress.android.ui.prefs.SiteSettingsFragment import org.wordpress.android.ui.quickstart.QuickStartMySitePrompts +import org.wordpress.android.ui.stats.refresh.StatsActivity import org.wordpress.android.ui.utils.ListItemInteraction import org.wordpress.android.ui.utils.UiString import org.wordpress.android.util.LocaleManager @@ -143,7 +144,12 @@ class MenuActivity : AppCompatActivity() { is SiteNavigationAction.OpenMedia -> ActivityLauncher.viewCurrentBlogMedia(this, action.site) is SiteNavigationAction.OpenMeScreen -> ActivityLauncher.viewMeActivityForResult(this) is SiteNavigationAction.OpenUnifiedComments -> ActivityLauncher.viewUnifiedComments(this, action.site) - is SiteNavigationAction.OpenStats -> ActivityLauncher.viewBlogStats(this, action.site) + is SiteNavigationAction.OpenStats -> ActivityLauncher.viewBlogStats( + this, + action.site, + StatsActivity.StatsLaunchedFrom.ROW + ) + is SiteNavigationAction.OpenDomains -> ActivityLauncher.viewDomainsDashboardActivity( this, action.site From 034f91bf92b1840467de1cdcbb626178a733baea Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Thu, 15 Feb 2024 22:09:16 +0300 Subject: [PATCH 127/170] Send today_stats_card as tap_source when opening the stats from card --- .../org/wordpress/android/ui/mysite/MySiteFragment.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt index 5879e3b7cbfc..fecc440b3294 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/mysite/MySiteFragment.kt @@ -673,8 +673,14 @@ class MySiteFragment : Fragment(R.layout.my_site_fragment), ActivityLauncher.viewCurrentBlogPostsOfType(requireActivity(), action.site, PostListType.DRAFTS) is SiteNavigationAction.EditScheduledPost -> ActivityLauncher.viewCurrentBlogPostsOfType(requireActivity(), action.site, PostListType.SCHEDULED) - is SiteNavigationAction.OpenStatsInsights -> - ActivityLauncher.viewBlogStatsForTimeframe(requireActivity(), action.site, StatsTimeframe.INSIGHTS) + + is SiteNavigationAction.OpenStatsInsights -> ActivityLauncher.viewBlogStatsForTimeframe( + requireActivity(), + action.site, + StatsTimeframe.INSIGHTS, + StatsActivity.StatsLaunchedFrom.TODAY_STATS_CARD + ) + is SiteNavigationAction.OpenExternalUrl -> ActivityLauncher.openUrlExternal(requireActivity(), action.url) is SiteNavigationAction.OpenUrlInWebView -> From c2864757192ac244ff0cec68e8145c1c0d795994 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Thu, 15 Feb 2024 23:00:59 +0300 Subject: [PATCH 128/170] Send notification as tap_source when opening stats from weekly notif --- .../android/ui/notifications/NotificationsDetailActivity.java | 3 ++- .../android/workers/weeklyroundup/WeeklyRoundupNotifier.kt | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsDetailActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsDetailActivity.java index 0dc9e1d6f0da..4dc25520a642 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsDetailActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/notifications/NotificationsDetailActivity.java @@ -54,6 +54,7 @@ import org.wordpress.android.ui.reader.comments.ThreadedCommentsActionSource; import org.wordpress.android.ui.reader.tracker.ReaderTracker; import org.wordpress.android.ui.stats.StatsViewType; +import org.wordpress.android.ui.stats.refresh.StatsActivity.StatsLaunchedFrom; import org.wordpress.android.util.AppLog; import org.wordpress.android.util.StringUtils; import org.wordpress.android.util.ToastUtils; @@ -504,7 +505,7 @@ private void showStatsActivityForSite(@NonNull SiteModel site, FormattableRangeT ActivityLauncher.viewAllTabbedInsightsStats(this, StatsViewType.FOLLOWERS, 0, site.getId()); } else { - ActivityLauncher.viewBlogStats(this, site); + ActivityLauncher.viewBlogStats(this, site, StatsLaunchedFrom.NOTIFICATION); } } diff --git a/WordPress/src/main/java/org/wordpress/android/workers/weeklyroundup/WeeklyRoundupNotifier.kt b/WordPress/src/main/java/org/wordpress/android/workers/weeklyroundup/WeeklyRoundupNotifier.kt index 5c59c604c7b1..0924049102aa 100644 --- a/WordPress/src/main/java/org/wordpress/android/workers/weeklyroundup/WeeklyRoundupNotifier.kt +++ b/WordPress/src/main/java/org/wordpress/android/workers/weeklyroundup/WeeklyRoundupNotifier.kt @@ -16,6 +16,7 @@ import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalPhaseHelper import org.wordpress.android.ui.notifications.SystemNotificationsTracker import org.wordpress.android.ui.prefs.AppPrefsWrapper import org.wordpress.android.ui.stats.StatsTimeframe.WEEK +import org.wordpress.android.ui.stats.refresh.StatsActivity import org.wordpress.android.ui.stats.refresh.utils.StatsUtils import org.wordpress.android.util.SiteUtilsWrapper import org.wordpress.android.viewmodel.ContextProvider @@ -75,6 +76,7 @@ class WeeklyRoundupNotifier @Inject constructor( WEEK, data.period, WEEKLY_ROUNDUP, + StatsActivity.StatsLaunchedFrom.NOTIFICATION, notificationId, FLAG_CANCEL_CURRENT or FLAG_IMMUTABLE ) From 388d1bedefc3cb15cda2e5f48f8058085c420e2e Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Thu, 15 Feb 2024 23:27:15 +0300 Subject: [PATCH 129/170] Send link as tap_source when opening the stats from deeplinks --- .../android/ui/deeplinks/DeepLinkNavigator.kt | 13 +++++++++++-- .../wordpress/android/ui/main/WPMainActivity.java | 6 ++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt index cee3bc824c2d..748e26a9baec 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/deeplinks/DeepLinkNavigator.kt @@ -29,6 +29,7 @@ import org.wordpress.android.ui.deeplinks.DeepLinkNavigator.NavigateAction.ViewP import org.wordpress.android.ui.sitecreation.misc.SiteCreationSource.DEEP_LINK import org.wordpress.android.ui.sitemonitor.SiteMonitorType import org.wordpress.android.ui.stats.StatsTimeframe +import org.wordpress.android.ui.stats.refresh.StatsActivity import org.wordpress.android.util.UriWrapper import javax.inject.Inject @@ -61,12 +62,20 @@ class DeepLinkNavigator activity, navigateAction.statsTimeframe ) - is OpenStatsForSite -> ActivityLauncher.viewStatsInNewStack(activity, navigateAction.site) + + is OpenStatsForSite -> ActivityLauncher.viewStatsInNewStack( + activity, + navigateAction.site, + StatsActivity.StatsLaunchedFrom.LINK + ) + is OpenStatsForSiteAndTimeframe -> ActivityLauncher.viewStatsInNewStack( activity, navigateAction.site, - navigateAction.statsTimeframe + navigateAction.statsTimeframe, + StatsActivity.StatsLaunchedFrom.LINK ) + OpenReader -> ActivityLauncher.viewReaderInNewStack(activity) is OpenInReader -> ActivityLauncher.viewPostDeeplinkInNewStack(activity, navigateAction.uri.uri) is ViewPostInReader -> ActivityLauncher.viewReaderPostDetailInNewStack( diff --git a/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java index 6d67608adebb..27cc8feae2a3 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java @@ -134,6 +134,7 @@ import org.wordpress.android.ui.review.ReviewViewModel; import org.wordpress.android.ui.sitecreation.misc.SiteCreationSource; import org.wordpress.android.ui.stats.StatsTimeframe; +import org.wordpress.android.ui.stats.refresh.StatsActivity.StatsLaunchedFrom; import org.wordpress.android.ui.stories.intro.StoriesIntroDialogFragment; import org.wordpress.android.ui.uploads.UploadActionUseCase; import org.wordpress.android.ui.uploads.UploadUtils; @@ -944,9 +945,10 @@ private void handleOpenPageIntent(@NonNull Intent intent) { } if (intent.hasExtra(ARG_STATS_TIMEFRAME)) { ActivityLauncher.viewBlogStatsForTimeframe(this, getSelectedSite(), - (StatsTimeframe) intent.getSerializableExtra(ARG_STATS_TIMEFRAME)); + (StatsTimeframe) intent.getSerializableExtra(ARG_STATS_TIMEFRAME), + StatsLaunchedFrom.LINK); } else { - ActivityLauncher.viewBlogStats(this, getSelectedSite()); + ActivityLauncher.viewBlogStats(this, getSelectedSite(), StatsLaunchedFrom.LINK); } break; case ARG_PAGES: From 32581159fac4cbd097a3740542cf50a18b067c6a Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Thu, 15 Feb 2024 23:42:15 +0300 Subject: [PATCH 130/170] Send shortcut as tap_source when opening the stats from shortcut --- .../main/java/org/wordpress/android/ui/ShortcutsNavigator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ShortcutsNavigator.java b/WordPress/src/main/java/org/wordpress/android/ui/ShortcutsNavigator.java index 2ff58cd2fa96..59f1d5a96a01 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ShortcutsNavigator.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ShortcutsNavigator.java @@ -5,6 +5,7 @@ import org.wordpress.android.analytics.AnalyticsTracker; import org.wordpress.android.fluxc.model.SiteModel; import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalPhaseHelper; +import org.wordpress.android.ui.stats.refresh.StatsActivity.StatsLaunchedFrom; import org.wordpress.android.util.AppLog; import javax.inject.Inject; @@ -35,7 +36,7 @@ public void showTargetScreen(String action, Activity activity, SiteModel current if (mJetpackFeatureRemovalPhaseHelper.shouldShowStaticPage()) { ActivityLauncher.showJetpackStaticPoster(activity); } else { - ActivityLauncher.viewBlogStats(activity, currentSite); + ActivityLauncher.viewBlogStats(activity, currentSite, StatsLaunchedFrom.SHORTCUT); } } break; From 5740df5977c58a0ee459c12901ec617210d85671 Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Thu, 15 Feb 2024 23:58:43 +0300 Subject: [PATCH 131/170] Send activity_log as tap_source when opening stats from activity log --- .../ui/notifications/utils/FormattableContentClickHandler.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/notifications/utils/FormattableContentClickHandler.kt b/WordPress/src/main/java/org/wordpress/android/ui/notifications/utils/FormattableContentClickHandler.kt index 6993078a7999..f42672dc941e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/notifications/utils/FormattableContentClickHandler.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/notifications/utils/FormattableContentClickHandler.kt @@ -16,6 +16,7 @@ import org.wordpress.android.ui.reader.comments.ThreadedCommentsActionSource.ACT import org.wordpress.android.ui.reader.tracker.ReaderTracker import org.wordpress.android.ui.reader.utils.ReaderUtils import org.wordpress.android.ui.stats.StatsViewType.FOLLOWERS +import org.wordpress.android.ui.stats.refresh.StatsActivity import org.wordpress.android.util.AppLog import org.wordpress.android.util.AppLog.T.API import org.wordpress.android.util.ToastUtils @@ -117,7 +118,7 @@ class FormattableContentClickHandler @Inject constructor( if (rangeType == FormattableRangeType.FOLLOW) { ActivityLauncher.viewAllTabbedInsightsStats(activity, FOLLOWERS, 0, site.id) } else { - ActivityLauncher.viewBlogStats(activity, site) + ActivityLauncher.viewBlogStats(activity, site, StatsActivity.StatsLaunchedFrom.ACTIVITY_LOG) } } From e11ccaeecd64d0ab24e8721d3e4490ac445254fe Mon Sep 17 00:00:00 2001 From: Irfan Omur Date: Fri, 16 Feb 2024 00:02:28 +0300 Subject: [PATCH 132/170] Send jetpack_connection as tap_source when opening the stats --- .../wordpress/android/ui/JetpackConnectionResultActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/JetpackConnectionResultActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/JetpackConnectionResultActivity.java index bdac09b520cd..85b6abe0cde0 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/JetpackConnectionResultActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/JetpackConnectionResultActivity.java @@ -20,6 +20,7 @@ import org.wordpress.android.fluxc.store.SiteStore; import org.wordpress.android.login.LoginMode; import org.wordpress.android.ui.accounts.LoginActivity; +import org.wordpress.android.ui.stats.refresh.StatsActivity.StatsLaunchedFrom; import org.wordpress.android.util.AppLog; import org.wordpress.android.util.SiteUtils; import org.wordpress.android.util.ToastUtils; @@ -140,7 +141,7 @@ private void finishAndGoBackToSource() { if (mSource == JetpackConnectionSource.STATS) { SiteModel site = (SiteModel) getIntent().getSerializableExtra(SITE); mDispatcher.dispatch(SiteActionBuilder.newFetchSitesAction(SiteUtils.getFetchSitesPayload())); - ActivityLauncher.viewBlogStatsAfterJetpackSetup(this, site); + ActivityLauncher.viewBlogStatsAfterJetpackSetup(this, site, StatsLaunchedFrom.JETPACK_CONNECTION); } finish(); } From 6c50eec550809926ddfc2c37a609a1810da985ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?He=CC=81ctor=20Abraham?= Date: Mon, 12 Feb 2024 16:56:46 +0100 Subject: [PATCH 133/170] Added Gravatar message in "My profile" Showing the card with the Gravatar info in the My Profile fragment. The card should contain a link to the Gravartar.com website. Design differs between light and dark modes. --- .../src/jetpack/res/drawable/ic_logo.xml | 15 ++ .../android/ui/prefs/MyProfileFragment.java | 6 + .../drawable/bg_wordpress_gravatar_info.xml | 7 + .../main/res/drawable/ic_logo_gravatar.xml | 14 ++ .../main/res/layout/my_profile_fragment.xml | 156 ++++++++++++------ WordPress/src/main/res/values/dimens.xml | 4 + WordPress/src/main/res/values/strings.xml | 2 + .../wordpress/res/drawable-night/ic_logo.xml | 15 ++ .../src/wordpress/res/drawable/ic_logo.xml | 15 ++ 9 files changed, 184 insertions(+), 50 deletions(-) create mode 100644 WordPress/src/jetpack/res/drawable/ic_logo.xml create mode 100644 WordPress/src/main/res/drawable/bg_wordpress_gravatar_info.xml create mode 100644 WordPress/src/main/res/drawable/ic_logo_gravatar.xml create mode 100644 WordPress/src/wordpress/res/drawable-night/ic_logo.xml create mode 100644 WordPress/src/wordpress/res/drawable/ic_logo.xml diff --git a/WordPress/src/jetpack/res/drawable/ic_logo.xml b/WordPress/src/jetpack/res/drawable/ic_logo.xml new file mode 100644 index 000000000000..4d7225822e2c --- /dev/null +++ b/WordPress/src/jetpack/res/drawable/ic_logo.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java index e9b9b1dd5181..ac4654cbd53e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java @@ -5,6 +5,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; import android.widget.TextView; import androidx.annotation.Nullable; @@ -22,6 +23,7 @@ import org.wordpress.android.fluxc.store.AccountStore; import org.wordpress.android.fluxc.store.AccountStore.OnAccountChanged; import org.wordpress.android.fluxc.store.AccountStore.PushAccountSettingsPayload; +import org.wordpress.android.ui.ActivityLauncher; import org.wordpress.android.ui.TextInputDialogFragment; import org.wordpress.android.util.NetworkUtils; import org.wordpress.android.util.ToastUtils; @@ -37,6 +39,7 @@ public class MyProfileFragment extends Fragment implements TextInputDialogFragme private WPTextView mLastName; private WPTextView mDisplayName; private WPTextView mAboutMe; + private Button mLearMoreAtGravatar; @Inject Dispatcher mDispatcher; @Inject AccountStore mAccountStore; @@ -44,6 +47,7 @@ public class MyProfileFragment extends Fragment implements TextInputDialogFragme private static final String TRACK_PROPERTY_FIELD_NAME = "field_name"; private static final String TRACK_PROPERTY_PAGE = "page"; private static final String TRACK_PROPERTY_PAGE_MY_PROFILE = "my_profile"; + private static final String GRAVATAR_URL = "https://www.gravatar.com"; public static MyProfileFragment newInstance() { return new MyProfileFragment(); @@ -85,6 +89,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa mLastName = rootView.findViewById(R.id.last_name); mDisplayName = rootView.findViewById(R.id.display_name); mAboutMe = rootView.findViewById(R.id.about_me); + mLearMoreAtGravatar = rootView.findViewById(R.id.learn_more_at_gravatar); rootView.findViewById(R.id.first_name_row).setOnClickListener( createOnClickListener( @@ -110,6 +115,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa getString(R.string.about_me_hint), mAboutMe, true)); + mLearMoreAtGravatar.setOnClickListener(v -> ActivityLauncher.openUrlExternal(getActivity(), GRAVATAR_URL)); return rootView; } diff --git a/WordPress/src/main/res/drawable/bg_wordpress_gravatar_info.xml b/WordPress/src/main/res/drawable/bg_wordpress_gravatar_info.xml new file mode 100644 index 000000000000..3d6c96044319 --- /dev/null +++ b/WordPress/src/main/res/drawable/bg_wordpress_gravatar_info.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/WordPress/src/main/res/drawable/ic_logo_gravatar.xml b/WordPress/src/main/res/drawable/ic_logo_gravatar.xml new file mode 100644 index 000000000000..57ea54c36b70 --- /dev/null +++ b/WordPress/src/main/res/drawable/ic_logo_gravatar.xml @@ -0,0 +1,14 @@ + + + + diff --git a/WordPress/src/main/res/layout/my_profile_fragment.xml b/WordPress/src/main/res/layout/my_profile_fragment.xml index c18f9810d3c1..c9a1955f8264 100644 --- a/WordPress/src/main/res/layout/my_profile_fragment.xml +++ b/WordPress/src/main/res/layout/my_profile_fragment.xml @@ -1,79 +1,135 @@ - + android:layout_height="match_parent"> - + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + - + - + + + + + + + + + + + + - + + + - + diff --git a/WordPress/src/main/res/values/dimens.xml b/WordPress/src/main/res/values/dimens.xml index 80496b1f890f..b3c131621c03 100644 --- a/WordPress/src/main/res/values/dimens.xml +++ b/WordPress/src/main/res/values/dimens.xml @@ -763,4 +763,8 @@ 4dp 24dp 4dp + + + 30dp + -10dp diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index f7531852e2c6..f3887828dd20 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -2869,6 +2869,8 @@ You have active premium upgrades on your site. Please cancel your upgrades prior to deleting your site. Show purchases Checking purchases + "Gravatar keeps your profile information safe and up to date, automatically syncing any updates made here with your Gravatar profile." + Learn more on Gravatar.com Account Settings diff --git a/WordPress/src/wordpress/res/drawable-night/ic_logo.xml b/WordPress/src/wordpress/res/drawable-night/ic_logo.xml new file mode 100644 index 000000000000..a69d5abb5312 --- /dev/null +++ b/WordPress/src/wordpress/res/drawable-night/ic_logo.xml @@ -0,0 +1,15 @@ + + + + diff --git a/WordPress/src/wordpress/res/drawable/ic_logo.xml b/WordPress/src/wordpress/res/drawable/ic_logo.xml new file mode 100644 index 000000000000..c7770d87517e --- /dev/null +++ b/WordPress/src/wordpress/res/drawable/ic_logo.xml @@ -0,0 +1,15 @@ + + + + From 68441f1bb0fc5a8d3f10bdefb221f339d9ea90c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?He=CC=81ctor=20Abraham?= Date: Mon, 12 Feb 2024 17:39:08 +0100 Subject: [PATCH 134/170] Added Gravatar Sync Info When the user updates any of the fields, we need some time until the change is propagated to Gravatar. We want to inform the user about that. Also, the user can dismiss that notification with a done button. --- .../android/ui/prefs/MyProfileFragment.java | 6 +++ .../main/res/layout/my_profile_fragment.xml | 48 ++++++++++++++++++- WordPress/src/main/res/values/strings.xml | 2 + 3 files changed, 54 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java index ac4654cbd53e..01ded25760d5 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java @@ -40,6 +40,8 @@ public class MyProfileFragment extends Fragment implements TextInputDialogFragme private WPTextView mDisplayName; private WPTextView mAboutMe; private Button mLearMoreAtGravatar; + private Button mGravatarSyncButton; + private View mGravatarSyncContainer; @Inject Dispatcher mDispatcher; @Inject AccountStore mAccountStore; @@ -90,6 +92,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa mDisplayName = rootView.findViewById(R.id.display_name); mAboutMe = rootView.findViewById(R.id.about_me); mLearMoreAtGravatar = rootView.findViewById(R.id.learn_more_at_gravatar); + mGravatarSyncButton = rootView.findViewById(R.id.gravatar_sync_button); + mGravatarSyncContainer = rootView.findViewById(R.id.gravatar_sync_container); rootView.findViewById(R.id.first_name_row).setOnClickListener( createOnClickListener( @@ -116,6 +120,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa mAboutMe, true)); mLearMoreAtGravatar.setOnClickListener(v -> ActivityLauncher.openUrlExternal(getActivity(), GRAVATAR_URL)); + mGravatarSyncButton.setOnClickListener(v -> mGravatarSyncContainer.setVisibility(View.GONE)); return rootView; } @@ -180,6 +185,7 @@ private void updateMyProfileForLabel(TextView textView) { payload.params.put(restParamForTextView(textView), textView.getText().toString()); mDispatcher.dispatch(AccountActionBuilder.newPushSettingsAction(payload)); trackSettingsDidChange(restParamForTextView(textView)); + mGravatarSyncContainer.setVisibility(View.VISIBLE); } private void trackSettingsDidChange(String fieldName) { diff --git a/WordPress/src/main/res/layout/my_profile_fragment.xml b/WordPress/src/main/res/layout/my_profile_fragment.xml index c9a1955f8264..e9f62391db70 100644 --- a/WordPress/src/main/res/layout/my_profile_fragment.xml +++ b/WordPress/src/main/res/layout/my_profile_fragment.xml @@ -1,8 +1,10 @@ + android:layout_height="match_parent" + android:animateLayoutChanges="true"> @@ -132,4 +135,45 @@ app:icon="@drawable/ic_external_white_24dp" /> + + + + + + + + diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index f3887828dd20..94489959c095 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -2871,6 +2871,8 @@ Checking purchases "Gravatar keeps your profile information safe and up to date, automatically syncing any updates made here with your Gravatar profile." Learn more on Gravatar.com + Updates might take some time to sync with your Gravatar profile. + Done Account Settings From 512697e2dcf31392a9b7717c6ba022421eac220a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?He=CC=81ctor=20Abraham?= Date: Wed, 14 Feb 2024 09:35:15 +0100 Subject: [PATCH 135/170] Remove unnecessary quotes in string --- WordPress/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index 94489959c095..7f51471a4dd7 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -2869,7 +2869,7 @@ You have active premium upgrades on your site. Please cancel your upgrades prior to deleting your site. Show purchases Checking purchases - "Gravatar keeps your profile information safe and up to date, automatically syncing any updates made here with your Gravatar profile." + Gravatar keeps your profile information safe and up to date, automatically syncing any updates made here with your Gravatar profile. Learn more on Gravatar.com Updates might take some time to sync with your Gravatar profile. Done From 6b2cc45e8d6d9c81fad9d163d26db9501571e91c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?He=CC=81ctor=20Abraham?= Date: Wed, 14 Feb 2024 11:44:43 +0100 Subject: [PATCH 136/170] Fixing profile fields list constraint in MyProfileFragment The list height was wrap_content, so when the space was limited with the new Gravatar view, the list was unusable. It kept behind the Gravatar view. This was visible, for example, in landscape or with a bigger text size. Adding the constraint to the top of the Gravatar view should minimize the issue. There are still some corners case where the UX can be improved. --- WordPress/src/main/res/layout/my_profile_fragment.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/res/layout/my_profile_fragment.xml b/WordPress/src/main/res/layout/my_profile_fragment.xml index e9f62391db70..191a0038fc57 100644 --- a/WordPress/src/main/res/layout/my_profile_fragment.xml +++ b/WordPress/src/main/res/layout/my_profile_fragment.xml @@ -9,7 +9,9 @@ From e33f86581e85d0e66ae4140d8a0ffcd921d8c599 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?He=CC=81ctor=20Abraham?= Date: Fri, 16 Feb 2024 11:07:06 +0100 Subject: [PATCH 137/170] Move Gravatar info banner from "MyProfileFragment" to "MeFragment" After reviewing with designers, we want to show the informative banner on the first screen as users can modify their avatar in the "Profile" fragment. The sync information banner will be shown in both fragments, MyProfile and MeFragment, after any modification on the Gravatar profile. The sync banner is reused, so we've extracted it to a separate XML layout. This commit mainly moves the logic and view from the MeFragment to the MyProfile one. --- .../drawable-night/ic_logo_plus_gravatar.xml | 28 ++++++ .../src/jetpack/res/drawable/ic_logo.xml | 15 ---- .../res/drawable/ic_logo_plus_gravatar.xml | 28 ++++++ .../wordpress/android/ui/main/MeFragment.kt | 8 ++ .../android/ui/prefs/MyProfileFragment.java | 5 -- .../drawable/bg_wordpress_gravatar_info.xml | 2 +- .../bg_wordpress_gravatar_sync_info.xml | 7 ++ .../main/res/drawable/ic_logo_gravatar.xml | 14 --- .../res/layout/gravatar_sync_info_banner.xml | 40 +++++++++ WordPress/src/main/res/layout/me_fragment.xml | 71 ++++++++++++++- .../main/res/layout/my_profile_fragment.xml | 86 +------------------ .../src/main/res/values-night/colors.xml | 4 + .../src/main/res/values-night/styles.xml | 3 + WordPress/src/main/res/values/attrs.xml | 4 + WordPress/src/main/res/values/colors.xml | 4 + WordPress/src/main/res/values/dimens.xml | 3 - WordPress/src/main/res/values/strings.xml | 5 +- WordPress/src/main/res/values/styles.xml | 3 + .../wordpress/res/drawable-night/ic_logo.xml | 15 ---- .../drawable-night/ic_logo_plus_gravatar.xml | 24 ++++++ .../src/wordpress/res/drawable/ic_logo.xml | 15 ---- .../res/drawable/ic_logo_plus_gravatar.xml | 24 ++++++ 22 files changed, 255 insertions(+), 153 deletions(-) create mode 100644 WordPress/src/jetpack/res/drawable-night/ic_logo_plus_gravatar.xml delete mode 100644 WordPress/src/jetpack/res/drawable/ic_logo.xml create mode 100644 WordPress/src/jetpack/res/drawable/ic_logo_plus_gravatar.xml create mode 100644 WordPress/src/main/res/drawable/bg_wordpress_gravatar_sync_info.xml delete mode 100644 WordPress/src/main/res/drawable/ic_logo_gravatar.xml create mode 100644 WordPress/src/main/res/layout/gravatar_sync_info_banner.xml delete mode 100644 WordPress/src/wordpress/res/drawable-night/ic_logo.xml create mode 100644 WordPress/src/wordpress/res/drawable-night/ic_logo_plus_gravatar.xml delete mode 100644 WordPress/src/wordpress/res/drawable/ic_logo.xml create mode 100644 WordPress/src/wordpress/res/drawable/ic_logo_plus_gravatar.xml diff --git a/WordPress/src/jetpack/res/drawable-night/ic_logo_plus_gravatar.xml b/WordPress/src/jetpack/res/drawable-night/ic_logo_plus_gravatar.xml new file mode 100644 index 000000000000..466aaf0e0ff3 --- /dev/null +++ b/WordPress/src/jetpack/res/drawable-night/ic_logo_plus_gravatar.xml @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/WordPress/src/jetpack/res/drawable/ic_logo.xml b/WordPress/src/jetpack/res/drawable/ic_logo.xml deleted file mode 100644 index 4d7225822e2c..000000000000 --- a/WordPress/src/jetpack/res/drawable/ic_logo.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/WordPress/src/jetpack/res/drawable/ic_logo_plus_gravatar.xml b/WordPress/src/jetpack/res/drawable/ic_logo_plus_gravatar.xml new file mode 100644 index 000000000000..d7d7e4bac4ac --- /dev/null +++ b/WordPress/src/jetpack/res/drawable/ic_logo_plus_gravatar.xml @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.kt b/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.kt index 0528ccae8684..347e700f21d3 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.kt +++ b/WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.kt @@ -200,6 +200,12 @@ class MeFragment : Fragment(R.layout.me_fragment), OnScrollToTopListener { rowSupport.setOnClickListener { ActivityLauncher.viewHelp(requireContext(), ME_SCREEN_HELP, viewModel.getSite(), null) } + learnMoreAtGravatar.setOnClickListener { + ActivityLauncher.openUrlExternal(activity, GRAVATAR_URL) + } + gravatarSyncView.gravatarSyncButton.setOnClickListener { + gravatarSyncView.gravatarSyncContainer.visibility = View.GONE + } if (BuildConfig.IS_JETPACK_APP) meAboutIcon.setImageResource(R.drawable.ic_jetpack_logo_white_24dp) @@ -691,6 +697,7 @@ class MeFragment : Fragment(R.layout.me_fragment), OnScrollToTopListener { if (event.success) { AnalyticsTracker.track(ME_GRAVATAR_UPLOADED) binding?.loadAvatar(event.filePath) + binding?.gravatarSyncView?.gravatarSyncContainer?.visibility = View.VISIBLE } else { ToastUtils.showToast( activity, @@ -709,6 +716,7 @@ class MeFragment : Fragment(R.layout.me_fragment), OnScrollToTopListener { companion object { private const val IS_DISCONNECTING = "IS_DISCONNECTING" private const val IS_UPDATING_GRAVATAR = "IS_UPDATING_GRAVATAR" + private const val GRAVATAR_URL = "https://www.gravatar.com"; fun newInstance(): MeFragment { return MeFragment() } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java index 01ded25760d5..d880322609a2 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/MyProfileFragment.java @@ -23,7 +23,6 @@ import org.wordpress.android.fluxc.store.AccountStore; import org.wordpress.android.fluxc.store.AccountStore.OnAccountChanged; import org.wordpress.android.fluxc.store.AccountStore.PushAccountSettingsPayload; -import org.wordpress.android.ui.ActivityLauncher; import org.wordpress.android.ui.TextInputDialogFragment; import org.wordpress.android.util.NetworkUtils; import org.wordpress.android.util.ToastUtils; @@ -39,7 +38,6 @@ public class MyProfileFragment extends Fragment implements TextInputDialogFragme private WPTextView mLastName; private WPTextView mDisplayName; private WPTextView mAboutMe; - private Button mLearMoreAtGravatar; private Button mGravatarSyncButton; private View mGravatarSyncContainer; @@ -49,7 +47,6 @@ public class MyProfileFragment extends Fragment implements TextInputDialogFragme private static final String TRACK_PROPERTY_FIELD_NAME = "field_name"; private static final String TRACK_PROPERTY_PAGE = "page"; private static final String TRACK_PROPERTY_PAGE_MY_PROFILE = "my_profile"; - private static final String GRAVATAR_URL = "https://www.gravatar.com"; public static MyProfileFragment newInstance() { return new MyProfileFragment(); @@ -91,7 +88,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa mLastName = rootView.findViewById(R.id.last_name); mDisplayName = rootView.findViewById(R.id.display_name); mAboutMe = rootView.findViewById(R.id.about_me); - mLearMoreAtGravatar = rootView.findViewById(R.id.learn_more_at_gravatar); mGravatarSyncButton = rootView.findViewById(R.id.gravatar_sync_button); mGravatarSyncContainer = rootView.findViewById(R.id.gravatar_sync_container); @@ -119,7 +115,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa getString(R.string.about_me_hint), mAboutMe, true)); - mLearMoreAtGravatar.setOnClickListener(v -> ActivityLauncher.openUrlExternal(getActivity(), GRAVATAR_URL)); mGravatarSyncButton.setOnClickListener(v -> mGravatarSyncContainer.setVisibility(View.GONE)); return rootView; diff --git a/WordPress/src/main/res/drawable/bg_wordpress_gravatar_info.xml b/WordPress/src/main/res/drawable/bg_wordpress_gravatar_info.xml index 3d6c96044319..f9b6826d3195 100644 --- a/WordPress/src/main/res/drawable/bg_wordpress_gravatar_info.xml +++ b/WordPress/src/main/res/drawable/bg_wordpress_gravatar_info.xml @@ -1,7 +1,7 @@ - + diff --git a/WordPress/src/main/res/drawable/bg_wordpress_gravatar_sync_info.xml b/WordPress/src/main/res/drawable/bg_wordpress_gravatar_sync_info.xml new file mode 100644 index 000000000000..0920b9a9a1af --- /dev/null +++ b/WordPress/src/main/res/drawable/bg_wordpress_gravatar_sync_info.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/WordPress/src/main/res/drawable/ic_logo_gravatar.xml b/WordPress/src/main/res/drawable/ic_logo_gravatar.xml deleted file mode 100644 index 57ea54c36b70..000000000000 --- a/WordPress/src/main/res/drawable/ic_logo_gravatar.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - diff --git a/WordPress/src/main/res/layout/gravatar_sync_info_banner.xml b/WordPress/src/main/res/layout/gravatar_sync_info_banner.xml new file mode 100644 index 000000000000..4a3d104edd90 --- /dev/null +++ b/WordPress/src/main/res/layout/gravatar_sync_info_banner.xml @@ -0,0 +1,40 @@ + + + + + + + + diff --git a/WordPress/src/main/res/layout/me_fragment.xml b/WordPress/src/main/res/layout/me_fragment.xml index 0661d0dc88b1..d7adbad671d2 100644 --- a/WordPress/src/main/res/layout/me_fragment.xml +++ b/WordPress/src/main/res/layout/me_fragment.xml @@ -238,7 +238,7 @@ android:id="@+id/me_design_system_settings" style="@style/MeListRowTextView" android:text="@string/preference_design_system" /> - + + + + + + + + + + + + + + + + + diff --git a/WordPress/src/main/res/layout/my_profile_fragment.xml b/WordPress/src/main/res/layout/my_profile_fragment.xml index 191a0038fc57..5cf6c337bf60 100644 --- a/WordPress/src/main/res/layout/my_profile_fragment.xml +++ b/WordPress/src/main/res/layout/my_profile_fragment.xml @@ -11,7 +11,7 @@ android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginBottom="@dimen/margin_small" - app:layout_constraintBottom_toTopOf="@+id/gravatar_info_container" + app:layout_constraintBottom_toTopOf="@+id/gravatar_sync_container" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> @@ -90,92 +90,14 @@ - - - - - - - - - - - - - - - - - - - - - + tools:visibility="visible" /> diff --git a/WordPress/src/main/res/values-night/colors.xml b/WordPress/src/main/res/values-night/colors.xml index 4fed9a9fe846..ff2b633e7bde 100644 --- a/WordPress/src/main/res/values-night/colors.xml +++ b/WordPress/src/main/res/values-night/colors.xml @@ -115,4 +115,8 @@ @color/black @color/white + + #1C1C1E + #2C2C2E + diff --git a/WordPress/src/main/res/values-night/styles.xml b/WordPress/src/main/res/values-night/styles.xml index 686c482b8cf9..54e8280b64c1 100644 --- a/WordPress/src/main/res/values-night/styles.xml +++ b/WordPress/src/main/res/values-night/styles.xml @@ -30,6 +30,9 @@ @color/background_dark_elevated ?attr/colorSurface + @color/gravatar_info_banner + @color/gravatar_sync_info_banner + @color/material_on_surface_emphasis_medium ?attr/colorPrimary @color/on_surface_emphasis_lowest_disabled diff --git a/WordPress/src/main/res/values/attrs.xml b/WordPress/src/main/res/values/attrs.xml index c6eec240f04c..4c496caa5e9c 100644 --- a/WordPress/src/main/res/values/attrs.xml +++ b/WordPress/src/main/res/values/attrs.xml @@ -22,6 +22,10 @@ + + + + diff --git a/WordPress/src/main/res/values/colors.xml b/WordPress/src/main/res/values/colors.xml index 808a85d7e5d7..dabb3e1b6711 100644 --- a/WordPress/src/main/res/values/colors.xml +++ b/WordPress/src/main/res/values/colors.xml @@ -150,4 +150,8 @@ #DEDEDE + + #FAFAFA + #2C2C2E + diff --git a/WordPress/src/main/res/values/dimens.xml b/WordPress/src/main/res/values/dimens.xml index b3c131621c03..f67241180b4f 100644 --- a/WordPress/src/main/res/values/dimens.xml +++ b/WordPress/src/main/res/values/dimens.xml @@ -764,7 +764,4 @@ 24dp 4dp - - 30dp - -10dp diff --git a/WordPress/src/main/res/values/strings.xml b/WordPress/src/main/res/values/strings.xml index 7f51471a4dd7..dc4df0c3b0cc 100644 --- a/WordPress/src/main/res/values/strings.xml +++ b/WordPress/src/main/res/values/strings.xml @@ -2869,8 +2869,9 @@ You have active premium upgrades on your site. Please cancel your upgrades prior to deleting your site. Show purchases Checking purchases - Gravatar keeps your profile information safe and up to date, automatically syncing any updates made here with your Gravatar profile. - Learn more on Gravatar.com + Your WordPress.com profile is powered by Gravatar + Updating your avatar, name, and about info here will also update it across all sites that use Gravatar profiles. + What is Gravatar? Updates might take some time to sync with your Gravatar profile. Done diff --git a/WordPress/src/main/res/values/styles.xml b/WordPress/src/main/res/values/styles.xml index 6166eb13334b..de43d8f78c93 100644 --- a/WordPress/src/main/res/values/styles.xml +++ b/WordPress/src/main/res/values/styles.xml @@ -49,6 +49,9 @@ @color/neutral_5 @color/blue_0 + @color/gravatar_info_banner + @color/gravatar_sync_info_banner + @color/wp_grey_lighten_30 @android:color/white diff --git a/WordPress/src/wordpress/res/drawable-night/ic_logo.xml b/WordPress/src/wordpress/res/drawable-night/ic_logo.xml deleted file mode 100644 index a69d5abb5312..000000000000 --- a/WordPress/src/wordpress/res/drawable-night/ic_logo.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - diff --git a/WordPress/src/wordpress/res/drawable-night/ic_logo_plus_gravatar.xml b/WordPress/src/wordpress/res/drawable-night/ic_logo_plus_gravatar.xml new file mode 100644 index 000000000000..0bb208c0899c --- /dev/null +++ b/WordPress/src/wordpress/res/drawable-night/ic_logo_plus_gravatar.xml @@ -0,0 +1,24 @@ + + + + + + diff --git a/WordPress/src/wordpress/res/drawable/ic_logo.xml b/WordPress/src/wordpress/res/drawable/ic_logo.xml deleted file mode 100644 index c7770d87517e..000000000000 --- a/WordPress/src/wordpress/res/drawable/ic_logo.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - diff --git a/WordPress/src/wordpress/res/drawable/ic_logo_plus_gravatar.xml b/WordPress/src/wordpress/res/drawable/ic_logo_plus_gravatar.xml new file mode 100644 index 000000000000..ab99e681d54d --- /dev/null +++ b/WordPress/src/wordpress/res/drawable/ic_logo_plus_gravatar.xml @@ -0,0 +1,24 @@ + + + + + + From 9fbd7bdd4ba239e806bc93cc3ec3dbf6d92a4c9f Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Fri, 16 Feb 2024 12:25:55 +0100 Subject: [PATCH 138/170] fix: disable crash logging (Sentry) debug logs also on debug Sentry started to log too much after the bump to 6.32.0 --- .../android/util/crashlogging/WPCrashLoggingDataProvider.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProvider.kt b/WordPress/src/main/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProvider.kt index dbe68defefdf..467c81ef70bd 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProvider.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProvider.kt @@ -43,7 +43,7 @@ class WPCrashLoggingDataProvider @Inject constructor( } override val buildType: String = BuildConfig.BUILD_TYPE - override val enableCrashLoggingLogs: Boolean = BuildConfig.DEBUG + override val enableCrashLoggingLogs: Boolean = false override val locale: Locale get() = localeManager.getLocale() override val releaseName: String = BuildConfig.VERSION_NAME From 61c9c0f9cbd8ee759ed99524975d9d985609113c Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Fri, 16 Feb 2024 15:28:15 +0000 Subject: [PATCH 139/170] Update translations --- WordPress/src/main/res/values-ar/strings.xml | 92 +++++++++++++++++- WordPress/src/main/res/values-de/strings.xml | 3 +- .../src/main/res/values-en-rGB/strings.xml | 3 +- WordPress/src/main/res/values-es/strings.xml | 3 +- .../src/main/res/values-fr-rCA/strings.xml | 92 +++++++++++++++++- WordPress/src/main/res/values-fr/strings.xml | 92 +++++++++++++++++- WordPress/src/main/res/values-he/strings.xml | 93 +++++++++++++++++- WordPress/src/main/res/values-id/strings.xml | 87 ++++++++++++++++- WordPress/src/main/res/values-it/strings.xml | 93 +++++++++++++++++- WordPress/src/main/res/values-ja/strings.xml | 93 +++++++++++++++++- WordPress/src/main/res/values-ko/strings.xml | 92 +++++++++++++++++- WordPress/src/main/res/values-nl/strings.xml | 59 +++++++++++- WordPress/src/main/res/values-ro/strings.xml | 3 +- WordPress/src/main/res/values-ru/strings.xml | 92 +++++++++++++++++- WordPress/src/main/res/values-sv/strings.xml | 28 +++++- WordPress/src/main/res/values-tr/strings.xml | 91 +++++++++++++++++- .../src/main/res/values-zh-rCN/strings.xml | 92 +++++++++++++++++- .../src/main/res/values-zh-rHK/strings.xml | 95 ++++++++++++++++++- .../src/main/res/values-zh-rTW/strings.xml | 95 ++++++++++++++++++- 19 files changed, 1277 insertions(+), 21 deletions(-) diff --git a/WordPress/src/main/res/values-ar/strings.xml b/WordPress/src/main/res/values-ar/strings.xml index 374d1ace6aca..3ae717001fb1 100644 --- a/WordPress/src/main/res/values-ar/strings.xml +++ b/WordPress/src/main/res/values-ar/strings.xml @@ -1,11 +1,82 @@ + يتعذر تحميل الوسائط للمشاركة. يرجى التحقق من صلاحيات التطبيق\n أو استخدم مكتبة وسائط التطبيق. + يتعذر علينا فتح مراقبة الموقع في الوقت الحالي. يرجى المحاولة مجددًا في وقت لاحق + سجلات خادم الويب + سجلات PHP + المقاييس + مراقبة الموقع + استخدم <b>الاكتشاف</b> للعثور على المواقع والوسوم. يمكنك محاولة تحديد <b>الاشتراكات</b> لعرض المحتوى الذي تم الاشتراك فيه وإدارة اشتراكاتك. + الانتقال إلى الاشتراكات + لم تنشر المدونات التي اشتركتَ فيها أي شيء مؤخرًا + اشترك في المدونات ضمن \"اكتشاف\" أو ابحث عن مدونة تنال إعجابك بالفعل. + لا توجد وسوم تم الاشتراك فيها + لا توجد تدوينات تحمل هذا الوسم + يتعذر حظر هذه المدونة + لن تظهر التدوينات الواردة من هذه المدونة بعد الآن + يتعذر إلغاء الاشتراك من المدونة + لا يخوَّل لك الوصول إلى هذه المدونة + يتعذر الاشتراك في هذه المدونة + لا توجد مدونات موصى بها + لقد اشتركت في هذه المدونة بالفعل + يتعذر إظهار هذه المدونة + أنت مشترك بالفعل في هذه المدونة + اختيار اهتماماتك + مشترك واحد + %s من المشتركين + %,d من المشتركين + تم الاشتراك في المدونة + البحث عن المدونات التي تم الاشتراك فيها + إدخال عنوان URL أو وسم للاشتراك فيها + مشترك + اشترك + حظر هذه المدونة + تحرير الوسوم والمدونات + المدونات التي تم الاشتراك فيها + الوسوم التي تم الاشتراك فيها + اتباع الوسوم + إدارة الوسوم والمدونات + الوسم + مدونة القارئ + مشترك + %d من الوسوم + وسم واحد + لا توجد وسوم + %d من المدونات + مدونة واحدة + لا توجد مدونات + القوائم + أعجبني + تم الحفظ + الاشتراكات + اكتشاف + البحث + الاشتراك في الوسوم + محاولة الاشتراك في مزيد من الوسوم لتوسيع نطاق البحث + الاشتراك في الوسوم لاكتشاف مدونات جديدة + المدونات المطلوب الاشتراك فيها + الاشتراك في وسم + الوسوم المقترحة + البحث في مدونة + اشترك في وسم وستتمكن من الاطلاع على أفضل التدوينات الواردة منه هنا. + Automattic + لا توجد وسوم + اشترك في المدونات ضمن \"اكتشاف\" وسترى أحدث تدوينات فيها هنا. أو ابحث عن مدونة تنال إعجابك بالفعل. + لا توجد اشتراكات في المدونة + الاشتراك في المدونة + يمكنك الاشتراك في التدوينات الموجودة حول موضوع معيَّن عن طريق إضافة وسم + التصفية حسب الوسم + التصفية حسب المدونة + حسب العام + حسب الشهر + حسب الأسبوع + حسب اليوم انتظار الاتصال حركة المرور العمل من دون اتصال بالإنترنت @@ -1652,6 +1723,7 @@ Language: ar قراءة إشعار الخصوصية لقانون خصوصية المستهلك في كاليفورنيا يتطلب قانون خصوصية المستهلك في كاليفورنيا (\"CCPA\") منا تزويد سكان كاليفورنيا ببعض المعلومات الإضافية حول تصنيفات المعلومات الشخصية التي نقوم بتجميعها ومشاركتها، مع تحديد المصدر الذي نحصل على تلك المعلومات الشخصية منه، وكيف نستخدمها ولماذا. مجدولة + اختيار وسومك الحالة والظهور إشعار الخصوصية الخاص بالمستخدمين في كاليفورنيا قم بالتحديث الآن @@ -1707,6 +1779,9 @@ Language: ar إدراج المتابعة نسخ + إدارة المدونات + لا توجد مدونات على ووردبريس.كوم متاحة + بمجرد إنشاء مدونة على ووردبريس.كوم، يمكنك إعادة تدوين المحتوى الذي أعجبك على موقعك الخاص. عدد الأعمدة نقل المكوِّن إلى اليمين نقل المكوِّن إلى اليسار @@ -1800,11 +1875,15 @@ Language: ar تسجيل الدخول إلى WordPress.com إزالة الفلتر الحالي استخدام زر الفلترة للعثور على مقالات في مواضيع معينة + تحديد وسم أو مدونة، نافذة منبثقة + تسجيل الدخول إلى ووردبريس.كوم للاطلاع على أحدث التدوينات الواردة من المدونات التي اشتركت فيها + تسجيل الدخول إلى ووردبريس.كوم للاطلاع على أحدث التدوينات الواردة من الوسوم التي اشتركت فيها استبدال المكوِّن الحالي إضافة إلى النهاية إضافة إلى البداية إضافة مكوّن قبل إضافة مكوّن بعد + إضافة وسم عامل التصفية تسمية الفيديو. %s تحرير الفيديو @@ -2342,6 +2421,7 @@ Language: ar لا تتطابق أي مواقع مع بحثك تم تغيير أصل الصفحة لا يتطابق أي حساب على WordPress.com مع حساب Google هذا. + لا توجد تدوينات مطابقة لبحثك تم حذف الصفحة نهائيًّا تمت جدولة الصفحة تم نشر الصفحة @@ -2372,6 +2452,7 @@ Language: ar ليس الآن ليس لديك أي مواقع المزيد + إضافة وسوم هنا للعثور على التدوينات المتعلقة بالموضوعات التي تفضِّلها Jetpack الأسئلة الشائعة عن Jetpack سجّل الدخول إلى حساب WordPress.com الذي تستخدمه للاتصال بـ Jetpack. @@ -2391,6 +2472,7 @@ Language: ar لا متابِعون حتى الآن لا يوجد مستخدمين حتى الآن لا توجد إعجابات حتى الآن + اكتشاف المدونات لا متابعين حتى الآن لا توجد إعجابات حتى الآن نظرًا لأنك مشترك في الخطة المجانية، سترى أحداثًا محدودة في سجل نشاطك. @@ -2468,6 +2550,8 @@ Language: ar جمع المعلومات شارك المعلومات مع أداة التحليلات لدينا حول استخدامك الخدمات أثناء تسجيل الدخول إلى حساب WordPress.com الخاص بك. تساعدنا هذه المعلومات على تحسين منتجاتنا، وجعل التسويق أكثر ملاءمة لك، وتخصيص تجربة WordPress.com، والمزيد كما يرد بالتفصيل في سياسة الخصوصية لدينا. + تشغيل التنبيهات في المدونة + إيقاف تشغيل التنبيهات في المدونة تم إرسال المقالة تتطلب ميزة المكوّن الإضافي أن يكون الموقع في وضع جيد. تتطلب ميزة المكوّن الإضافي ربط اشترك النطاق الأساسي بهذا المستخدم. @@ -3133,6 +3217,7 @@ Language: ar إزالة %1$s أشخاص الدور + لم تنشر المدونات الموجودة في هذه القائمة أي شيء مؤخرًا تعذرت إزالة المستخدم تعذر استرداد مستخدمي الموقع تعذر تحديث دور المستخدم @@ -3410,6 +3495,7 @@ Language: ar عرض تحرير نشر + تعذر العثور على هذه المدونة تراجع انتهت صلاحية الطلب. سجِّل الدخول إلى WordPress.com للمحاولة مرة أخرى. المشاهدات الأفضل على الإطلاق @@ -3456,6 +3542,7 @@ Language: ar مقالات جديدة حدث خطأ أثناء نسخ النص إلى الحافظة جاري رفع المقالة + هذه المدونة فارغة %1$d من الشهور كل عام %1$d من السنوات @@ -3572,6 +3659,8 @@ Language: ar محذوف التخويل مطلوب تمّت الموافقة + تتعذر إزالة هذا الوسم + تتعذر إضافة هذا الوسم رابط المشاركة يتم الآن جلب المقالات … أنت و %,d آخرون أحببتم هذا @@ -3599,6 +3688,7 @@ Language: ar لا توجد تعليقات حتى الآن إعادة التدوين التسجيل + هذا الوسم غير صالح القوالب العنوان الوصف diff --git a/WordPress/src/main/res/values-de/strings.xml b/WordPress/src/main/res/values-de/strings.xml index 5ae78d7d9685..cfc1444f3fa0 100644 --- a/WordPress/src/main/res/values-de/strings.xml +++ b/WordPress/src/main/res/values-de/strings.xml @@ -1,11 +1,12 @@ + Die Medien können nicht zum Teilen geladen werden. Bitte überprüfe die Berechtigungen der App\n oder verwende die Mediathek der App. Wir können die Website-Überwachung im Moment nicht öffnen. Bitte versuche es später erneut Webserver-Protokolle PHP-Protokolle diff --git a/WordPress/src/main/res/values-en-rGB/strings.xml b/WordPress/src/main/res/values-en-rGB/strings.xml index ae3370a16392..09acc53a4f65 100644 --- a/WordPress/src/main/res/values-en-rGB/strings.xml +++ b/WordPress/src/main/res/values-en-rGB/strings.xml @@ -1,11 +1,12 @@ + Unable to load the media for sharing. Please check the app\'s permissions\n or use the app\'s media library. We cannot open site monitoring at the moment. Please try again later Web Server Logs PHP logs diff --git a/WordPress/src/main/res/values-es/strings.xml b/WordPress/src/main/res/values-es/strings.xml index a645615a6bee..697f859bbb12 100644 --- a/WordPress/src/main/res/values-es/strings.xml +++ b/WordPress/src/main/res/values-es/strings.xml @@ -1,11 +1,12 @@ + No se pueden cargar los medios para compartir. Comprueba los permisos de la aplicación\n o utiliza la biblioteca de medios. No podemos abrir las estadísticas en este momento. Por favor, inténtalo de nuevo más tarde Registros del servidor webs Registros de PHP diff --git a/WordPress/src/main/res/values-fr-rCA/strings.xml b/WordPress/src/main/res/values-fr-rCA/strings.xml index a91800ea4697..40caa7e14c53 100644 --- a/WordPress/src/main/res/values-fr-rCA/strings.xml +++ b/WordPress/src/main/res/values-fr-rCA/strings.xml @@ -1,11 +1,82 @@ + Impossible de charger le média pour le partage. Veuillez vérifier les droits de l’application\n ou utilisez la bibliothèque de médias de l’application. + Nous ne sommes pas en mesure d’ouvrir la surveillance du site actuellement. Veuillez réessayer plus tard + Journaux du serveur Web + Journaux PHP + Indicateurs + Surveillance du site + Utilisez <b>Découvrir</b> pour rechercher des sites et des étiquettes. Essayez de sélectionner <b>Abonnements</b> pour afficher le contenu provenant de vos abonnements et gérer ces derniers. + Accéder aux abonnements + Les blogs auxquels vous êtes abonné(e) n’ont rien publié récemment + Abonnez-vous à des blogs dans Découvrir ou cherchez un blog que vous aimez déjà. + Aucun blog recommandé + Aucune étiquette dans vos abonnements + Pas d’articles avec cette étiquette + Impossible de bloquer ce blog + Les articles de ce blog ne seront plus affichés + Impossible de se désabonner du blog + Vous n’êtes pas autorisé(e) à accéder à ce blog + Impossible de s’abonner à ce blog + Ce blog fait déjà partie de vos abonnements + Impossible d’afficher ce blog + Cette étiquette fait déjà partie de vos abonnements + Choisissez vos centres d’intérêt + 1 abonné + %s abonnés + %,d abonnés + Abonné(e) au blog + Rechercher parmi les blogs auxquels vous êtes abonné(e) + Saisir l’URL ou une étiquette auxquels s’abonner + Abonné(e) + S’abonner + Bloquer ce blog + Modifier les étiquettes et les blogs + Abonné(e) à ces blogs + Abonné(e) à ces étiquettes + Suivre les étiquettes + Gérer les étiquettes et les blogs + Étiquette + Blog lecteur + Abonné(e) + %d étiquettes + 1 étiquette + 0 étiquette + %d blogs + 1 blog + 0 Blog + Listes + J’aime + Enregistré + Abonnements + Découvrir + Rechercher + S’abonner aux étiquettes + Essayer de s’abonner à d’autres étiquettes pour élargir la recherche + S’abonner à des étiquettes pour découvrir de nouveaux blogs + Blogs auxquels s’abonner + S’abonner à une étiquette + Étiquettes suggérées + Chercher un blog + Abonnez-vous à une étiquette et vous verrez les meilleurs articles sur le sujet apparaître ici. + Aucune étiquette + Abonnez-vous à des blogs dans Découvrir et vous verrez apparaître ici leurs derniers articles. Ou cherchez un blog que vous aimez déjà. + Aucun abonnement à un blog + S’abonner à un blog + Vous pouvez vous abonner aux articles relatifs à un sujet particulier en ajoutant une étiquette + Voir les articles les plus récents des blogs auxquels vous êtes abonné(e) + Filtrer par étiquette + Filtrer par blog + Par an + Par mois + Par semaine + Par jour En attente de connexion Trafic Travail hors ligne @@ -1645,6 +1716,7 @@ Language: fr Passer en brouillon Les articles dans la corbeille ne peuvent pas être modifier. Voulez-vous changer le statut de cet article vers « brouillon » pour pouvoir travailler dessus ? Déplacer l’article vers Brouillons ? + Choisir vos étiquettes Terminé Sélectionnez-en quelques-uns pour continuer. Publié @@ -1699,6 +1771,9 @@ Language: fr Impossible de sélectionner le site. Veuillez réessayer. Continuer Échec du reblogue + Gérer les blogs + Quand vous créez un blog WordPress.com, vous pouvez rebloguer le contenu que vous aimez sur votre propre site. + Aucun blog WordPress.com disponible Quoi de neuf ? Adresse du lien copiée Copier l’adresse du lien @@ -1797,13 +1872,17 @@ Language: fr Ajouter une nouvelle carte Ajouter une nouvelle carte de statistiques Utiliser le bouton de filtre pour trouver des articles sur des sujets spécifiques + Sélectionner une étiquette ou un blog, fenêtre contextuelle Supprimer le filtre actuel Se connecter à WordPress.com + Se connecter à WordPress.com pour voir les derniers articles contenant les étiquettes auxquelles vous êtes abonn(é) + Se connecter à WordPress.com pour voir les derniers articles des blogs auxquels vous êtes abonn(é) Remplacer le bloc actuel Ajouter à la fin Ajouter au début Ajouter le bloc avant Ajouter le bloc après + Ajouter une étiquette Filtrer Sous-titre vidéo. %s Modifier la vidéo @@ -2341,6 +2420,7 @@ Language: fr Le nombre de tentatives d\'envoi d\'un code de vérification par SMS a été dépassé – faites une pause et redemandez-en un dans une minute. Aucun compte WordPress.com ne correspond à ce compte Google. Aucun site ne correspond à votre recherche + Aucun blog ne correspond à votre recherche Le parent de la page a été modifié La page a été supprimée définitivement La page a été planifiée @@ -2373,6 +2453,7 @@ Language: fr Pas maintenant Plus Vous n\'avez pas de sites. + Ajouter des étiquettes ici pour trouver des articles sur vos thèmes préférés Connectez-vous au compte WordPress.com que vous utilisez pour connecter Jetpack. Jetpack FAQ Jetpack @@ -2392,6 +2473,7 @@ Language: fr Pas encore d\'utilisateurs Les articles que vous aimez apparaîtront ici Aucune mention J\'aime + Découvrir des blogs Pas encore de mentions J\'aime Pas encore d\'abonnés Comme vous disposez d\'un plan gratuit, vous ne verrez qu\'un nombre limité d\'événements dans vos activités. @@ -2456,6 +2538,8 @@ Language: fr ce site Activer Activer les notifications pour %1$s%2$s%3$s ? + Activer les notifications du blog + Désactiver les notifications du blog Icône Jetpack Événement Icône d\'activité @@ -3138,6 +3222,7 @@ Language: fr Supprimer %1$s Rôle Personnes + Les blogs de cette liste n’ont rien publié récemment Impossible de supprimer l’utilisateur Impossible de mettre à jour le rôle utilisateur Impossible de récupérer les utilisateurs du site @@ -3415,6 +3500,7 @@ Language: fr Vue Publier Editer + Impossible de trouver ce blog Annuler La requête a expiré. Connectez-vous à WordPress.com et réessayez. Ignorer @@ -3458,6 +3544,7 @@ Language: fr Récupération des articles… Récupération des médias… Les logs de l\'application ont été copiés dans le presse papier + Ce blog est vide Nouveaux articles Une erreur s\'est produite lors de la copie dans le presse papier Article en cours de téléversement @@ -3531,6 +3618,8 @@ Language: fr Une erreur s\'est produite en accédant à ce blog Le média ne peut pas être récupéré Aucun réseau disponible + Impossible de supprimer cette étiquette + Impossible d’ajouter cette étiquette Journal de l\'application Une erreur s\'est produite lors de la création de la base de données de l\'app. Essayez de réinstaller l\'app. Ce blog est caché et ne peut être chargé. Activez-le dans les paramètres et réessayez. @@ -3592,6 +3681,7 @@ Language: fr Impossible d\'ouvrir %s Impossible de voir l\'image Impossible de partager + Ce n’est pas une étiquette valide Impossible d\'envoyer votre commentaire Vous aimez ça Une personne aime ça diff --git a/WordPress/src/main/res/values-fr/strings.xml b/WordPress/src/main/res/values-fr/strings.xml index a91800ea4697..40caa7e14c53 100644 --- a/WordPress/src/main/res/values-fr/strings.xml +++ b/WordPress/src/main/res/values-fr/strings.xml @@ -1,11 +1,82 @@ + Impossible de charger le média pour le partage. Veuillez vérifier les droits de l’application\n ou utilisez la bibliothèque de médias de l’application. + Nous ne sommes pas en mesure d’ouvrir la surveillance du site actuellement. Veuillez réessayer plus tard + Journaux du serveur Web + Journaux PHP + Indicateurs + Surveillance du site + Utilisez <b>Découvrir</b> pour rechercher des sites et des étiquettes. Essayez de sélectionner <b>Abonnements</b> pour afficher le contenu provenant de vos abonnements et gérer ces derniers. + Accéder aux abonnements + Les blogs auxquels vous êtes abonné(e) n’ont rien publié récemment + Abonnez-vous à des blogs dans Découvrir ou cherchez un blog que vous aimez déjà. + Aucun blog recommandé + Aucune étiquette dans vos abonnements + Pas d’articles avec cette étiquette + Impossible de bloquer ce blog + Les articles de ce blog ne seront plus affichés + Impossible de se désabonner du blog + Vous n’êtes pas autorisé(e) à accéder à ce blog + Impossible de s’abonner à ce blog + Ce blog fait déjà partie de vos abonnements + Impossible d’afficher ce blog + Cette étiquette fait déjà partie de vos abonnements + Choisissez vos centres d’intérêt + 1 abonné + %s abonnés + %,d abonnés + Abonné(e) au blog + Rechercher parmi les blogs auxquels vous êtes abonné(e) + Saisir l’URL ou une étiquette auxquels s’abonner + Abonné(e) + S’abonner + Bloquer ce blog + Modifier les étiquettes et les blogs + Abonné(e) à ces blogs + Abonné(e) à ces étiquettes + Suivre les étiquettes + Gérer les étiquettes et les blogs + Étiquette + Blog lecteur + Abonné(e) + %d étiquettes + 1 étiquette + 0 étiquette + %d blogs + 1 blog + 0 Blog + Listes + J’aime + Enregistré + Abonnements + Découvrir + Rechercher + S’abonner aux étiquettes + Essayer de s’abonner à d’autres étiquettes pour élargir la recherche + S’abonner à des étiquettes pour découvrir de nouveaux blogs + Blogs auxquels s’abonner + S’abonner à une étiquette + Étiquettes suggérées + Chercher un blog + Abonnez-vous à une étiquette et vous verrez les meilleurs articles sur le sujet apparaître ici. + Aucune étiquette + Abonnez-vous à des blogs dans Découvrir et vous verrez apparaître ici leurs derniers articles. Ou cherchez un blog que vous aimez déjà. + Aucun abonnement à un blog + S’abonner à un blog + Vous pouvez vous abonner aux articles relatifs à un sujet particulier en ajoutant une étiquette + Voir les articles les plus récents des blogs auxquels vous êtes abonné(e) + Filtrer par étiquette + Filtrer par blog + Par an + Par mois + Par semaine + Par jour En attente de connexion Trafic Travail hors ligne @@ -1645,6 +1716,7 @@ Language: fr Passer en brouillon Les articles dans la corbeille ne peuvent pas être modifier. Voulez-vous changer le statut de cet article vers « brouillon » pour pouvoir travailler dessus ? Déplacer l’article vers Brouillons ? + Choisir vos étiquettes Terminé Sélectionnez-en quelques-uns pour continuer. Publié @@ -1699,6 +1771,9 @@ Language: fr Impossible de sélectionner le site. Veuillez réessayer. Continuer Échec du reblogue + Gérer les blogs + Quand vous créez un blog WordPress.com, vous pouvez rebloguer le contenu que vous aimez sur votre propre site. + Aucun blog WordPress.com disponible Quoi de neuf ? Adresse du lien copiée Copier l’adresse du lien @@ -1797,13 +1872,17 @@ Language: fr Ajouter une nouvelle carte Ajouter une nouvelle carte de statistiques Utiliser le bouton de filtre pour trouver des articles sur des sujets spécifiques + Sélectionner une étiquette ou un blog, fenêtre contextuelle Supprimer le filtre actuel Se connecter à WordPress.com + Se connecter à WordPress.com pour voir les derniers articles contenant les étiquettes auxquelles vous êtes abonn(é) + Se connecter à WordPress.com pour voir les derniers articles des blogs auxquels vous êtes abonn(é) Remplacer le bloc actuel Ajouter à la fin Ajouter au début Ajouter le bloc avant Ajouter le bloc après + Ajouter une étiquette Filtrer Sous-titre vidéo. %s Modifier la vidéo @@ -2341,6 +2420,7 @@ Language: fr Le nombre de tentatives d\'envoi d\'un code de vérification par SMS a été dépassé – faites une pause et redemandez-en un dans une minute. Aucun compte WordPress.com ne correspond à ce compte Google. Aucun site ne correspond à votre recherche + Aucun blog ne correspond à votre recherche Le parent de la page a été modifié La page a été supprimée définitivement La page a été planifiée @@ -2373,6 +2453,7 @@ Language: fr Pas maintenant Plus Vous n\'avez pas de sites. + Ajouter des étiquettes ici pour trouver des articles sur vos thèmes préférés Connectez-vous au compte WordPress.com que vous utilisez pour connecter Jetpack. Jetpack FAQ Jetpack @@ -2392,6 +2473,7 @@ Language: fr Pas encore d\'utilisateurs Les articles que vous aimez apparaîtront ici Aucune mention J\'aime + Découvrir des blogs Pas encore de mentions J\'aime Pas encore d\'abonnés Comme vous disposez d\'un plan gratuit, vous ne verrez qu\'un nombre limité d\'événements dans vos activités. @@ -2456,6 +2538,8 @@ Language: fr ce site Activer Activer les notifications pour %1$s%2$s%3$s ? + Activer les notifications du blog + Désactiver les notifications du blog Icône Jetpack Événement Icône d\'activité @@ -3138,6 +3222,7 @@ Language: fr Supprimer %1$s Rôle Personnes + Les blogs de cette liste n’ont rien publié récemment Impossible de supprimer l’utilisateur Impossible de mettre à jour le rôle utilisateur Impossible de récupérer les utilisateurs du site @@ -3415,6 +3500,7 @@ Language: fr Vue Publier Editer + Impossible de trouver ce blog Annuler La requête a expiré. Connectez-vous à WordPress.com et réessayez. Ignorer @@ -3458,6 +3544,7 @@ Language: fr Récupération des articles… Récupération des médias… Les logs de l\'application ont été copiés dans le presse papier + Ce blog est vide Nouveaux articles Une erreur s\'est produite lors de la copie dans le presse papier Article en cours de téléversement @@ -3531,6 +3618,8 @@ Language: fr Une erreur s\'est produite en accédant à ce blog Le média ne peut pas être récupéré Aucun réseau disponible + Impossible de supprimer cette étiquette + Impossible d’ajouter cette étiquette Journal de l\'application Une erreur s\'est produite lors de la création de la base de données de l\'app. Essayez de réinstaller l\'app. Ce blog est caché et ne peut être chargé. Activez-le dans les paramètres et réessayez. @@ -3592,6 +3681,7 @@ Language: fr Impossible d\'ouvrir %s Impossible de voir l\'image Impossible de partager + Ce n’est pas une étiquette valide Impossible d\'envoyer votre commentaire Vous aimez ça Une personne aime ça diff --git a/WordPress/src/main/res/values-he/strings.xml b/WordPress/src/main/res/values-he/strings.xml index 8cda043268e9..92f8ed95b25f 100644 --- a/WordPress/src/main/res/values-he/strings.xml +++ b/WordPress/src/main/res/values-he/strings.xml @@ -1,11 +1,82 @@ + לא ניתן לטעון את המדיה לשיתוף. יש לבדוק את ההרשאות שניתנו לאפליקציה\n או להשתמש בספריית המדיה של האפליקציה. + אין לנו אפשרות לפתוח את ניטור האתר כעת. יש לנסות שוב מאוחר יותר + קובצי יומן של שרתי אינטרנט + קובצי יומן של PHP + מדדים + ניטור האתר + יש להשתמש באפשרות <b>היכרות</b> כדי לחפש אתרים ותגיות. כדאי לבחור את האפשרות <b>מינויים</b> כדי לראות תוכן שנרשמת אליו ולנהל את המינויים שלך. + לעבור למינויים + הבלוגים שנרשמת אליהם לא פרסמו תוכן לאחרונה + אפשר להירשם לעדכונים מבלוגים דרך \'היכרות\' או לחפש בלוג שכבר מצא חן בעיניך. + אין בלוגים מומלצים + אין תגיות שנרשמת לקבלת עדכונים מהן + אין פוסטים עם התגית הזו + לא ניתן לחסום את הבלוג הזה + פוסטים מהבלוג הזה לא יוצגו עוד + אין אפשרות לבטל את ההרשמה לעדכונים מהבלוג + אין לך הרשאה לגשת לבלוג זה + לא ניתן להירשם לעדכונים מהבלוג הזה + כבר נרשמת לעדכונים מבלוג זה + לא ניתן להציג בלוג זה + כבר נרשמת לקבלת עדכונים מתגית זו + לבחור את תחומי העניין שלך + מנוי אחד + %s מנויים + %,d מנויים + הבלוג רשום לעדכונים + לחפש בלוגים שרשומים לעדכונים + יש להזין כתובת URL או תגית שברצונך להירשם לעדכונים מהן + רשום לעדכונים + להירשם לעדכונים + לחסום את הבלוג הזה + לערוך תגיות ובלוגים + בלוגים שרשומים לעדכונים + תגיות שרשומות לעדכונים + לעקוב אחרי תגיות + לנהל תגיות ובלוגים + תגית + בלוג של Reader + רשום לעדכונים + %d תגיות + תגית אחת + אפס תגיות + %d בלוגים + בלוג אחד + אפס בלוגים + רשימות + קיבל לייק + נשמר + מינויים + היכרות + חיפוש + להירשם לעדכונים מתגיות + כדאי להירשם לתגיות נוספות כדי להרחיב את החיפוש + להירשם לעדכונים מתגיות כדי להיחשף לבלוגים חדשים + בלוגים שכדאי להירשם לעדכונים מהם + להירשם לעדכונים מתגית + תגיות מומלצות + לחפש בלוג + ניתן להירשם לקבלת עדכונים מתגית והפוסטים המומלצים עם התגית הזאת יוצגו כאן. + ללא תגיות + ניתן להירשם לעדכונים מבלוגים במקטע \'היכרות\' כדי להציג את הפוסטים האחרונים שלהם כאן. לחלופין, אפשר לחפש בלוג שכבר מצא חן בעיניך. + אין מינויים לבלוגים + להירשם לעדכונים מבלוג + אפשר להירשם לעדכונים מפוסטים לגבי נושא מסוים על ידי הוספת תגית + ניתן לראות את הפוסטים החדשים ביותר מבלוגים שנרשמת לעדכונים מהם + לסנן לפי תגית + לסנן לפי בלוג + לפי שנה + לפי חודש + לפי שבוע + לפי יום ממתין לחיבור תעבורה עבודה במצב לא מקוון @@ -30,6 +101,7 @@ Language: he_IL מזמינים אותם לפרסם את תשובתך. כך תגיע אליך מדי יום הצעת כתיבה חדשה שתיתן לך השראה. אנו מזמינים אותך להצטרף לאתגר הכתיבה שלנו שיימשך חודש שלם + Bloganuary לאורך כל חודש ינואר יתקבלו מ-Bloganuary הצעות כתיבה יומיות בבלוג. זהו האתגר הקהילתי שלנו לביסוס הרגלי פרסום בבלוג לשנה החדשה. מסיבה זו מומלץ \'לשטח\' את התוכן על ידי ביטול הקבצת הבלוק או לערוך את הבלוק בעזרת דפדפן האינטרנט. מסיבה זו מומלץ \'לשטח\' את התוכן על ידי ביטול הקבצת הבלוק או לערוך את הבלוק בעזרת עורך האינטרנט. @@ -1644,6 +1716,7 @@ Language: he_IL להעביר לטיוטות לא ניתן לערוך פוסטים שהועברו לפח. האם ברצונך לשנות את המצב של הפוסט ל\'טיוטה\' כדי לערוך אותו? האם להעביר את הפוסט ל\'טיוטות\'? + לבחור את התגיות שלך סיימתי יש לבחור מספר אפשרויות כדי להמשיך פורסם @@ -1699,6 +1772,9 @@ Language: he_IL לא ניתן היה לבחור אתר. יש לנסות שוב. המשך הפרסום החדש בבלוג נכשל + לנהל בלוגים + לאחר יצירת בלוג ב-WordPress.com, אפשר לפרסם מחדש בבלוג את התוכן שברצונך להציג באתר שלך. + אין בלוגים זמינים של WordPress.com מה חדש כתובת הקישור הועתקה להעתיק את הכתובת של הקישור @@ -1797,13 +1873,17 @@ Language: he_IL להוסיף כרטיס חדש להוסיף כרטיס חדש של נתונים סטטיסטיים להשתמש בכפתור הסינון לחיפוש פוסטים בנושאים מסוימים + יש לבחור \'תגית\' או \'בלוג\', חלון קופץ להסיר את המסנן הנוכחי התחברות ל-WordPress.com + יש להתחבר ל-WordPress.com כדי להציג את הפוסטים האחרונים מתגיות שנרשמת לקבלת עדכונים מהן + יש להתחבר ל-WordPress.com כדי להציג את הפוסטים האחרונים מבלוגים שנרשמת לקבלת עדכונים מהם יש להחליף את הבלוק הנוכחי הוספה לסוף הוספה להתחלה הוספת בלוק לפני הוספת בלוק לאחר + להוסיף תגית מסנן כיתוב לווידאו. %s לערוך וידאו @@ -2340,6 +2420,7 @@ Language: he_IL ביצענו יותר מדי ניסיונות לשלוח קוד אימות בהודעת טקסט - אנחנו ממליצים להמתין רגע ולנסות שוב עוד דקה. אין חשבון WordPress.com שתואם לחשבון Google זה. לא נמצאו אתרים שתואמים לחיפוש שלך + לא נמצאו בלוגים שמתאימים לחיפוש שלך ההורה של העמוד השתנה העמוד נמחק לצמיתות הפרסום של העמוד תוזמן @@ -2372,6 +2453,7 @@ Language: he_IL לא עכשיו עוד אין לך עוד אתרים + ניתן להוסיף כאן תגיות כדי למצוא פוסטים על הנושאים המועדפים עליך יש להיכנס לחשבון WordPress.com שדרכו חיברת את Jetpack. Jetpack שאלות נפוצות בנושא Jetpack @@ -2391,6 +2473,7 @@ Language: he_IL עדיין אין משתמשים כאן יופיעו פוסטים שסימנת ב\'לייק\' עדיין אין לייקים + להכיר בלוגים עדיין אין לייקים עדיין אין עוקבים מאחר שנרשמת לתוכנית החינמית, מספר האירועים שיוצגו בפעילות שלך מוגבל. @@ -2455,6 +2538,8 @@ Language: he_IL האתר הזה הפעלה האם להפעיל התראות עבור %1$s%2$s%3$s? + להפעיל הודעות מהבלוג + להשבית הודעות מהבלוג סמל Jetpack אירוע סמל פעילות @@ -3136,6 +3221,7 @@ Language: he_IL הסרת %1$s תפקיד אנשים + הבלוגים ברשימה זו לא פרסמו דבר בזמן האחרון לא ניתן היה להסיר משתמש לא הצלחנו לעדכן תפקיד משתמש לא הצלחנו לאחזר את משתמשי האתר @@ -3413,6 +3499,7 @@ Language: he_IL הצגה פרסום עריכה + לא ניתן היה למצוא את הבלוג הזה ביטול פעולה אחרונה פג תוקף הבקשה. יש להיכנס לוורדפרס.קום כדי לנסות שוב. להתעלם @@ -3456,6 +3543,7 @@ Language: he_IL מביא פוסטים… מביא מדיה… הלוגים של האפליקציה הועתקו אל ה-clipboard + הבלוג הזה ריק פוסטים חדשים אירעה שגיאה בעת העתקת הטקסט אל ה-clipboard מעלה פוסט @@ -3529,6 +3617,8 @@ Language: he_IL אירעה שגיאה בזמן הגישה לאתר זה לא ניתן היה לאחזר את פריט המדיה אין רשת זמינה + לא ניתן להסיר תגית זו + לא ניתן להוסיף תגית זו יומן יישום אירעה שגיאה בזמן יצירת מסד הנתונים של היישום. נסה להתקין מחדש את היישום. זה אתר סמוי ולא ניתן לטעון אותו. אפשר אותו שוב בהגדרות ונסה שנית. @@ -3590,6 +3680,7 @@ Language: he_IL לא ניתן לפתוח את %s לא ניתן להציג תמונה לא ניתן לשתף + זו לא תגית תקפה לא ניתן לפרסם את תגובתך אתה אוהב את זה אדם אחד אוהב את זה diff --git a/WordPress/src/main/res/values-id/strings.xml b/WordPress/src/main/res/values-id/strings.xml index c7a2dbbcaec5..cb40b341815a 100644 --- a/WordPress/src/main/res/values-id/strings.xml +++ b/WordPress/src/main/res/values-id/strings.xml @@ -1,11 +1,77 @@ + Tidak dapat memuat media untuk dibagikan. Harap periksa perizinan aplikasi\n atau gunakan pustaka media aplikasi. + Saat ini kami tidak dapat membuka pemantauan situs. Coba lagi nanti + Log Server web + Pemantauan Situs + Gunakan <b>Temukan</b> untuk menemukan situs dan tag. Coba pilih <b>Langganan</b> untuk melihat konten langganan dan mengelola langganan Anda. + Buka langganan + Blog langganan Anda belum mengeposkan apa pun akhir-akhir ini + Langganan blog di Temukan atau cari blog yang sudah Anda sukai. + Tidak ada blog rekomendasi + Tidak ada tag langganan + Tidak dapat memblokir blog ini + Pos dari blog ini tidak akan ditampilkan lagi + Tidak dapat berhenti berlangganan blog + Anda tidak memiliki izin untuk mengakses blog ini + Tidak dapat berlangganan blog ini + Anda sudah berlangganan blog ini + Tidak dapat menampilkan blog ini + Anda telah berlangganan tag ini + 1 pelanggan + %s pelanggan + %,d Pelanggan + Blog langganan + Cari blog langganan + Masukkan URL atau tag untuk dijadikan langganan + Telah berlangganan + Berlangganan + Sunting tag dan blog + Telah berlangganan blog + Telah berlangganan tag + Ikuti tag + Kelola Tag & Blog + Blog Pembaca + Telah berlangganan + %d Tag + 1 Tag + 0 Tag + %d Blog + 1 Blog + 0 Blog + Daftar + Automattic + Disukai + Disimpan + Langganan + Temukan + Pencarian + Berlangganan tag + Coba berlangganan lebih banyak tag untuk memperluas pencarian + Langganan tag untuk menemukan blog baru + Blog untuk dijadikan langganan + Berlangganan tag + Tag yang diusulkan + Cari blog + Berlangganan tag dan Anda akan dapat melihat pos terbaik dari tag tersebut di sini. + Tidak ada tag + Berlangganan blog di Temukan dan Anda akan melihat pos terbarunya di sini. Atau, cari blog yang sudah Anda sukai. + Tidak ada langganan blog + Berlangganan blog + Anda dapat berlangganan pos dengan subjek tertentu dengan menambahkan tag + Lihat pos terbaru dari blog langganan Anda + Saring berdasarkan tag + Saring berdasarkan blog + Menurut tahun + Menurut bulan + Menurut minggu + Menurut hari Menunggu koneksi Lalu lintas Bekerja secara Offline @@ -1647,6 +1713,7 @@ Language: id Pindahkan ke Konsep Pos yang dibuang tidak dapat disunting. Apakah Anda ingin mengubah status pos ini menjadi \"konsep\" sehingga Anda dapat menyuntingnya? Pindahkan pos ke Konsep? + Pilih tag Anda Selesai Pilih beberapa untuk melanjutkan Dipublikasikan @@ -1702,6 +1769,9 @@ Language: id Tidak dapat memilih situs. Coba lagi. Lanjutkan Reblog gagal + Kelola Blog + Setelah membuat blog WordPress.com, Anda dapat me-reblog konten yang disukai ke situs Anda sendiri. + Tidak ada blog WordPress.com yang tersedia Apa yang Baru Alamat tautan disalin Salin alamat tautan @@ -1801,13 +1871,17 @@ Language: id Tambahkan Kartu Baru Tambahkan kartu statistik baru Gunakan tombol penyaring untuk menemukan pos pada subjek tertentu + Pilih Tag atau Blog, Jendela Pop Up Hapus penyaring saat ini Login ke WordPress.com + Login ke WordPress.com untuk melihat pos terbaru dari tag langganan Anda + Login ke WordPress.com untuk melihat pos terbaru dari blog langganan Anda Ganti Blok Saat Ini Tambahkan ke Akhir Tambahkan ke Awal Tambahkan Blok Sebelum Tambahkan Blok Setelah + Tambahkan tag Penyaring Keterangan video. %s Sunting video @@ -2345,6 +2419,7 @@ Language: id Kami terlalu banyak melakukan upaya pengiriman kode verifikasi SMS. Tunggu sebentar, dan minta kode yang baru beberapa saat lagi. Tidak ada akun WordPress.com yang cocok dengan akun Google ini. Tidak ada situs yang cocok dengan pencarian Anda + Tidak ada blog yang cocok dengan pencarian Anda Induk halaman telah diubah Halaman telah dihapus permanen Halaman telah dijadwalkan @@ -2377,6 +2452,7 @@ Language: id Jangan sekarang Lainnya Anda belum memiliki situs + Tambahkan tag di sini untuk menemukan pos tentang topik favorit Anda Login ke akun WordPress.com yang Anda gunakan untuk menghubungkan Jetpack. Jetpack FAQ Jetpack @@ -2396,6 +2472,7 @@ Language: id Belum ada pengguna Pos yang Anda sukai akan ditampilkan di sini Belum ada yang menyukai + Temukan blog Belum ada suka Belum ada pengikut Karena menggunakan paket gratis, Anda akan melihat sedikit kejadian di aktivitas Anda. @@ -2460,6 +2537,8 @@ Language: id situs ini Aktifkan Aktifkan pemberitahuan untuk %1$s%2$s%3$s? + Aktifkan pemberitahuan blog + Nonaktifkan pemberitahuan blog Ikon Jetpack Peristiwa Ikon aktivitas @@ -3138,6 +3217,7 @@ Language: id Hapus %1$s Peran Pengguna + Blog dalam daftar ini belum mengeposkan apa-apa akhir-akhir ini Tidak dapat menghapus pengguna Tidak dapat memperbarui peran pengguna Gagal menampilkan pengunjung situs @@ -3415,6 +3495,7 @@ Language: id Lihat Terbitkan Sunting + Blog ini tidak dapat ditemukan Urungkan Permintaan sudah kadaluwarsa. Log in ke WordPress.com untuk mencoba lagi. Abaikan @@ -3458,6 +3539,7 @@ Language: id Memuat pos… Memuat media… Log aplikasi sudah disalin ke clipboard + Blog ini kosong Pos baru Terjadi kesalahan saat menyalin teks ke clipboard Mengunggah pos @@ -3531,6 +3613,8 @@ Language: id Terjadi kekeliruan ketika mengakses blog ini Item media gagal diambil Tidak ada jaringan yang tersedia + Tidak bisa menghapus tag ini + Tidak bisa menambahkan tag ini Log aplikasi Terjadi gagal ketika membuat basis data app. Coba instal ulang app. Blog ini tersembunyi dan tak bisa dimuat. Aktifkan lagi melalui pengaturan dan coba lagi. @@ -3592,6 +3676,7 @@ Language: id Tidak bisa membuka %s Tidak dapat melihat gambar Tidak dapat membagikan + Tag ini tidak valid Tidak bisa menambahkan komentar anda Anda menyukai ini Satu orang menyukai ini diff --git a/WordPress/src/main/res/values-it/strings.xml b/WordPress/src/main/res/values-it/strings.xml index 32e88be7e54f..1d52c3158491 100644 --- a/WordPress/src/main/res/values-it/strings.xml +++ b/WordPress/src/main/res/values-it/strings.xml @@ -1,11 +1,83 @@ + Impossibile caricare i media per la condivisione. Verifica le autorizzazioni dell\'app\n o utilizza la libreria multimediale dell\'app. + Al momento non è possibile aprire il monitoraggio del sito. Riprova più tardi + Log del server web + Log PHP + Metriche + Monitoraggio del sito + Usa <b>Scopri</b> per trovare siti e tag. Prova a selezionare <b>Abbonamenti</b> per visualizzare i contenuti in abbonamento e gestire le tue iscrizioni. + Vai agli abbonamenti + I blog che segui non hanno pubblicato articoli di recente + Segui i blog in Scopri, oppure cerca un blog che già ti piace. + Nessun blog consigliato + Nessun tag che segui + Nessun articolo con questo tag + Non è possibile bloccare questo blog + Gli articoli di questo blog non verranno più mostrati + Non è possibile smettere di seguire il blog + Non hai l\'autorizzazione per accedere a questo blog + Non è possibile seguire questo blog + Segui già questo blog + Impossibile mostrare questo blog + Segui già questo tag + Scegli i tuoi interessi + 1 abbonato + %s abbonati + %,d Abbonati + Blog che segui + Cerca blog che segui + Inserisci un URL o un tag da seguire + Stai seguendo + Segui + Blocca questo blog + Modifica tag e blog + Blog che segui + Tag che segui + Segui tag + Gestisci tag e blog + Tag + Lettori del blog + Stai seguendo + %d tag + 1 tag + 0 tag + %d blog + 1 blog + 0 blog + Elenchi + Automattic + Con Mi piace + Salvati + Abbonamenti + Scopri + Cerca + Segui tag + Prova a seguire più tag per ampliare la ricerca + Segui i tag per scoprire nuovi blog + Blog da seguire + Segui un tag + Tag suggeriti + Cerca un blog + Inizia a seguire un tag e potrai vedere qui i migliori articoli correlati. + Nessun tag + Segui i blog della sezione Scopri e vedrai i loro ultimi articoli qui. Oppure cerca un blog che già ti piace. + Nessun abbonamento ai blog + Segui un blog + Puoi seguire gli articoli su uno specifico argomento aggiungendo un tag + Vedi i nuovi articoli dei blog che segui + Filtra per tag + Filtra per blog + Per anno + Per mese + Per settimana + Per giorno In attesa della connessione Traffico Lavorare offline @@ -1648,6 +1720,7 @@ Language: it Sposta in bozze Gli articoli eliminati non possono essere modificati. Vuoi modificare lo stato di questo articolo da \"bozza\" in modo da poterlo lavorare? Spostare gli articoli in bozze? + Scegli i tuoi tag Fatto Selezionane alcuni per continuare Pubblicato @@ -1702,6 +1775,9 @@ Language: it Impossibile selezionare il sito. Riprova. Continua Ripubblicazione non riuscita + Gestisci i blog + Una volta creato un blog WordPress.com, puoi ripubblicare il contenuto che ti piace sul tuo sito. + Nessun blog WordPress.com disponibile Novità Indirizzo del link copiato Copia indirizzo del link @@ -1800,13 +1876,17 @@ Language: it Aggiungi nuova scheda Aggiungi nuova scheda statistiche Utilizza il pulsante di filtro per trovare articoli su argomenti specifici + Seleziona un tag o un blog, finestra pop-up Rimuovi filtro attuale Accedi a WordPress.com + Accedi a WordPress.com per vedere gli ultimi articoli dei tag che segui + Accedi a WordPress.com per vedere gli ultimi articoli dei blog che segui Sostituisci blocco attuale Aggiungi alla fine Aggiungi all\'inizio Aggiungi blocco prima Aggiungi blocco dopo + Aggiungi un tag Filtro Didascalia del video. %s Modifica video @@ -2344,6 +2424,7 @@ Language: it Abbiamo effettuato troppi tentativi di invio di un codice di verifica SMS: prenditi una pausa e richiedine uno nuovo tra un minuto. Non è presente alcun account WordPress.com corrispondente a questo account Google. Nessun sito corrispondente alla ricerca + Nessun blog corrispondente alla ricerca Il genitore della pagina è stato modificato La pagina è stata eliminata definitivamente La pagina è stata programmata @@ -2376,6 +2457,7 @@ Language: it Non ora Leggi tutto Non sono presenti siti + Aggiungi qui le tag per trovare gli articoli con i tuoi argomenti preferiti Accedi all\'account WordPress.com che hai utilizzato per connettere Jetpack. Jetpack FAQ Jetpack @@ -2395,6 +2477,7 @@ Language: it Ancora nessun utente Gli articoli che ti piacciono vengono visualizzati qui Ancora nessun contenuto collegato + Scopri i blog Ancora nessun Mi piace Ancora nessun follower Poiché hai un piano Gratuito, nelle attività visualizzerai un numero limitato di eventi. @@ -2459,6 +2542,8 @@ Language: it questo sito Abilita Attiva notifiche per %1$s%2$s%3$s? + Attiva le notifiche del blog + Disattiva le notifiche del blog Icona Jetpack Evento Icona attività @@ -3137,6 +3222,7 @@ Language: it Rimuovere %1$s Ruolo Persone + I blog di questo elenco non hanno pubblicato nulla di recente Impossibile rimuovere l\'utente Impossibile aggiornare il ruolo utente Non è possibile recuperare i visitatori del sito @@ -3414,6 +3500,7 @@ Language: it Visualizza Pubblica Modifica + Impossibile trovare questo blog Annulla La richiesta è scaduta. Accedi a WordPress.com per riprovare. Ignora @@ -3457,6 +3544,7 @@ Language: it Recupero degli articoli in corso… Recupero file multimediali in corso… I log dell\'applicazione sono stati copiati negli appunti + Questo blog è vuoto Nuovi articoli Si è verificato un errore durante la copia del testo negli appunti Caricamento dell\'articolo @@ -3530,6 +3618,8 @@ Language: it Si è verificato un errore durante l\'accesso a questo blog Impossibile recuperare il file Nessuna rete disponibile + Impossibile rimuovere questo tag + Impossibile aggiungere questo tag Registro applicazione Si è verificato un errore durante la creazione del database delle app. Prova a reinstallare l\'app. Questo blog è nascosto e non può essere caricato. Abilitalo nuovamente nelle impostazioni e riprova. @@ -3591,6 +3681,7 @@ Language: it Impossibile aprire %s Impossibile visualizzare l\'immagine Impossibile condividere + Questo non è un tag valido Non riesco ad inviare il tuo commento Ti piace questo Ad una persona piace questo diff --git a/WordPress/src/main/res/values-ja/strings.xml b/WordPress/src/main/res/values-ja/strings.xml index 8370570c0806..260aa2db1b63 100644 --- a/WordPress/src/main/res/values-ja/strings.xml +++ b/WordPress/src/main/res/values-ja/strings.xml @@ -1,11 +1,83 @@ + シェアするメディアを読み込めませんでした。 アプリの権限を確認するか\n アプリのメディアライブラリをお使いください。 + 現在、サイトのモニタリングを開けません。 後でもう一度お試しください + Web サーバーログ + PHP ログ + メトリクス + サイトのモニタリング + サイトやタグを探すには、<b>「ディスカバー」</b>を使います。 <b>「サブスクリプション」</b> を選択して購読しているコンテンツを表示し、サブスクリプションを管理します。 + サブスクリプションに移動 + 購読しているブログには、最近の投稿はありません + 「ディスカバー」でブログを購読するか、すでに気に入っているブログを検索します。 + おすすめのブログはありません + 購読しているタグはありません + このタグを使った投稿はありません + このブログをブロックできませんでした + このブログからの投稿は今後表示されません + ブログの購読解除ができません + このブログにアクセスする権限がありません + このブログを購読できません + このブログをすでに購読済みです + このブログを表示できません + このタグをすでに購読済みです + 関心のあるものを選択 + 1人の購読者 + %s人の購読者 + %,d人の購読者 + 購読済みのブログ + 購読済みのブログを検索 + 購読する URL またはタグを入力 + 購読済み + 購読 + このブログをブロック + タグとブログを編集 + 購読済みのブログ + 購読済みのタグ + タグをフォロー + タグとブログを管理 + タグ + Reader ブログ + 購読済み + %d個のタグ + 1個のタグ + 0個のタグ + %d件のブログ + 1件のブログ + 0件のブログ + リスト + Automattic + いいね済み + 保存済み + サブスクリプション + ディスカバー + 検索 + タグを購読 + もっと多くのタグを購読して、検索を広げてみてください + タグを購読して新しいブログを見つける + 購読するブログ + タグを購読 + おすすめのタグ + ブログを検索 + タグを購読すると、そのタグで最適の投稿がこちらに表示されます。 + タグなし + 「ディスカバー」でブログを購読すると、最新の投稿がこちらに表示されます。 またはすでに気に入っているブログを検索します。 + ブログ購読はありません + ブログを購読 + タグを追加することで、特定の内容に関する投稿を購読できます + 購読しているブログの最新の投稿を表示 + タグで絞り込む + ブログで絞り込む + 年別 + 月別 + 週別 + 日別 接続を待機中 トラフィック オフラインで作業 @@ -1646,6 +1718,7 @@ Language: ja_JP 下書きに移動 ゴミ箱にある投稿は編集できません。この投稿のステータスを「下書き」に戻して編集しますか ? 投稿を下書きに移動しますか ? + タグを選択 終了 選択して続ける 公開済み @@ -1701,6 +1774,9 @@ Language: ja_JP サイトを選択できませんでした。もう一度お試しください。 次へ リブログに失敗しました + ブログを管理 + WordPress.com ブログの作成後は、お気に入りのコンテンツを自分のサイトにリブログできます。 + 利用可能な WordPress.com ブログはありません 新機能 リンクアドレスをコピーしました リンクアドレスをコピー @@ -1800,13 +1876,17 @@ Language: ja_JP 新しいカードを追加 新しい統計カードを追加 フィルターボタンを使って指定トピックの投稿を検索 + タグまたはブログを選択 (ポップアップウィンドウ) 現在のフィルターを削除 WordPress.com にログイン + WordPress.com にログインし、購読中のタグの最新投稿をチェック + WordPress.com にログインし、購読中のブログの最新投稿をチェック 現在のブロックを置き換え 末尾に追加 先頭に追加 前にブロックを追加 後にブロックを追加 + タグを追加 フィルター 動画の見出しです。%s 動画を編集 @@ -2344,6 +2424,7 @@ Language: ja_JP SMS 認証コードの送信試行回数が多すぎます。しばらくしてから、新しい認証コードをリクエストしてください。 この Google アカウントに一致する WordPress.com アカウントはありません。 検索に一致するサイトはありません + 検索に一致するブログがありません ページの親が変更されました ページは完全に削除されました ページが予約されました @@ -2376,6 +2457,7 @@ Language: ja_JP 後で もっと見る サイトがありません + ここでタグを追加して、お気に入りのトピックに関する投稿を検索します Jetpack を接続するのに使用した WordPress.com アカウントにログインします。 Jetpack Jetpack よくある質問 @@ -2395,6 +2477,7 @@ Language: ja_JP ユーザーはまだいません お気に入りの投稿はここに表示されます 「いいね」がつけられているものはまだありません + ブログを検索 新しい「いいね」はまだついていません フォロワーはまだいません 無料プランをご利用のため、アクティビティで確認できるイベントは限られています。 @@ -2459,6 +2542,8 @@ Language: ja_JP このサイト 有効化する %1$s%2$s%3$s の通知を有効にしますか ? + ブログ通知を有効化 + ブログ通知を無効化 Jetpack アイコン イベント アクティビティアイコン @@ -3141,6 +3226,7 @@ Language: ja_JP %1$s を削除 権限グループ + このリスト内のブログには最近の投稿がありません ユーザーを削除できませんでした ユーザー権限グループを更新できませんでした サイト閲覧者を取得できませんでした @@ -3418,6 +3504,7 @@ Language: ja_JP 表示 公開 編集 + このブログは見つかりませんでした 元に戻す リクエストの有効期限が切れています。もう一度試すには WordPress.com にログインしてください。 無視 @@ -3461,6 +3548,7 @@ Language: ja_JP 投稿を取得中… メディアを取得中… アプリケーションログをクリップボードにコピーしました + このブログは空です 新規投稿 テキストをクリップボードにコピーする際にエラーが発生しました 投稿をアップロード中 @@ -3534,6 +3622,8 @@ Language: ja_JP このブログにアクセスする際にエラーが発生しました メディア項目を読み込めませんでした 利用可能なネットワークがありません + このタグを削除できません + このタグを追加できません アプリケーションログ アプリのデータベースを作成する際にエラーが発生しました。アプリをもう一度インストールしてみてください。 このブログは非表示になっており読み込めません。設定画面から再有効化してもう一度お試しください。 @@ -3595,6 +3685,7 @@ Language: ja_JP %sを開けませんでした 画像を表示できません 共有に失敗しました + 有効なタグではありません コメントを投稿できませんでした 「いいね」をつけました 1人がいいねをつけました diff --git a/WordPress/src/main/res/values-ko/strings.xml b/WordPress/src/main/res/values-ko/strings.xml index 8cdf5438786c..21ced469f6c3 100644 --- a/WordPress/src/main/res/values-ko/strings.xml +++ b/WordPress/src/main/res/values-ko/strings.xml @@ -1,11 +1,82 @@ + 공유할 미디어를 로드할 수 없습니다. 앱의 권한을 확인하거나\n 앱의 미디어 라이브러리를 사용하세요. + 지금은 사이트 모니터링을 열 수 없습니다. 나중에 다시 시도하세요. + 웹 서버 로그 + PHP 로그 + 지표 + 사이트 모니터링 + 사이트와 태그를 찾으려면 <b>발견</b>을 사용하세요. 구독한 콘텐츠를 보고 구독을 관리하려면 <b>구독</b>을 선택해 보세요. + 구독으로 이동 + 구독하는 블로그에 최근 발행된 내용이 없습니다. + 발견에서 블로그를 구독하거나 이미 좋아하는 블로그를 검색하세요. + 추천 블로그 없음 + 구독한 태그 없음 + 이 태그가 지정된 글 없음 + 이 블로그를 차단할 수 없음 + 이 블로그의 글은 이제 표시되지 않음 + 블로그 구독을 취소할 수 없음 + 이 블로그에 접근할 권한이 없습니다. + 이 블로그를 구독할 수 없음 + 이 블로그를 이미 구독하고 있음 + 이 블로그를 표시할 수 없음 + 이 태그를 이미 구독하고 있음 + 관심사 선택 + 구독자 1명 + 구독자 %s명 + 구독자 %,d명 + 구독하는 블로그 + 구독하는 블로그 검색 + 구독할 블로그의 URL 또는 태그 입력 + 구독됨 + 구독 + 이 블로그 차단 + 태그 및 블로그 편집 + 구독한 블로그 + 구독한 태그 + 태그 팔로우 + 블로그 및 블로그 관리 + 태그 + 리더 블로그 + 구독됨 + 태그 %d개 + 태그 1개 + 태그 0개 + 블로그 %d개 + 블로그 1개 + 블로그 0개 + 목록 + 좋아함 + 저장됨 + 구독 + 발견 + 검색 + 태그 구독 + 추가 태그를 구독하여 검색 범위 확대하기 + 태그를 구독하여 새 블로그 발견하기 + 구독할 블로그 + 태그 구독 + 제안된 태그 + 블로그 검색 + 태그를 구독하면 여기에서 인기 글을 확인할 수 있습니다. + 태그 없음 + 발견에서 블로그를 구독하면 여기에 최신 글이 표시됩니다. 아니면 이미 좋아하는 블로그를 검색하세요. + 블로그 구독 없음 + 블로그 구독 + 태그를 추가하여 특정 주제의 글을 구독할 수 있습니다 + 구독하는 블로그의 최신 글 확인 + 태그로 필터링 + 블로그로 필터링 + 연도 기준 + 월 기준 + 주 기준 + 일 기준 연결 대기 중 트래픽 오프라인 작업 중 @@ -1647,6 +1718,7 @@ Language: ko_KR 초안으로 이동하기 휴지통에 있는 글은 편집할 수 없습니다. 이 글의 상태를 “초안”으로 변경하여 작업할 수 있기를 원하십니까? 글을 초안으로 옮깁니까? + 태그 선택 완료 계속하기 위해 몇 가지 더 선택하기 발행됨 @@ -1702,6 +1774,9 @@ Language: ko_KR 사이트를 선택할 수 없습니다. 다시 시도해 보시기 바랍니다. 계속 리블로그에 실패하였습니다 + 블로그 관리 + 워드프레스닷컴 블로그를 생성하면 좋아하는 콘텐츠를 자신의 블로그에 리블로그할 수 있습니다. + 이용 가능한 워드프레스닷컴 블로그 없음 새로운 기능 링크 주소가 복사되었습니다 링크 주소 복사 @@ -1800,13 +1875,17 @@ Language: ko_KR 새 카드 추가 새 스탯 카드 추가 필터 버튼을 사용하여 특정 주제에 대한 글을 찾습니다. + 태그 또는 블로그, 팝업 창 선택 현재 필터 제거 워드프레스닷컴에 로그인 + 워드프레스닷컴에 로그인하여 구독하는 태그의 최신 글 확인 + 워드프레스닷컴에 로그인하여 구독하는 블로그의 최신 글 확인 현재 블록 대체하기 끝에 추가하기 처음에 추가하기 이전에 블록 추가 다음에 블록 추가 + 태그 추가 필터 비디오 캡션. %s 비디오 편집 @@ -2343,6 +2422,7 @@ Language: ko_KR SMS 확인 코드를 보내려는 시도가 너무 많았습니다. 잠시 후 다시 요청하세요. 이 Google 계정과 일치하는 워드프레스닷컴 계정이 없습니다. 검색어와 일치하는 사이트 없음 + 검색과 일치하는 블로그 없음 페이지 상위 항목이 변경되었습니다. 페이지가 영구적으로 삭제되었습니다. 페이지가 예약되었습니다. @@ -2375,6 +2455,7 @@ Language: ko_KR 지금 안 함 더 보기 사이트가 없습니다 + 즐겨 찾는 주제에 대한 글을 찾으려면 여기에 태그 추가 젯팩에 연결하는 데 사용한 워드프레스닷컴 계정으로 로그인하세요. 젯팩 젯팩 자주 찾는 질문 @@ -2394,6 +2475,7 @@ Language: ko_KR 아직 사용자 없음 좋아요를 누른 글이 여기에 표시됩니다. 좋아요 없음 + 블로그 발견 아직 좋아요가 없음 아직 팔로워 없음 무료 요금제 사용자이므로 활동에 제한된 이벤트가 표시됩니다. @@ -2458,6 +2540,8 @@ Language: ko_KR 이 사이트 활성화 %1$s%2$s%3$s에 대한 알림을 활성화하시겠습니까? + 블로그 알림 켜기 + 블로그 알림 끄기 젯팩 아이콘 이벤트 활동 아이콘 @@ -3137,6 +3221,7 @@ Language: ko_KR %1$s 제거 역할 사람 + 이 목록의 블로그에 최근 작성된 글 없음 사용자를 제거할 수 없습니다. 사용자 역할을 업데이트할 수 없습니다. 사이트 사용자를 가져올 수 없습니다. @@ -3414,6 +3499,7 @@ Language: ko_KR 보기 발행 편집 + 이 블로그를 찾을 수 없음 실행 취소 요청이 만료되었습니다. 다시 시도하려면 WordPress.com에 로그인하십시요. 무시 @@ -3457,6 +3543,7 @@ Language: ko_KR 글을 가져오는 중… 미디어를 가져오는 중… 애플리케이션 로그가 클립보드에 복사되었습니다. + 이 블로그는 비어 있음 새 게시물 텍스트를 클립보드에 복사하는 동안 오류가 발생했습니다. 업로드 @@ -3530,6 +3617,8 @@ Language: ko_KR 블로그에 접속하는 동안 에러가 발생하였습니다. 미디어 항목을 로드 할 수 없습니다. 사용 가능한 네트워크가 없습니다. 네트워크에 연결하고 다시 시도하십시오 . + 이 태그를 제거할 수 없음 + 이 태그를 추가할 수 없음 응용 프로그램 로그 앱 데이터베이스를 생성하는 동안 에러가 발생했습니다. 앱을 다시 설치하시기 바랍니다. 이 블로그는 비공개 설정이되어 로드 할 수 없습니다. 설정 화면에서 다시 활성하고 다시 시도하십시오. @@ -3591,6 +3680,7 @@ Language: ko_KR %s를 열 수 없습니다 이미지를 표시 할 수 없습니다 공유에 실패 + 유효한 태그가 아님 의견을 게시 할 수 없습니다 \"좋아요\"를 클릭 했습니다 1명이 \"좋아요\"를 달았습니다 diff --git a/WordPress/src/main/res/values-nl/strings.xml b/WordPress/src/main/res/values-nl/strings.xml index da223b77112a..cb26bb63cef9 100644 --- a/WordPress/src/main/res/values-nl/strings.xml +++ b/WordPress/src/main/res/values-nl/strings.xml @@ -1,11 +1,51 @@ + Unable to load the media for sharing. Controleer de bestandsrechten.\n or use the app\'s media library. + We kunnen momenteel geen media openen. Probeer het later opnieuw + Web Server Logs + PHP-logboeken + Meetwaarden + Gebruik <b> Ontdekken </b> om sites en tags te zoeken. Try selecting <b>Subscriptions</b> to view subscribed content and manage your subscriptions. + The blogs you\'re subscribed to haven\'t posted anything recently + Of zoek een blog die je al leuk vindt. + No subscribed tags + Kan blog niet blokkeren + Berichten van deze site zullen niet meer getoond worden + Je hebt geen rechten om dit blog te openen + Kan niet abonneren op blog + Je bent al geabonneerd op deze blog. + Je hebt je al geabonneerd op deze site! + (1 abonnee) + abonnees + Blog subscribed + Search subscribed blogs + Voer de URL in van een blog waarop je je wilt abonneren + Deze blog blokkeren + Tags en blogs bijwerken + Geabonneerd op blog + Abonneren op tags + Tag volgen + Blogs beheren + Reader-blog + %d Tags + 1 Tag + 0 Tags + 1 Blog + 0 Blogs + Geliket + Try subscribing to more tags to broaden the search + Subscribe to tags to discover new blogs + Abonneer je op blogs in Ontdek en je ziet hun nieuwste berichten hier. Of zoek een blog die je al leuk vindt. + Geen blog-abonnementen + Abonneren op blog + Je kan berichten over een bepaald onderwerp volgen door een label toe te voegen + See the newest posts from blogs you\'re subscribed to Bezoekersaantallen Werk offline Netwerk opnieuw verbonden @@ -1590,6 +1630,7 @@ Language: nl Verplaatsen naar concept Berichten in prullenbak kunnen niet bewerkt worden. Wil je de status van dit bericht wijzigen naar \"concept\" zodat je er aan kan werken? Verplaats bericht naar concept? + Kies je tags Klaar Selecteer een paar om verder te gaan Gepubliceerd @@ -1645,6 +1686,9 @@ Language: nl Kan site niet selecteren. Probeer het opnieuw. Doorgaan Reblog mislukt + Blogs beheren + Zodra je een WordPress.com-blog aanmaakt, kan je inhoud die je leuk vindt rebloggen op je eigen site. + Geen beschikbare WordPress.com-blogs Wat is er nieuw Link adres gekopieerd Link adres kopiëren @@ -1745,11 +1789,13 @@ Language: nl Gebruik de filterknop om berichten over specifieke onderwerpen te vinden Verwijder het huidige filter Inloggen op WordPress.com + Log in op WordPress.com om de laatste berichten van gevolgde tags te bekijken Huidig blok vervangen Toevoegen aan einde Toevoegen aan begin Blok toevoegen voor Blok toevoegen na + Een tag toevoegen Filteren Videobijschrift. %s Video bewerken @@ -2287,6 +2333,7 @@ Language: nl We hebben te vaak geprobeerd om een sms-verificatiecode te versturen. Even geduld en vraag er over een minuut nog een aan. Er is geen WordPress.com-account gekoppeld aan dit Google-account. Er komen geen sites overeen met je zoekopdracht + Er komt geen media overeen met je zoekopdracht Bovenliggend item van pagina gewijzigd Pagina is permanent verwijderd Pagina is ingepland @@ -2319,6 +2366,7 @@ Language: nl Niet nu Meer Je hebt geen sites + Voeg hier tags toe om berichten te vinden over je favoriete onderwerpen Log in op het WordPress.com-account dat je gebruikte om verbinding te maken met Jetpack. Jetpack Veelgestelde vragen Jetpack @@ -2338,6 +2386,7 @@ Language: nl Nog geen gebruikers Berichten die je liked, verschijnen hier Nog niets leuk gevonden + Ontdek blogs Nog geen vind-ik-leuks Nog geen volgers Aangezien je een gratis abonnement gebruikt, zie je een beperkt aantal gebeurtenissen in je activiteit. @@ -2402,6 +2451,8 @@ Language: nl deze site Inschakelen Meldingen voor %1$s%2$s%3$s inschakelen? + Blogmeldingen inschakelen + Blogmeldingen uitschakelen Jetpack pictogram Gebeurtenis Activiteitenpictogram @@ -3080,6 +3131,7 @@ Language: nl Verwijder %1$s Rol Mensen + De blogs in deze lijst hebben recent niets geplaatst. Gebruiker verwijderen mislukt Gebruikersrol updaten mislukt Site-gebruikers ophalen mislukt @@ -3357,6 +3409,7 @@ Language: nl Bekijk Publiceren Bewerken + Dit blog kon niet worden gevonden Ongedaan maken Je verzoek is verlopen. Log in bij WordPress.com probeer opnieuw. Negeren @@ -3400,6 +3453,7 @@ Language: nl Berichten ophalen… Media ophalen… Applicatielogs zijn gekopieerd naar het klembord + Deze blog is leeg Nieuwe berichten Er is een fout opgetreden tijdens het kopiëren van de tekst naar het klembord Bericht wordt geüpload @@ -3473,6 +3527,8 @@ Language: nl Er heeft zich een fout voorgedaan tijdens het openen van dit blog Media-item kan niet worden opgehaald Er is geen netwerk beschikbaar + Deze tag kan niet worden verwijderd + Deze tag kan niet worden toegevoegd Applicatie log Er heeft zich een fout voorgedaan bij het aanmaken van de database van de app. Probeer de app opnieuw te installeren. Dit blog is verborgen en kan niet worden geladen. Schakel het blog in instellingen in en probeer het opnieuw. @@ -3534,6 +3590,7 @@ Language: nl Onmogelijk %s te openen Onmogelijk afbeelding te bekijken Onmogelijk te delen + Dat is geen geldige tag Je reactie kon niet geplaatst worden Je vindt dit leuk 1 persoon vindt dit leuk diff --git a/WordPress/src/main/res/values-ro/strings.xml b/WordPress/src/main/res/values-ro/strings.xml index ef5c19a1ecfd..4e4f2892b31c 100644 --- a/WordPress/src/main/res/values-ro/strings.xml +++ b/WordPress/src/main/res/values-ro/strings.xml @@ -1,11 +1,12 @@ + Nu pot să încarc media pentru partajare. Te rog să verifici permisiunile aplicației\n sau folosește biblioteca Media a aplicației. Pentru moment, nu putem să deschidem monitorizare site. Te rog să reîncerci mai târziu Jurnale server web Jurnale PHP diff --git a/WordPress/src/main/res/values-ru/strings.xml b/WordPress/src/main/res/values-ru/strings.xml index a2a2b1bd8ba3..7f1d27e7fe9e 100644 --- a/WordPress/src/main/res/values-ru/strings.xml +++ b/WordPress/src/main/res/values-ru/strings.xml @@ -1,11 +1,82 @@ + Не удалось загрузить медиафайл для публикации в соцсетях. Проверьте разрешения приложения\n или воспользуйтесь библиотекой файлов приложения. + Не удалось открыть страницу мониторинга сайтов. Повторите попытку позже + Журналы веб-сервера + Журналы PHP + Показатели + Мониторинг сайтов + Используйте раздел <b>Поиск</b>, чтобы искать сайты и теги. Перейдите в раздел <b>Подписки</b>, чтобы просмотреть подписной контент и управлять своими подписками. + Перейти в «Подписки» + В блогах, на которые вы подписаны, в последнее время ничего нового не публиковалось. + Подписывайтесь на блоги с помощью раздела «Поиск» или найдите блог, который вам уже понравился. + Нет рекомендуемых блогов + Нет подписок на теги + Нет записей с этой меткой + Не удалось заблокировать этот блог + Записи из этого блога больше не будут отображаться + Не удалось отменить подписку на блог + У вас нет разрешения на доступ к этому блогу + Не удалось подписаться на этот блог + Вы уже подписаны на этот блог + Не удалось отобразить этот блог + Вы уже подписаны на этот тег + Выберите ваши интересы + 1 подписчик + Подписчиков: %s + Подписчиков: %,d + Подписка на блог оформлена + Поиск подписок на блоги + Введите URL-адрес или тег, на который хотите подписаться + Подписка оформлена + Подписаться + Заблокировать этот блог + Редактировать теги и блоги + Подписки на блоги + Подписки на теги + Подписаться на теги + Управление тегами и блогами + Метка + Блог в разделе «Чтиво» + Подписка оформлена + Теги: %d + 1 тег + Теги: 0 + Блоги: %d + 1 блог + Блоги: 0 + Списки + Понравилось + Сохранено + Подписки + Раздел «Поиск» + Поиск + Подписаться на теги + Подпишитесь на другие теги, чтобы расширить область поиска + Подписывайтесь на теги, чтобы находить новые блоги + Блоги, на которые можно подписаться + Подписаться на тег + Рекомендуемые теги + Искать блог + Подпишитесь на тег, и лучшие записи с ним станут отображаться здесь. + Нет тегов + Подписывайтесь на блоги в разделе «Поиск», и последние записи из них будут отображаться здесь. Или найдите блог, который вам уже понравился. + Нет подписок на блоги + Подписаться на блог + Вы можете подписаться на определенную тему, добавив тег + Просмотреть последние записи из блогов, на которые вы подписаны + Фильтровать по тегу + Фильтровать по блогу + По году + По месяцу + По неделе + По дню Ожидание подключения Посещаемость Автономная работа @@ -1653,6 +1724,7 @@ Language: ru Переместить в черновики Записи из корзины не могут быть отредактированы. Хотите изменить статус на \"черновик\", чтобы получить возможность редактирования? Переместить записи в черновики + Выберите метки Готово Выберите несколько для продолжения Опубликована @@ -1708,6 +1780,9 @@ Language: ru Не удалось выбрать сайт. Повторите попытку. Продолжить Перепубликация не удалась + Управление блогами + После создания блога на WordPress.com вы сможете сделать перепубликацию понравившегося содержимого на своем сайте. + Нет доступных блогов на WordPress.com Что нового Адрес ссылки скопирован Скопировать адрес ссылки @@ -1807,13 +1882,17 @@ Language: ru Добавить новую карточку Добавить новую карточку статистики Используйте кнопку фильтра для поиска записей по интересующим темам + Выберите метку или блог, всплывающее окно Убрать текущий фильтр Войти на WordPress.com + Войдите на WordPress.com, чтобы увидеть последние записи по меткам, на которые вы подписаны + Войдите на WordPress.com, чтобы увидеть последние записи из блогов, на которые вы подписаны Заменить текущий блок Добавить в конце Добавить в начале Добавить блок перед Добавить блок после + Добавить метку Фильтр Подпись к видео. %s Изменить видео @@ -2351,6 +2430,7 @@ Language: ru Слишком много попыток отправить СМС-код проверки, отдохните и запросите снова через пару минут. Ни одна учетная запись WordPress.com не совпадает с этой записью в Google. Нет сайтов по критериям поиска + Нет блогов по критериям поиска Родитель для страницы сменен Страница удалена навсегда Страница запланирована к публикации @@ -2383,6 +2463,7 @@ Language: ru Не сейчас Больше У вас нет сайтов + Добавьте любимые метки здесь, чтобы найти по ним записи Войдите в учетную запись WordPress.com, с которой был подключен Jetpack. Jetpack Jetpack FAQ @@ -2402,6 +2483,7 @@ Language: ru Ещё нет пользователей Записи, которые вам понравились будут здесь Нет отметок \"нравится\" + Искать блоги Ещё нет отметок \"нравится\" Ещё нет подписчиков Для бесплатных тарифов число событий в истории ограничено. @@ -2466,6 +2548,8 @@ Language: ru этот сайт Включить Включить уведомления для %1$s%2$s%3$s? + Включить уведомления блога + Отключить уведомления блога Значок Jetpack Событие Значок активности @@ -3148,6 +3232,7 @@ Language: ru Удалить %1$s Роль Люди + В блогах из этого списка за последнее время не было ничего опубликовано Не удалось удалить пользователя Не удалось обновить роль пользователя Не получить список пользователей сайта @@ -3425,6 +3510,7 @@ Language: ru Просмотреть Опубликовать Изменить + Не удаётся найти этот блог Назад Время запроса истекло. Авторизуйтесь на WordPress.com и попробуйте еще раз. Пропустить @@ -3468,6 +3554,7 @@ Language: ru Загрузка записей… Загрузка медиафайлов… Журналы приложения скопированы в буфер обмена. + Этот блог пуст Новые записи Произошла ошибка при копировании текста в буфер обмена. Идет отправка на сервер. @@ -3541,6 +3628,8 @@ Language: ru Ошибка при попытке подключиться к блогу Медиа-файл не может быть восстановлен Нет доступной сети. + Не удается удалить эту метку + Не удается подписаться на эту метку Лог приложения Произошла ошибка при создании базы данных приложения- попробуйте его переустановить. Этот блог является скрытым и не может быть загружен. Откройте его через настройки и попробуйте снова. @@ -3602,6 +3691,7 @@ Language: ru Не удаётся открыть %s Не удаётся просмотреть изображение Не в состоянии поделиться + Это неверная метка Не удалось оставить комментарий Вам нравится это Одному человеку нравится это diff --git a/WordPress/src/main/res/values-sv/strings.xml b/WordPress/src/main/res/values-sv/strings.xml index 72e80c2ff3a1..4194bed956c8 100644 --- a/WordPress/src/main/res/values-sv/strings.xml +++ b/WordPress/src/main/res/values-sv/strings.xml @@ -1,18 +1,28 @@ + Det gick inte att ladda media för delning. Kontrollera appens behörigheter\n eller använd appens mediabibliotek. + Vi kan inte öppna webbplatsövervakning för tillfället. Försök igen senare + Webbserverloggar PHP-loggar + Mått Webbplatsövervakning + Använd <b>Upptäck</b> för att hitta webbplatser och etiketter. Prova att välja <b>Prenumerationer</b> för att visa innehåll som du prenumererar på och hantera dina prenumerationer. Gå till prenumerationer + Bloggarna som du prenumererar på har inte publicerat något den senaste tiden + Prenumerera på bloggar i Upptäck eller sök efter en blogg som du redan gillar. Inga rekommenderade bloggar + Du prenumererar inte på några etiketter Inga inlägg med denna etikett Kan inte blockera denna blogg Inlägg från denna blogg kommer inte längre att visas + Det gick inte att avsluta bloggprenumerationen + Du har inte behörighet för att komma åt den här bloggen Kan inte prenumerera på denna blogg Du prenumererar redan på denna blogg Kan inte visa denna blogg @@ -20,13 +30,21 @@ Language: sv_SE Välj dina intressen 1 prenumerant %s prenumeranter + %,d prenumeranter + Du prenumererar på den här bloggen + Sök efter bloggar som du prenumererar på Ange en URL eller etikett att prenumerera på Prenumererad Prenumerera Blockera denna blogg Redigera etiketter och bloggar + Du prenumererar på de här bloggarna + Du prenumererar på de här etiketterna + Följ etiketter Hantera etiketter och bloggar Etikett + Läsare-blogg + Prenumererar %d etiketter 1 etikett 0 etiketter @@ -35,10 +53,13 @@ Language: sv_SE 0 bloggar Listor Automattic + Gillat + Sparat Prenumerationer Upptäck Sök Prenumerera på etiketter + Prova att prenumerera på fler etiketter för att bredda sökningen Prenumerera på etiketter för att upptäcka nya bloggar Bloggar att prenumerera på Prenumerera på en etikett @@ -46,8 +67,10 @@ Language: sv_SE Sök efter en blogg Prenumerera på en etikett så kommer du att se de bästa inläggen från den här. Inga etiketter + Prenumerera på bloggar i Upptäck så kommer du att se deras senaste inlägg här. Eller så kan du söka efter en blogg som du redan gillar. Inga bloggprenumerationer Prenumerera på en blogg + Du kan prenumerera på inlägg om ett specifikt ämne genom att lägga till en etikett Se de nyaste inläggen från bloggar du prenumererar på Filtrera efter etikett Filtrera efter blogg @@ -1759,6 +1782,7 @@ Language: sv_SE Fortsätt Reblogg misslyckades Hantera bloggar + När du har skapat en WordPress.com-blogg kan du reblogga innehåll som du tycker om till din egen webbplats. Inga tillgängliga WordPress.com-bloggar Nyheter Länkadress kopierad @@ -1863,6 +1887,7 @@ Language: sv_SE Ta bort befintligt filter Logga in på WordPress.com Logga in på WordPress.com för att se de senaste inläggen från etiketterna du prenumererar på + Logga in på WordPress.com för att se de senaste inläggen från bloggar som du följer Ersätt aktuellt block Lägg till sist Lägg till först @@ -3208,6 +3233,7 @@ Language: sv_SE Ta bort %1$s Roll Människor + Bloggarna i den här listan har inte publicerat något den senaste tiden Kunde inte ta bort användare Kunde inte uppdatera användarroll Kunde inte hämta webbplatsens läsare diff --git a/WordPress/src/main/res/values-tr/strings.xml b/WordPress/src/main/res/values-tr/strings.xml index 68bc835a8c78..6d980f11eea2 100644 --- a/WordPress/src/main/res/values-tr/strings.xml +++ b/WordPress/src/main/res/values-tr/strings.xml @@ -1,11 +1,81 @@ + Paylaşmak için ortam yüklenemedi. Lütfen uygulamanın izinlerini kontrol edin\n veya uygulamanın ortam kütüphanesini kullanın. + Şu anda site izlemeyi açamıyoruz. Lütfen daha sonra tekrar deneyin + Web Sunucusu Günlükleri + PHP Günlükleri + Ölçümler + Site İzleme + Siteleri ve etiketleri bulmak için <b>Keşfet</b>\'i kullanın. Abone olunan içerikleri görüntülemek ve aboneliklerinizi yönetmek için <b>Abonelikler</b>\'i seçmeyi deneyin. + Aboneliklere git + Abone olduğunuz bloglar yakın zamanda herhangi bir şey gönderide bulunmadı + Keşfette bloglara abone olun veya zaten sevdiğiniz bir blogu arayın. + Önerilen blog yok + Abone olunan etiket yok + Bu etiketi içeren yazı yok + Bu blog engellenemiyor + Bu blogdan gönderiler artık gösterilmeyecek + Blog aboneliğinden ayrılınamadı + Bu bloga erişim için yetkiniz yok + Bu bloga abone olunamadı + Bu bloga zaten abonesiniz + Bu blog gösterilemiyor + Bu etikete zaten abonesiniz! + İlgi alanlarınızı seçin + 1 abone + %s abone + %,d Abone + Bloga abone olundu + Abone olunan bloglarda arayın + Abone olunacak bir URL veya etiket girin + Abone olundu + Abone ol + Bu blogu engelle + Etiketleri ve blogları düzenle + Abone olunan bloglar + Abone olunan etiketler + Etiketleri takip edin + Etiketleri ve Blogları Yönetin + Etiket + Okuyucu Blogu + Abone olundu + %d Etiket + 1 Etiket + 0 Etiket + %d Blog + 0 Blog + Listeler + Beğenildi + Kaydedildi + Abonelikler + Keşfet + Arayın + Etiketleri takip et + Aramayı genişletmek için daha fazla etikete abone olmayı deneyin + Yeni bloglar keşfetmek için etiketlere abone olun + Abone olunacak bloglar + Bir etikete abone olun + Önerilen etiketler + Blog arayın + Bir etikete abone olduğunuzda en iyi gönderiler burada görünür. + Etiket yok + Keşfet bölümünden bloglara abone olduğunuzda en son gönderiler burada görünür. Zaten sevdiğiniz bir blogu da arayabilirsiniz. + Abone olunan blog yok + Bloga abone ol + Bir etiket ekleyerek belirli bir konudaki gönderilere abone olabilirsiniz + Abone olduğunuz bloglardaki en iyi gönderileri görün + Etikete göre filtrele + Bloga göre filtrele + Yıla göre + Aya göre + Haftaya göre + Güne göre Bağlantı bekleniyor Trafik Çevrimdışı Çalışıyor @@ -1650,6 +1720,7 @@ Language: tr Taslağa taşı Çöpe atılan yazılar düzenlenemez. Üzerinde çalışabilmek için bu yazının durumunu \"taslak\" olarak değiştirmek ister misiniz? Yazı taslaklara taşınsın mı? + Etiketlerinizi seçin Tamamlandı Devam etmek için birkaç tane seçin Yayımlandı @@ -1705,6 +1776,9 @@ Language: tr Site seçilemedi. Lütfen yeniden deneyin. Devam Yeniden bloglama başarısız + Blogları Yönetin + Bir WordPress.com blogu oluşturduktan sonra, beğendiğiniz içeriği kendi sitenizde yeniden bloglayabilirsiniz. + Kullanılabilir WordPress.com blogu yok Neler yeni Bağlantı kopyalandı Bağlantıyı kopyala @@ -1804,13 +1878,17 @@ Language: tr Yeni kart ekle Yeni istatistik kartı ekle Belirli konular hakkında yazılar bulmak için filtre düğmesini kullanın + Etiket veya Blog Seçin, Açılır Pencere Geçerli filtreyi kaldır WordPress.com\'da oturum aç + Abone olduğunuz etiketlerle ilişkili en son gönderileri görmek için WordPress.com\'da oturum açın + Abone olduğunuz bloglardan en son gönderileri görmek için WordPress.com\'da oturum açın Mevcut bloğu değiştir Sona ekle Başa ekle Blok öncesine ekle Blok sonrasına ekle + Etiket ekle Filtrele Video yazısı. %s Videoyu düzenle @@ -2348,6 +2426,7 @@ Language: tr Çok fazla SMS doğrulama kodu gönderimi yaptık. Biraz mola verin ve bir dakika sonra yenisini talep edin. Bu Google hesabıyla eşleşen bir WordPress.com hesabı bulunmuyor. Aramanızla eşleşen site bulunamadı + Aramanızla eşleşen blog yok Üst sayfa değiştirildi Sayfa kalıcı olarak silindi Sayfa zamanlandı @@ -2380,6 +2459,7 @@ Language: tr Şimdi değil Daha fazlası Hiçbir siteniz yok + Beğendiğiniz konularla ilgili gönderileri bulmak için buraya etiket ekleyin Jetpack\'i bağlamak için kullandığınız WordPress.com hesabına giriş yapın. Jetpack Jetpack SSS @@ -2399,6 +2479,7 @@ Language: tr Henüz kullanıcı yok Beğendiğiniz yazılar burada yer alacak Henüz herhangi bir şey beğenilmedi + Blogları Keşfedin Henüz beğeni yok Henüz takipçi yok Ücretsiz bir paket kullandığınız için etkinliklerinizde sınırlı içerik görüyorsunuz. @@ -2463,6 +2544,8 @@ Language: tr bu site Etkinleştir %1$s%2$s%3$s için bildirimler etkinleştirilsin mi? + Blog bildirimlerini aç + Blog bildirimlerini kapat Jetpack simgesi İşlem Etkinlik simgesi @@ -3145,6 +3228,7 @@ Language: tr %1$s kullanıcısını kaldır Rol Kişiler + Bu listedeki bloglarda yakın zamanda herhangi bir gönderi paylaşılmadı Kullanıcı kaldırılamıyor Kullanıcı rolü güncellenemiyor Site izleyicileri getirilemedi @@ -3422,6 +3506,7 @@ Language: tr Görüntüle Yayımla Düzenle + Bu blog bulunamadı Geri al İstek süresi doldu. WordPress.com\'a giriş yaparak tekrar deneyin. Yoksay @@ -3465,6 +3550,7 @@ Language: tr Yazılar alınıyor… Medya alınıyor… Uygulama günlükleri panoya kopyalandı + Bu blog boş Yeni yazılar Metin panoya kopyalanırken bir hata oluştu Yazı yükleniyor @@ -3538,6 +3624,8 @@ Language: tr Bu bloga erişilirken hata ile karşılaşıldı Ortam dosyası geri getirilemedi Uygun durumda şebeke yok + Bu etiket kaldırılamıyor + Bu etiket eklenemiyor Uygulama günlüğü Uygulama veritabanı oluşturulurken hata meydana geldi. Uygulamayı tekrar yüklemeyi deneyin. Bu blog gizli ve yüklenemedi. Ayarlardan yeniden etkinleştirin ve yeniden deneyin. @@ -3599,6 +3687,7 @@ Language: tr %s açılamadı Görsel görüntülenemedi Paylaşılamadı + Bu geçerli bir etiket değil Yorumunuz gönderilemedi Bunu beğendin Bir kişi bunu beğendi diff --git a/WordPress/src/main/res/values-zh-rCN/strings.xml b/WordPress/src/main/res/values-zh-rCN/strings.xml index 81a78c54e08f..f2a73e5c59ed 100644 --- a/WordPress/src/main/res/values-zh-rCN/strings.xml +++ b/WordPress/src/main/res/values-zh-rCN/strings.xml @@ -1,11 +1,82 @@ + 无法加载媒体以进行共享。 请检查此应用程序的权限\n 或使用此应用程序的媒体库。 + 我们现在无法打开站点监控。 请稍后再试 + Web 服务器日志 + PHP 日志 + 指标 + 站点监控 + 使用“<b>发现</b>”查找站点和标签。 尝试选择“<b>订阅</b>”,以查看订阅的内容,并管理您的订阅。 + 前往“订阅” + 您订阅的博客最近未发布任何内容 + 在“搜索”中订阅博客,或者搜索一个您已点赞过的博客。 + 无推荐博客 + 无订阅的标签 + 无包含此标签的文章 + 无法阻止此博客 + 此博客中的文章不会再显示 + 无法退订博客 + 您无权访问此博客 + 无法订阅此博客 + 您已订阅此博客 + 无法显示此博客 + 您已订阅此标签 + 选择您的兴趣 + 1 位订阅者 + %s 位订阅者 + %,d 位订阅者 + 已订阅博客 + 搜索已订阅的博客 + 输入要订阅的 URL 或标签 + 已订阅 + 订阅 + 阻止此博客 + 编辑标签和博客 + 已订阅的博客 + 已订阅的标签 + 关注标签 + 管理标签和博客 + 标签 + 读者博客 + 已订阅 + %d 个标签 + 1 个标签 + 0 个标签 + %d 个博客 + 1 个博客 + 0 个博客 + 列表 + 已点赞 + 已保存 + 订阅 + 发现 + 搜索 + 订阅标签 + 尝试订阅更多标签,以扩大搜索范围 + 订阅标签以发现新的博客 + 要订阅的博客 + 订阅一个标签 + 建议标签 + 搜索博客 + 订阅一个标签,您就能在此处看到该标签下的最佳文章。 + 无标签 + 在“发现”中订阅博客,您就能在此处看到他们的最新文章。 或者搜索一个您已点赞过的博客。 + 无博客订阅 + 订阅博客 + 您可以通过添加标签的方式来订阅特定主题的文章 + 查看您所订阅的博客的最新文章 + 按标签筛选 + 按博客筛选 + 按年 + 按月 + 按周 + 按天 正在等待连接 流量 离线工作 @@ -1643,6 +1714,7 @@ Language: zh_CN 移动到草稿 无法编辑已放入回收站的文章。 您想将此文章的状态更改为“草稿”,以便您可以进行编辑? 将文章移动到“草稿”? + 选择您的标签 完成 选择一些以继续 已发布 @@ -1698,6 +1770,9 @@ Language: zh_CN 无法选择站点。请再试一次。 继续 转载失败 + 管理博客 + 创建 WordPress.com 博客之后,您可以将喜欢的内容转载到您自己的站点。 + 无可用的 WordPress.com 博客 新变化 链接地址已复制 复制链接地址 @@ -1796,13 +1871,17 @@ Language: zh_CN 添加新卡片 添加新统计信息卡片 使用“过滤器”按钮查找特定主题的文章 + 选择标签或博客,弹出窗口 删除当前过滤器 登录 WordPress.com + 登录 WordPress.com 以查看您所订阅的标签下的最新文章 + 登录 WordPress.com 以查看您所订阅的博客的最新文章 替换现有区块 添加到结尾 添加到开始 在之前添加区块 在之后添加区块 + 添加标签 过滤器 视频说明。%s 编辑视频 @@ -2339,6 +2418,7 @@ Language: zh_CN 尝试发送短信验证码的次数太多了 - 休息一下,在一分钟后再申请新的短信验证码。 没有与此 Google 账户匹配的 WordPress.com 账户。 没有与您的搜索匹配的站点 + 没有与您的搜索匹配的博客 已更改父页面 已永久删除页面 已预发布页面 @@ -2370,6 +2450,7 @@ Language: zh_CN 现在不行 更多 您没有任何站点 + 在此处添加标签,以查找有关您喜爱的主题的文章 登录用于关联 Jetpack 的 WordPress.com 账户。 Jetpack Jetpack 常见问题解答 @@ -2389,6 +2470,7 @@ Language: zh_CN 尚无用户 您喜欢的文章会显示在这里 暂无喜欢 + 发现博客 尚无喜欢 尚无粉丝 由于您使用的是免费套餐,因此您的活动中显示有限的事件。 @@ -2453,6 +2535,8 @@ Language: zh_CN 此站点 启用 是否为 %1$s%2$s%3$s 启用通知? + 开启博客通知 + 关闭博客通知 Jetpack 图标 事件 活动图标 @@ -3132,6 +3216,7 @@ Language: zh_CN 删除 %1$s 角色 人员 + 此列表中的博客最近未发布任何内容 无法删除用户 无法更新用户角色 无法获取站点查看数 @@ -3409,6 +3494,7 @@ Language: zh_CN 查看 发布 编辑 + 找不到此博客 撤消 请求已过期。请登录 WordPress.com 再试一次。 忽略 @@ -3452,6 +3538,7 @@ Language: zh_CN 正在获取文章… 正在获取媒体… 已将应用程序日志复制到剪贴板 + 此博客没有任何内容 新文章 复制文本到剪贴板时出错 正在上传文章 @@ -3525,6 +3612,8 @@ Language: zh_CN 抱歉,尝试访问该博客时发生错误 抱歉,无法从图库检索该媒体对象 没用可用的网络 + 无法删除此标签 + 无法添加此标签 程序日志 创建程序数据库时出错,请重新安装程序. 这个博客是隐藏的,无法加载。在设置中重新启用它并再次尝试。 @@ -3586,6 +3675,7 @@ Language: zh_CN 无法打开 %s 无法查看图片 无法分享 + 该标签无效 无法发表评论 您喜欢了 1人喜欢了 diff --git a/WordPress/src/main/res/values-zh-rHK/strings.xml b/WordPress/src/main/res/values-zh-rHK/strings.xml index d888de67af83..5d1a9a338c0b 100644 --- a/WordPress/src/main/res/values-zh-rHK/strings.xml +++ b/WordPress/src/main/res/values-zh-rHK/strings.xml @@ -1,11 +1,83 @@ + 無法載入媒體供分享。 請檢查應用程式權限\n 或使用應用程式的媒體庫。 + 目前我們無法開啟網站監控。 請稍後再試一次 + 網頁伺服器記錄 + PHP 記錄 + 指標 + 網站監控 + 使用<b>探索</b>功能來找出網站和分頁。 嘗試選取<b>訂閱</b>,即可檢視已訂閱的內容並管理訂閱項目。 + 前往訂閱 + 你訂閱的網誌最近未張貼任何文章 + 訂閱「探索」中的網誌或搜尋你已按讚的網誌。 + 沒有推薦的網誌 + 沒有訂閱的標籤 + 沒有任何含有此標籤的文章 + 無法封鎖此網誌 + 將不再顯示此網誌的文章 + 無法將網誌取消訂閱 + 你沒有存取此網誌的權限 + 無法訂閱此網誌 + 你已訂閱此網誌 + 無法顯示此網誌 + 你已訂閱此標籤 + 選擇你的興趣 + 1 名訂閱者 + %s 名訂閱者 + %,d 名訂閱者 + 網誌已訂閱 + 搜尋已訂閱的網誌 + 輸入要訂閱的 URL 或標籤 + 已訂閱 + 訂閱 + 封鎖此網誌 + 編輯標籤和網誌 + 已訂閱的網誌 + 已訂閱的標籤 + 關注標籤 + 管理標籤和網誌 + 標籤 + 讀者網誌 + 已訂閱 + %d 個標籤 + 1 個標籤 + 0 個標籤 + %d 個網誌 + 1 個網誌 + 0 個網誌 + 清單 + Automattic + 已按讚 + 已儲存 + 訂閱 + 探索 + 搜尋 + 訂閱標籤 + 嘗試訂閱更多標籤,即可擴大搜尋範圍 + 訂閱標籤即可探索新網誌 + 可訂閱的網誌 + 訂閱標籤 + 已建議的標籤 + 搜尋網誌 + 只要訂閱標籤,就能從此處看到最佳文章。 + 無標籤 + 在「探索」中訂閱網誌,就會於此處看到網誌的最新文章。 或者搜尋你已按讚的網誌。 + 無網誌訂閱 + 訂閱網誌 + 你可以新增標籤以訂閱特定主題的文章 + 查看你已訂閱網誌的最新文章 + 依標籤篩選 + 依網誌篩選 + 依年份 + 依月 + 依週 + 依天 正在等待連線 流量 離線作業 @@ -1017,7 +1089,7 @@ Language: zh_TW 向前移動圖片 向後移動圖片 寬度設定 - 鏈結 Rel + 連結 rel 屬性 欄位設定 無描述 (未命名) @@ -1645,6 +1717,7 @@ Language: zh_TW 移至草稿 你無法編輯移至垃圾桶的文章。 要將此文章狀態變更為「草稿」以便修正嗎? 是否將文章移至草稿? + 選擇標籤 完成 選取幾項以繼續操作 已發佈 @@ -1700,6 +1773,9 @@ Language: zh_TW 無法選擇網站,請再試一次。 繼續 轉發失敗 + 管理網誌 + 你在建立 WordPress.com 網誌後,就能將喜歡的內容轉貼到自己的網站。 + 無可用的 WordPress.com 網誌 最新內容 已複製連結位址 複製連結位址 @@ -1798,13 +1874,17 @@ Language: zh_TW 新增卡片 新增統計資料卡片 使用篩選按鈕尋找特定主題的文章 + 選取標籤或網誌、快顯視窗 移除目前的篩選條件 登入 WordPress.com + 登入 WordPress.com,查看訂閱標籤的最新文章 + 登入 WordPress.com,查看訂閱網誌的最新文章 取代目前區塊 新增至「結束」 新增至「開始」 在之前新增區塊 在之後新增區塊 + 新增標籤 篩選 視訊標題。%s 編輯視訊 @@ -2342,6 +2422,7 @@ Language: zh_TW 已嘗試傳送 SMS 驗證碼太多次,請稍待片刻,一分鐘後再送出新驗證碼要求。 沒有 WordPress.com 帳號符合此 Google 帳號。 沒有網站符合你的搜尋條件 + 沒有網誌符合你的搜尋條件 頁面上層項目已變更 頁面已永久刪除 頁面已排程 @@ -2373,6 +2454,7 @@ Language: zh_TW 現在不要 更多 你沒有任何網站 + 請在此處新增標籤,尋找有關最愛主題的文章 請登入你用來連結 Jetpack 的 WordPress.com 帳號。 Jetpack Jetpack 常見問題 @@ -2392,6 +2474,7 @@ Language: zh_TW 尚未有使用者 這裡會顯示你按讚的文章 尚未有按讚的文章 + 探索網誌 尚未有人按讚 尚未有關注者 由於你使用免費版方案,你將無法查看所有活動。 @@ -2456,6 +2539,8 @@ Language: zh_TW 此網站 啟用 要啟用 %1$s%2$s%3$s 的通知? + 開啟網誌通知 + 關閉網誌通知 Jetpack 圖示 事件 活動圖示 @@ -3136,6 +3221,7 @@ Language: zh_TW 移除 %1$s 角色 使用者 + 此清單中的網誌最近尚未張貼任何文章 無法移除使用者 無法更新使用者角色 無法擷取網站使用者 @@ -3413,6 +3499,7 @@ Language: zh_TW 檢視 上架 編輯 + 找不到此網誌 復原 要求已到期。登入 WordPress.com 再試一次。 忽略 @@ -3456,6 +3543,7 @@ Language: zh_TW 正在擷取文章… 正在擷取媒體… 應用程式記錄已複製到剪貼簿 + 這個網誌沒有內容 新文章 將文字複製到剪貼簿時發生錯誤 正在上傳文章 @@ -3529,6 +3617,8 @@ Language: zh_TW 存取此網誌時發生錯誤 無法擷取媒體項目 沒有可用的網路 + 無法移除此標籤 + 無法新增此標籤 應用程式記錄檔 建立應用程式資料庫時發生錯誤。請嘗試重新安裝應用程式。 此網誌已隱藏,無法載入。請在設定中啟用網誌,然後再試一次。 @@ -3590,6 +3680,7 @@ Language: zh_TW 無法開啟 %s 無法檢視圖片 無法分享 + 這並非有效的標籤 無法張貼你的回應 你說這個讚 1 人說這個讚 diff --git a/WordPress/src/main/res/values-zh-rTW/strings.xml b/WordPress/src/main/res/values-zh-rTW/strings.xml index d888de67af83..5d1a9a338c0b 100644 --- a/WordPress/src/main/res/values-zh-rTW/strings.xml +++ b/WordPress/src/main/res/values-zh-rTW/strings.xml @@ -1,11 +1,83 @@ + 無法載入媒體供分享。 請檢查應用程式權限\n 或使用應用程式的媒體庫。 + 目前我們無法開啟網站監控。 請稍後再試一次 + 網頁伺服器記錄 + PHP 記錄 + 指標 + 網站監控 + 使用<b>探索</b>功能來找出網站和分頁。 嘗試選取<b>訂閱</b>,即可檢視已訂閱的內容並管理訂閱項目。 + 前往訂閱 + 你訂閱的網誌最近未張貼任何文章 + 訂閱「探索」中的網誌或搜尋你已按讚的網誌。 + 沒有推薦的網誌 + 沒有訂閱的標籤 + 沒有任何含有此標籤的文章 + 無法封鎖此網誌 + 將不再顯示此網誌的文章 + 無法將網誌取消訂閱 + 你沒有存取此網誌的權限 + 無法訂閱此網誌 + 你已訂閱此網誌 + 無法顯示此網誌 + 你已訂閱此標籤 + 選擇你的興趣 + 1 名訂閱者 + %s 名訂閱者 + %,d 名訂閱者 + 網誌已訂閱 + 搜尋已訂閱的網誌 + 輸入要訂閱的 URL 或標籤 + 已訂閱 + 訂閱 + 封鎖此網誌 + 編輯標籤和網誌 + 已訂閱的網誌 + 已訂閱的標籤 + 關注標籤 + 管理標籤和網誌 + 標籤 + 讀者網誌 + 已訂閱 + %d 個標籤 + 1 個標籤 + 0 個標籤 + %d 個網誌 + 1 個網誌 + 0 個網誌 + 清單 + Automattic + 已按讚 + 已儲存 + 訂閱 + 探索 + 搜尋 + 訂閱標籤 + 嘗試訂閱更多標籤,即可擴大搜尋範圍 + 訂閱標籤即可探索新網誌 + 可訂閱的網誌 + 訂閱標籤 + 已建議的標籤 + 搜尋網誌 + 只要訂閱標籤,就能從此處看到最佳文章。 + 無標籤 + 在「探索」中訂閱網誌,就會於此處看到網誌的最新文章。 或者搜尋你已按讚的網誌。 + 無網誌訂閱 + 訂閱網誌 + 你可以新增標籤以訂閱特定主題的文章 + 查看你已訂閱網誌的最新文章 + 依標籤篩選 + 依網誌篩選 + 依年份 + 依月 + 依週 + 依天 正在等待連線 流量 離線作業 @@ -1017,7 +1089,7 @@ Language: zh_TW 向前移動圖片 向後移動圖片 寬度設定 - 鏈結 Rel + 連結 rel 屬性 欄位設定 無描述 (未命名) @@ -1645,6 +1717,7 @@ Language: zh_TW 移至草稿 你無法編輯移至垃圾桶的文章。 要將此文章狀態變更為「草稿」以便修正嗎? 是否將文章移至草稿? + 選擇標籤 完成 選取幾項以繼續操作 已發佈 @@ -1700,6 +1773,9 @@ Language: zh_TW 無法選擇網站,請再試一次。 繼續 轉發失敗 + 管理網誌 + 你在建立 WordPress.com 網誌後,就能將喜歡的內容轉貼到自己的網站。 + 無可用的 WordPress.com 網誌 最新內容 已複製連結位址 複製連結位址 @@ -1798,13 +1874,17 @@ Language: zh_TW 新增卡片 新增統計資料卡片 使用篩選按鈕尋找特定主題的文章 + 選取標籤或網誌、快顯視窗 移除目前的篩選條件 登入 WordPress.com + 登入 WordPress.com,查看訂閱標籤的最新文章 + 登入 WordPress.com,查看訂閱網誌的最新文章 取代目前區塊 新增至「結束」 新增至「開始」 在之前新增區塊 在之後新增區塊 + 新增標籤 篩選 視訊標題。%s 編輯視訊 @@ -2342,6 +2422,7 @@ Language: zh_TW 已嘗試傳送 SMS 驗證碼太多次,請稍待片刻,一分鐘後再送出新驗證碼要求。 沒有 WordPress.com 帳號符合此 Google 帳號。 沒有網站符合你的搜尋條件 + 沒有網誌符合你的搜尋條件 頁面上層項目已變更 頁面已永久刪除 頁面已排程 @@ -2373,6 +2454,7 @@ Language: zh_TW 現在不要 更多 你沒有任何網站 + 請在此處新增標籤,尋找有關最愛主題的文章 請登入你用來連結 Jetpack 的 WordPress.com 帳號。 Jetpack Jetpack 常見問題 @@ -2392,6 +2474,7 @@ Language: zh_TW 尚未有使用者 這裡會顯示你按讚的文章 尚未有按讚的文章 + 探索網誌 尚未有人按讚 尚未有關注者 由於你使用免費版方案,你將無法查看所有活動。 @@ -2456,6 +2539,8 @@ Language: zh_TW 此網站 啟用 要啟用 %1$s%2$s%3$s 的通知? + 開啟網誌通知 + 關閉網誌通知 Jetpack 圖示 事件 活動圖示 @@ -3136,6 +3221,7 @@ Language: zh_TW 移除 %1$s 角色 使用者 + 此清單中的網誌最近尚未張貼任何文章 無法移除使用者 無法更新使用者角色 無法擷取網站使用者 @@ -3413,6 +3499,7 @@ Language: zh_TW 檢視 上架 編輯 + 找不到此網誌 復原 要求已到期。登入 WordPress.com 再試一次。 忽略 @@ -3456,6 +3543,7 @@ Language: zh_TW 正在擷取文章… 正在擷取媒體… 應用程式記錄已複製到剪貼簿 + 這個網誌沒有內容 新文章 將文字複製到剪貼簿時發生錯誤 正在上傳文章 @@ -3529,6 +3617,8 @@ Language: zh_TW 存取此網誌時發生錯誤 無法擷取媒體項目 沒有可用的網路 + 無法移除此標籤 + 無法新增此標籤 應用程式記錄檔 建立應用程式資料庫時發生錯誤。請嘗試重新安裝應用程式。 此網誌已隱藏,無法載入。請在設定中啟用網誌,然後再試一次。 @@ -3590,6 +3680,7 @@ Language: zh_TW 無法開啟 %s 無法檢視圖片 無法分享 + 這並非有效的標籤 無法張貼你的回應 你說這個讚 1 人說這個讚 From dc245ab3ab3319308b7fef45d936fa4d49155ae6 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Fri, 16 Feb 2024 15:28:24 +0000 Subject: [PATCH 140/170] Bump version number --- version.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.properties b/version.properties index 67e16033cfed..62a3ed5ba2e0 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -versionName=24.2-rc-2 -versionCode=1408 \ No newline at end of file +versionName=24.2 +versionCode=1409 \ No newline at end of file From 5675f764b721185661df110e02b6be8313098490 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Fri, 16 Feb 2024 15:28:29 +0000 Subject: [PATCH 141/170] Update WordPress metadata translations for 24.2 --- fastlane/metadata/android/ar/changelogs/1406.txt | 5 ----- fastlane/metadata/android/de-DE/changelogs/1406.txt | 5 ----- fastlane/metadata/android/en-US/changelogs/1406.txt | 4 ---- fastlane/metadata/android/en-US/changelogs/1409.txt | 2 ++ fastlane/metadata/android/es-ES/changelogs/1406.txt | 5 ----- fastlane/metadata/android/fr-CA/changelogs/1406.txt | 5 ----- fastlane/metadata/android/fr-FR/changelogs/1406.txt | 5 ----- fastlane/metadata/android/id/changelogs/1406.txt | 5 ----- fastlane/metadata/android/it-IT/changelogs/1406.txt | 5 ----- fastlane/metadata/android/iw-IL/changelogs/1406.txt | 5 ----- fastlane/metadata/android/ja-JP/changelogs/1406.txt | 5 ----- fastlane/metadata/android/ko-KR/changelogs/1406.txt | 5 ----- fastlane/metadata/android/nl-NL/changelogs/1406.txt | 5 ----- fastlane/metadata/android/ru-RU/changelogs/1406.txt | 5 ----- fastlane/metadata/android/sv-SE/changelogs/1406.txt | 5 ----- fastlane/metadata/android/tr-TR/changelogs/1406.txt | 5 ----- fastlane/metadata/android/zh-CN/changelogs/1406.txt | 5 ----- fastlane/metadata/android/zh-TW/changelogs/1406.txt | 5 ----- 18 files changed, 2 insertions(+), 84 deletions(-) delete mode 100644 fastlane/metadata/android/ar/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/de-DE/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/en-US/changelogs/1406.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/1409.txt delete mode 100644 fastlane/metadata/android/es-ES/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/fr-CA/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/fr-FR/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/id/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/it-IT/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/iw-IL/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/ja-JP/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/ko-KR/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/nl-NL/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/ru-RU/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/sv-SE/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/tr-TR/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/zh-CN/changelogs/1406.txt delete mode 100644 fastlane/metadata/android/zh-TW/changelogs/1406.txt diff --git a/fastlane/metadata/android/ar/changelogs/1406.txt b/fastlane/metadata/android/ar/changelogs/1406.txt deleted file mode 100644 index ebfc445a886d..000000000000 --- a/fastlane/metadata/android/ar/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- تلقَّ تنبيهات عندما تعمل من دون اتصال بالإنترنت. -- تتوقف عمليات رفع مكوّنات الصور مؤقتًا عندما تفقد الاتصال بالإنترنت ويتم استئنافها عند إعادة الاتصال. -- حدد تدرجًا مخصصًا في المحرر وشاهد مؤشر اللون. -- يكون سهما "إلى الأمام" و"إلى الخلف" صحيحين للقراء من اليمين إلى اليسار. diff --git a/fastlane/metadata/android/de-DE/changelogs/1406.txt b/fastlane/metadata/android/de-DE/changelogs/1406.txt deleted file mode 100644 index b15fbce878ef..000000000000 --- a/fastlane/metadata/android/de-DE/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- Du wirst benachrichtigt, wenn du offline arbeitest. -- Uploads auf Bildblöcke werden pausiert, wenn deine Internetverbindung unterbrochen ist, und fortgesetzt, sobald die Verbindung wiederhergestellt ist. -- Du kannst im Editor einen individuellen Verlauf auswählen und erhältst einen Farbhinweis. -- Die Pfeile für vor und zurück sind bei Rechts-nach-Links-Sprachen richtig. diff --git a/fastlane/metadata/android/en-US/changelogs/1406.txt b/fastlane/metadata/android/en-US/changelogs/1406.txt deleted file mode 100644 index ab3a2cba51aa..000000000000 --- a/fastlane/metadata/android/en-US/changelogs/1406.txt +++ /dev/null @@ -1,4 +0,0 @@ -- Get notified when you’re working offline. -- Image block uploads pause when you lose internet and resume when you reconnect. -- Select a custom gradient in the editor and see a color indicator. -- “Forward” and “back” arrows are correct for right-to-left readers. diff --git a/fastlane/metadata/android/en-US/changelogs/1409.txt b/fastlane/metadata/android/en-US/changelogs/1409.txt new file mode 100644 index 000000000000..d4aea576c6dd --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/1409.txt @@ -0,0 +1,2 @@ +* [**] Fix editor crash occurring on large posts [https://github.com/wordpress-mobile/WordPress-Android/pull/20046] +* [**] Prevent images from temporarily disappearing when uploading media [https://github.com/WordPress/gutenberg/pull/57869] diff --git a/fastlane/metadata/android/es-ES/changelogs/1406.txt b/fastlane/metadata/android/es-ES/changelogs/1406.txt deleted file mode 100644 index 9531126af905..000000000000 --- a/fastlane/metadata/android/es-ES/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -2.4.1: -- Recibe avisos cuando estés trabajando desconectado. -- Las subidas al bloque de imagen que se pausan cuando pierdes la conexión a Internet y se reanudan cuando vuelves a conectar. -- Selecciona un gradiente personalizado en el editor y verás un indicador de color. -- Las flechas de «adelante» y «atrás» ahora están correctamente para lectores de derecha a izquierda. diff --git a/fastlane/metadata/android/fr-CA/changelogs/1406.txt b/fastlane/metadata/android/fr-CA/changelogs/1406.txt deleted file mode 100644 index 0a7d474c1667..000000000000 --- a/fastlane/metadata/android/fr-CA/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1 : -- Recevez une notification lorsque vous travaillez hors ligne. -- Les mises en ligne de blocs Image sont suspendues en cas de perte de votre connexion Internet et reprennent dès reconnexion. -- Sélectionnez un dégradé personnalisé dans l’éditeur, un indicateur de couleur apparaît. -- Les flèches s’affichent dans le bon sens pour les lecteurs de langues RTL. diff --git a/fastlane/metadata/android/fr-FR/changelogs/1406.txt b/fastlane/metadata/android/fr-FR/changelogs/1406.txt deleted file mode 100644 index 0a7d474c1667..000000000000 --- a/fastlane/metadata/android/fr-FR/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1 : -- Recevez une notification lorsque vous travaillez hors ligne. -- Les mises en ligne de blocs Image sont suspendues en cas de perte de votre connexion Internet et reprennent dès reconnexion. -- Sélectionnez un dégradé personnalisé dans l’éditeur, un indicateur de couleur apparaît. -- Les flèches s’affichent dans le bon sens pour les lecteurs de langues RTL. diff --git a/fastlane/metadata/android/id/changelogs/1406.txt b/fastlane/metadata/android/id/changelogs/1406.txt deleted file mode 100644 index a68b18255349..000000000000 --- a/fastlane/metadata/android/id/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- Dapatkan pemberitahuan ketika Anda sedang offline. -- Pengunggahan ke blok gambar dijeda saat internet terputus dan dilanjutkan saat internet tersambung kembali. -- Pilih gradien kustom di editor dan lihat indikator warna. -- Panah “maju” dan “mundur” sudah sesuai untuk pembaca tulisan dari kanan ke kiri. diff --git a/fastlane/metadata/android/it-IT/changelogs/1406.txt b/fastlane/metadata/android/it-IT/changelogs/1406.txt deleted file mode 100644 index aa03b6d9095f..000000000000 --- a/fastlane/metadata/android/it-IT/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- Ricevi notifiche mentre lavori offline. -- I caricamenti del blocco immagine vengono messi in pausa quando perdi la connessione internet e ripresi quando ti riconnetti. -- Seleziona un gradiente personalizzato nell'editor e vedi un indicatore di colore. -- Sono state sistemate le frecce avanti/indietro per chi legge da destra verso sinistra. diff --git a/fastlane/metadata/android/iw-IL/changelogs/1406.txt b/fastlane/metadata/android/iw-IL/changelogs/1406.txt deleted file mode 100644 index aff27d0f1f43..000000000000 --- a/fastlane/metadata/android/iw-IL/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- לקבל הודעה כאשר העבודה מתבצעת באופן לא מקוון. -- העלאות של הבלוק 'תמונה' מושהות אם החיבור לאינטרנט אובד וממשיכות שוב לאחר ההתחברות מחדש. -- ניתן לבחור מעבר צבע מותאם אישית בעורך ולראות סמן צבע. -- החצים 'קדימה' ו'חזרה' מוצגים בצורה נכונה לקוראי שפות עם כיווניות מימין לשמאל. diff --git a/fastlane/metadata/android/ja-JP/changelogs/1406.txt b/fastlane/metadata/android/ja-JP/changelogs/1406.txt deleted file mode 100644 index c522eb94b342..000000000000 --- a/fastlane/metadata/android/ja-JP/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- オフラインで作業しているときに通知を受け取ります。 -- 画像ブロックのアップロードは、インターネットが切断されると一時停止され、再度接続すると再開します。 -- エディターでカスタムグラデーションを選択すると、カラーインジケーターが表示されます。 -- 右から左方向に読むリーダーの「左」と「右」向きの矢印が修正されています。 diff --git a/fastlane/metadata/android/ko-KR/changelogs/1406.txt b/fastlane/metadata/android/ko-KR/changelogs/1406.txt deleted file mode 100644 index fa1b471eda61..000000000000 --- a/fastlane/metadata/android/ko-KR/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- 오프라인으로 작업할 때 알림을 받으세요. -- 인터넷 연결이 끊어지면 이미지 블록 업로드도 일시 중지되었다가 다시 연결되면 재개됩니다. -- 편집기에서 사용자 정의 그레이디언트를 선택하고 색 표시기를 확인하세요. -- 오른쪽에서 왼쪽으로 읽는 독자를 위해 "앞으로" 및 "뒤로" 화살표를 수정했습니다. diff --git a/fastlane/metadata/android/nl-NL/changelogs/1406.txt b/fastlane/metadata/android/nl-NL/changelogs/1406.txt deleted file mode 100644 index 931eff17193f..000000000000 --- a/fastlane/metadata/android/nl-NL/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- Krijg een melding wanneer je offline werkt. -- Uploads naar het afbeeldingblok pauzeren wanneer je geen verbinding meer hebt met het internet en hervatten wanneer je weer verbinding hebt. -- Selecteer een aangepast kleurverloop in de editor en zie een kleurenindicator. -- De pijlen verder/terug kloppen voor lezers die van rechts naar links lezen. diff --git a/fastlane/metadata/android/ru-RU/changelogs/1406.txt b/fastlane/metadata/android/ru-RU/changelogs/1406.txt deleted file mode 100644 index 6b63dc27bf79..000000000000 --- a/fastlane/metadata/android/ru-RU/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- Получайте уведомления о том, что связь прервалась. -- Загрузка блока изображений приостанавливается при прерывании связи и возобновляется после восстановления. -- Выберите пользовательский градиент в редакторе и сверяйтесь с индикатором цвета. -- Исправлены стрелки вперёд/назад для языков с письмом справа налево. diff --git a/fastlane/metadata/android/sv-SE/changelogs/1406.txt b/fastlane/metadata/android/sv-SE/changelogs/1406.txt deleted file mode 100644 index 495622d8efc5..000000000000 --- a/fastlane/metadata/android/sv-SE/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- Få notiser när du arbetar offline. -- Bildblocksuppladdningar pausas när din internetanslutning försvinner och återupptas när du återansluter. -- Välj en anpassad gradient i redigeraren och en färgindikator. -- Framåt- och bakåtpilarna är korrekta för höger-till-vänster-läsare. diff --git a/fastlane/metadata/android/tr-TR/changelogs/1406.txt b/fastlane/metadata/android/tr-TR/changelogs/1406.txt deleted file mode 100644 index cc0850ec0231..000000000000 --- a/fastlane/metadata/android/tr-TR/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- Çevrimdışı çalışırken bildirim alın. -- İnternet bağlantınız kesildiğinde görsel bloku yüklemeleri durur ve yeniden bağlandığınızda devam eder. -- Düzenleyicide özel bir gradyan seçin ve renk göstergesini görün. -- "İleri" ve "geri" okları, sağdan sola okuyucular için doğrudur. diff --git a/fastlane/metadata/android/zh-CN/changelogs/1406.txt b/fastlane/metadata/android/zh-CN/changelogs/1406.txt deleted file mode 100644 index e832f3152585..000000000000 --- a/fastlane/metadata/android/zh-CN/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- 在离线工作时获得通知。 -- 互联网断开时,图像区块将暂停上传,重新连接后即会恢复。 -- 在编辑器中选择自定义渐变,就能看到颜色指示器。 -- “前进”和“后退”箭头已纠正,适用于从右向左的阅读器。 diff --git a/fastlane/metadata/android/zh-TW/changelogs/1406.txt b/fastlane/metadata/android/zh-TW/changelogs/1406.txt deleted file mode 100644 index 12e271deb010..000000000000 --- a/fastlane/metadata/android/zh-TW/changelogs/1406.txt +++ /dev/null @@ -1,5 +0,0 @@ -24.1: -- 可在離線工作時收到通知。 -- 網際網路連線中斷時,系統會暫停上傳圖片區塊,恢復連線時就會繼續上傳。 -- 可在編輯器中選取自訂漸層,並查看顏色標記。 -- 為閱讀由右向左文字的讀者提供正確的「下一步」與「上一步」箭頭。 From 40ae5a14119d3eea3f91af7381ab38212026323a Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Fri, 16 Feb 2024 15:28:32 +0000 Subject: [PATCH 142/170] Update Jetpack metadata translations for 24.2 --- fastlane/jetpack_metadata/android/ar/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/de-DE/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/en-US/changelogs/1406.txt | 6 ------ .../jetpack_metadata/android/en-US/changelogs/1409.txt | 4 ++++ .../jetpack_metadata/android/es-ES/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/fr-FR/changelogs/1406.txt | 7 ------- fastlane/jetpack_metadata/android/id/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/it-IT/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/iw-IL/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/ja-JP/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/ko-KR/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/nl-NL/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/pt-BR/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/ru-RU/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/sv-SE/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/tr-TR/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/zh-CN/changelogs/1406.txt | 7 ------- .../jetpack_metadata/android/zh-TW/changelogs/1406.txt | 7 ------- 18 files changed, 4 insertions(+), 118 deletions(-) delete mode 100644 fastlane/jetpack_metadata/android/ar/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/de-DE/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/en-US/changelogs/1406.txt create mode 100644 fastlane/jetpack_metadata/android/en-US/changelogs/1409.txt delete mode 100644 fastlane/jetpack_metadata/android/es-ES/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/fr-FR/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/id/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/it-IT/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/iw-IL/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/ja-JP/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/ko-KR/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/nl-NL/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/pt-BR/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/ru-RU/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/sv-SE/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/tr-TR/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/zh-CN/changelogs/1406.txt delete mode 100644 fastlane/jetpack_metadata/android/zh-TW/changelogs/1406.txt diff --git a/fastlane/jetpack_metadata/android/ar/changelogs/1406.txt b/fastlane/jetpack_metadata/android/ar/changelogs/1406.txt deleted file mode 100644 index 7537a926ff22..000000000000 --- a/fastlane/jetpack_metadata/android/ar/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- تلقَّ تنبيهات عندما تعمل من دون اتصال بالإنترنت. -- تتوقف عمليات رفع مكوّنات الصور مؤقتًا أو يتم استئنافها عند الاتصال بالإنترنت. -- تعرَّف على عمليات تحديد التدرجات المخصصة في المحرر. -- تم إصلاح سهمي إلى الأمام/إلى الخلف للقراء من اليمين إلى اليسار. -- تعمل وسوم الموجّه اليومية بشكل صحيح. -- اضغط على بطاقات نطاقات المواقع لإدارة النطاقات. diff --git a/fastlane/jetpack_metadata/android/de-DE/changelogs/1406.txt b/fastlane/jetpack_metadata/android/de-DE/changelogs/1406.txt deleted file mode 100644 index 265ce48eed99..000000000000 --- a/fastlane/jetpack_metadata/android/de-DE/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- Du wirst benachrichtigt, wenn du offline arbeitest. -- Uploads auf Bildblöcke werden abhängig von der Internetverbindung pausiert bzw. fortgesetzt. -- Du kannst im Editor individuelle Verläufe auswählen. -- Die Pfeile für vor und zurück wurden für Rechts-nach-Links-Sprachen korrigiert. -- Schlagwörter zu täglichen Schreibanregungen funktionieren ordnungsgemäß. -- Mit Karten für Website-Domains kannst du deine Domains verwalten. diff --git a/fastlane/jetpack_metadata/android/en-US/changelogs/1406.txt b/fastlane/jetpack_metadata/android/en-US/changelogs/1406.txt deleted file mode 100644 index e7b4006244cd..000000000000 --- a/fastlane/jetpack_metadata/android/en-US/changelogs/1406.txt +++ /dev/null @@ -1,6 +0,0 @@ -- Get notified when you’re working offline. -- Image block uploads pause/resume with internet connection. -- See custom gradient selections in the editor. -- Fixed forward/back arrows for right-to-left readers. -- Daily Prompt tags work properly. -- Tap Site Domain cards to manage domains. diff --git a/fastlane/jetpack_metadata/android/en-US/changelogs/1409.txt b/fastlane/jetpack_metadata/android/en-US/changelogs/1409.txt new file mode 100644 index 000000000000..2a490f10579f --- /dev/null +++ b/fastlane/jetpack_metadata/android/en-US/changelogs/1409.txt @@ -0,0 +1,4 @@ +* [**] Fix editor crash occurring on large posts [https://github.com/wordpress-mobile/WordPress-Android/pull/20046] +* [*] [Jetpack-only] Site Monitoring: Add Metrics, PHP Logs, and Web Server Logs under Site Monitoring [https://github.com/wordpress-mobile/WordPress-Android/issues/20067] +* [**] Prevent images from temporarily disappearing when uploading media [https://github.com/WordPress/gutenberg/pull/57869] +* [***] [Jetpack-only] Reader: introduced new UI/UX for content navigation and filtering [https://github.com/wordpress-mobile/WordPress-Android/pull/19978] diff --git a/fastlane/jetpack_metadata/android/es-ES/changelogs/1406.txt b/fastlane/jetpack_metadata/android/es-ES/changelogs/1406.txt deleted file mode 100644 index cad0782da24e..000000000000 --- a/fastlane/jetpack_metadata/android/es-ES/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- Recibe una notificación cuando estés trabajando y se vaya la conexión. -- Las cargas de bloques de imágenes se dejan en pausa/reanudan con la conexión a Internet. -- Consulta selecciones de gradientes personalizados en el editor. -- Flechas de avance/retroceso fijas para lectores de derecha a izquierda. -- Etiquetas de sugerencias diarias que funcionan correctamente. -- Pulsa en tarjetas de dominio del sitio para gestionar los dominios. diff --git a/fastlane/jetpack_metadata/android/fr-FR/changelogs/1406.txt b/fastlane/jetpack_metadata/android/fr-FR/changelogs/1406.txt deleted file mode 100644 index ccfc33b96627..000000000000 --- a/fastlane/jetpack_metadata/android/fr-FR/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1 : -- Recevez une notification lorsque vous travaillez hors ligne. -- La mise en ligne de blocs Image est suspendue / reprend en fonction de la connexion à Internet. -- Les sélections de dégradé personnalisé sont visibles dans l’éditeur. -- Résolution des problèmes de sens des flèches pour les lecteurs de langues RTL. -- Les étiquettes Suggestion du jour fonctionnent normalement. -- Appuyez sur les cartes Domaine du site pour gérer les domaines. diff --git a/fastlane/jetpack_metadata/android/id/changelogs/1406.txt b/fastlane/jetpack_metadata/android/id/changelogs/1406.txt deleted file mode 100644 index 5d12e672c6a1..000000000000 --- a/fastlane/jetpack_metadata/android/id/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- Dapatkan pemberitahuan ketika Anda bekerja secara offline. -- Pengunggahan ke blok gambar dijeda/dilanjutkan tergantung koneksi internet. -- Lihat pilihan gradien kustom di editor. -- Panah maju/mundur sudah diperbaiki untuk pembaca tulisan dari kanan ke kiri. -- Tag Prompt Harian berfungsi dengan baik. -- Ketuk kartu Domain Situs untuk mengelola domain. diff --git a/fastlane/jetpack_metadata/android/it-IT/changelogs/1406.txt b/fastlane/jetpack_metadata/android/it-IT/changelogs/1406.txt deleted file mode 100644 index 0257d7fc79dd..000000000000 --- a/fastlane/jetpack_metadata/android/it-IT/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- Ricevi notifiche mentre lavori offline. -- I caricamenti del blocco Immagine vengono messi in pausa o ripresi in presenza di una connessione internet. -- Vedi selezioni con gradiente personalizzato nell'editor. -- Sono state sistemate le frecce avanti/indietro per chi legge da destra verso sinistra. -- I tag Impulso giornaliero funzionano correttamente. -- Tocca le schede Dominio del sito per gestire i domini. diff --git a/fastlane/jetpack_metadata/android/iw-IL/changelogs/1406.txt b/fastlane/jetpack_metadata/android/iw-IL/changelogs/1406.txt deleted file mode 100644 index 31a1f64c4056..000000000000 --- a/fastlane/jetpack_metadata/android/iw-IL/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- לקבל הודעה כאשר העבודה מתבצעת באופן לא מקוון. -- העלאות של הבלוק 'תמונה' מושהות/מתחילות מחדש לפי החיבור לאינטרנט. -- להציג מבחר של מעברי צבע מותאמים אישית בעורך. -- תיקנו את החצים קדימה/חזרה לקוראי שפות עם כיווניות מימין לשמאל. -- תגיות של 'הצעת כתיבה יומית' עובדות בצורה תקינה. -- כרטיסים של 'להקיש על דומיין האתר' לניהול דומיינים. diff --git a/fastlane/jetpack_metadata/android/ja-JP/changelogs/1406.txt b/fastlane/jetpack_metadata/android/ja-JP/changelogs/1406.txt deleted file mode 100644 index 9add80ab0b4a..000000000000 --- a/fastlane/jetpack_metadata/android/ja-JP/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- オフラインで作業しているときに通知を受け取ります。 -- 画像ブロックのアップロードはインターネット接続時に一時停止または再開されます。 -- エディターでカスタムグラデーションの選択肢を確認します。 -- 右から左方向に読むリーダーの左と右向きの矢印を修正しました。 -- 今日のお題タグが正しく機能します。 --「サイトドメイン」カードをタップしてドメインを管理します。 diff --git a/fastlane/jetpack_metadata/android/ko-KR/changelogs/1406.txt b/fastlane/jetpack_metadata/android/ko-KR/changelogs/1406.txt deleted file mode 100644 index 2f5543a3454b..000000000000 --- a/fastlane/jetpack_metadata/android/ko-KR/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- 오프라인으로 작업할 때 알림을 받으세요. -- 이미지 블록 업로드가 인터넷 연결에 따라 일시 중지/재개됩니다. -- 편집기에서 사용자 정의 그레이디언트 선택을 확인하세요. -- 오른쪽에서 왼쪽으로 읽는 독자를 위해 앞으로/뒤로 화살표를 수정했습니다. -- 일일 프롬프트 태그가 제대로 작동합니다. -- 도메인을 관리하려면 사이트 도메인 카드를 누르세요. diff --git a/fastlane/jetpack_metadata/android/nl-NL/changelogs/1406.txt b/fastlane/jetpack_metadata/android/nl-NL/changelogs/1406.txt deleted file mode 100644 index 2185243ee8f3..000000000000 --- a/fastlane/jetpack_metadata/android/nl-NL/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- Krijg een melding wanneer je offline werkt. -- Pauzeer/hervat uploads naar het afbeeldingblok wanneer de internetverbinding wordt verbroken/opnieuw wordt gemaakt. -- Geef aangepaste kleurverloopselecties weer in de editor. -- De pijlen verder/terug zijn gerepareerd voor lezers die van rechts naar links lezen. -- Tags voor dagelijkse opdracht werken weer als normaal. -- Tik op Sitedomeinkaarten om domeinen te beheren. diff --git a/fastlane/jetpack_metadata/android/pt-BR/changelogs/1406.txt b/fastlane/jetpack_metadata/android/pt-BR/changelogs/1406.txt deleted file mode 100644 index 56afe1eb70be..000000000000 --- a/fastlane/jetpack_metadata/android/pt-BR/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- Saiba quando estiver trabalhando offline. -- Pause/retome uploads em blocos de imagem conforme a conexão com a Internet. -- Veja seleções de gradientes personalizados no editor. -- Corrigimos as setas de avançar/voltar para idiomas RTL. -- Corrigimos o funcionamento das tags da Sugestão diária. -- Toque nos cartões de domínio do site para gerenciar os domínios. diff --git a/fastlane/jetpack_metadata/android/ru-RU/changelogs/1406.txt b/fastlane/jetpack_metadata/android/ru-RU/changelogs/1406.txt deleted file mode 100644 index f4a72bcd4965..000000000000 --- a/fastlane/jetpack_metadata/android/ru-RU/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- Получайте уведомления о том, что связь прервалась. -- Загрузка блока изображений приостанавливается при прерывании связи и возобновляется после восстановления. -- Выбор пользовательского градиента в редакторе. -- Исправлены стрелки вперёд/назад для языков с письмом справа налево. -- Теги ежедневных подсказок работают исправно. -- Нажимайте карточки доменов сайта, чтобы управлять доменами. diff --git a/fastlane/jetpack_metadata/android/sv-SE/changelogs/1406.txt b/fastlane/jetpack_metadata/android/sv-SE/changelogs/1406.txt deleted file mode 100644 index 2da6b25c5e8d..000000000000 --- a/fastlane/jetpack_metadata/android/sv-SE/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- Få notiser när du arbetar offline. -- Bildblocksuppladdningar pausas/återupptas baserat på din internetanslutning. -- Se anpassade gradientval i redigeraren. -- Fasta framåt-/bakåtpilar för höger-till-vänster-läsare. -- Etiketter för dagliga uppmaningar fungerar korrekt. -- Tryck på webbplatsdomänkorten för att hantera domäner. diff --git a/fastlane/jetpack_metadata/android/tr-TR/changelogs/1406.txt b/fastlane/jetpack_metadata/android/tr-TR/changelogs/1406.txt deleted file mode 100644 index 884a27801155..000000000000 --- a/fastlane/jetpack_metadata/android/tr-TR/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- Çevrimdışı çalışırken bildirim alın. -- Görsel bloku yüklemeleri, internet bağlantısına göre duraklar/devam eder. -- Düzenleyicide özel gradyan seçeneklerini görün. -- İleri/geri okları, sağdan sola okuyucular için düzeltildi. -- Günlük Konu Etiketleri düzgün çalışıyor. -- Alan adlarını yönetmek için Site Alan Adı kartlarına dokunun. diff --git a/fastlane/jetpack_metadata/android/zh-CN/changelogs/1406.txt b/fastlane/jetpack_metadata/android/zh-CN/changelogs/1406.txt deleted file mode 100644 index 23800c5ab24e..000000000000 --- a/fastlane/jetpack_metadata/android/zh-CN/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- 在离线工作时获得通知。 -- 图像区块会在互联网断开/连接时暂停/恢复上传。 -- 在编辑器中查看自定义渐变选择。 -- 前进/后退箭头经过修复,适用于从右向左的阅读器。 -- 每日提示标签正常工作。 -- 轻触站点域名卡片以管理域名。 diff --git a/fastlane/jetpack_metadata/android/zh-TW/changelogs/1406.txt b/fastlane/jetpack_metadata/android/zh-TW/changelogs/1406.txt deleted file mode 100644 index c63654b504fb..000000000000 --- a/fastlane/jetpack_metadata/android/zh-TW/changelogs/1406.txt +++ /dev/null @@ -1,7 +0,0 @@ -24.1: -- 可在離線工作時收到通知。 -- 有網際網路連線時暫停/恢復上傳圖片區塊。 -- 在編輯器中查看選取的自訂漸層。 -- 為閱讀由右向左文字的讀者修正下一步/上一步箭頭。 -- 每日提示標籤現可正常運作。 -- 點選網站網域名稱卡片,即可管理網域。 From a390b00c4911fbd750a8b77b3128f7eb023d44cd Mon Sep 17 00:00:00 2001 From: Oguz Kocer Date: Fri, 16 Feb 2024 13:19:57 -0500 Subject: [PATCH 143/170] Update translations --- WordPress/src/main/res/values-nl/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/res/values-nl/strings.xml b/WordPress/src/main/res/values-nl/strings.xml index cb26bb63cef9..b6c6d7c5270c 100644 --- a/WordPress/src/main/res/values-nl/strings.xml +++ b/WordPress/src/main/res/values-nl/strings.xml @@ -1,6 +1,6 @@ - #FAFAFA + #F2F2F7 #2C2C2E From 62591c6a3387a8242726f57a3917a81e14f6f5b7 Mon Sep 17 00:00:00 2001 From: Danilo Ercoli Date: Mon, 19 Feb 2024 12:21:33 +0100 Subject: [PATCH 154/170] Remove duplicates from the server blogs list if local and remote doesn't match. Remove duplicates from the server blogs list if local and remote doesn't match. This is required because under obscure circumstances the server can return duplicates. We could have modified the function isSameList to eliminate the length check, but it's better to keep it separate since we aim to remove this check as soon as possible. --- .../services/update/ReaderUpdateLogic.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateLogic.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateLogic.java index a9af93b20e15..d7d6febd20dd 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateLogic.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateLogic.java @@ -14,6 +14,7 @@ import org.wordpress.android.datasets.ReaderPostTable; import org.wordpress.android.datasets.ReaderTagTable; import org.wordpress.android.fluxc.store.AccountStore; +import org.wordpress.android.models.ReaderBlog; import org.wordpress.android.models.ReaderBlogList; import org.wordpress.android.models.ReaderTag; import org.wordpress.android.models.ReaderTagList; @@ -321,7 +322,13 @@ private void handleFollowedBlogsResponse(final JSONObject jsonObject) { public void run() { ReaderBlogList serverBlogs = ReaderBlogList.fromJson(jsonObject); ReaderBlogList localBlogs = ReaderBlogTable.getFollowedBlogs(); - + // Remove duplicates from the server blogs list only if local and remote lists don't match. + if (serverBlogs.size() != localBlogs.size()) { + // This is required because under rare circumstances the server can return duplicates. + // We could have modified the function isSameList to eliminate the length check, + // but it's better to keep it separate since we aim to remove this check as soon as possible. + removeDuplicateFromServerResponse(serverBlogs); + } if (!localBlogs.isSameList(serverBlogs)) { // always update the list of followed blogs if there are *any* changes between // server and local (including subscription count, description, etc.) @@ -338,6 +345,20 @@ public void run() { taskCompleted(UpdateTask.FOLLOWED_BLOGS); } + /* This method remove duplicate ReaderBlog from list. */ + private void removeDuplicateFromServerResponse(ReaderBlogList serverBlogs) { + for (int i = 0; i < serverBlogs.size(); i++) { + ReaderBlog outer = serverBlogs.get(i); + for (int j = serverBlogs.size() - 1; j > i; j--) { + ReaderBlog inner = serverBlogs.get(j); + if (outer.blogId == inner.blogId) { + // If the 'id' property is the same, + // remove the later object to avoid duplicates + serverBlogs.remove(j); + } + } + } + } }.start(); } } From 08588e4554f855249f38d3b85dd7c5687d467e7c Mon Sep 17 00:00:00 2001 From: Danilo Ercoli Date: Mon, 19 Feb 2024 16:07:15 +0100 Subject: [PATCH 155/170] Rename 'removeDuplicateBlogs' to something more generic and move it outside of the Thread object --- .../services/update/ReaderUpdateLogic.java | 47 +++++++++++-------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateLogic.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateLogic.java index d7d6febd20dd..cde09194380f 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateLogic.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/services/update/ReaderUpdateLogic.java @@ -2,6 +2,8 @@ import android.content.Context; +import androidx.annotation.NonNull; + import com.android.volley.VolleyError; import com.wordpress.rest.RestRequest; @@ -322,13 +324,12 @@ private void handleFollowedBlogsResponse(final JSONObject jsonObject) { public void run() { ReaderBlogList serverBlogs = ReaderBlogList.fromJson(jsonObject); ReaderBlogList localBlogs = ReaderBlogTable.getFollowedBlogs(); - // Remove duplicates from the server blogs list only if local and remote lists don't match. - if (serverBlogs.size() != localBlogs.size()) { - // This is required because under rare circumstances the server can return duplicates. - // We could have modified the function isSameList to eliminate the length check, - // but it's better to keep it separate since we aim to remove this check as soon as possible. - removeDuplicateFromServerResponse(serverBlogs); - } + + // This is required because under rare circumstances the server can return duplicates. + // We could have modified the function isSameList to eliminate the length check, + // but it's better to keep it separate since we aim to remove this check as soon as possible. + removeDuplicateBlogs(serverBlogs); + if (!localBlogs.isSameList(serverBlogs)) { // always update the list of followed blogs if there are *any* changes between // server and local (including subscription count, description, etc.) @@ -345,20 +346,26 @@ public void run() { taskCompleted(UpdateTask.FOLLOWED_BLOGS); } - /* This method remove duplicate ReaderBlog from list. */ - private void removeDuplicateFromServerResponse(ReaderBlogList serverBlogs) { - for (int i = 0; i < serverBlogs.size(); i++) { - ReaderBlog outer = serverBlogs.get(i); - for (int j = serverBlogs.size() - 1; j > i; j--) { - ReaderBlog inner = serverBlogs.get(j); - if (outer.blogId == inner.blogId) { - // If the 'id' property is the same, - // remove the later object to avoid duplicates - serverBlogs.remove(j); - } - } + }.start(); + } + + /** + * Remove duplicates from the input list. + * Note that this method modifies the input list. + * + * @param blogList The list of blogs to remove duplicates from. + */ + private void removeDuplicateBlogs(@NonNull ReaderBlogList blogList) { + for (int i = 0; i < blogList.size(); i++) { + ReaderBlog outer = blogList.get(i); + for (int j = blogList.size() - 1; j > i; j--) { + ReaderBlog inner = blogList.get(j); + if (outer.blogId == inner.blogId) { + // If the 'id' property is the same, + // remove the later object to avoid duplicates + blogList.remove(j); } } - }.start(); + } } } From 42354bcc8811e99dea9782692ec56930c64c503c Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Mon, 19 Feb 2024 17:10:56 +0000 Subject: [PATCH 156/170] Bump version number --- version.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.properties b/version.properties index b90452d495f1..6d000f7ebe56 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -versionName=24.2 -versionCode=1410 +versionName=24.3-rc-1 +versionCode=1411 \ No newline at end of file From b7332b67b4b83c621b2e6b900e046efa6f721e8b Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Mon, 19 Feb 2024 17:10:56 +0000 Subject: [PATCH 157/170] Update draft release notes for 24.3. --- WordPress/metadata/release_notes.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WordPress/metadata/release_notes.txt b/WordPress/metadata/release_notes.txt index ec82690d1a47..be8790a36766 100644 --- a/WordPress/metadata/release_notes.txt +++ b/WordPress/metadata/release_notes.txt @@ -1,3 +1,3 @@ -We fixed an issue that made images and other media blink away while being uploaded. Presto, no more disappearing act. +* [**] Added support to use third-party passkey providers and other devices passkeys as a WordPress.com login option [https://github.com/wordpress-mobile/WordPress-Android/pull/20174] +* [*] [Jetpack-only] Fix the visibility issue with the menu button on the stats [https://github.com/wordpress-mobile/WordPress-Android/pull/20175] -The editor won’t crash anymore when you’re working on large posts. That’s right, we’ve saved your drafts and your sanity. From bd68d961f2a9a1aeb3e5d1a7a9e21e9c3bb09613 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Mon, 19 Feb 2024 17:10:56 +0000 Subject: [PATCH 158/170] Update draft release notes for Jetpack 24.3. --- WordPress/jetpack_metadata/release_notes.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/WordPress/jetpack_metadata/release_notes.txt b/WordPress/jetpack_metadata/release_notes.txt index 1f7c6151d46d..be8790a36766 100644 --- a/WordPress/jetpack_metadata/release_notes.txt +++ b/WordPress/jetpack_metadata/release_notes.txt @@ -1,4 +1,3 @@ -- We added a new look and feel for content navigation and filtering. -- Images and other media won’t “blink” during upload. -- The editor won’t crash when you’re working on a large post. -- We added new Site Monitoring menu items like metrics, PHP logs, and web server logs. +* [**] Added support to use third-party passkey providers and other devices passkeys as a WordPress.com login option [https://github.com/wordpress-mobile/WordPress-Android/pull/20174] +* [*] [Jetpack-only] Fix the visibility issue with the menu button on the stats [https://github.com/wordpress-mobile/WordPress-Android/pull/20175] + From e3cea94b1e1374f2c562bb3cac07aa45c6b31386 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Mon, 19 Feb 2024 17:10:56 +0000 Subject: [PATCH 159/170] Release Notes: add new section for next version (24.4) --- RELEASE-NOTES.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index be79913d54c1..77db9de8a38a 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,5 +1,9 @@ *** PLEASE FOLLOW THIS FORMAT: [] [] +24.4 +----- + + 24.3 ----- * [**] Added support to use third-party passkey providers and other devices passkeys as a WordPress.com login option [https://github.com/wordpress-mobile/WordPress-Android/pull/20174] From ee3efa95db5b3577b37ca11bb130625c84aaaef5 Mon Sep 17 00:00:00 2001 From: Oguz Kocer Date: Mon, 19 Feb 2024 12:56:45 -0500 Subject: [PATCH 160/170] Update FluxC version to 2.67.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 1c8b4872bc6c..6f97761b1182 100644 --- a/build.gradle +++ b/build.gradle @@ -25,7 +25,7 @@ ext { automatticTracksVersion = '3.4.0' gutenbergMobileVersion = 'v1.112.0' wordPressAztecVersion = 'v2.0' - wordPressFluxCVersion = 'trunk-ed60798b4d96ec19863c74b0f525e2e20f4525db' + wordPressFluxCVersion = '2.67.0' wordPressLoginVersion = 'trunk-a90b1ce939aba700d822f188d41624385f9c1dce' wordPressPersistentEditTextVersion = '1.0.2' wordPressUtilsVersion = '3.13.0' From fae27dd13814ef426ea28e423045e5c8446f0900 Mon Sep 17 00:00:00 2001 From: Oguz Kocer Date: Mon, 19 Feb 2024 12:57:09 -0500 Subject: [PATCH 161/170] Update login library to 1.14.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 6f97761b1182..c38978d64ec4 100644 --- a/build.gradle +++ b/build.gradle @@ -26,7 +26,7 @@ ext { gutenbergMobileVersion = 'v1.112.0' wordPressAztecVersion = 'v2.0' wordPressFluxCVersion = '2.67.0' - wordPressLoginVersion = 'trunk-a90b1ce939aba700d822f188d41624385f9c1dce' + wordPressLoginVersion = '1.14.0' wordPressPersistentEditTextVersion = '1.0.2' wordPressUtilsVersion = '3.13.0' indexosMediaForMobileVersion = '43a9026f0973a2f0a74fa813132f6a16f7499c3a' From 255ce6a90db9f759796bfc59c79464d0b9ea59af Mon Sep 17 00:00:00 2001 From: Oguz Kocer Date: Mon, 19 Feb 2024 12:58:09 -0500 Subject: [PATCH 162/170] Remove Jetpack-only release notes from WordPress 24.3 release notes --- WordPress/metadata/release_notes.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/WordPress/metadata/release_notes.txt b/WordPress/metadata/release_notes.txt index be8790a36766..d16d3ea03efd 100644 --- a/WordPress/metadata/release_notes.txt +++ b/WordPress/metadata/release_notes.txt @@ -1,3 +1,2 @@ * [**] Added support to use third-party passkey providers and other devices passkeys as a WordPress.com login option [https://github.com/wordpress-mobile/WordPress-Android/pull/20174] -* [*] [Jetpack-only] Fix the visibility issue with the menu button on the stats [https://github.com/wordpress-mobile/WordPress-Android/pull/20175] From bff4d5e232564dae5abbaa47447190a7c379369f Mon Sep 17 00:00:00 2001 From: Oguz Kocer Date: Mon, 19 Feb 2024 14:59:34 -0500 Subject: [PATCH 163/170] Bundle update --- Gemfile.lock | 82 +++++++++++++++++++++++++++------------------------- 1 file changed, 43 insertions(+), 39 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5667a5c2567a..651960877cce 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,9 +1,11 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.6) + CFPropertyList (3.0.7) + base64 + nkf rexml - activesupport (7.1.2) + activesupport (7.1.3) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -19,24 +21,25 @@ GEM ast (2.4.2) atomos (0.1.3) aws-eventstream (1.3.0) - aws-partitions (1.855.0) - aws-sdk-core (3.188.0) - aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (1.894.0) + aws-sdk-core (3.191.2) + aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.5) + aws-sigv4 (~> 1.8) + base64 jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.73.0) - aws-sdk-core (~> 3, >= 3.188.0) + aws-sdk-kms (1.77.0) + aws-sdk-core (~> 3, >= 3.191.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.139.0) - aws-sdk-core (~> 3, >= 3.188.0) + aws-sdk-s3 (1.143.0) + aws-sdk-core (~> 3, >= 3.191.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.6) - aws-sigv4 (1.7.0) + aws-sigv4 (~> 1.8) + aws-sigv4 (1.8.0) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) base64 (0.2.0) - bigdecimal (3.1.4) + bigdecimal (3.1.6) buildkit (1.5.0) sawyer (>= 0.6) chroma (0.2.0) @@ -49,7 +52,7 @@ GEM colored2 (3.1.2) commander (4.6.0) highline (~> 2.0.0) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) connection_pool (2.4.1) cork (0.3.0) colored2 (~> 3.1) @@ -86,19 +89,19 @@ GEM danger rake (> 10) thor (~> 1.0.0) - danger-xcode_summary (1.2.0) + danger-xcode_summary (1.3.0) danger-plugin-api (~> 1.0) xcresult (~> 0.2) declarative (0.0.20) diffy (3.4.2) digest-crc (0.6.5) rake (>= 12.0.0, < 14.0.0) - domain_name (0.6.20231109) + domain_name (0.6.20240107) dotenv (2.8.1) drb (2.2.0) ruby2_keywords emoji_regex (3.2.3) - excon (0.104.0) + excon (0.109.0) faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) @@ -129,8 +132,8 @@ GEM faraday-retry (1.0.3) faraday_middleware (1.2.0) faraday (~> 1.0) - fastimage (2.2.7) - fastlane (2.217.0) + fastimage (2.3.0) + fastlane (2.219.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -149,6 +152,7 @@ GEM gh_inspector (>= 1.1.2, < 2.0.0) google-apis-androidpublisher_v3 (~> 0.3) google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) google-cloud-storage (~> 1.31) highline (~> 2.0) http-cookie (~> 1.0.5) @@ -157,7 +161,7 @@ GEM mini_magick (>= 4.9.4, < 5.0.0) multipart-post (>= 2.0.0, < 3.0.0) naturally (~> 2.2) - optparse (~> 0.1.1) + optparse (>= 0.1.1) plist (>= 3.1.0, < 4.0.0) rubyzip (>= 2.0.0, < 3.0.0) security (= 0.1.3) @@ -170,7 +174,7 @@ GEM xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) - fastlane-plugin-wpmreleasetoolkit (9.2.0) + fastlane-plugin-wpmreleasetoolkit (9.4.0) activesupport (>= 6.1.7.1) buildkit (~> 1.5) chroma (= 0.2.0) @@ -179,7 +183,7 @@ GEM git (~> 1.3) google-cloud-storage (~> 1.31) java-properties (~> 0.3.0) - nokogiri (~> 1.11) + nokogiri (~> 1.11, < 1.16) octokit (~> 6.1) parallel (~> 1.14) plist (~> 3.1) @@ -191,9 +195,9 @@ GEM git (1.19.1) addressable (~> 2.8) rchardet (~> 1.8) - google-apis-androidpublisher_v3 (0.53.0) + google-apis-androidpublisher_v3 (0.54.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-core (0.11.2) + google-apis-core (0.11.3) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -201,24 +205,23 @@ GEM representable (~> 3.0) retriable (>= 2.0, < 4.a) rexml - webrick google-apis-iamcredentials_v1 (0.17.0) google-apis-core (>= 0.11.0, < 2.a) google-apis-playcustomapp_v1 (0.13.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-storage_v1 (0.29.0) + google-apis-storage_v1 (0.31.0) google-apis-core (>= 0.11.0, < 2.a) - google-cloud-core (1.6.0) - google-cloud-env (~> 1.0) + google-cloud-core (1.6.1) + google-cloud-env (>= 1.0, < 3.a) google-cloud-errors (~> 1.0) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) google-cloud-errors (1.3.1) - google-cloud-storage (1.45.0) + google-cloud-storage (1.47.0) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.29.0) + google-apis-storage_v1 (~> 0.31.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) @@ -237,7 +240,8 @@ GEM java-properties (0.3.0) jmespath (1.6.2) json (2.7.1) - jwt (2.7.1) + jwt (2.8.0) + base64 kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) @@ -246,13 +250,14 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.5) - minitest (5.20.0) + minitest (5.22.2) multi_json (1.15.0) multipart-post (2.4.0) mutex_m (0.2.0) nanaimo (0.3.0) nap (1.1.0) naturally (2.2.1) + nkf (0.2.0) no_proxy_fix (0.1.2) nokogiri (1.15.5) mini_portile2 (~> 2.8.2) @@ -262,14 +267,14 @@ GEM sawyer (~> 0.9) open4 (1.3.4) options (2.3.2) - optparse (0.1.1) + optparse (0.4.0) os (1.1.4) ox (2.14.17) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) racc - plist (3.7.0) + plist (3.7.1) progress_bar (1.3.3) highline (>= 1.6, < 3) options (~> 2.3.0) @@ -277,7 +282,7 @@ GEM racc (1.7.3) rainbow (3.1.1) rake (13.1.0) - rake-compiler (1.2.5) + rake-compiler (1.2.7) rake rchardet (1.8.0) regexp_parser (2.9.0) @@ -309,7 +314,7 @@ GEM addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) security (0.1.3) - signet (0.18.0) + signet (0.19.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) @@ -323,16 +328,15 @@ GEM thor (1.0.1) trailblazer-option (0.1.2) tty-cursor (0.7.1) - tty-screen (0.8.1) + tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) tzinfo (2.0.6) concurrent-ruby (~> 1.0) uber (0.1.0) unicode-display_width (2.5.0) - webrick (1.8.1) word_wrap (1.0.0) - xcodeproj (1.23.0) + xcodeproj (1.24.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) From 9371c0e6d6477ca5683ac1db4ac4271d83e367c1 Mon Sep 17 00:00:00 2001 From: Automattic Release Bot Date: Mon, 19 Feb 2024 20:02:27 +0000 Subject: [PATCH 164/170] Freeze strings for translation --- fastlane/resources/values/strings.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fastlane/resources/values/strings.xml b/fastlane/resources/values/strings.xml index 9b1825e36e98..dc4df0c3b0cc 100644 --- a/fastlane/resources/values/strings.xml +++ b/fastlane/resources/values/strings.xml @@ -2869,6 +2869,11 @@ You have active premium upgrades on your site. Please cancel your upgrades prior to deleting your site. Show purchases Checking purchases + Your WordPress.com profile is powered by Gravatar + Updating your avatar, name, and about info here will also update it across all sites that use Gravatar profiles. + What is Gravatar? + Updates might take some time to sync with your Gravatar profile. + Done Account Settings @@ -4880,4 +4885,7 @@ translators: %s: Select control option value e.g: "Auto, 25%". --> PHP Logs Web Server Logs We cannot open site monitoring at the moment. Please try again later + + + Site not found. Check that you are logged into the correct account. From 18f368dd3e07e8ef22b2803d7561d1fc35892fbb Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Tue, 20 Feb 2024 10:02:09 +0100 Subject: [PATCH 165/170] tests: add tests for FeaturesInDevelopmentDefaultsBuilder --- ...eaturesInDevelopmentDefaultsBuilderTest.kt | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt new file mode 100644 index 000000000000..3b0169b671de --- /dev/null +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt @@ -0,0 +1,62 @@ +package org.wordpress.android.processor + +import org.assertj.core.api.Assertions +import org.junit.Test + +class FeaturesInDevelopmentDefaultsBuilderTest { + @Test + fun `given a list of features in development, when building the object, then generate list of features in development`() { + // given + val featureA = "valueA" + val featureB = "valueB" + val features = listOf(featureA, featureB) + + // when + val sut = FeaturesInDevelopmentDefaultsBuilder(features) + + // then + Assertions.assertThat(sut.getContent().toString()).isEqualTo( + """ + // Automatically generated file. DO NOT MODIFY + package org.wordpress.android.util.config + + import kotlin.String + import kotlin.collections.List + + object FeaturesInDevelopment { + val featuresInDevelopment: List = listOf( + "$featureA", + "$featureB" + ) + } + + """.trimIndent() + ) + } + + @Test + fun `given an empty list of features in development, when building the object, then generate empty list of features in development`() { + // given + val features = emptyList() + + // when + val sut = FeaturesInDevelopmentDefaultsBuilder(features) + + // then + Assertions.assertThat(sut.getContent().toString()).isEqualTo( + """ + // Automatically generated file. DO NOT MODIFY + package org.wordpress.android.util.config + + import kotlin.String + import kotlin.collections.List + + object FeaturesInDevelopment { + val featuresInDevelopment: List = listOf( + ) + } + + """.trimIndent() + ) + } +} From 5d3a86ddcd8629308f8675ba4ef94944d0ddc83c Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Tue, 20 Feb 2024 12:31:14 +0100 Subject: [PATCH 166/170] tests: add tests for RemoteFeatureConfigCheckBuilder --- .../RemoteFeatureConfigCheckBuilderTest.kt | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt new file mode 100644 index 000000000000..6d7f906d8d73 --- /dev/null +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt @@ -0,0 +1,53 @@ +package org.wordpress.android.processor + +import com.squareup.kotlinpoet.ClassName +import org.assertj.core.api.Assertions +import org.junit.Test + +class RemoteFeatureConfigCheckBuilderTest { + + @Test + fun `given feature classes, when building config check, then generate the correct checks`() { + // given + val classA = "customClassA" + val classB = "customClassB" + val features = listOf( + ClassName("org.wordpress", listOf(classA)), + ClassName("org.wordpress", listOf(classB)) + ) + + // when + val sut = RemoteFeatureConfigCheckBuilder(features) + + // then + Assertions.assertThat(sut.getContent().toString()).isEqualTo( + """ + // Automatically generated file. DO NOT MODIFY + package org.wordpress.android.util.config + + import org.wordpress.$classA + import org.wordpress.$classB + + class RemoteFeatureConfigCheck( + val appConfig: AppConfig + ) { + val $classA: $classA = $classA(appConfig) + + val $classB: $classB = $classB(appConfig) + + fun checkRemoteFields() { + if ($classA.remoteField == null) { + throw IllegalArgumentException(""${'"'}org.wordpress.$classA needs to define + remoteField""${'"'}) + } + if ($classB.remoteField == null) { + throw IllegalArgumentException(""${'"'}org.wordpress.$classB needs to define + remoteField""${'"'}) + } + } + } + + """.trimIndent() + ) + } +} From b99f498dad0e58c08e10960bcdddae2194466236 Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Tue, 20 Feb 2024 12:39:10 +0100 Subject: [PATCH 167/170] tests: add tests for RemoteFieldConfigDefaults --- .../RemoteFieldConfigDefaultsBuilderTest.kt | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt new file mode 100644 index 000000000000..a3d0d19dba38 --- /dev/null +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt @@ -0,0 +1,66 @@ +package org.wordpress.android.processor + +import org.junit.Assert.* +import org.junit.Test + +class RemoteFieldConfigDefaultsBuilderTest { + + @Test + fun `given a list of remote fields, when building the object, then generate list of remote fields`() { + // given + val keyA = "keyA" + val valueA = "valueA" + val keyB = "keyB" + val valueB = "valueB" + + // when + val sut = RemoteFieldConfigDefaultsBuilder(mapOf(keyA to valueA, keyB to valueB)) + + // then + assertEquals( + """ + // Automatically generated file. DO NOT MODIFY + package org.wordpress.android.util.config + + import kotlin.Any + import kotlin.String + import kotlin.collections.Map + + object RemoteFieldConfigDefaults { + val remoteFieldConfigDefaults: Map = mapOf( + "$keyA" to "$valueA", + "$keyB" to "$valueB" + ) + } + + """.trimIndent(), sut.getContent().toString() + ) + } + + @Test + fun `given an empty list of remote fields, when building the object, then generate empty list of remote fields`() { + // given + val remoteFields = emptyMap() + + // when + val sut = RemoteFieldConfigDefaultsBuilder(remoteFields) + + // then + assertEquals( + """ + // Automatically generated file. DO NOT MODIFY + package org.wordpress.android.util.config + + import kotlin.Any + import kotlin.String + import kotlin.collections.Map + + object RemoteFieldConfigDefaults { + val remoteFieldConfigDefaults: Map = mapOf( + ) + } + + """.trimIndent(), sut.getContent().toString() + ) + } +} From cf2a4ccd1c4bd0592846cc8d3fb74fddab60ac37 Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Tue, 20 Feb 2024 12:52:12 +0100 Subject: [PATCH 168/170] build: bump kotlinpoet to 1.16.0 Address breaking changes --- build.gradle | 2 +- .../processor/FeaturesInDevelopmentDefaultsBuilder.kt | 2 +- .../android/processor/RemoteConfigProcessor.kt | 2 ++ .../processor/RemoteFeatureConfigCheckBuilder.kt | 2 +- .../processor/RemoteFeatureConfigDefaultsBuilder.kt | 2 +- .../processor/RemoteFieldConfigDefaultsBuilder.kt | 2 +- .../FeaturesInDevelopmentDefaultsBuilderTest.kt | 8 ++++---- .../processor/RemoteFeatureConfigCheckBuilderTest.kt | 10 +++++----- .../RemoteFeatureConfigDefaultsBuilderTest.kt | 4 ++-- .../processor/RemoteFieldConfigDefaultsBuilderTest.kt | 8 ++++---- 10 files changed, 22 insertions(+), 20 deletions(-) diff --git a/build.gradle b/build.gradle index c38978d64ec4..eba5484f157b 100644 --- a/build.gradle +++ b/build.gradle @@ -85,7 +85,7 @@ ext { kotlinxCoroutinesVersion = '1.7.3' lottieVersion = '6.1.0' philjayMpAndroidChartVersion = 'v3.1.0' - squareupKotlinPoetVersion = '1.6.0' + squareupKotlinPoetVersion = '1.16.0' squareupOkioVersion = '3.6.0' squareupRetrofitVersion = '2.9.0' uCropVersion = '2.2.8' diff --git a/libs/processors/src/main/java/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilder.kt b/libs/processors/src/main/java/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilder.kt index bf4dc5c4fa73..1f326017947d 100644 --- a/libs/processors/src/main/java/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilder.kt +++ b/libs/processors/src/main/java/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilder.kt @@ -28,7 +28,7 @@ class FeaturesInDevelopmentDefaultsBuilder(private val featuresInDevelopment: Li .build() return FileSpec.builder("org.wordpress.android.util.config", "FeaturesInDevelopment") .addType(remoteConfigDefaults) - .addComment("Automatically generated file. DO NOT MODIFY") + .addFileComment("Automatically generated file. DO NOT MODIFY") .indent(" ") .build() } diff --git a/libs/processors/src/main/java/org/wordpress/android/processor/RemoteConfigProcessor.kt b/libs/processors/src/main/java/org/wordpress/android/processor/RemoteConfigProcessor.kt index 225e133791cb..a8217dd7084f 100644 --- a/libs/processors/src/main/java/org/wordpress/android/processor/RemoteConfigProcessor.kt +++ b/libs/processors/src/main/java/org/wordpress/android/processor/RemoteConfigProcessor.kt @@ -1,6 +1,7 @@ package org.wordpress.android.processor import com.google.auto.service.AutoService +import com.squareup.kotlinpoet.DelicateKotlinPoetApi import com.squareup.kotlinpoet.TypeName import com.squareup.kotlinpoet.asTypeName import org.wordpress.android.annotation.Experiment @@ -26,6 +27,7 @@ import javax.tools.Diagnostic.Kind "org.wordpress.android.annotation.RemoteFieldDefaultGenerater" ) class RemoteConfigProcessor : AbstractProcessor() { + @OptIn(DelicateKotlinPoetApi::class) @Suppress("DEPRECATION") override fun process(p0: MutableSet?, roundEnvironment: RoundEnvironment?): Boolean { val experiments = roundEnvironment?.getElementsAnnotatedWith(Experiment::class.java)?.map { element -> diff --git a/libs/processors/src/main/java/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilder.kt b/libs/processors/src/main/java/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilder.kt index 6bae01db287f..d60995c5586b 100644 --- a/libs/processors/src/main/java/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilder.kt +++ b/libs/processors/src/main/java/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilder.kt @@ -42,7 +42,7 @@ class RemoteFeatureConfigCheckBuilder(private val remoteFeatures: List .build() return FileSpec.builder("org.wordpress.android.util.config", "RemoteFeatureConfigCheck") .addType(remoteFeatureConfigDefaults) - .addComment("Automatically generated file. DO NOT MODIFY") + .addFileComment("Automatically generated file. DO NOT MODIFY") .indent(" ") .build() } diff --git a/libs/processors/src/main/java/org/wordpress/android/processor/RemoteFeatureConfigDefaultsBuilder.kt b/libs/processors/src/main/java/org/wordpress/android/processor/RemoteFeatureConfigDefaultsBuilder.kt index 04a37de19c2e..63769cc3c254 100644 --- a/libs/processors/src/main/java/org/wordpress/android/processor/RemoteFeatureConfigDefaultsBuilder.kt +++ b/libs/processors/src/main/java/org/wordpress/android/processor/RemoteFeatureConfigDefaultsBuilder.kt @@ -31,7 +31,7 @@ class RemoteFeatureConfigDefaultsBuilder(private val defaults: Map .build() return FileSpec.builder("org.wordpress.android.util.config", FILE_NAME) .addType(remoteConfigDefaults) - .addComment("Automatically generated file. DO NOT MODIFY") + .addFileComment("Automatically generated file. DO NOT MODIFY") .indent(" ") .build() } diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt index 3b0169b671de..b36de2efcf86 100644 --- a/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt @@ -23,8 +23,8 @@ class FeaturesInDevelopmentDefaultsBuilderTest { import kotlin.String import kotlin.collections.List - object FeaturesInDevelopment { - val featuresInDevelopment: List = listOf( + public object FeaturesInDevelopment { + public val featuresInDevelopment: List = listOf( "$featureA", "$featureB" ) @@ -51,8 +51,8 @@ class FeaturesInDevelopmentDefaultsBuilderTest { import kotlin.String import kotlin.collections.List - object FeaturesInDevelopment { - val featuresInDevelopment: List = listOf( + public object FeaturesInDevelopment { + public val featuresInDevelopment: List = listOf( ) } diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt index 6d7f906d8d73..3167e653310b 100644 --- a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt @@ -28,14 +28,14 @@ class RemoteFeatureConfigCheckBuilderTest { import org.wordpress.$classA import org.wordpress.$classB - class RemoteFeatureConfigCheck( - val appConfig: AppConfig + public class RemoteFeatureConfigCheck( + public val appConfig: AppConfig, ) { - val $classA: $classA = $classA(appConfig) + public val $classA: $classA = $classA(appConfig) - val $classB: $classB = $classB(appConfig) + public val $classB: $classB = $classB(appConfig) - fun checkRemoteFields() { + public fun checkRemoteFields() { if ($classA.remoteField == null) { throw IllegalArgumentException(""${'"'}org.wordpress.$classA needs to define remoteField""${'"'}) diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigDefaultsBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigDefaultsBuilderTest.kt index ed1837b1d501..e8c6889aa4e6 100644 --- a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigDefaultsBuilderTest.kt +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigDefaultsBuilderTest.kt @@ -24,8 +24,8 @@ class RemoteFeatureConfigDefaultsBuilderTest { import kotlin.String import kotlin.collections.Map - object RemoteFeatureConfigDefaults { - val remoteFeatureConfigDefaults: Map = mapOf( + public object RemoteFeatureConfigDefaults { + public val remoteFeatureConfigDefaults: Map = mapOf( "$keyA" to "$valueA", "$keyB" to "$valueB" ) diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt index a3d0d19dba38..74043be5fc51 100644 --- a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt @@ -26,8 +26,8 @@ class RemoteFieldConfigDefaultsBuilderTest { import kotlin.String import kotlin.collections.Map - object RemoteFieldConfigDefaults { - val remoteFieldConfigDefaults: Map = mapOf( + public object RemoteFieldConfigDefaults { + public val remoteFieldConfigDefaults: Map = mapOf( "$keyA" to "$valueA", "$keyB" to "$valueB" ) @@ -55,8 +55,8 @@ class RemoteFieldConfigDefaultsBuilderTest { import kotlin.String import kotlin.collections.Map - object RemoteFieldConfigDefaults { - val remoteFieldConfigDefaults: Map = mapOf( + public object RemoteFieldConfigDefaults { + public val remoteFieldConfigDefaults: Map = mapOf( ) } From b62d1dd9234aaf178446b46663f469f4b16aa2f8 Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Tue, 20 Feb 2024 13:02:28 +0100 Subject: [PATCH 169/170] style: fix static code analysis --- .../processor/FeaturesInDevelopmentDefaultsBuilderTest.kt | 4 ++-- .../android/processor/RemoteFieldConfigDefaultsBuilderTest.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt index b36de2efcf86..46a4847c3346 100644 --- a/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/FeaturesInDevelopmentDefaultsBuilderTest.kt @@ -5,7 +5,7 @@ import org.junit.Test class FeaturesInDevelopmentDefaultsBuilderTest { @Test - fun `given a list of features in development, when building the object, then generate list of features in development`() { + fun `given a list of features in development, when building the object, then generate the correct list`() { // given val featureA = "valueA" val featureB = "valueB" @@ -35,7 +35,7 @@ class FeaturesInDevelopmentDefaultsBuilderTest { } @Test - fun `given an empty list of features in development, when building the object, then generate empty list of features in development`() { + fun `given an empty list of features in development, when building the object, then generate empty list`() { // given val features = emptyList() diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt index 74043be5fc51..27f9fc6fd39c 100644 --- a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt @@ -1,6 +1,6 @@ package org.wordpress.android.processor -import org.junit.Assert.* +import org.junit.Assert.assertEquals import org.junit.Test class RemoteFieldConfigDefaultsBuilderTest { From ec1baba114bba7d8eb6557fff1f48c581ab8870b Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Tue, 20 Feb 2024 13:11:01 +0100 Subject: [PATCH 170/170] style: fix checkstyle --- .../android/processor/RemoteFeatureConfigCheckBuilderTest.kt | 1 - .../android/processor/RemoteFieldConfigDefaultsBuilderTest.kt | 1 - 2 files changed, 2 deletions(-) diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt index 3167e653310b..ac7e2f8cab6e 100644 --- a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFeatureConfigCheckBuilderTest.kt @@ -5,7 +5,6 @@ import org.assertj.core.api.Assertions import org.junit.Test class RemoteFeatureConfigCheckBuilderTest { - @Test fun `given feature classes, when building config check, then generate the correct checks`() { // given diff --git a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt index 27f9fc6fd39c..c173b0900059 100644 --- a/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt +++ b/libs/processors/src/test/kotlin/org/wordpress/android/processor/RemoteFieldConfigDefaultsBuilderTest.kt @@ -4,7 +4,6 @@ import org.junit.Assert.assertEquals import org.junit.Test class RemoteFieldConfigDefaultsBuilderTest { - @Test fun `given a list of remote fields, when building the object, then generate list of remote fields`() { // given