diff --git a/DEPS b/DEPS index ec6e880..71522a2 100644 --- a/DEPS +++ b/DEPS
@@ -105,6 +105,7 @@ # Bots that don't consume render test goldens can skip downloading # them. + # TODO(crbug.com/1103836): Remove after removing infra/ code. 'skip_render_test_goldens_download': False, # Bots that don't consume WPR archives can skip downloading @@ -203,11 +204,11 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': '9f3f2c24ae4405aea8f4e35cd9e2741e97c0b862', + 'skia_revision': '5f9ba6953f8dcc47aac69b3b212cf5ba7ae62c5a', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'v8_revision': '615ae5f5342ad5ff262494d26287ed403296141c', + 'v8_revision': '8c8f17af29f1a4073630ba7ca924ddb4ca45abd6', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling swarming_client # and whatever else without interference from each other. @@ -215,7 +216,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ANGLE # and whatever else without interference from each other. - 'angle_revision': '8670d6183a8439622e5f4527e4971bafb1a9ffa7', + 'angle_revision': '19a302fca592e3825998b78b7d7d075c51f3c4f6', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. @@ -230,7 +231,7 @@ # # Note this revision should be updated with # third_party/boringssl/roll_boringssl.py, not roll-dep. - 'boringssl_revision': '5656fec512a8dfd2833fbf47b6aaa76364c26fad', + 'boringssl_revision': '3094902fcdc2db2cc832fa854b9a6a8be383926c', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling google-toolbox-for-mac # and whatever else without interference from each other. @@ -278,7 +279,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling devtools-frontend # and whatever else without interference from each other. - 'devtools_frontend_revision': 'bdf70c39ad5a7c1427626768f6efcc031c028b4b', + 'devtools_frontend_revision': '38f2fff09dacc4d9cd0c477893b2a97e50522952', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libprotobuf-mutator # and whatever else without interference from each other. @@ -330,7 +331,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'dawn_revision': '5d8a071433779a3da828e5e8577be8258ef957c3', + 'dawn_revision': '10cb17e079e14f4f9a1bdaea9b46b343c82c4679', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. @@ -369,7 +370,7 @@ 'ukey2_revision': '0275885d8e6038c39b8a8ca55e75d1d4d1727f47', # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'tint_revision': '685cb02ea8d9afbad46d52ccbe4fa3728ac37693', + 'tint_revision': '76d12f0f5a330e613a068059a19915182144069b', # TODO(crbug.com/941824): The values below need to be kept in sync # between //DEPS and //buildtools/DEPS, so if you're updating one, @@ -922,7 +923,7 @@ }, 'src/third_party/depot_tools': - Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '4640dfbfd71908a1e74bf77b0a0ad2fa106114bc', + Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '1ec57124a67c6fd4ea2f2fe9ce9fdb6c31d3fd5d', 'src/third_party/devtools-frontend/src': Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'), @@ -1277,7 +1278,7 @@ Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '3dd5b80bc4f172dd82925bb259cb7c82348409c5', 'src/third_party/openscreen/src': - Var('chromium_git') + '/openscreen' + '@' + '48b4a74d6b80164adc6e5ad14708abe9bd9bcc76', + Var('chromium_git') + '/openscreen' + '@' + '12b95e78a4d536eabc689467bf558652252f39a8', 'src/third_party/openxr/src': { 'url': Var('chromium_git') + '/external/github.com/KhronosGroup/OpenXR-SDK' + '@' + '97cfe495bb7a3853266b646d1c79e169387f9c7a', @@ -1294,7 +1295,7 @@ }, 'src/third_party/perfetto': - Var('android_git') + '/platform/external/perfetto.git' + '@' + '9d937e6cbed635945701f740350e09b8f0084985', + Var('android_git') + '/platform/external/perfetto.git' + '@' + '8ddf5ae4b8a57c7acc28dad9f2e3857c1d3b7bc0', 'src/third_party/perl': { 'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3', @@ -1372,7 +1373,7 @@ 'packages': [ { 'package': 'fuchsia/third_party/aemu/linux-amd64', - 'version': 'h_lfZjWg21ZL3JBJXSabJsKCnyhbzTyNAISwoJCfLCAC' + 'version': 'yKXInPLMrLZXhnetjQTEJav1jUW4zl7skzS8L51VrQYC' }, ], 'condition': 'host_os == "linux" and checkout_fuchsia', @@ -1541,20 +1542,10 @@ Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '3e3f152617996e4a175fd0b597a1936824b371f3', 'src/third_party/webgpu-cts/src': - Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + 'a8196844ac6228fea3560b82d29e01fed2fbf13a', - - 'src/third_party/blink/web_tests/wpt_internal/webgpu/third_party/glslang_js': { - 'packages': [ - { - 'package': 'chromium/third_party/glslang_js', - 'version': 'Zka0-f53_HEAZ1bpsxr9BSi7P51-4bzYwSMg0RMKX1AC', - }, - ], - 'dep_type': 'cipd', - }, + Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '3c2fe3888658d82b47ca831d59a2e07579619c2d', 'src/third_party/webrtc': - Var('webrtc_git') + '/src.git' + '@' + '091617dda85bdca0329102c432ab287760e15e37', + Var('webrtc_git') + '/src.git' + '@' + '10f76ac226f2b569924a5060d4dd2ca1231aa30a', 'src/third_party/libgifcodec': Var('skia_git') + '/libgifcodec' + '@'+ Var('libgifcodec_revision'), @@ -1626,7 +1617,7 @@ Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'), 'src-internal': { - 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@35dd9a4faaff15775686c54e1f408977e59d0ec3', + 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@ba66a670730d83bd2b6992ec9da5e242b0fce21a', 'condition': 'checkout_src_internal', }, @@ -1634,7 +1625,7 @@ 'packages': [ { 'package': 'chromeos_internal/apps/help_app/app', - 'version': 'aCOs9DEjxU4ept_oo7PSSUnosojJfVRXLD89hP65ov4C', + 'version': 'h34dBNFluLOvrol4gz-HIJi_w1-GzSIElYTdJY6clJoC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -4709,16 +4700,6 @@ '-d', 'src/components/zucchini', ], }, - # Pull down Android RenderTest goldens - { - 'name': 'Fetch Android RenderTest goldens', - 'pattern': '.', - 'condition': 'checkout_android and not skip_render_test_goldens_download', - 'action': [ 'python', - 'src/chrome/test/data/android/manage_render_test_goldens.py', - 'download', - ], - }, # Pull down WPR Archive files { 'name': 'Fetch WPR archive files',
diff --git a/PRESUBMIT.py b/PRESUBMIT.py index 44bb491..2835b34a 100644 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py
@@ -364,7 +364,6 @@ '^chrome/browser/ssl/', '^chrome/browser/supervised_user/', '^chrome/browser/sync_file_system/', - '^chrome/browser/sync/', '^chrome/browser/thumbnail/cc/', '^chrome/browser/translate/', '^chrome/browser/ui/',
diff --git a/android_webview/java/src/org/chromium/android_webview/AwPacProcessor.java b/android_webview/java/src/org/chromium/android_webview/AwPacProcessor.java index 4c1aad02..70ec453 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwPacProcessor.java +++ b/android_webview/java/src/org/chromium/android_webview/AwPacProcessor.java
@@ -81,24 +81,29 @@ } // The calling code must not call any methods after it called destroy(). + @UsedByReflection("Android") public void destroy() { getConnectivityManager().unregisterNetworkCallback(mNetworkCallback); AwPacProcessorJni.get().destroyNative(mNativePacProcessor, this); } + @UsedByReflection("Android") public boolean setProxyScript(String script) { return AwPacProcessorJni.get().setProxyScript(mNativePacProcessor, this, script); } + @UsedByReflection("Android") public String makeProxyRequest(String url) { return AwPacProcessorJni.get().makeProxyRequest(mNativePacProcessor, this, url); } + @UsedByReflection("Android") public void setNetwork(Network network) { updateNetworkLinkAddress(network, getConnectivityManager().getLinkProperties(network)); mNetwork = network; } + @UsedByReflection("Android") public Network getNetwork() { return mNetwork; }
diff --git a/ash/BUILD.gn b/ash/BUILD.gn index 19bd0e0..49635f3 100644 --- a/ash/BUILD.gn +++ b/ash/BUILD.gn
@@ -203,6 +203,8 @@ "ambient/ui/ambient_background_image_view.h", "ambient/ui/ambient_container_view.cc", "ambient/ui/ambient_container_view.h", + "ambient/ui/ambient_info_view.cc", + "ambient/ui/ambient_info_view.h", "ambient/ui/ambient_view_delegate.h", "ambient/ui/ambient_view_ids.h", "ambient/ui/assistant_response_container_view.cc",
diff --git a/ash/ambient/ui/ambient_background_image_view.cc b/ash/ambient/ui/ambient_background_image_view.cc index e53d01e..09871e3 100644 --- a/ash/ambient/ui/ambient_background_image_view.cc +++ b/ash/ambient/ui/ambient_background_image_view.cc
@@ -7,8 +7,8 @@ #include <memory> #include "ash/ambient/ambient_constants.h" +#include "ash/ambient/ui/ambient_info_view.h" #include "ash/ambient/ui/ambient_view_ids.h" -#include "ash/ambient/ui/glanceable_info_view.h" #include "ash/ambient/ui/media_string_view.h" #include "ash/ambient/util/ambient_util.h" #include "base/rand_util.h" @@ -16,7 +16,6 @@ #include "ui/gfx/geometry/insets.h" #include "ui/gfx/image/image_skia_operations.h" #include "ui/views/controls/image_view.h" -#include "ui/views/controls/label.h" #include "ui/views/layout/box_layout.h" #include "ui/views/layout/fill_layout.h" #include "ui/views/layout/flex_layout.h" @@ -29,15 +28,8 @@ namespace { // Appearance. -constexpr int kMarginDip = 16; -constexpr int kSpacingDip = 8; constexpr int kMediaStringMarginDip = 32; -// Typography. -constexpr SkColor kTextColor = SK_ColorWHITE; -constexpr int kDefaultFontSizeDip = 64; -constexpr int kDetailsFontSizeDip = 13; - // The dicretion to translate glanceable info views in the x/y coordinates. `1` // means positive translate, `-1` negative. int translate_x_direction = 1; @@ -126,7 +118,7 @@ void AmbientBackgroundImageView::UpdateImageDetails( const base::string16& details) { - details_label_->SetText(details); + ambient_info_view_->UpdateImageDetails(details); } const gfx::ImageSkia& AmbientBackgroundImageView::GetCurrentImage() { @@ -181,42 +173,12 @@ related_image_view_->SetProperty( views::kMarginsKey, gfx::Insets(0, kMarginLeftOfRelatedImageDip, 0, 0)); + ambient_info_view_ = + AddChildView(std::make_unique<AmbientInfoView>(delegate_)); + gfx::Insets shadow_insets = gfx::ShadowValue::GetMargin(ambient::util::GetTextShadowValues()); - // Inits the attribution view. It also has a full-screen size and is - // responsible for layout the details label at its bottom left corner. - views::View* attribution_view = AddChildView(std::make_unique<views::View>()); - views::BoxLayout* attribution_layout = - attribution_view->SetLayoutManager(std::make_unique<views::BoxLayout>( - views::BoxLayout::Orientation::kVertical)); - attribution_layout->set_main_axis_alignment( - views::BoxLayout::MainAxisAlignment::kEnd); - attribution_layout->set_cross_axis_alignment( - views::BoxLayout::CrossAxisAlignment::kStart); - attribution_layout->set_inside_border_insets( - gfx::Insets(0, kMarginDip + shadow_insets.left(), - kMarginDip + shadow_insets.bottom(), 0)); - - attribution_layout->set_between_child_spacing( - kSpacingDip + shadow_insets.top() + shadow_insets.bottom()); - - glanceable_info_view_ = attribution_view->AddChildView( - std::make_unique<GlanceableInfoView>(delegate_)); - glanceable_info_view_->SetPaintToLayer(); - - // Inits the details label. - details_label_ = - attribution_view->AddChildView(std::make_unique<views::Label>()); - details_label_->SetAutoColorReadabilityEnabled(false); - details_label_->SetEnabledColor(kTextColor); - details_label_->SetFontList( - ambient::util::GetDefaultFontlist().DeriveWithSizeDelta( - kDetailsFontSizeDip - kDefaultFontSizeDip)); - details_label_->SetShadows(ambient::util::GetTextShadowValues()); - details_label_->SetPaintToLayer(); - details_label_->layer()->SetFillsBoundsOpaquely(false); - // Inits the media string view. The media string view is positioned on the // right-top corner of the container. views::View* media_string_view_container_ = @@ -267,8 +229,7 @@ gfx::Transform transform; transform.Translate(current_x_translation, current_y_translation); - glanceable_info_view_->layer()->SetTransform(transform); - details_label_->layer()->SetTransform(transform); + ambient_info_view_->SetTextTransform(transform); if (media_string_view_->GetVisible()) { gfx::Transform media_string_transform;
diff --git a/ash/ambient/ui/ambient_background_image_view.h b/ash/ambient/ui/ambient_background_image_view.h index 759f5e9..63a215d 100644 --- a/ash/ambient/ui/ambient_background_image_view.h +++ b/ash/ambient/ui/ambient_background_image_view.h
@@ -15,13 +15,9 @@ #include "ui/views/view.h" #include "ui/views/view_observer.h" -namespace views { -class Label; -} // namespace views - namespace ash { -class GlanceableInfoView; +class AmbientInfoView; class MediaStringView; // AmbientBackgroundImageView-------------------------------------------------- @@ -83,11 +79,7 @@ gfx::ImageSkia image_unscaled_; gfx::ImageSkia related_image_unscaled_; - GlanceableInfoView* glanceable_info_view_ = nullptr; - - // Label to show details text, i.e. attribution, to be displayed for the - // current image. Owned by the view hierarchy. - views::Label* details_label_ = nullptr; + AmbientInfoView* ambient_info_view_ = nullptr; MediaStringView* media_string_view_ = nullptr;
diff --git a/ash/ambient/ui/ambient_info_view.cc b/ash/ambient/ui/ambient_info_view.cc new file mode 100644 index 0000000..76140653 --- /dev/null +++ b/ash/ambient/ui/ambient_info_view.cc
@@ -0,0 +1,89 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ash/ambient/ui/ambient_info_view.h" + +#include <memory> + +#include "ash/ambient/ui/ambient_view_delegate.h" +#include "ash/ambient/ui/ambient_view_ids.h" +#include "ash/ambient/ui/glanceable_info_view.h" +#include "ash/ambient/util/ambient_util.h" +#include "ui/gfx/geometry/insets.h" +#include "ui/views/controls/label.h" +#include "ui/views/layout/box_layout.h" +#include "ui/views/metadata/metadata_impl_macros.h" +#include "ui/views/view_class_properties.h" + +namespace ash { + +namespace { + +// Appearance +constexpr int kMarginDip = 16; +constexpr int kSpacingDip = 8; + +// Typography +constexpr SkColor kTextColor = SK_ColorWHITE; +constexpr int kDefaultFontSizeDip = 64; +constexpr int kDetailsFontSizeDip = 13; + +} // namespace + +AmbientInfoView::AmbientInfoView(AmbientViewDelegate* delegate) + : delegate_(delegate) { + DCHECK(delegate_); + SetID(AmbientViewID::kAmbientInfoView); + InitLayout(); +} + +AmbientInfoView::~AmbientInfoView() = default; + +void AmbientInfoView::UpdateImageDetails(const base::string16& details) { + details_label_->SetText(details); +} + +void AmbientInfoView::SetTextTransform(const gfx::Transform& transform) { + details_label_->layer()->SetTransform(transform); + glanceable_info_view_->layer()->SetTransform(transform); +} + +void AmbientInfoView::InitLayout() { + gfx::Insets shadow_insets = + gfx::ShadowValue::GetMargin(ambient::util::GetTextShadowValues()); + + // Full screen view with the glanceable info view and details label in the + // lower left. + views::BoxLayout* layout = + SetLayoutManager(std::make_unique<views::BoxLayout>( + views::BoxLayout::Orientation::kVertical)); + layout->set_main_axis_alignment(views::BoxLayout::MainAxisAlignment::kEnd); + layout->set_cross_axis_alignment( + views::BoxLayout::CrossAxisAlignment::kStart); + layout->set_inside_border_insets( + gfx::Insets(0, kMarginDip + shadow_insets.left(), + kMarginDip + shadow_insets.bottom(), 0)); + + layout->set_between_child_spacing(kSpacingDip + shadow_insets.top() + + shadow_insets.bottom()); + + glanceable_info_view_ = + AddChildView(std::make_unique<GlanceableInfoView>(delegate_)); + glanceable_info_view_->SetPaintToLayer(); + + details_label_ = AddChildView(std::make_unique<views::Label>()); + details_label_->SetAutoColorReadabilityEnabled(false); + details_label_->SetEnabledColor(kTextColor); + details_label_->SetFontList( + ambient::util::GetDefaultFontlist().DeriveWithSizeDelta( + kDetailsFontSizeDip - kDefaultFontSizeDip)); + details_label_->SetShadows(ambient::util::GetTextShadowValues()); + details_label_->SetPaintToLayer(); + details_label_->layer()->SetFillsBoundsOpaquely(false); +} + +BEGIN_METADATA(AmbientInfoView, views::View) +END_METADATA + +} // namespace ash
diff --git a/ash/ambient/ui/ambient_info_view.h b/ash/ambient/ui/ambient_info_view.h new file mode 100644 index 0000000..214f333 --- /dev/null +++ b/ash/ambient/ui/ambient_info_view.h
@@ -0,0 +1,50 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef ASH_AMBIENT_UI_AMBIENT_INFO_VIEW_H_ +#define ASH_AMBIENT_UI_AMBIENT_INFO_VIEW_H_ + +#include "ash/ambient/ui/ambient_view_delegate.h" +#include "ash/ash_export.h" +#include "ui/views/metadata/metadata_header_macros.h" +#include "ui/views/view.h" + +namespace gfx { +class Transform; +} + +namespace views { +class Label; +} // namespace views + +namespace ash { + +class GlanceableInfoView; + +class ASH_EXPORT AmbientInfoView : public views::View { + public: + METADATA_HEADER(AmbientInfoView); + + explicit AmbientInfoView(AmbientViewDelegate* delegate); + AmbientInfoView(const AmbientInfoView&) = delete; + AmbientInfoView& operator=(AmbientInfoView&) = delete; + ~AmbientInfoView() override; + + void UpdateImageDetails(const base::string16& details); + + void SetTextTransform(const gfx::Transform& transform); + + private: + void InitLayout(); + + // Owned by |AmbientController| and should always outlive |this|. + AmbientViewDelegate* delegate_ = nullptr; + + GlanceableInfoView* glanceable_info_view_ = nullptr; + views::Label* details_label_ = nullptr; +}; + +} // namespace ash + +#endif // ASH_AMBIENT_UI_AMBIENT_INFO_VIEW_H_
diff --git a/ash/ambient/ui/ambient_view_ids.h b/ash/ambient/ui/ambient_view_ids.h index 294562a..6c39d70 100644 --- a/ash/ambient/ui/ambient_view_ids.h +++ b/ash/ambient/ui/ambient_view_ids.h
@@ -21,6 +21,7 @@ kAmbientGlanceableInfoView, kAmbientAssistantDialogPlate, kAmbientMediaStringView, + kAmbientInfoView, }; } // namespace ash
diff --git a/ash/display/screen_orientation_controller.cc b/ash/display/screen_orientation_controller.cc index 7e695f8..dfeea33d 100644 --- a/ash/display/screen_orientation_controller.cc +++ b/ash/display/screen_orientation_controller.cc
@@ -229,6 +229,8 @@ SplitViewController::Get(Shell::GetPrimaryRootWindow())->AddObserver(this); display::Screen::GetScreen()->AddObserver(this); Shell::Get()->window_tree_host_manager()->AddObserver(this); + + OnTabletPhysicalStateChanged(); } ScreenOrientationController::~ScreenOrientationController() {
diff --git a/ash/display/screen_orientation_controller_unittest.cc b/ash/display/screen_orientation_controller_unittest.cc index f3b23c03..bd8925b5 100644 --- a/ash/display/screen_orientation_controller_unittest.cc +++ b/ash/display/screen_orientation_controller_unittest.cc
@@ -999,4 +999,38 @@ EXPECT_EQ(OrientationLockType::kAny, UserLockedOrientation()); } +class ForceInPhysicalTabletStateTest : public ScreenOrientationControllerTest { + public: + ForceInPhysicalTabletStateTest() = default; + ForceInPhysicalTabletStateTest(const ForceInPhysicalTabletStateTest&) = + delete; + ForceInPhysicalTabletStateTest& operator=( + const ForceInPhysicalTabletStateTest&) = delete; + ~ForceInPhysicalTabletStateTest() override = default; + + // ScreenOrientationControllerTest: + void SetUp() override { + base::CommandLine::ForCurrentProcess()->AppendSwitch( + switches::kForceInTabletPhysicalState); + ScreenOrientationControllerTest::SetUp(); + } +}; + +// Tests that screen rotation is supported while the device is forced to stay +// in physical tablet state. +TEST_F(ForceInPhysicalTabletStateTest, ScreenRotation) { + TabletModeControllerTestApi tablet_mode_controller_test_api; + ASSERT_TRUE(tablet_mode_controller_test_api.IsInPhysicalTabletState()); + + // Test rotating in all directions are supported. + TriggerLidUpdate(gfx::Vector3dF(kMeanGravityFloat, 0.0f, 0.0f)); + EXPECT_EQ(display::Display::ROTATE_90, GetCurrentInternalDisplayRotation()); + TriggerLidUpdate(gfx::Vector3dF(0.0f, -kMeanGravityFloat, 0.0f)); + EXPECT_EQ(display::Display::ROTATE_180, GetCurrentInternalDisplayRotation()); + TriggerLidUpdate(gfx::Vector3dF(-kMeanGravityFloat, 0.0f, 0.0f)); + EXPECT_EQ(display::Display::ROTATE_270, GetCurrentInternalDisplayRotation()); + TriggerLidUpdate(gfx::Vector3dF(0.0f, kMeanGravityFloat, 0.0f)); + EXPECT_EQ(display::Display::ROTATE_0, GetCurrentInternalDisplayRotation()); +} + } // namespace ash
diff --git a/ash/keyboard/keyboard_controller_impl.cc b/ash/keyboard/keyboard_controller_impl.cc index a9bb4fba..5f5be1c 100644 --- a/ash/keyboard/keyboard_controller_impl.cc +++ b/ash/keyboard/keyboard_controller_impl.cc
@@ -123,6 +123,11 @@ keyboard_ui_controller_->SetEnableFlag( KeyboardEnableFlag::kCommandLineEnabled); } + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + keyboard::switches::kDisableVirtualKeyboard)) { + keyboard_ui_controller_->SetEnableFlag( + KeyboardEnableFlag::kCommandLineDisabled); + } } void KeyboardControllerImpl::DestroyVirtualKeyboard() {
diff --git a/ash/keyboard/ui/keyboard_ui_controller.cc b/ash/keyboard/ui/keyboard_ui_controller.cc index 1435069d..62d22b0 100644 --- a/ash/keyboard/ui/keyboard_ui_controller.cc +++ b/ash/keyboard/ui/keyboard_ui_controller.cc
@@ -478,6 +478,9 @@ if (IsEnableFlagSet(KeyboardEnableFlag::kCommandLineEnabled)) return true; + if (IsEnableFlagSet(KeyboardEnableFlag::kCommandLineDisabled)) + return false; + if (IsEnableFlagSet(KeyboardEnableFlag::kExtensionDisabled)) return false;
diff --git a/ash/public/cpp/ash_switches.cc b/ash/public/cpp/ash_switches.cc index 918133f8..658e0a43 100644 --- a/ash/public/cpp/ash_switches.cc +++ b/ash/public/cpp/ash_switches.cc
@@ -143,6 +143,12 @@ // Hides all Message Center notification popups (toasts). Used for testing. const char kSuppressMessageCenterPopups[] = "suppress-message-center-popups"; +// If set, the device will be forced to stay in physical tablet state. Then the +// UI will stay in tablet mode without external mouse, or clamshell mode if an +// external mouse is attached. Screen auto rotation will be supported if +// accelerometer data can be detected. +const char kForceInTabletPhysicalState[] = "force-in-tablet-physical-state"; + base::Optional<base::TimeDelta> ContextualNudgesInterval() { int numeric_cooldown_time; if (base::CommandLine::ForCurrentProcess()->HasSwitch(
diff --git a/ash/public/cpp/ash_switches.h b/ash/public/cpp/ash_switches.h index 0b4dafc..0d57216 100644 --- a/ash/public/cpp/ash_switches.h +++ b/ash/public/cpp/ash_switches.h
@@ -47,6 +47,7 @@ ASH_PUBLIC_EXPORT extern const char kShowTaps[]; ASH_PUBLIC_EXPORT extern const char kSuppressMessageCenterPopups[]; ASH_PUBLIC_EXPORT extern const char kTouchscreenUsableWhileScreenOff[]; +ASH_PUBLIC_EXPORT extern const char kForceInTabletPhysicalState[]; ASH_PUBLIC_EXPORT base::Optional<base::TimeDelta> ContextualNudgesInterval(); ASH_PUBLIC_EXPORT bool ContextualNudgesResetShownCount();
diff --git a/ash/public/cpp/keyboard/keyboard_switches.cc b/ash/public/cpp/keyboard/keyboard_switches.cc index dd3e98f..3c69958b 100644 --- a/ash/public/cpp/keyboard/keyboard_switches.cc +++ b/ash/public/cpp/keyboard/keyboard_switches.cc
@@ -8,6 +8,7 @@ namespace switches { const char kEnableVirtualKeyboard[] = "enable-virtual-keyboard"; +const char kDisableVirtualKeyboard[] = "disable-virtual-keyboard"; } // namespace switches } // namespace keyboard
diff --git a/ash/public/cpp/keyboard/keyboard_switches.h b/ash/public/cpp/keyboard/keyboard_switches.h index e3a01d8..cfb0f8d11 100644 --- a/ash/public/cpp/keyboard/keyboard_switches.h +++ b/ash/public/cpp/keyboard/keyboard_switches.h
@@ -10,8 +10,10 @@ namespace keyboard { namespace switches { -// Enables the virtual keyboard. ASH_PUBLIC_EXPORT extern const char kEnableVirtualKeyboard[]; +// TODO(crbug/1154939): Remove this const when we found a solution to +// crbug/1140667 +ASH_PUBLIC_EXPORT extern const char kDisableVirtualKeyboard[]; } // namespace switches } // namespace keyboard
diff --git a/ash/public/cpp/keyboard/keyboard_types.h b/ash/public/cpp/keyboard/keyboard_types.h index 6c30203..6201357d 100644 --- a/ash/public/cpp/keyboard/keyboard_types.h +++ b/ash/public/cpp/keyboard/keyboard_types.h
@@ -41,6 +41,10 @@ // Enabled via the "--enable-virtual-keyboard" command line switch. // Used for development and debugging. kCommandLineEnabled, + + // Enabled via the "--disable-virtual-keyboard" command line switch, + // or chrome flag. Used as workaround when VK keeps popping up. + kCommandLineDisabled, }; // Container types used to set and identify container behavior. Used in UMA
diff --git a/ash/strings/ash_strings_af.xtb b/ash/strings/ash_strings_af.xtb index 0a3a6b4..9bb36c8b 100644 --- a/ash/strings/ash_strings_af.xtb +++ b/ash/strings/ash_strings_af.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Portret</translation> <translation id="2067602449040652523">Sleutelbordhelderheid</translation> <translation id="2078034614700056995">Swiep met vier vingers regs om na die volgende lessenaar toe te wissel</translation> +<translation id="2079504693865562705">Versteek programme op rak</translation> <translation id="2083190527011054446">Goeienag <ph name="GIVEN_NAME" /></translation> <translation id="209965399369889474">Nie aan 'n netwerk gekoppel nie</translation> <translation id="2126242104232412123">Nuwe lessenaar</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+nog <ph name="COUNT" /></translation> <translation id="3236488194889173876">Geen selnetwerk beskikbaar nie</translation> <translation id="3249513730522716925">Venster <ph name="WINDOW_TITLE" /> is geskuif van lessenaar <ph name="ACTIVE_DESK" /> af na lessenaar <ph name="TARGET_DESK" /> toe</translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />; seinsterkte <ph name="SIGNAL_STRENGTH" /> persent.</translation> <translation id="3255483164551725916">Wat kan jy doen?</translation> <translation id="3269597722229482060">Regsklik</translation> <translation id="3289674678944039601">Laai tans deur aansluitprop</translation> @@ -370,6 +372,7 @@ <translation id="4389184120735010762">Jy het die sleutelbordkortpad vir die gedokte vergrootglas gedruk. Wil jy dit aanskakel?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> is af.</translation> <translation id="4421231901400348175">Deel tans beheer oor jou skerm met <ph name="HELPER_NAME" /> deur afstandbystand.</translation> +<translation id="4427613789487709312">Verstek (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Volume</translation> <translation id="4450893287417543264">Moenie weer wys nie</translation> <translation id="445864333228800152">Goeienaand</translation> @@ -450,6 +453,7 @@ <translation id="5078796286268621944">Verkeerde PIN</translation> <translation id="5083553833479578423">Ontsluit meer Assistent-kenmerke.</translation> <translation id="5136175204352732067">Ander sleutelbord is gekoppel</translation> +<translation id="5155897006997040331">Leesspoed</translation> <translation id="5168181903108465623">Uitsaaitoestelle is beskikbaar</translation> <translation id="5170568018924773124">Wys in vouer</translation> <translation id="5176318573511391780">Neem gedeeltelike skerm op</translation> @@ -713,6 +717,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 kennisgewing}other{# kennisgewings}}</translation> <translation id="7724603315864178912">Knip</translation> +<translation id="7745560842763881396">Wys programme op rak</translation> <translation id="7749443890790263709">Maksimum aantal lessenaars is bereik.</translation> <translation id="776344839111254542">Klik om die opdateringbesonderhede te sien</translation> <translation id="7780159184141939021">Draai skerm</translation>
diff --git a/ash/strings/ash_strings_am.xtb b/ash/strings/ash_strings_am.xtb index beeeac45..27d9dc7 100644 --- a/ash/strings/ash_strings_am.xtb +++ b/ash/strings/ash_strings_am.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">በቁመት</translation> <translation id="2067602449040652523">የቁልፍ ሰሌዳ ብሩህነት</translation> <translation id="2078034614700056995">ወደ ቀጣዩ ዴስክ ለመቀየር በአራት ጣቶች ወደ ቀኝ ያንሸራትቱ</translation> +<translation id="2079504693865562705">መተግበሪያዎችን በመደርደሪያ ላይ ደብቅ</translation> <translation id="2083190527011054446">ደህና አመሹ <ph name="GIVEN_NAME" />፣</translation> <translation id="209965399369889474">ከአውታረ መረብ ጋር አልተገናኘም</translation> <translation id="2126242104232412123">አዲስ ዴስክ</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> ተጨማሪ</translation> <translation id="3236488194889173876">ምንም የተንቀሳቃሽ ስልክ አውታረ መረብ የለም</translation> <translation id="3249513730522716925">መስኮት <ph name="WINDOW_TITLE" /> ከዴስክ <ph name="ACTIVE_DESK" /> ወደ ዴስክ <ph name="TARGET_DESK" /> ይወሰዳል</translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />፣ የሲግናል ጥንካሬ <ph name="SIGNAL_STRENGTH" /> በመቶ።</translation> <translation id="3255483164551725916">ምን ማድረግ ይችላሉ?</translation> <translation id="3269597722229482060">የቀኝ ጠቅታ</translation> <translation id="3289674678944039601">በአስማሚ በኩል በመሙላት ላይ</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">የተተከለ የማጉያ የቁልፍ ሰሌዳ አቋራጩን ተጭነዋል። ሊያበሩት ይፈልጋሉ?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ጠፍቷል</translation> <translation id="4421231901400348175">የማያ ገጽዎን ቁጥጥር በርቀት እርዳታ በኩል ለ<ph name="HELPER_NAME" /> በማጋራት ላይ።</translation> +<translation id="4427613789487709312">ነባሪ (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">ድምፅ</translation> <translation id="4450893287417543264">ዳግም አታሳይ</translation> <translation id="445864333228800152">ደህን አመሹ ፣</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">የተሳሳተ ፒን</translation> <translation id="5083553833479578423">ተጨማሪ የረዳት ባህሪያትን ያስከፍቱ።</translation> <translation id="5136175204352732067">የተለየ የቁልፍ ሰሌዳ ተገናኝቷል</translation> +<translation id="5155897006997040331">የንባብ ፍጥነት</translation> <translation id="5168181903108465623">የCast መሣሪያዎች ይገኛሉ</translation> <translation id="5170568018924773124">በአቃፊ አሳይ</translation> <translation id="5176318573511391780">ከፊል የማያ ገጽን ቅረጽ</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">ቪ ፒ ኤን</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 ማሳወቂያ}one{# ማሳወቂያዎች}other{# ማሳወቂያዎች}}</translation> <translation id="7724603315864178912">ቁረጥ</translation> +<translation id="7745560842763881396">መተግበሪያዎችን በመደርደሪያ አሳይ</translation> <translation id="7749443890790263709">የተደረሰባቸው የዴስኮች ከፍተኛ ብዛት።</translation> <translation id="776344839111254542">የዝማኔ ዝርዝሮችን ለማየት ጠቅ ያድርጉ</translation> <translation id="7780159184141939021">ማያ ገጹን አሽከርክር</translation>
diff --git a/ash/strings/ash_strings_az.xtb b/ash/strings/ash_strings_az.xtb index e7f3b49..b1fb829 100644 --- a/ash/strings/ash_strings_az.xtb +++ b/ash/strings/ash_strings_az.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Portret</translation> <translation id="2067602449040652523">Klaviatura parlaqlığı</translation> <translation id="2078034614700056995">Növbəti masaya keçmək üçün dörd barmaqla sağa çəkin</translation> +<translation id="2079504693865562705">Rəfdə tətbiqləri gizlədin</translation> <translation id="2083190527011054446">Gecəniz xeyir, <ph name="GIVEN_NAME" /></translation> <translation id="209965399369889474">Şəbəkəyə qoşulmayıb</translation> <translation id="2126242104232412123">Yeni iş masası</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /></translation> <translation id="3236488194889173876">Heç bir mobil şəbəkə əlçatan deyil</translation> <translation id="3249513730522716925"><ph name="WINDOW_TITLE" /> pəncərəsi <ph name="ACTIVE_DESK" /> Masasından <ph name="TARGET_DESK" /> Masasına köçürüldü</translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, Siqnal gücü: <ph name="SIGNAL_STRENGTH" /> faiz.</translation> <translation id="3255483164551725916">Nə edə bilərsiniz?</translation> <translation id="3269597722229482060">Sağ düymə ilə toxunun</translation> <translation id="3289674678944039601">Adapter ilə şarj edilir</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Daxili böyüdücü üçün klaviatura qısayoluna basdınız. Onu aktiv etmək istəyirsiniz?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> deaktivdir.</translation> <translation id="4421231901400348175">Uzaqdan Yardım vasitəsilə <ph name="HELPER_NAME" /> ilə ekranın kontrolunu paylaşın</translation> +<translation id="4427613789487709312">Defolt (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Həcm</translation> <translation id="4450893287417543264">Daha göstərməyin</translation> <translation id="445864333228800152">Axşamınız xeyir,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Yanlış PIN</translation> <translation id="5083553833479578423">Daha çox Assistent funksiyalarını kiliddən çıxarın.</translation> <translation id="5136175204352732067">Fərqli klaviatura qoşuldu</translation> +<translation id="5155897006997040331">Oxuma sürəti</translation> <translation id="5168181903108465623">Mövcud Cast cihazlar</translation> <translation id="5170568018924773124">Qovluqda göstərin</translation> <translation id="5176318573511391780">Ekranın bir hissəsini çəkin</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 bildiriş}other{# bildiriş}}</translation> <translation id="7724603315864178912">Kəsin</translation> +<translation id="7745560842763881396">Rəfdə tətbiqləri göstərin</translation> <translation id="7749443890790263709">Maksimum masa sayına çatmısınız.</translation> <translation id="776344839111254542">Güncəlləmə detallarını görmək üçün klikləyin</translation> <translation id="7780159184141939021">Ekranı fırladın</translation>
diff --git a/ash/strings/ash_strings_bg.xtb b/ash/strings/ash_strings_bg.xtb index 3a7f185fb..771e74d 100644 --- a/ash/strings/ash_strings_bg.xtb +++ b/ash/strings/ash_strings_bg.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Вертикално</translation> <translation id="2067602449040652523">Яркост на клавиатурата</translation> <translation id="2078034614700056995">Прекарайте четири пръста надясно, за да превключите към следващия работен кът</translation> +<translation id="2079504693865562705">Скриване на приложенията в лавицата</translation> <translation id="2083190527011054446">Добър вечер, <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Няма връзка с мрежа</translation> <translation id="2126242104232412123">Нов работен кът</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+ още <ph name="COUNT" /></translation> <translation id="3236488194889173876">Няма мобилни мрежи</translation> <translation id="3249513730522716925">Прозорецът <ph name="WINDOW_TITLE" /> бе преместен от работен кът <ph name="ACTIVE_DESK" /> в работен кът <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, сила на сигнала <ph name="SIGNAL_STRENGTH" /> процент(а).</translation> <translation id="3255483164551725916">„What can you do?“ („Какво можеш да правиш?“)</translation> <translation id="3269597722229482060">Кликване с десния бутон</translation> <translation id="3289674678944039601">Зарежда се през адаптера</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Използвахте клавишната комбинация за лупата в прикрепен режим. Искате ли да включите функцията?</translation> <translation id="4412944820643904175">„<ph name="FEATURE_NAME" />“ е изключено.</translation> <translation id="4421231901400348175">Споделяте с/ъс <ph name="HELPER_NAME" /> контрола върху екрана си чрез отдалечено съдействие.</translation> +<translation id="4427613789487709312">Стандартна (x<ph name="RATE" />)</translation> <translation id="4430019312045809116">Звук</translation> <translation id="4450893287417543264">Да не се показва отново</translation> <translation id="445864333228800152">Добър вечер,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Неправилен ПИН</translation> <translation id="5083553833479578423">Отключете още функции на Асистент.</translation> <translation id="5136175204352732067">Свързана е различна клавиатура</translation> +<translation id="5155897006997040331">Скорост на четене</translation> <translation id="5168181903108465623">Налице са устройства Cast</translation> <translation id="5170568018924773124">Показване в папката</translation> <translation id="5176318573511391780">Записване на част от екрана</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 известие}other{# известия}}</translation> <translation id="7724603315864178912">Изрязване</translation> +<translation id="7745560842763881396">Показване на приложенията в лавицата</translation> <translation id="7749443890790263709">Достигнат е максималният брой работни кътове.</translation> <translation id="776344839111254542">Кликнете, за да видите подробности за актуализацията</translation> <translation id="7780159184141939021">Завъртане на екрана</translation>
diff --git a/ash/strings/ash_strings_bs.xtb b/ash/strings/ash_strings_bs.xtb index ccfcaf5..77abf8d 100644 --- a/ash/strings/ash_strings_bs.xtb +++ b/ash/strings/ash_strings_bs.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Uspravno</translation> <translation id="2067602449040652523">Svjetlina tipkovnice</translation> <translation id="2078034614700056995">Prevucite udesno s četiri prsta da prebacite na sljedeću radnu površinu</translation> +<translation id="2079504693865562705">Sakrij aplikacije na polici</translation> <translation id="2083190527011054446">Laku noć <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Niste povezani na mrežu</translation> <translation id="2126242104232412123">Novi sto</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">i još <ph name="COUNT" /></translation> <translation id="3236488194889173876">Nije dostupna mobilna mreža</translation> <translation id="3249513730522716925">Prozor <ph name="WINDOW_TITLE" /> je premješten s radne površine <ph name="ACTIVE_DESK" /> na radnu površinu <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, jačina signala <ph name="SIGNAL_STRENGTH" /> posto.</translation> <translation id="3255483164551725916">Šta sve možete uraditi?</translation> <translation id="3269597722229482060">Desni klik</translation> <translation id="3289674678944039601">Punjenje putem adaptera</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Pritisnuli ste prečicu na tastaturi za lupu priključne stanice. Želite li je uključiti?</translation> <translation id="4412944820643904175">Funkcija <ph name="FEATURE_NAME" /> je isključena.</translation> <translation id="4421231901400348175">Dijeljenje kontrole nad vašim ekranom s pomoćnikom <ph name="HELPER_NAME" /> putem pomoći na daljinu.</translation> +<translation id="4427613789487709312">Zadano (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Jačina zvuka</translation> <translation id="4450893287417543264">Ne prikazuj ponovo</translation> <translation id="445864333228800152">Dobro veče,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Pogrešan PIN</translation> <translation id="5083553833479578423">Otključajte više funkcija Asistenta.</translation> <translation id="5136175204352732067">Povezana je drugačija tastatura</translation> +<translation id="5155897006997040331">Brzina čitanja</translation> <translation id="5168181903108465623">Dostupni su "cast" uređaji</translation> <translation id="5170568018924773124">Pokaži u mapi</translation> <translation id="5176318573511391780">Snimanje dijela ekrana</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 obavještenje}one{# obavještenje}few{# obavještenja}other{# obavještenja}}</translation> <translation id="7724603315864178912">Izreži</translation> +<translation id="7745560842763881396">Prikaži aplikacije na polici</translation> <translation id="7749443890790263709">Dostigli ste maksimalni broj radnih površina.</translation> <translation id="776344839111254542">Kliknite da vidite detalje o ažuriranju</translation> <translation id="7780159184141939021">Rotiranje ekrana</translation>
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb index 9cea608b..ad7975f 100644 --- a/ash/strings/ash_strings_ca.xtb +++ b/ash/strings/ash_strings_ca.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Vertical</translation> <translation id="2067602449040652523">Brillantor del teclat</translation> <translation id="2078034614700056995">Fes lliscar quatre dits cap a la dreta per canviar a l'escriptori següent</translation> +<translation id="2079504693865562705">Amaga les aplicacions del prestatge</translation> <translation id="2083190527011054446">Bona nit, <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">No hi ha connexió a la xarxa</translation> <translation id="2126242104232412123">Escriptori nou</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773"><ph name="COUNT" /> més</translation> <translation id="3236488194889173876">No hi ha cap xarxa mòbil disponible</translation> <translation id="3249513730522716925">La finestra <ph name="WINDOW_TITLE" /> ha passat de l'escriptori <ph name="ACTIVE_DESK" /> a l'escriptori <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />; intensitat del senyal: <ph name="SIGNAL_STRENGTH" /> per cent.</translation> <translation id="3255483164551725916">Què pots fer?</translation> <translation id="3269597722229482060">Clic amb el botó dret</translation> <translation id="3289674678944039601">S'està carregant per adaptador</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Has premut la tecla de drecera de la lupa acoblada. Vols activar-la?</translation> <translation id="4412944820643904175">La funció <ph name="FEATURE_NAME" /> està desactivada.</translation> <translation id="4421231901400348175">Es comparteix el control de la pantalla amb <ph name="HELPER_NAME" /> mitjançant l'Assistència remota.</translation> +<translation id="4427613789487709312">Predeterminada (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Volum</translation> <translation id="4450893287417543264">No ho tornis a mostrar</translation> <translation id="445864333228800152">Bon vespre,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">PIN incorrecte</translation> <translation id="5083553833479578423">Desbloqueja més funcions de l'Assistent.</translation> <translation id="5136175204352732067">S'ha connectat un altre teclat</translation> +<translation id="5155897006997040331">Velocitat de lectura</translation> <translation id="5168181903108465623">Dispositius d'emissió disponibles</translation> <translation id="5170568018924773124">Mostra a la carpeta</translation> <translation id="5176318573511391780">Grava una part de la pantalla</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 notificació}other{# notificacions}}</translation> <translation id="7724603315864178912">Retalla</translation> +<translation id="7745560842763881396">Mostra les aplicacions del prestatge</translation> <translation id="7749443890790263709">S'ha assolit el nombre màxim d'escriptoris.</translation> <translation id="776344839111254542">Fes clic per veure els detalls de l'actualització</translation> <translation id="7780159184141939021">Gira la pantalla</translation>
diff --git a/ash/strings/ash_strings_da.xtb b/ash/strings/ash_strings_da.xtb index e7fd375..56b4430 100644 --- a/ash/strings/ash_strings_da.xtb +++ b/ash/strings/ash_strings_da.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Stående</translation> <translation id="2067602449040652523">Lysstyrke for tastatur</translation> <translation id="2078034614700056995">Stryg mod højre med fire fingre for at skifte til næste skrivebord</translation> +<translation id="2079504693865562705">Skjul apps på hylden</translation> <translation id="2083190527011054446">Hej <ph name="GIVEN_NAME" /></translation> <translation id="209965399369889474">Der er ingen netværksforbindelse</translation> <translation id="2126242104232412123">Nyt skrivebord</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> andre</translation> <translation id="3236488194889173876">Der er ingen tilgængelige mobilnetværk</translation> <translation id="3249513730522716925">Vindue <ph name="WINDOW_TITLE" /> blev flyttet fra Skrivebord <ph name="ACTIVE_DESK" /> til Skrivebord <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, signalstyrke <ph name="SIGNAL_STRENGTH" /> procent.</translation> <translation id="3255483164551725916">Hvad kan du gøre?</translation> <translation id="3269597722229482060">Højreklik</translation> <translation id="3289674678944039601">Oplader via adapter</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Du trykkede på tastaturgenvejen for det fastgjorte lupvindue. Vil du aktivere indstillingen?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> er deaktiveret.</translation> <translation id="4421231901400348175">Skærmdeling med <ph name="HELPER_NAME" /> via Fjernsupport.</translation> +<translation id="4427613789487709312">Standard (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Lydstyrke</translation> <translation id="4450893287417543264">Vis ikke igen</translation> <translation id="445864333228800152">Godaften</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Forkert pinkode</translation> <translation id="5083553833479578423">Få adgang til endnu flere Assistent-funktioner.</translation> <translation id="5136175204352732067">Du har tilsluttet et andet tastatur</translation> +<translation id="5155897006997040331">Læsehastighed</translation> <translation id="5168181903108465623">Tilgængelige Cast-enheder</translation> <translation id="5170568018924773124">Vis i mappe</translation> <translation id="5176318573511391780">Optag dele af skærmen</translation> @@ -713,6 +717,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 notifikation}one{# notifikation}other{# notifikationer}}</translation> <translation id="7724603315864178912">Klip</translation> +<translation id="7745560842763881396">Vis apps på hylde</translation> <translation id="7749443890790263709">Det maksimale antal skriveborde er nået.</translation> <translation id="776344839111254542">Klik for at se opdateringsoplysninger</translation> <translation id="7780159184141939021">Roter skærm</translation>
diff --git a/ash/strings/ash_strings_el.xtb b/ash/strings/ash_strings_el.xtb index 73d54ca..c601f6c 100644 --- a/ash/strings/ash_strings_el.xtb +++ b/ash/strings/ash_strings_el.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Κάθετα</translation> <translation id="2067602449040652523">Φωτεινότητα πληκτρολογίου</translation> <translation id="2078034614700056995">Σύρετε προς τα δεξιά με τέσσερα δάχτυλα για μετάβαση στο επόμενο γραφείο</translation> +<translation id="2079504693865562705">Απόκρυψη εφαρμογών στο ράφι</translation> <translation id="2083190527011054446">Καληνύχτα <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Δεν υπάρχει σύνδεση στο δίκτυο</translation> <translation id="2126242104232412123">Νέο γραφείο</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> ακόμη</translation> <translation id="3236488194889173876">Δεν υπάρχουν διαθέσιμα δίκτυα κινητής τηλεφωνίας</translation> <translation id="3249513730522716925">Η επιφάνεια εργασίας <ph name="WINDOW_TITLE" /> μετακινήθηκε από την επιφάνεια εργασίας <ph name="ACTIVE_DESK" /> στην επιφάνεια εργασίας <ph name="TARGET_DESK" />.</translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, ισχύς σήματος <ph name="SIGNAL_STRENGTH" /> τοις εκατό.</translation> <translation id="3255483164551725916">Τι μπορείς να κάνεις;</translation> <translation id="3269597722229482060">Δεξί κλικ</translation> <translation id="3289674678944039601">Γίνεται φόρτιση μέσω μετασχηματιστή</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Πατήσατε τη συντόμευση πληκτρολογίου για τον μεγεθυντικό φακό σε παράθυρο. Θέλετε να τον ενεργοποιήσετε;</translation> <translation id="4412944820643904175">Η λειτουργία <ph name="FEATURE_NAME" /> είναι απενεργοποιημένη.</translation> <translation id="4421231901400348175">Κοινόχρηστος έλεγχος της οθόνης σας με το χρήστη <ph name="HELPER_NAME" /> μέσω της απομακρυσμένης βοήθειας.</translation> +<translation id="4427613789487709312">Προεπιλογή (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Ένταση</translation> <translation id="4450893287417543264">Να μην εμφανιστεί ξανά</translation> <translation id="445864333228800152">Καλησπέρα,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Εσφαλμένο PIN</translation> <translation id="5083553833479578423">Ξεκλειδώστε περισσότερες λειτουργίες του Βοηθού.</translation> <translation id="5136175204352732067">Συνδέθηκε διαφορετικό πληκτρολόγιο</translation> +<translation id="5155897006997040331">Ταχύτητα ανάγνωσης</translation> <translation id="5168181903108465623">Διαθέσιμες συσκευές μετάδοσης</translation> <translation id="5170568018924773124">Εμφάνιση στο φάκελο</translation> <translation id="5176318573511391780">Εγγραφή μέρους της οθόνης</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 ειδοποίηση}other{# ειδοποιήσεις}}</translation> <translation id="7724603315864178912">Αποκοπή</translation> +<translation id="7745560842763881396">Εμφάνιση εφαρμογών στο ράφι</translation> <translation id="7749443890790263709">Συμπληρώθηκε ο μέγιστος αριθμός γραφείων.</translation> <translation id="776344839111254542">Κάντε κλικ, για να δείτε τις λεπτομέρειες της ενημέρωσης</translation> <translation id="7780159184141939021">Περιστροφή οθόνης</translation>
diff --git a/ash/strings/ash_strings_en-GB.xtb b/ash/strings/ash_strings_en-GB.xtb index 054f983..28d93c3 100644 --- a/ash/strings/ash_strings_en-GB.xtb +++ b/ash/strings/ash_strings_en-GB.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Portrait</translation> <translation id="2067602449040652523">Keyboard brightness</translation> <translation id="2078034614700056995">Swipe right with four fingers to switch to the next desk</translation> +<translation id="2079504693865562705">Hide apps in shelf</translation> <translation id="2083190527011054446">Good night <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Not connected to network</translation> <translation id="2126242104232412123">New desk</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> more</translation> <translation id="3236488194889173876">No mobile network available</translation> <translation id="3249513730522716925">Window <ph name="WINDOW_TITLE" /> moved from Desk <ph name="ACTIVE_DESK" /> to Desk <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, signal strength <ph name="SIGNAL_STRENGTH" /> per cent.</translation> <translation id="3255483164551725916">What can you do?</translation> <translation id="3269597722229482060">Right-click</translation> <translation id="3289674678944039601">Charging via adaptor</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">You pressed the keyboard shortcut for the docked magnifier. Do you want to turn it on?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> is off.</translation> <translation id="4421231901400348175">Sharing control of your screen with <ph name="HELPER_NAME" /> via Remote Assistance.</translation> +<translation id="4427613789487709312">Default (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">volume</translation> <translation id="4450893287417543264">Don't show again</translation> <translation id="445864333228800152">Good evening,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Incorrect PIN</translation> <translation id="5083553833479578423">Unlock more Assistant features.</translation> <translation id="5136175204352732067">Different keyboard connected</translation> +<translation id="5155897006997040331">Reading speed</translation> <translation id="5168181903108465623">Cast devices available</translation> <translation id="5170568018924773124">Show in folder</translation> <translation id="5176318573511391780">Record partial screen</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 notification}other{# notifications}}</translation> <translation id="7724603315864178912">Cut</translation> +<translation id="7745560842763881396">Show apps in shelf</translation> <translation id="7749443890790263709">Maximum number of desks reached.</translation> <translation id="776344839111254542">Click to view update details</translation> <translation id="7780159184141939021">Rotate screen</translation>
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb index 4d29b6f..b73fa41 100644 --- a/ash/strings/ash_strings_et.xtb +++ b/ash/strings/ash_strings_et.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Vertikaalpaigutus</translation> <translation id="2067602449040652523">Klaviatuuri eredus</translation> <translation id="2078034614700056995">Järgmisele töölauale lülitumiseks pühkige nelja sõrmega paremale</translation> +<translation id="2079504693865562705">Peida riiulil olevad rakendused</translation> <translation id="2083190527011054446">Head ööd, <ph name="GIVEN_NAME" />!</translation> <translation id="209965399369889474">Pole võrguga ühendatud</translation> <translation id="2126242104232412123">Uus töölaud</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">ja veel <ph name="COUNT" /></translation> <translation id="3236488194889173876">Ühtegi mobiilsidevõrku pole saadaval</translation> <translation id="3249513730522716925">Aken <ph name="WINDOW_TITLE" /> teisaldati töölaualt <ph name="ACTIVE_DESK" /> töölauale <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, signaalitugevus <ph name="SIGNAL_STRENGTH" /> protsenti.</translation> <translation id="3255483164551725916">Mida sa teha oskad?</translation> <translation id="3269597722229482060">Paremklikk</translation> <translation id="3289674678944039601">Laadimine adapteri kaudu</translation> @@ -370,6 +372,7 @@ <translation id="4389184120735010762">Vajutasite dokitud luubi otseteed. Kas soovite luubi sisse lülitada?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> on väljas.</translation> <translation id="4421231901400348175">Ekraani juhtimise jagamine isikuga <ph name="HELPER_NAME" /> kaugabi kaudu.</translation> +<translation id="4427613789487709312">Vaikeseade (<ph name="RATE" />-kordne)</translation> <translation id="4430019312045809116">Helitugevus</translation> <translation id="4450893287417543264">Ära kuva uuesti</translation> <translation id="445864333228800152">Tere õhtust!</translation> @@ -450,6 +453,7 @@ <translation id="5078796286268621944">Vale PIN-kood</translation> <translation id="5083553833479578423">Avage rohkem assistendi funktsioone.</translation> <translation id="5136175204352732067">Ühendatud on teine klaviatuur</translation> +<translation id="5155897006997040331">Lugemiskiirus</translation> <translation id="5168181903108465623">Ülekandeseadmed on saadaval</translation> <translation id="5170568018924773124">Kuva kaustas</translation> <translation id="5176318573511391780">Ekraani osa salvestamine</translation> @@ -713,6 +717,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 märguanne}other{# märguannet}}</translation> <translation id="7724603315864178912">Lõika</translation> +<translation id="7745560842763881396">Kuva riiulil olevad rakendused</translation> <translation id="7749443890790263709">Töölaudade maksimaalne arv on täis.</translation> <translation id="776344839111254542">Klõpsake värskenduse üksikasjade vaatamiseks</translation> <translation id="7780159184141939021">Ekraanikuva pööramine</translation>
diff --git a/ash/strings/ash_strings_fi.xtb b/ash/strings/ash_strings_fi.xtb index 647ee8b..ff4aa8e 100644 --- a/ash/strings/ash_strings_fi.xtb +++ b/ash/strings/ash_strings_fi.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Pystysuunta</translation> <translation id="2067602449040652523">Näppäimistön kirkkaus</translation> <translation id="2078034614700056995">Siirry seuraavaan työpöytään pyyhkäisemällä oikealle neljällä sormella</translation> +<translation id="2079504693865562705">Piilota sovellukset hyllystä</translation> <translation id="2083190527011054446">Hyvää yötä <ph name="GIVEN_NAME" /></translation> <translation id="209965399369889474">Ei verkkoyhteyttä</translation> <translation id="2126242104232412123">Uusi työpöytä</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> muuta</translation> <translation id="3236488194889173876">Mobiiliverkkoja ei ole käytettävissä</translation> <translation id="3249513730522716925">Ikkuna <ph name="WINDOW_TITLE" /> siirretty työpöydältä <ph name="ACTIVE_DESK" /> työpöydälle <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, signaalin voimakkuus <ph name="SIGNAL_STRENGTH" /> prosenttia.</translation> <translation id="3255483164551725916">Mitä osaat tehdä?</translation> <translation id="3269597722229482060">Klikkaa kakkospainiketta</translation> <translation id="3289674678944039601">Ladataan virtalähteen kautta</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Painoit kiinnitetyn suurennuksen pikanäppäintä. Haluatko ottaa sen käyttöön?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ei ole päällä.</translation> <translation id="4421231901400348175">Näyttösi hallinta jaetaan käyttäjän <ph name="HELPER_NAME" /> kanssa Etätuen kautta.</translation> +<translation id="4427613789487709312">Oletus (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Äänenvoimakkuus</translation> <translation id="4450893287417543264">Älä näytä uudelleen</translation> <translation id="445864333228800152">Hyvää iltaa</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Väärä PIN-koodi</translation> <translation id="5083553833479578423">Käytä lisää Assistantin ominaisuuksia.</translation> <translation id="5136175204352732067">Eri näppäimistö kytketty</translation> +<translation id="5155897006997040331">Lukunopeus</translation> <translation id="5168181903108465623">Cast-laitteita käytettävissä</translation> <translation id="5170568018924773124">Näytä kansiossa</translation> <translation id="5176318573511391780">Tallenna osittainen näyttö</translation> @@ -714,6 +718,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 ilmoitus}other{# ilmoitusta}}</translation> <translation id="7724603315864178912">Leikkaa</translation> +<translation id="7745560842763881396">Näytä sovellukset hyllyssä</translation> <translation id="7749443890790263709">Työpöytiä on enimmäismäärä.</translation> <translation id="776344839111254542">Klikkaa nähdäksesi päivityksen tiedot</translation> <translation id="7780159184141939021">Käännä näyttö</translation>
diff --git a/ash/strings/ash_strings_fil.xtb b/ash/strings/ash_strings_fil.xtb index 20329c5..9a5e266 100644 --- a/ash/strings/ash_strings_fil.xtb +++ b/ash/strings/ash_strings_fil.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Portrait</translation> <translation id="2067602449040652523">Liwanag ng keyboard</translation> <translation id="2078034614700056995">Mag-swipe pakanan gamit ang apat na daliri para lumipat sa susunod na desk</translation> +<translation id="2079504693865562705">Itago ang mga app sa shelf</translation> <translation id="2083190527011054446">Magandang gabi <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Hindi nakakonekta sa network</translation> <translation id="2126242104232412123">Bagong desk</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> pa</translation> <translation id="3236488194889173876">Walang available na mobile network</translation> <translation id="3249513730522716925">Inilipat ang Window na <ph name="WINDOW_TITLE" /> sa Desk na <ph name="TARGET_DESK" /> mula sa <ph name="ACTIVE_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, Lakas ng signal <ph name="SIGNAL_STRENGTH" /> porsyento.</translation> <translation id="3255483164551725916">Ano'ng maaari mong gawin?</translation> <translation id="3269597722229482060">Mag-right Click</translation> <translation id="3289674678944039601">Nagcha-charge sa pamamagitan ng adapter</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Napindot mo ang keyboard shortcut para sa naka-dock na magnifier. Gusto mo ba itong i-on?</translation> <translation id="4412944820643904175">Naka-off ang <ph name="FEATURE_NAME" />.</translation> <translation id="4421231901400348175">Pagbabahagi ng kontrol sa iyong screen gamit ang <ph name="HELPER_NAME" /> sa pamamagitan ng Remote Assistance.</translation> +<translation id="4427613789487709312">Default (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Volume</translation> <translation id="4450893287417543264">Huwag ipakitang muli</translation> <translation id="445864333228800152">Magandang gabi,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Maling PIN</translation> <translation id="5083553833479578423">Mag-unlock ng higit pang feature ng Assistant.</translation> <translation id="5136175204352732067">Ibang keyboard ang nakakonekta</translation> +<translation id="5155897006997040331">Bilis ng pagbabasa</translation> <translation id="5168181903108465623">I-cast ang mga available na device</translation> <translation id="5170568018924773124">Ipinakita sa folder</translation> <translation id="5176318573511391780">I-record ang hindi buong screen</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 notification}one{# notification}other{# na notification}}</translation> <translation id="7724603315864178912">I-cut</translation> +<translation id="7745560842763881396">Ipakita ang mga app sa shelf</translation> <translation id="7749443890790263709">Naabot ang maximum na bilang ng desk.</translation> <translation id="776344839111254542">I-click upang tingnan ang mga detalye ng update</translation> <translation id="7780159184141939021">I-rotate ang Screen</translation>
diff --git a/ash/strings/ash_strings_hi.xtb b/ash/strings/ash_strings_hi.xtb index ff3f8a2..839d73fa 100644 --- a/ash/strings/ash_strings_hi.xtb +++ b/ash/strings/ash_strings_hi.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">पोर्ट्रेट</translation> <translation id="2067602449040652523">कीबोर्ड की रोशनी</translation> <translation id="2078034614700056995">अगले डेस्क पर स्विच करने के लिए, चार उंगलियों से दाईं ओर स्वाइप करें</translation> +<translation id="2079504693865562705">शेल्फ़ में मौजूद ऐप्लिकेशन छिपाएं</translation> <translation id="2083190527011054446">गुड नाइट <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">नेटवर्क से जुड़ा हुआ नहीं है</translation> <translation id="2126242104232412123">नया डेस्क</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> और</translation> <translation id="3236488194889173876">कोई मोबाइल नेटवर्क उपलब्ध नहीं</translation> <translation id="3249513730522716925">Window <ph name="WINDOW_TITLE" /> को डेस्क <ph name="ACTIVE_DESK" /> से डेस्क <ph name="TARGET_DESK" /> पर सेट कर दिया गया है</translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, सिग्नल की क्षमता <ph name="SIGNAL_STRENGTH" /> प्रतिशत है.</translation> <translation id="3255483164551725916">तुम क्या-क्या कर सकती हो?</translation> <translation id="3269597722229482060">दायां क्लिक करें</translation> <translation id="3289674678944039601">अडैप्टर से चार्ज हो रहा है</translation> @@ -370,6 +372,7 @@ <translation id="4389184120735010762">आपने 'सामग्री को बड़ा दिखाने वाली डॉक की गई सेवा' का कीबोर्ड शॉर्टकट दबाया है. क्या आप इसे चालू करना चाहते हैं?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> बंद है.</translation> <translation id="4421231901400348175">आपकी स्क्रीन का नियंत्रण दूरस्थ सहायक के द्वारा <ph name="HELPER_NAME" /> से शेयर किया जा रहा है.</translation> +<translation id="4427613789487709312">डिफ़ॉल्ट (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">मात्रा</translation> <translation id="4450893287417543264">फिर से न दिखाएं</translation> <translation id="445864333228800152">गुड ईवनिंग,</translation> @@ -450,6 +453,7 @@ <translation id="5078796286268621944">गलत पिन</translation> <translation id="5083553833479578423">Assistant की और भी सुविधाओं के बारे में जानें.</translation> <translation id="5136175204352732067">अलग कीबोर्ड कनेक्ट किया गया</translation> +<translation id="5155897006997040331">पढ़े जाने की रफ़्तार</translation> <translation id="5168181903108465623">कास्ट डिवाइस उपलब्ध हैं</translation> <translation id="5170568018924773124">फ़ोल्डर में दिखाएं</translation> <translation id="5176318573511391780">स्क्रीन के कुछ हिस्से को रिकॉर्ड करें</translation> @@ -713,6 +717,7 @@ <translation id="7705524343798198388">वीपीएन</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 सूचना}one{# सूचना}other{# सूचनाएं}}</translation> <translation id="7724603315864178912">काटें</translation> +<translation id="7745560842763881396">शेल्फ़ में मौजूद ऐप्लिकेशन दिखाएं</translation> <translation id="7749443890790263709">ज़्यादा से ज़्यादा इतने ही डेस्क जोड़े जा सकते हैं.</translation> <translation id="776344839111254542">अपडेट के विवरण देखने के लिए क्लिक करें</translation> <translation id="7780159184141939021">स्क्रीन घुमाएं</translation>
diff --git a/ash/strings/ash_strings_hr.xtb b/ash/strings/ash_strings_hr.xtb index 5041239..a50df34 100644 --- a/ash/strings/ash_strings_hr.xtb +++ b/ash/strings/ash_strings_hr.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Portret</translation> <translation id="2067602449040652523">Svjetlina tipkovnice</translation> <translation id="2078034614700056995">Za prelazak na sljedeću radnu površinu prijeđite s četiri prsta udesno</translation> +<translation id="2079504693865562705">Sakrij aplikacije na polici</translation> <translation id="2083190527011054446">Laku noć, <ph name="GIVEN_NAME" /></translation> <translation id="209965399369889474">Niste povezani s mrežom</translation> <translation id="2126242104232412123">Nova radna površina</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">Još <ph name="COUNT" /></translation> <translation id="3236488194889173876">Mobilne mreže nisu dostupne</translation> <translation id="3249513730522716925">Prozor <ph name="WINDOW_TITLE" /> premješten je s radne površine <ph name="ACTIVE_DESK" /> na radnu površinu <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, jačina signala <ph name="SIGNAL_STRENGTH" /> posto.</translation> <translation id="3255483164551725916">Što možeš učiniti?</translation> <translation id="3269597722229482060">Desni klik</translation> <translation id="3289674678944039601">Punjenje putem adaptera</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Pritisnuli ste tipkovni prečac za usidreno povećalo. Želite li ga uključiti?</translation> <translation id="4412944820643904175">Značajka <ph name="FEATURE_NAME" /> je isključena.</translation> <translation id="4421231901400348175"><ph name="HELPER_NAME" /> i vi dijelite kontrolu nad zaslonom putem Daljinske pomoći.</translation> +<translation id="4427613789487709312">Zadano (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Glasnoća</translation> <translation id="4450893287417543264">Ne prikazuj ponovo</translation> <translation id="445864333228800152">Dobra večer,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Netočan PIN</translation> <translation id="5083553833479578423">Otključajte više značajki Asistenta.</translation> <translation id="5136175204352732067">Povezana je neka druga tipkovnica</translation> +<translation id="5155897006997040331">Brzina čitanja</translation> <translation id="5168181903108465623">Dostupni su uređaji za emitiranje</translation> <translation id="5170568018924773124">Pokaži u mapi</translation> <translation id="5176318573511391780">Snimanje dijela zaslona</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 obavijest}one{# obavijest}few{# obavijesti}other{# obavijesti}}</translation> <translation id="7724603315864178912">Izreži</translation> +<translation id="7745560842763881396">Prikaži aplikacije na polici</translation> <translation id="7749443890790263709">Dosegnut je maksimalan broj radnih površina.</translation> <translation id="776344839111254542">Kliknite da biste vidjeli pojedinosti o ažuriranju</translation> <translation id="7780159184141939021">Zakretanje zaslona</translation>
diff --git a/ash/strings/ash_strings_hu.xtb b/ash/strings/ash_strings_hu.xtb index 42bcafb4..3f392ca 100644 --- a/ash/strings/ash_strings_hu.xtb +++ b/ash/strings/ash_strings_hu.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Álló</translation> <translation id="2067602449040652523">Billentyűzet világossága</translation> <translation id="2078034614700056995">Csúsztasson jobbra négy ujjal a következő asztalra váltáshoz</translation> +<translation id="2079504693865562705">A polcon található alkalmazások elrejtése</translation> <translation id="2083190527011054446">Jó éjszakát, <ph name="GIVEN_NAME" />!</translation> <translation id="209965399369889474">Nincs hálózati kapcsolat</translation> <translation id="2126242104232412123">Új asztal</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> további</translation> <translation id="3236488194889173876">Nem áll rendelkezésre mobilhálózat</translation> <translation id="3249513730522716925">A(z) „<ph name="WINDOW_TITLE" />” ablak át lett helyezve a(z) „<ph name="ACTIVE_DESK" />” asztalról a(z) „<ph name="TARGET_DESK" />” asztalra</translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, jelerősség: <ph name="SIGNAL_STRENGTH" /> százalék.</translation> <translation id="3255483164551725916">Mit lehet csinálni?</translation> <translation id="3269597722229482060">Kattintás jobb egérgombbal</translation> <translation id="3289674678944039601">Töltés adapteren keresztül…</translation> @@ -370,6 +372,7 @@ <translation id="4389184120735010762">Lenyomta a dokkolt nagyító billentyűparancsát. Bekapcsolja a funkciót?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> kikapcsolva.</translation> <translation id="4421231901400348175">A képernyő irányításának megosztása <ph name="HELPER_NAME" /> segítővel a Távsegítség szolgáltatás keretein belül.</translation> +<translation id="4427613789487709312">Alapértelmezett (<ph name="RATE" />×)</translation> <translation id="4430019312045809116">Hangerő</translation> <translation id="4450893287417543264">Ne jelenjen meg többé</translation> <translation id="445864333228800152">Jó estét!</translation> @@ -450,6 +453,7 @@ <translation id="5078796286268621944">Helytelen PIN-kód</translation> <translation id="5083553833479578423">Hozzáférés a Segéd további funkcióihoz</translation> <translation id="5136175204352732067">Új billentyűzet lett csatlakoztatva</translation> +<translation id="5155897006997040331">Olvasás sebessége</translation> <translation id="5168181903108465623">Cast-eszközök állnak rendelkezésre</translation> <translation id="5170568018924773124">Megjelenítés mappában</translation> <translation id="5176318573511391780">Részleges képernyő rögzítése</translation> @@ -713,6 +717,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 értesítés}other{# értesítés}}</translation> <translation id="7724603315864178912">Kivágás</translation> +<translation id="7745560842763881396">A polcon található alkalmazások megjelenítése</translation> <translation id="7749443890790263709">Elérte az asztalok maximális számát.</translation> <translation id="776344839111254542">Kattintson a frissítés részleteinek megtekintéséhez</translation> <translation id="7780159184141939021">Képernyő elforgatása</translation>
diff --git a/ash/strings/ash_strings_ka.xtb b/ash/strings/ash_strings_ka.xtb index 525eecc..4ae9104 100644 --- a/ash/strings/ash_strings_ka.xtb +++ b/ash/strings/ash_strings_ka.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">პორტრეტი</translation> <translation id="2067602449040652523">კლავიატურის სიკაშკაშე</translation> <translation id="2078034614700056995">შემდეგ სამუშაო მაგიდაზე გადასართველად გადაფურცლეთ მარჯვნივ ოთხი თითით</translation> +<translation id="2079504693865562705">თაროზე აპების დამალვა</translation> <translation id="2083190527011054446">ღამე მშვიდობის, <ph name="GIVEN_NAME" />!</translation> <translation id="209965399369889474">ქსელთან კავშირი არ არის</translation> <translation id="2126242104232412123">ახალი სამუშაო მაგიდა</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> სხვა</translation> <translation id="3236488194889173876">მობილური ქსელი მიუწვდომელია</translation> <translation id="3249513730522716925">ფანჯარა <ph name="WINDOW_TITLE" /> გადატანილია სამუშაო მაგიდიდან <ph name="ACTIVE_DESK" /> სამუშაო მაგიდაზე <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, სიგნალის სიძლიერეა <ph name="SIGNAL_STRENGTH" /> პროცენტი.</translation> <translation id="3255483164551725916">რისი გაკეთება შეგიძლია?</translation> <translation id="3269597722229482060">მარჯვენა დაწკაპუნება</translation> <translation id="3289674678944039601">იტენება ადაპტერის მეშვეობით</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">თქვენ დააჭირეთ ჩამაგრებული ლუპის კლავიატურის მალსახმობს. გსურთ მისი ჩართვა?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> გამორთულია.</translation> <translation id="4421231901400348175">თქვენი ეკრანის მართვის გაზიარება <ph name="HELPER_NAME" /> დისტანციური დამხმარეს მეშვეობით.</translation> +<translation id="4427613789487709312">ნაგულისხმევი (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">ხმა</translation> <translation id="4450893287417543264">აღარ გამოჩნდეს</translation> <translation id="445864333228800152">საღამო მშვიდობის,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">არასწორი პინი</translation> <translation id="5083553833479578423">განბლოკეთ ასისტენტის დამატებითი ფუნქციები.</translation> <translation id="5136175204352732067">დაკავშირებულია განსხვავებული კლავიატურა</translation> +<translation id="5155897006997040331">წაკითხვის სიჩქარე</translation> <translation id="5168181903108465623">ხელმისაწვდომია გადაცემის მოწყობილობები</translation> <translation id="5170568018924773124">საქაღალდეში ჩვენება</translation> <translation id="5176318573511391780">ეკრანის ნაწილის ჩაწერა</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 შეტყობინება}other{# შეტყობინება}}</translation> <translation id="7724603315864178912">ამოჭრა</translation> +<translation id="7745560842763881396">თაროზე აპების ჩვენება</translation> <translation id="7749443890790263709">მიღწეულია სამუშაო მაგიდების მაქსიმალური რაოდენობა.</translation> <translation id="776344839111254542">დააწკაპუნეთ განახლების დეტალების სანახავად</translation> <translation id="7780159184141939021">ეკრანის ბრუნვა</translation>
diff --git a/ash/strings/ash_strings_lo.xtb b/ash/strings/ash_strings_lo.xtb index f89a07ad..94f0cc8 100644 --- a/ash/strings/ash_strings_lo.xtb +++ b/ash/strings/ash_strings_lo.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">ລວງຕັ້ງ</translation> <translation id="2067602449040652523">ຄວາມແຈ້ງຂອງແປ້ນພິມ</translation> <translation id="2078034614700056995">ໃຊ້ສີ່ນິ້ວມືປັດໄປຂວາເພື່ອປ່ຽນໄປໃຊ້ໂຕະກ່ອນໜ້າ</translation> +<translation id="2079504693865562705">ເຊື່ອງແອັບໃນຖ້ານ</translation> <translation id="2083190527011054446">ຝັນດີ <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">ບໍ່ເຊື່ອມຕໍ່ກັບເຄືອຂ່າຍ</translation> <translation id="2126242104232412123">ພື້ນທີ່ເຮັດວຽກໃໝ່</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">ອີກ +<ph name="COUNT" /></translation> <translation id="3236488194889173876">ບໍ່ມີເຄືອຂ່າຍມືຖື</translation> <translation id="3249513730522716925">ຍ້າຍໜ້າຈໍ <ph name="WINDOW_TITLE" /> ຈາກເດັສ <ph name="ACTIVE_DESK" /> ໄປຫາເດັສ <ph name="TARGET_DESK" /> ແລ້ວ</translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, ຄວາມແຮງສັນຍານ <ph name="SIGNAL_STRENGTH" /> ເປີເຊັນ.</translation> <translation id="3255483164551725916">ທ່ານເຮັດຫຍັງໄດ້ແດ່?</translation> <translation id="3269597722229482060">ຄລິກຂວາ</translation> <translation id="3289674678944039601">ກຳລັງສາກຜ່ານອະແດັບເຕີ</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">ທ່ານໄດ້ກົດປຸ່ມລັດແປ້ນພິມສຳລັບແວ່ນຂະຫຍາຍທີ່ຕັ້ງໄວ້ແລ້ວ. ທ່ານຕ້ອງການເປີດມັນບໍ?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ປິດຢູ່.</translation> <translation id="4421231901400348175">ການແບ່ງປັນການຄວບຄຸມໜ້າຈໍຂອງທ່ານກັບ <ph name="HELPER_NAME" /> ຜ່ານຕົວຊ່ວຍທາງໄກ.</translation> +<translation id="4427613789487709312">ຄ່າເລີ່ມຕົ້ນ (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">ລະດັບສຽງ</translation> <translation id="4450893287417543264">ຢ່າສະແດງອີກ</translation> <translation id="445864333228800152">ສະບາຍດີຕອນແລງ,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">PIN ບໍ່ຖືກຕ້ອງ</translation> <translation id="5083553833479578423">ປົດລັອກຄຸນສົມບັດເພີ່ມເຕີມຂອງຜູ້ຊ່ວຍ.</translation> <translation id="5136175204352732067">ເຊື່ອມຕໍ່ແປ້ນພິມອື່ນແລ້ວ</translation> +<translation id="5155897006997040331">ຄວາມໄວການອ່ານ</translation> <translation id="5168181903108465623">ອຸປະກອນຄາສທ໌ທີ່ມີໃຫ້</translation> <translation id="5170568018924773124">ສະແດງຢູ່ໃນໂຟລເດີ</translation> <translation id="5176318573511391780">ບັນທຶກໜ້າຈໍບາງສ່ວນ</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 ການແຈ້ງເຕືອນ}other{# ການແຈ້ງເຕືອນ}}</translation> <translation id="7724603315864178912">ຕັດ</translation> +<translation id="7745560842763881396">ສະແດງແອັບໃນຖ້ານ</translation> <translation id="7749443890790263709">ຮອດຈຳນວນສູງສຸດຂອງພື້ນທີ່ເຮັດວຽກແລ້ວ</translation> <translation id="776344839111254542">ຄລິກເພື່ອເບິ່ງລາຍລະອຽດການອັບເດດ</translation> <translation id="7780159184141939021">ໝຸນໜ້າຈໍ</translation>
diff --git a/ash/strings/ash_strings_lv.xtb b/ash/strings/ash_strings_lv.xtb index 018fedb2..4a7d460 100644 --- a/ash/strings/ash_strings_lv.xtb +++ b/ash/strings/ash_strings_lv.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Portrets</translation> <translation id="2067602449040652523">Tastatūras spilgtums</translation> <translation id="2078034614700056995">Lai pārslēgtos uz nākamo darbvietu, ar četriem pirkstiem velciet pa labi</translation> +<translation id="2079504693865562705">Paslēpt lietotņu joslu</translation> <translation id="2083190527011054446">Arlabunakti, <ph name="GIVEN_NAME" />!</translation> <translation id="209965399369889474">Nav savienojuma ar tīklu</translation> <translation id="2126242104232412123">Jauna darbvieta</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">vēl <ph name="COUNT" /></translation> <translation id="3236488194889173876">Mobilais tīkls nav pieejams</translation> <translation id="3249513730522716925">Logs <ph name="WINDOW_TITLE" /> pārvietots no darbvirsmas <ph name="ACTIVE_DESK" /> uz darbvirsmu <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, signāla stiprums ir <ph name="SIGNAL_STRENGTH" /> %.</translation> <translation id="3255483164551725916">Iespējamās darbības</translation> <translation id="3269597722229482060">Noklikšķināt ar peles labo pogu</translation> <translation id="3289674678944039601">Notiek uzlāde, izmantojot adapteri</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Jūs nospiedāt dokotās lupas īsinājumtaustiņu. Vai vēlaties to ieslēgt?</translation> <translation id="4412944820643904175">Funkcija <ph name="FEATURE_NAME" /> ir izslēgta.</translation> <translation id="4421231901400348175">Ekrāna pārvaldības koplietošana ar <ph name="HELPER_NAME" />, izmantojot attālo palīdzību.</translation> +<translation id="4427613789487709312">Noklusējums (reiz <ph name="RATE" />)</translation> <translation id="4430019312045809116">Skaļums</translation> <translation id="4450893287417543264">Vairs nerādīt</translation> <translation id="445864333228800152">Labvakar!</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Nepareizs PIN</translation> <translation id="5083553833479578423">Piekļūstiet citām Asistenta funkcijām</translation> <translation id="5136175204352732067">Ir pievienota cita tastatūra</translation> +<translation id="5155897006997040331">Lasīšanas ātrums</translation> <translation id="5168181903108465623">Pieejamas apraides ierīces</translation> <translation id="5170568018924773124">Rādīt mapē</translation> <translation id="5176318573511391780">Ierakstīt daļu ekrāna</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 paziņojums}zero{# paziņojumu}one{# paziņojums}other{# paziņojumi}}</translation> <translation id="7724603315864178912">Izgriezt</translation> +<translation id="7745560842763881396">Rādīt lietotņu joslu</translation> <translation id="7749443890790263709">Sasniegts maksimālais darbvietu skaits.</translation> <translation id="776344839111254542">Noklikšķiniet, lai skatītu atjauninājuma datus.</translation> <translation id="7780159184141939021">Ekrāna pagriešana</translation>
diff --git a/ash/strings/ash_strings_mk.xtb b/ash/strings/ash_strings_mk.xtb index 7dda995..ff6ecb1 100644 --- a/ash/strings/ash_strings_mk.xtb +++ b/ash/strings/ash_strings_mk.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Портрет</translation> <translation id="2067602449040652523">Осветленост на тастатурата</translation> <translation id="2078034614700056995">Повлечете надесно со четири прста за да се префрлите на следната работна површина</translation> +<translation id="2079504693865562705">Сокриј ги апликациите од полицата</translation> <translation id="2083190527011054446">Добра ноќ <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Не е поврзан на мрежа</translation> <translation id="2126242104232412123">Нов работен простор</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">и уште <ph name="COUNT" /></translation> <translation id="3236488194889173876">Нема достапна мобилна мрежа</translation> <translation id="3249513730522716925">Прозорецот <ph name="WINDOW_TITLE" /> се премести од работен простор <ph name="ACTIVE_DESK" /> на работен простор <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, јачина на сигналот: <ph name="SIGNAL_STRENGTH" /> %.</translation> <translation id="3255483164551725916">Што можеш да направиш?</translation> <translation id="3269597722229482060">Десен клик</translation> <translation id="3289674678944039601">Се полни преку адаптер</translation> @@ -370,6 +372,7 @@ <translation id="4389184120735010762">Ја притиснавте кратенката од тастатура за закотвената лупа. Дали сакате да ја вклучите?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> е исклучено.</translation> <translation id="4421231901400348175">Споделување контрола на вашиот екран со <ph name="HELPER_NAME" /> преку далечинска помош.</translation> +<translation id="4427613789487709312">Стандардно (<ph name="RATE" /> пати)</translation> <translation id="4430019312045809116">Гласност</translation> <translation id="4450893287417543264">Не прикажувај повторно</translation> <translation id="445864333228800152">Добровечер,</translation> @@ -450,6 +453,7 @@ <translation id="5078796286268621944">Неточен PIN</translation> <translation id="5083553833479578423">Отклучете повеќе функции на „Помошникот“.</translation> <translation id="5136175204352732067">Поврзана е друга тастатура</translation> +<translation id="5155897006997040331">Брзина на читање</translation> <translation id="5168181903108465623">Достапни се уреди за емитување</translation> <translation id="5170568018924773124">Прикажи во папка</translation> <translation id="5176318573511391780">Делумно снимање екран</translation> @@ -713,6 +717,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 известување}one{# известување}other{# известувања}}</translation> <translation id="7724603315864178912">Исечи</translation> +<translation id="7745560842763881396">Прикажи ги апликациите од полицата</translation> <translation id="7749443890790263709">Достигнат е максималниот број работни простори.</translation> <translation id="776344839111254542">Кликнете за да ги погледнете деталите за ажурирањето</translation> <translation id="7780159184141939021">Ротација на екранот</translation>
diff --git a/ash/strings/ash_strings_mn.xtb b/ash/strings/ash_strings_mn.xtb index 9b7a621..8e54350 100644 --- a/ash/strings/ash_strings_mn.xtb +++ b/ash/strings/ash_strings_mn.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Хөрөг зураг</translation> <translation id="2067602449040652523">Гарын гэрэлтүүлэг</translation> <translation id="2078034614700056995">Дараагийн дэлгэц рүү сэлгэхийн тулд дөрвөн хуруугаараа баруун тийш шударна уу</translation> +<translation id="2079504693865562705">Аппуудыг тавиураас нуух</translation> <translation id="2083190527011054446">Сайхан амраарай <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Сүлжээнд холбогдоогүй байна</translation> <translation id="2126242104232412123">Шинэ ширээ</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">Бусад +<ph name="COUNT" /></translation> <translation id="3236488194889173876">Мобайл сүлжээ алга</translation> <translation id="3249513730522716925"><ph name="WINDOW_TITLE" /> цонхыг <ph name="ACTIVE_DESK" /> дэлгэцээс <ph name="TARGET_DESK" /> дэлгэц рүү зөөсөн</translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, Дохионы хүч <ph name="SIGNAL_STRENGTH" /> хувь.</translation> <translation id="3255483164551725916">Та юу хийх боломжтой вэ?</translation> <translation id="3269597722229482060">Баруун талыг товших</translation> <translation id="3289674678944039601">Адаптераар цэнэглэж байна</translation> @@ -370,6 +372,7 @@ <translation id="4389184120735010762">Та суурилуулсан томруулагчийн товчлуурын шууд холбоосыг дарсан байна. Үүнийг асаах уу?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> унтраалттай байна.</translation> <translation id="4421231901400348175">Remote Assistance ашиглан <ph name="HELPER_NAME" /> -тэй хамт өөрийн дэлгэцийн хяналтыг хуваалцах.</translation> +<translation id="4427613789487709312">Өгөгдмөл (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Хэмжээ</translation> <translation id="4450893287417543264">Дахиж бүү харуул</translation> <translation id="445864333228800152">Оройн мэнд,</translation> @@ -450,6 +453,7 @@ <translation id="5078796286268621944">PIN код буруу байна</translation> <translation id="5083553833479578423">Tуслахын бусад онцлогийн түгжээг тайлна уу.</translation> <translation id="5136175204352732067">Өөр гар холбосон</translation> +<translation id="5155897006997040331">Унших хурд</translation> <translation id="5168181903108465623">Бэлэн төхөөрөмжийг каст хийх</translation> <translation id="5170568018924773124">Хавтсанд харуул</translation> <translation id="5176318573511391780">Хэсэгчилсэн дэлгэцийг бичих</translation> @@ -713,6 +717,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 мэдэгдэл}other{# мэдэгдэл}}</translation> <translation id="7724603315864178912">Хайчлах</translation> +<translation id="7745560842763881396">Аппуудыг тавиур дээр харуулах</translation> <translation id="7749443890790263709">Дэлгэцийн тоо хамгийн дээд хэмжээнд хүрлээ.</translation> <translation id="776344839111254542">Шинэчлэлтийн дэлгэрэнгүйг харахын тулд товшино уу</translation> <translation id="7780159184141939021">Дэлгэцийг эргүүлсэн</translation>
diff --git a/ash/strings/ash_strings_ms.xtb b/ash/strings/ash_strings_ms.xtb index 4f2e6e6..7a633c8 100644 --- a/ash/strings/ash_strings_ms.xtb +++ b/ash/strings/ash_strings_ms.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Potret</translation> <translation id="2067602449040652523">Kecerahan papan kekunci</translation> <translation id="2078034614700056995">Leret ke kanan dengan empat jari untuk beralih kepada meja seterusnya</translation> +<translation id="2079504693865562705">Sembunyikan apl dalam rak</translation> <translation id="2083190527011054446">Selamat malam <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Tidak bersambung ke rangkaian</translation> <translation id="2126242104232412123">Meja baharu</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> lagi</translation> <translation id="3236488194889173876">Tiada rangkaian mudah alih tersedia</translation> <translation id="3249513730522716925">Tetingkap <ph name="WINDOW_TITLE" /> dialihkan daripada Meja <ph name="ACTIVE_DESK" /> ke Meja <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, Kekuatan isyarat <ph name="SIGNAL_STRENGTH" /> peratus.</translation> <translation id="3255483164551725916">Apakah yang boleh anda lakukan?</translation> <translation id="3269597722229482060">Klik Kanan</translation> <translation id="3289674678944039601">Mengecas melalui penyesuai</translation> @@ -370,6 +372,7 @@ <translation id="4389184120735010762">Anda menekan pintasan papan kekunci untuk penggadang yang didok. Adakah anda ingin menghidupkannya?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> dimatikan.</translation> <translation id="4421231901400348175">Berkongsi kawalan skrin anda dengan <ph name="HELPER_NAME" /> melalui Bantuan Jauh.</translation> +<translation id="4427613789487709312">Lalai (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Kelantangan</translation> <translation id="4450893287417543264">Jangan tunjukkan lagi</translation> <translation id="445864333228800152">Selamat petang,</translation> @@ -450,6 +453,7 @@ <translation id="5078796286268621944">PIN salah</translation> <translation id="5083553833479578423">Buka kunci pelbagai lagi ciri Assistant.</translation> <translation id="5136175204352732067">Papan kekunci lain disambungkan</translation> +<translation id="5155897006997040331">Kelajuan membaca</translation> <translation id="5168181903108465623">Peranti Cast tersedia</translation> <translation id="5170568018924773124">Paparkan dalam folder</translation> <translation id="5176318573511391780">Rakam skrin separa</translation> @@ -713,6 +717,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 pemberitahuan}other{# pemberitahuan}}</translation> <translation id="7724603315864178912">Potong</translation> +<translation id="7745560842763881396">Tunjukkan apl dalam rak</translation> <translation id="7749443890790263709">Bilangan maksimum meja dicapai.</translation> <translation id="776344839111254542">Klik untuk melihat butiran kemas kini</translation> <translation id="7780159184141939021">Putarkan Skrin</translation>
diff --git a/ash/strings/ash_strings_my.xtb b/ash/strings/ash_strings_my.xtb index 36c84075..376d48e 100644 --- a/ash/strings/ash_strings_my.xtb +++ b/ash/strings/ash_strings_my.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">ဒေါင်လိုက်</translation> <translation id="2067602449040652523">ကီးဘုတ် တောက်ပမှု</translation> <translation id="2078034614700056995">နောက်မျက်နှာပြင်နေရာသို့ ပြောင်းရန် လက်လေးချောင်းဖြင့် ညာသို့ပွတ်ဆွဲပါ</translation> +<translation id="2079504693865562705">အက်ပ်များကို စင်တွင်ဖျောက်ထားရန်</translation> <translation id="2083190527011054446">မင်္ဂလာ ညချမ်းပါ <ph name="GIVEN_NAME" /></translation> <translation id="209965399369889474">ကွန်ရက်ချိတ်ဆက်မထားပါ</translation> <translation id="2126242104232412123">မျက်နှာပြင်နေရာ အသစ်</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+နောက်ထပ် <ph name="COUNT" /> ခု</translation> <translation id="3236488194889173876">မည်သည့် ကွန်ရက်မျှ မရနိုင်ပါ</translation> <translation id="3249513730522716925">ဝင်းဒိုး <ph name="WINDOW_TITLE" /> ကို 'မြင်ကွင်း <ph name="ACTIVE_DESK" />' မှ 'မြင်ကွင်း <ph name="TARGET_DESK" />' သို့ ရွှေ့ထားသည်</translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />၊ လိုင်းဆွဲအား <ph name="SIGNAL_STRENGTH" /> ရာခိုင်နှုန်း။</translation> <translation id="3255483164551725916">သင်ဘာလုပ်နိုင်သလဲ။</translation> <translation id="3269597722229482060">ညာဘက်ခလုတ်ကို နှိပ်ရန်</translation> <translation id="3289674678944039601">ကြားခံကိရိယာမှတစ်ဆင့် အားသွင်းနေသည်</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">တပ်ဆင်ထားသည့် မှန်ဘီလူးအတွက် ကီးဘုတ်ဖြတ်လမ်းလင့်ခ်ကို သင်နှိပ်လိုက်ပါသည်။ ၎င်းကို ဖွင့်လိုပါသလား။</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ပိတ်ထားသည်။</translation> <translation id="4421231901400348175">အဝေးမှ ထောက်ကူခြင်း ဆိုသည်မှ တဆင့် သင့်ဖန်သားပြင်အား <ph name="HELPER_NAME" /> နှင့် မျှဝေသုံးစွဲခြင်း။</translation> +<translation id="4427613789487709312">မူရင်း (<ph name="RATE" /> ဆ)</translation> <translation id="4430019312045809116">ပမာဏ</translation> <translation id="4450893287417543264">ထပ်မပြပါနှင့်</translation> <translation id="445864333228800152">မင်္ဂလာ ညနေခင်းပါ၊</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">မမှန်ကန်သည့် ပင်ကုဒ်</translation> <translation id="5083553833479578423">နောက်ထပ် Assistant ဝန်ဆောင်မှုများကို ဖွင့်ပါ</translation> <translation id="5136175204352732067">မတူညီသည့် ကီးဘုတ်ကို ချိတ်ဆက်ထားသည်</translation> +<translation id="5155897006997040331">စာဖတ်နှုန်း</translation> <translation id="5168181903108465623">Cast စက်ကိရိယာများ ရနိုင်၏</translation> <translation id="5170568018924773124">ဖိုလ်ဒါ ထဲမှာ ပြရန်</translation> <translation id="5176318573511391780">ဖန်သားပြင်တစ်စိတ်တစ်ပိုင်းကို ရိုက်ကူးရန်</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{အကြောင်းကြားချက် ၁ ခု}other{အကြောင်းကြားချက် # ခု}}</translation> <translation id="7724603315864178912">ဖြတ်တောက်</translation> +<translation id="7745560842763881396">အက်ပ်များကို စင်တွင်ပြရန်</translation> <translation id="7749443890790263709">အများဆုံးသတ်မှတ်ထားသည့် စားပွဲအရေအတွက် ပြည့်သွားပါပြီ။</translation> <translation id="776344839111254542">အပ်ဒိတ်အသေးစိတ် အချက်အလက်များကို ကြည့်ရန် နှိပ်ပါ</translation> <translation id="7780159184141939021">မျက်နှာပြင် လှည့်ခြင်း</translation>
diff --git a/ash/strings/ash_strings_no.xtb b/ash/strings/ash_strings_no.xtb index 32565c1..4728325 100644 --- a/ash/strings/ash_strings_no.xtb +++ b/ash/strings/ash_strings_no.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Stående</translation> <translation id="2067602449040652523">Lysstyrke på tastaturet</translation> <translation id="2078034614700056995">Sveip til høyre med fire fingre for å bytte til neste skrivebord</translation> +<translation id="2079504693865562705">Skjul apper på hyllen</translation> <translation id="2083190527011054446">God natt, <ph name="GIVEN_NAME" /></translation> <translation id="209965399369889474">Ikke koblet til nettverket</translation> <translation id="2126242104232412123">Nytt skrivebord</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> til</translation> <translation id="3236488194889173876">Ingen mobilnettverk er tilgjengelige</translation> <translation id="3249513730522716925">Vinduet <ph name="WINDOW_TITLE" /> ble flyttet fra skrivebord <ph name="ACTIVE_DESK" /> til skrivebord <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" /> – signalstyrke <ph name="SIGNAL_STRENGTH" /> prosent.</translation> <translation id="3255483164551725916">Hva kan du gjøre?</translation> <translation id="3269597722229482060">Høyreklikk</translation> <translation id="3289674678944039601">Lader via adapter</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Du trykket på hurtigtasten for den dokkede lupen. Vil du slå den på?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> er av.</translation> <translation id="4421231901400348175">Deler kontroll av skjermen med <ph name="HELPER_NAME" /> via fjernhjelp.</translation> +<translation id="4427613789487709312">Standard (<ph name="RATE" /> ×)</translation> <translation id="4430019312045809116">Volum</translation> <translation id="4450893287417543264">Ikke vis igjen</translation> <translation id="445864333228800152">God kveld</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Feil personlig kode</translation> <translation id="5083553833479578423">Lås opp flere Assistent-funksjoner.</translation> <translation id="5136175204352732067">Et annet tastatur er koblet til</translation> +<translation id="5155897006997040331">Lesehastighet</translation> <translation id="5168181903108465623">Cast-enheter er tilgjengelige</translation> <translation id="5170568018924773124">Vis i mappen</translation> <translation id="5176318573511391780">Ta opp en del av skjermen</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 varsel}other{# varsler}}</translation> <translation id="7724603315864178912">Klipp ut</translation> +<translation id="7745560842763881396">Vis apper på hyllen</translation> <translation id="7749443890790263709">Maksimalt antall skrivebord er nådd.</translation> <translation id="776344839111254542">Klikk for å se oppdateringsdetaljene</translation> <translation id="7780159184141939021">Rotér skjermen</translation>
diff --git a/ash/strings/ash_strings_pl.xtb b/ash/strings/ash_strings_pl.xtb index b7e0376..3e1adf9 100644 --- a/ash/strings/ash_strings_pl.xtb +++ b/ash/strings/ash_strings_pl.xtb
@@ -481,7 +481,7 @@ <translation id="5516420770350073386">Nagrywanie ekranu zostało zatrzymane przez administratora z powodu wyświetlenia pewnych treści.</translation> <translation id="5519195206574732858">LTE</translation> <translation id="5523434445161341166">Funkcja <ph name="FEATURE_NAME" /> nawiązuje połączenie.</translation> -<translation id="5532994612895037630">Aby nagrać cały ekran, kliknij w dowolnym miejscu</translation> +<translation id="5532994612895037630">Aby zrobić zrzut całego ekranu, kliknij w dowolnym miejscu</translation> <translation id="553675580533261935">Zamykanie sesji</translation> <translation id="5537725057119320332">Przesyłaj</translation> <translation id="554893713779400387">Włącz lub wyłącz dyktowanie</translation> @@ -540,7 +540,7 @@ <translation id="602001110135236999">Przewiń w lewo</translation> <translation id="6025324406281560198"><ph name="SECURITY_STATUS" />, <ph name="CONNECTION_STATUS" />, siła sygnału: <ph name="SIGNAL_STRENGTH" />, zarządzana przez administratora</translation> <translation id="6030495522958826102">Menu zostało przeniesione w lewy dolny róg ekranu.</translation> -<translation id="6032620807120418574">Aby nagrać cały ekran, kliknij w dowolnym miejscu</translation> +<translation id="6032620807120418574">Aby zrobić zrzut całego ekranu, kliknij w dowolnym miejscu</translation> <translation id="6040143037577758943">Zamknij</translation> <translation id="6043212731627905357">Ten monitor nie działa z Twoim urządzeniem <ph name="DEVICE_TYPE" /> (nie jest obsługiwany).</translation> <translation id="6043994281159824495">Wyloguj się teraz</translation>
diff --git a/ash/strings/ash_strings_pt-PT.xtb b/ash/strings/ash_strings_pt-PT.xtb index 588d9b32..84b9dac2 100644 --- a/ash/strings/ash_strings_pt-PT.xtb +++ b/ash/strings/ash_strings_pt-PT.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Vertical</translation> <translation id="2067602449040652523">Brilho do teclado</translation> <translation id="2078034614700056995">Deslize rapidamente para a direita com quatro dedos para mudar para o espaço de trabalho seguinte.</translation> +<translation id="2079504693865562705">Ocultar apps na prateleira</translation> <translation id="2083190527011054446">Boa noite, <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Não está ligado à rede.</translation> <translation id="2126242104232412123">Novo espaço de trabalho</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">E mais <ph name="COUNT" /></translation> <translation id="3236488194889173876">Nenhuma rede móvel disponível</translation> <translation id="3249513730522716925">A janela <ph name="WINDOW_TITLE" /> foi movida do espaço de trabalho <ph name="ACTIVE_DESK" /> para o espaço de trabalho <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, intensidade do sinal a <ph name="SIGNAL_STRENGTH" /> por cento.</translation> <translation id="3255483164551725916">O que podes fazer?</translation> <translation id="3269597722229482060">Clicar com o botão direito do rato</translation> <translation id="3289674678944039601">A carregar através de adaptador…</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Premiu o atalho de teclado da lupa ancorada. Pretende ativá-la?</translation> <translation id="4412944820643904175">A funcionalidade <ph name="FEATURE_NAME" /> está desativada.</translation> <translation id="4421231901400348175">A partilhar o controlo do seu ecrã com <ph name="HELPER_NAME" /> através da Assistência remota.</translation> +<translation id="4427613789487709312">Predefinição (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Volume</translation> <translation id="4450893287417543264">Não mostrar de novo</translation> <translation id="445864333228800152">Boa noite,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">PIN incorreto</translation> <translation id="5083553833479578423">Desbloqueie mais funcionalidades do Assistente.</translation> <translation id="5136175204352732067">Teclado diferente ligado</translation> +<translation id="5155897006997040331">Velocidade de leitura</translation> <translation id="5168181903108465623">Dispositivos de transmissão disponíveis</translation> <translation id="5170568018924773124">Mostrar numa pasta</translation> <translation id="5176318573511391780">Gravar ecrã parcial</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 notificação}other{# notificações}}</translation> <translation id="7724603315864178912">Cortar</translation> +<translation id="7745560842763881396">Mostrar apps na prateleira</translation> <translation id="7749443890790263709">Atingiu o número máximo de espaços de trabalho.</translation> <translation id="776344839111254542">Clique para ver os detalhes da atualização</translation> <translation id="7780159184141939021">Rodar ecrã</translation>
diff --git a/ash/strings/ash_strings_ro.xtb b/ash/strings/ash_strings_ro.xtb index a3d63c1..2dce594 100644 --- a/ash/strings/ash_strings_ro.xtb +++ b/ash/strings/ash_strings_ro.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Portret</translation> <translation id="2067602449040652523">Luminozitatea tastaturii</translation> <translation id="2078034614700056995">Glisează spre dreapta cu patru degete pentru a comuta la desktopul următor</translation> +<translation id="2079504693865562705">Ascunde aplicațiile din raft</translation> <translation id="2083190527011054446">Bună seara, <ph name="GIVEN_NAME" />!</translation> <translation id="209965399369889474">Fără conexiune la rețea</translation> <translation id="2126242104232412123">Desktop nou</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+ încă <ph name="COUNT" /></translation> <translation id="3236488194889173876">Nicio rețea mobilă disponibilă</translation> <translation id="3249513730522716925">Fereastra <ph name="WINDOW_TITLE" /> a fost mutată de pe desktopul <ph name="ACTIVE_DESK" /> pe desktopul <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, puterea semnalului: <ph name="SIGNAL_STRENGTH" /> %.</translation> <translation id="3255483164551725916">Ce poți face?</translation> <translation id="3269597722229482060">Clic dreapta</translation> <translation id="3289674678944039601">Se încarcă prin adaptor</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Ai accesat comanda rapidă de la tastatură pentru lupa andocată. Vrei să o activezi?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> este dezactivat.</translation> <translation id="4421231901400348175">În prezent, <ph name="HELPER_NAME" /> îți poate controla ecranul prin Asistență la distanță.</translation> +<translation id="4427613789487709312">Prestabilită (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Volum</translation> <translation id="4450893287417543264">Nu mai afișa</translation> <translation id="445864333228800152">Bună seara!</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Cod PIN incorect</translation> <translation id="5083553833479578423">Deblochează mai multe funcții ale Asistentului.</translation> <translation id="5136175204352732067">Altă tastatură conectată</translation> +<translation id="5155897006997040331">Viteza de citire</translation> <translation id="5168181903108465623">Dispozitive de proiecție disponibile</translation> <translation id="5170568018924773124">Afișează în dosar</translation> <translation id="5176318573511391780">Înregistrează ecranul parțial</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{O notificare}few{# notificări}other{# de notificări}}</translation> <translation id="7724603315864178912">Decupează</translation> +<translation id="7745560842763881396">Afișează aplicațiile în raft</translation> <translation id="7749443890790263709">S-a atins numărul maxim de desktopuri.</translation> <translation id="776344839111254542">Dă clic pentru a vedea detaliile actualizării</translation> <translation id="7780159184141939021">Rotește ecranul</translation>
diff --git a/ash/strings/ash_strings_sr-Latn.xtb b/ash/strings/ash_strings_sr-Latn.xtb index 57e2ea5..d0bd892 100644 --- a/ash/strings/ash_strings_sr-Latn.xtb +++ b/ash/strings/ash_strings_sr-Latn.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Vertikalno</translation> <translation id="2067602449040652523">Osvetljenost tastature</translation> <translation id="2078034614700056995">Prevucite udesno pomoću četiri prsta da biste prešli na sledeću radnu površinu</translation> +<translation id="2079504693865562705">Sakrij aplikacije na polici</translation> <translation id="2083190527011054446">Laku noć, <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Niste povezani na mrežu</translation> <translation id="2126242104232412123">Novi radni prostor</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">i još <ph name="COUNT" /></translation> <translation id="3236488194889173876">Nije dostupna nijedna mobilna mreža</translation> <translation id="3249513730522716925">Prozor <ph name="WINDOW_TITLE" /> je premešten sa radne površine <ph name="ACTIVE_DESK" /> na radnu površinu <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, jačina signala <ph name="SIGNAL_STRENGTH" /> odsto.</translation> <translation id="3255483164551725916">Šta možeš da radiš?</translation> <translation id="3269597722229482060">Desni klik</translation> <translation id="3289674678944039601">Puni se preko adaptera</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Pritisnuli ste tastersku prečicu za montiranu lupu ekrana. Želite li da je uključite?</translation> <translation id="4412944820643904175">Funkcija <ph name="FEATURE_NAME" /> je isključena.</translation> <translation id="4421231901400348175">Delite kontrolu nad ekranom sa osobom <ph name="HELPER_NAME" /> preko Daljinske pomoći.</translation> +<translation id="4427613789487709312">Podrazumevano (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Jačina zvuka</translation> <translation id="4450893287417543264">Ne prikazuj ponovo</translation> <translation id="445864333228800152">Dobro veče,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Netačan PIN</translation> <translation id="5083553833479578423">Otključajte još funkcija Pomoćnika.</translation> <translation id="5136175204352732067">Neka druga tastatura je povezana</translation> +<translation id="5155897006997040331">Brzina čitanja</translation> <translation id="5168181903108465623">Dostupni su uređaji za prebacivanje</translation> <translation id="5170568018924773124">Prikaži u direktorijumu</translation> <translation id="5176318573511391780">Snimi deo ekrana</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 obaveštenje}one{# obaveštenje}few{# obaveštenja}other{# obaveštenja}}</translation> <translation id="7724603315864178912">Iseci</translation> +<translation id="7745560842763881396">Prikaži aplikacije na polici</translation> <translation id="7749443890790263709">Dostigli ste maksimalan broj radnih površina.</translation> <translation id="776344839111254542">Kliknite za prikaz detalja ažuriranja</translation> <translation id="7780159184141939021">Rotirajte ekran</translation>
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb index 52f81cef..3261066 100644 --- a/ash/strings/ash_strings_sr.xtb +++ b/ash/strings/ash_strings_sr.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Вертикално</translation> <translation id="2067602449040652523">Осветљеност тастатуре</translation> <translation id="2078034614700056995">Превуците удесно помоћу четири прста да бисте прешли на следећу радну површину</translation> +<translation id="2079504693865562705">Сакриј апликације на полици</translation> <translation id="2083190527011054446">Лаку ноћ, <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Нисте повезани на мрежу</translation> <translation id="2126242104232412123">Нови радни простор</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">и још <ph name="COUNT" /></translation> <translation id="3236488194889173876">Није доступна ниједна мобилна мрежа</translation> <translation id="3249513730522716925">Прозор <ph name="WINDOW_TITLE" /> је премештен са радне површине <ph name="ACTIVE_DESK" /> на радну површину <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, јачина сигнала <ph name="SIGNAL_STRENGTH" /> одсто.</translation> <translation id="3255483164551725916">Шта можеш да радиш?</translation> <translation id="3269597722229482060">Десни клик</translation> <translation id="3289674678944039601">Пуни се преко адаптера</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Притиснули сте тастерску пречицу за монтирану лупу екрана. Желите ли да је укључите?</translation> <translation id="4412944820643904175">Функција <ph name="FEATURE_NAME" /> је искључена.</translation> <translation id="4421231901400348175">Делите контролу над екраном са особом <ph name="HELPER_NAME" /> преко Даљинске помоћи.</translation> +<translation id="4427613789487709312">Подразумевано (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Јачина звука</translation> <translation id="4450893287417543264">Не приказуј поново</translation> <translation id="445864333228800152">Добро вече,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">Нетачан PIN</translation> <translation id="5083553833479578423">Откључајте још функција Помоћника.</translation> <translation id="5136175204352732067">Нека друга тастатура је повезана</translation> +<translation id="5155897006997040331">Брзина читања</translation> <translation id="5168181903108465623">Доступни су уређаји за пребацивање</translation> <translation id="5170568018924773124">Прикажи у директоријуму</translation> <translation id="5176318573511391780">Сними део екрана</translation> @@ -712,6 +716,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{1 обавештење}one{# обавештење}few{# обавештења}other{# обавештења}}</translation> <translation id="7724603315864178912">Исеци</translation> +<translation id="7745560842763881396">Прикажи апликације на полици</translation> <translation id="7749443890790263709">Достигли сте максималан број радних површина.</translation> <translation id="776344839111254542">Кликните за приказ детаља ажурирања</translation> <translation id="7780159184141939021">Ротирајте екран</translation>
diff --git a/ash/strings/ash_strings_sw.xtb b/ash/strings/ash_strings_sw.xtb index 4e950a5..e34aec4 100644 --- a/ash/strings/ash_strings_sw.xtb +++ b/ash/strings/ash_strings_sw.xtb
@@ -122,6 +122,7 @@ <translation id="2050339315714019657">Wima</translation> <translation id="2067602449040652523">Ung'avu wa kibodi</translation> <translation id="2078034614700056995">Telezesha vidole vinne kulia ili uende kwenye eneokazi linalofuata</translation> +<translation id="2079504693865562705">Ficha programu kwenye rafu</translation> <translation id="2083190527011054446">Usiku mwema <ph name="GIVEN_NAME" />,</translation> <translation id="209965399369889474">Haijaunganishwa kwenye mtandao</translation> <translation id="2126242104232412123">Sehemu mpya ya kufanyia kazi</translation> @@ -238,6 +239,7 @@ <translation id="3226991577105957773">+<ph name="COUNT" /> zaidi</translation> <translation id="3236488194889173876">Mtandao wa simu haupatikani</translation> <translation id="3249513730522716925">Dirisha la <ph name="WINDOW_TITLE" /> limehamishwa kutoka Kiolesura cha <ph name="ACTIVE_DESK" /> hadi Kiolesura cha <ph name="TARGET_DESK" /></translation> +<translation id="3252068179161473151"><ph name="WIRELESS_PROVIDER" />, Uthabiti wa mtandao, asilimia <ph name="SIGNAL_STRENGTH" />.</translation> <translation id="3255483164551725916">Unaweza kufanya nini?</translation> <translation id="3269597722229482060">Bofya Kulia</translation> <translation id="3289674678944039601">Inachaji kupitia adapta</translation> @@ -369,6 +371,7 @@ <translation id="4389184120735010762">Umebofya mikato ya kibodi ya kikuzaji kilichoambatishwa. Ungependa kukiwasha?</translation> <translation id="4412944820643904175"><ph name="FEATURE_NAME" /> kimezimwa.</translation> <translation id="4421231901400348175">Kushiriki udhibiti wa skrini yako na <ph name="HELPER_NAME" /> kupitia Usaidizi wa Mbali.</translation> +<translation id="4427613789487709312">Chaguomsingi (<ph name="RATE" />x)</translation> <translation id="4430019312045809116">Kiwango cha sauti</translation> <translation id="4450893287417543264">Usionyeshe tena</translation> <translation id="445864333228800152">Habari za jioni,</translation> @@ -449,6 +452,7 @@ <translation id="5078796286268621944">PIN isiyo sahihi</translation> <translation id="5083553833479578423">Fungua vipengele zaidi vya programu yako ya Mratibu.</translation> <translation id="5136175204352732067">Kibodi tofauti imeunganishwa</translation> +<translation id="5155897006997040331">Kasi ya kusoma</translation> <translation id="5168181903108465623">Vifaa vinavyorusha maudhui vinapatikana</translation> <translation id="5170568018924773124">Onyesha katika folda</translation> <translation id="5176318573511391780">Rekodi sehemu ya skrini</translation> @@ -713,6 +717,7 @@ <translation id="7705524343798198388">VPN</translation> <translation id="7723389094756330927">{NUM_NOTIFICATIONS,plural, =1{Arifa 1}other{Arifa #}}</translation> <translation id="7724603315864178912">Kata</translation> +<translation id="7745560842763881396">Onyesha programu kwenye rafu</translation> <translation id="7749443890790263709">Umefikia idadi ya juu zaidi ya violesura.</translation> <translation id="776344839111254542">Bofya ili uone maelezo ya masasisho</translation> <translation id="7780159184141939021">Zungusha Skrini</translation>
diff --git a/ash/wm/tablet_mode/tablet_mode_controller.cc b/ash/wm/tablet_mode/tablet_mode_controller.cc index 56f83ff..36ce3a2e 100644 --- a/ash/wm/tablet_mode/tablet_mode_controller.cc +++ b/ash/wm/tablet_mode/tablet_mode_controller.cc
@@ -262,6 +262,17 @@ TabletModeController::ForcePhysicalTabletState::kForceTabletMode, }; +// Defines the behavior that sticks to physical tablet state. Used to implement +// the --force-in-tablet-physical-state switch. +constexpr TabletModeController::TabletModeBehavior kForceOnBySwitch{ + /*use_sensor=*/false, + /*observe_display_events=*/false, + /*observe_pointer_device_events=*/true, + /*block_internal_input_device=*/true, + /*always_show_overview_button=*/false, + TabletModeController::ForcePhysicalTabletState::kForceTabletMode, +}; + using LidState = chromeos::PowerManagerClient::LidState; using TabletMode = chromeos::PowerManagerClient::TabletMode; @@ -572,6 +583,12 @@ case UiMode::kNone: break; } + + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kForceInTabletPhysicalState)) { + tablet_mode_behavior_ = kForceOnBySwitch; + SetIsInTabletPhysicalState(CalculateIsInTabletPhysicalState()); + } } void TabletModeController::OnDisplayConfigurationChanged() {
diff --git a/ash/wm/tablet_mode/tablet_mode_controller.h b/ash/wm/tablet_mode/tablet_mode_controller.h index 5c87daa1..0944db3 100644 --- a/ash/wm/tablet_mode/tablet_mode_controller.h +++ b/ash/wm/tablet_mode/tablet_mode_controller.h
@@ -378,8 +378,9 @@ UiMode forced_ui_mode_ = UiMode::kNone; // True if the device is physically in a tablet state regardless of the UI - // tablet mode state. The physical tablet state only changes based on device - // events such as lid angle changes, or device getting detached from its base. + // tablet mode state. The physical tablet state usually changes based on + // device events such as lid angle changes, or device getting detached from + // its base. A device also can be forced to stay in physical tablet state. bool is_in_tablet_physical_state_ = false; // Set when tablet mode switch is on. This is used to force tablet mode.
diff --git a/base/allocator/partition_allocator/partition_alloc-inl.h b/base/allocator/partition_allocator/partition_alloc-inl.h index 6a78cdf..0c5dc2cd 100644 --- a/base/allocator/partition_allocator/partition_alloc-inl.h +++ b/base/allocator/partition_allocator/partition_alloc-inl.h
@@ -16,6 +16,9 @@ #include <windows.h> #endif +#define PARTITION_EXTRAS_REQUIRED \ + (DCHECK_IS_ON() || ENABLE_REF_COUNT_FOR_BACKUP_REF_PTR) + namespace base { namespace internal {
diff --git a/base/allocator/partition_allocator/partition_root.cc b/base/allocator/partition_allocator/partition_root.cc index 243c424..d6c875b 100644 --- a/base/allocator/partition_allocator/partition_root.cc +++ b/base/allocator/partition_allocator/partition_root.cc
@@ -355,6 +355,7 @@ // ref-count at the beginning of the slot. allow_extras = (opts.alignment != PartitionOptions::Alignment::kAlignedAlloc); +#if PARTITION_EXTRAS_REQUIRED size_t size = 0, offset = 0; if (allow_extras) { size += internal::kPartitionCookieSizeAdjustment; @@ -365,6 +366,7 @@ } extras_size = static_cast<uint32_t>(size); extras_offset = static_cast<uint32_t>(offset); +#endif pcscan_mode = PartitionOptionsToPCScanMode<thread_safe>(opts.pcscan); if (pcscan_mode == PCScanMode::kEnabled) {
diff --git a/base/allocator/partition_allocator/partition_root.h b/base/allocator/partition_allocator/partition_root.h index 4fd2b3d..7ff1299 100644 --- a/base/allocator/partition_allocator/partition_root.h +++ b/base/allocator/partition_allocator/partition_root.h
@@ -131,8 +131,6 @@ using ScopedGuard = internal::ScopedGuard<thread_safe>; using PCScan = internal::PCScan<thread_safe>; - internal::MaybeSpinLock<thread_safe> lock_; - enum class PCScanMode : uint8_t { kNonScannable, kDisabled, @@ -140,13 +138,41 @@ } pcscan_mode = PCScanMode::kNonScannable; // Flags accessed on fast paths. + // + // Careful! PartitionAlloc's performance is sensitive to its layout. Please + // put the fast-path objects below, and the other ones further (see comment in + // this file). bool with_thread_cache = false; const bool is_thread_safe = thread_safe; - bool initialized = false; bool allow_extras; + +#if !PARTITION_EXTRAS_REQUIRED + // Teach the compiler that `AdjustSizeForExtrasAdd` etc. can be eliminated + // in builds that use no extras. + static constexpr uint32_t extras_size = 0; + static constexpr uint32_t extras_offset = 0; +#else uint32_t extras_size; uint32_t extras_offset; +#endif + + // Not used on the fastest path (thread cache allocations), but on the fast + // path of the central allocator. + internal::MaybeSpinLock<thread_safe> lock_; + + // The bucket lookup table lets us map a size_t to a bucket quickly. + // The trailing +1 caters for the overflow case for very large allocation + // sizes. It is one flat array instead of a 2D array because in the 2D + // world, we'd need to index array[blah][max+1] which risks undefined + // behavior. + static uint16_t + bucket_index_lookup[((kBitsPerSizeT + 1) * kNumBucketsPerOrder) + 1]; + Bucket buckets[kNumBuckets] = {}; + Bucket sentinel_bucket; + + // All fields below this comment are not accessed on the fast path. + bool initialized = false; // Bookkeeping. // - total_size_of_super_pages - total virtual address space for normal bucket @@ -177,18 +203,6 @@ // Integrity check = ~reinterpret_cast<uintptr_t>(this). uintptr_t inverted_self = 0; - // The bucket lookup table lets us map a size_t to a bucket quickly. - // The trailing +1 caters for the overflow case for very large allocation - // sizes. It is one flat array instead of a 2D array because in the 2D - // world, we'd need to index array[blah][max+1] which risks undefined - // behavior. - static uint16_t - bucket_index_lookup[((kBitsPerSizeT + 1) * kNumBucketsPerOrder) + 1]; - // Accessed on fast paths, but sizeof(Bucket) is large, so there is no real - // benefit in packing it with other members. - Bucket buckets[kNumBuckets] = {}; - Bucket sentinel_bucket; - PartitionRoot() = default; explicit PartitionRoot(PartitionOptions opts) { Init(opts); } ~PartitionRoot();
diff --git a/base/android/java/src/org/chromium/base/BundleUtils.java b/base/android/java/src/org/chromium/base/BundleUtils.java index 1971e14..00fc6c5 100644 --- a/base/android/java/src/org/chromium/base/BundleUtils.java +++ b/base/android/java/src/org/chromium/base/BundleUtils.java
@@ -117,6 +117,15 @@ if (path != null) { return path; } + + // SplitCompat is installed on the application context, so check there for library paths + // which were added to that ClassLoader. + path = ((BaseDexClassLoader) ContextUtils.getApplicationContext().getClassLoader()) + .findLibrary(libraryName); + if (path != null) { + return path; + } + return getSplitApkLibraryPath(libraryName, splitName); } }
diff --git a/base/containers/flat_tree.h b/base/containers/flat_tree.h index 1cd1b32..733eeda 100644 --- a/base/containers/flat_tree.h +++ b/base/containers/flat_tree.h
@@ -186,7 +186,7 @@ flat_tree() = default; flat_tree(const flat_tree&) = default; - flat_tree(flat_tree&&) noexcept = default; + flat_tree(flat_tree&&) = default; explicit flat_tree(const key_compare& comp); @@ -229,8 +229,7 @@ // Assume that move assignment invalidates iterators and references. flat_tree& operator=(const flat_tree&) = default; - flat_tree& operator=(flat_tree&&) noexcept( - std::is_nothrow_move_assignable<container_type>::value) = default; + flat_tree& operator=(flat_tree&&) = default; // Takes the first if there are duplicates in the initializer list. flat_tree& operator=(std::initializer_list<value_type> ilist);
diff --git a/base/containers/flat_tree_unittest.cc b/base/containers/flat_tree_unittest.cc index 21da264..0f8ef520 100644 --- a/base/containers/flat_tree_unittest.cc +++ b/base/containers/flat_tree_unittest.cc
@@ -199,6 +199,28 @@ "RandomAccessIterator is multipass"); } +// Tests that the compiler generated move operators propagrate noexcept +// specifiers. +TEST(FlatTree, NoExcept) { + struct MoveThrows { + MoveThrows(MoveThrows&&) noexcept(false) {} + MoveThrows& operator=(MoveThrows&&) noexcept(false) { return *this; } + }; + + using MoveThrowsTree = flat_tree<MoveThrows, base::identity, std::less<>, + std::array<MoveThrows, 1>>; + + static_assert(std::is_nothrow_move_constructible<IntTree>::value, + "Error: IntTree is not nothrow move constructible"); + static_assert(std::is_nothrow_move_assignable<IntTree>::value, + "Error: IntTree is not nothrow move assignable"); + + static_assert(!std::is_nothrow_move_constructible<MoveThrowsTree>::value, + "Error: MoveThrowsTree is nothrow move constructible"); + static_assert(!std::is_nothrow_move_assignable<MoveThrowsTree>::value, + "Error: MoveThrowsTree is nothrow move assignable"); +} + // ---------------------------------------------------------------------------- // Class.
diff --git a/base/memory/weak_ptr_unittest.nc b/base/memory/weak_ptr_unittest.nc index b96b033..2c53f36 100644 --- a/base/memory/weak_ptr_unittest.nc +++ b/base/memory/weak_ptr_unittest.nc
@@ -132,7 +132,8 @@ WeakPtr<Unrelated> ptr = AsWeakPtr(&f); } -#elif defined(NCTEST_AMBIGUOUS_ANCESTORS) // [r"fatal error: use of undeclared identifier 'AsWeakPtrImpl'"] +#elif defined(NCTEST_AMBIGUOUS_ANCESTORS) // [r"fatal error: (use of undeclared identifier|no matching function for call to) 'AsWeakPtrImpl'"] +// TODO(crbug.com/1155145): Update expectation after rolling clang. void WontCompile() { MultiplyDerivedProducer f;
diff --git a/build/android/bytecode/java/org/chromium/bytecode/FragmentActivityReplacer.java b/build/android/bytecode/java/org/chromium/bytecode/FragmentActivityReplacer.java index 565ebe6..5180ff769 100644 --- a/build/android/bytecode/java/org/chromium/bytecode/FragmentActivityReplacer.java +++ b/build/android/bytecode/java/org/chromium/bytecode/FragmentActivityReplacer.java
@@ -21,6 +21,7 @@ */ public class FragmentActivityReplacer extends ByteCodeRewriter { private static final String GET_ACTIVITY_METHOD_NAME = "getActivity"; + private static final String GET_LIFECYCLE_ACTIVITY_METHOD_NAME = "getLifecycleActivity"; private static final String NEW_METHOD_DESCRIPTOR = "()Landroid/app/Activity;"; private static final String OLD_METHOD_DESCRIPTOR = "()Landroidx/fragment/app/FragmentActivity;"; @@ -44,16 +45,23 @@ @Override protected ClassVisitor getClassVisitorForClass(String classPath, ClassVisitor delegate) { - ClassVisitor getActivityReplacer = new GetActivityReplacer(delegate); - if (classPath.equals("androidx/fragment/app/Fragment.class")) { - return new FragmentClassVisitor(getActivityReplacer); + ClassVisitor invocationVisitor = new InvocationReplacer(delegate); + switch (classPath) { + case "androidx/fragment/app/Fragment.class": + return new FragmentClassVisitor(invocationVisitor); + case "com/google/android/gms/common/api/internal/SupportLifecycleFragmentImpl.class": + return new SupportLifecycleFragmentImplClassVisitor(invocationVisitor); + default: + return invocationVisitor; } - return getActivityReplacer; } - /** Updates any Fragment.getActivity/requireActivity() calls to call the replaced method. */ - private static class GetActivityReplacer extends ClassVisitor { - private GetActivityReplacer(ClassVisitor baseVisitor) { + /** + * Updates any Fragment.getActivity/requireActivity() or getLifecycleActivity() calls to call + * the replaced method. + */ + private static class InvocationReplacer extends ClassVisitor { + private InvocationReplacer(ClassVisitor baseVisitor) { super(Opcodes.ASM7, baseVisitor); } @@ -68,7 +76,8 @@ if ((opcode == Opcodes.INVOKEVIRTUAL || opcode == Opcodes.INVOKESPECIAL) && descriptor.equals(OLD_METHOD_DESCRIPTOR) && (name.equals(GET_ACTIVITY_METHOD_NAME) - || name.equals(REQUIRE_ACTIVITY_METHOD_NAME))) { + || name.equals(REQUIRE_ACTIVITY_METHOD_NAME) + || name.equals(GET_LIFECYCLE_ACTIVITY_METHOD_NAME))) { super.visitMethodInsn( opcode, owner, name, NEW_METHOD_DESCRIPTOR, isInterface); } else { @@ -92,8 +101,17 @@ int access, String name, String descriptor, String signature, String[] exceptions) { // Update the descriptor of getActivity() and requireActivity(). MethodVisitor baseVisitor; - if (name.equals(GET_ACTIVITY_METHOD_NAME) - || name.equals(REQUIRE_ACTIVITY_METHOD_NAME)) { + if (descriptor.equals(OLD_METHOD_DESCRIPTOR) + && (name.equals(GET_ACTIVITY_METHOD_NAME) + || name.equals(REQUIRE_ACTIVITY_METHOD_NAME))) { + // Some Fragments in a Clank library implement an interface that defines an + // `Activity getActivity()` method. Fragment.getActivity() is considered its + // implementation from a typechecking perspective, but javac still generates a + // getActivity() method in these Fragments that call Fragment.getActivity(). This + // isn't an issue when the methods return different types, but after changing + // Fragment.getActivity() to return an Activity, this generated implementation is + // now overriding Fragment's, which it can't do because Fragment.getActivity() is + // final. We make it non-final here to avoid this issue. baseVisitor = super.visitMethod( access & ~Opcodes.ACC_FINAL, name, NEW_METHOD_DESCRIPTOR, null, exceptions); } else { @@ -101,7 +119,7 @@ } // Replace getActivity() with `return ContextUtils.activityFromContext(getContext());` - if (name.equals(GET_ACTIVITY_METHOD_NAME)) { + if (name.equals(GET_ACTIVITY_METHOD_NAME) && descriptor.equals(OLD_METHOD_DESCRIPTOR)) { baseVisitor.visitVarInsn(Opcodes.ALOAD, 0); baseVisitor.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "androidx/fragment/app/Fragment", "getContext", "()Landroid/content/Context;", false); @@ -123,4 +141,34 @@ }); } } + + /** + * Update SupportLifecycleFragmentImpl.getLifecycleActivity(). + */ + private static class SupportLifecycleFragmentImplClassVisitor extends ClassVisitor { + private SupportLifecycleFragmentImplClassVisitor(ClassVisitor baseVisitor) { + super(Opcodes.ASM7, baseVisitor); + } + + @Override + public MethodVisitor visitMethod( + int access, String name, String descriptor, String signature, String[] exceptions) { + // SupportLifecycleFragmentImpl has two getActivity methods: + // 1. public FragmentActivity getLifecycleActivity(): + // This is what you'll see in the source. This delegates to Fragment.getActivity(). + // 2. public Activity getLifecycleActivity(): + // This is generated because the class implements LifecycleFragment, which + // declares this method, and delegates to #1. + // + // Here we change the return type of #1 and delete #2. + if (name.equals(GET_LIFECYCLE_ACTIVITY_METHOD_NAME)) { + if (descriptor.equals(OLD_METHOD_DESCRIPTOR)) { + return super.visitMethod( + access, name, NEW_METHOD_DESCRIPTOR, signature, exceptions); + } + return null; + } + return super.visitMethod(access, name, descriptor, signature, exceptions); + } + } }
diff --git a/build/android/pylib/local/machine/local_machine_junit_test_run.py b/build/android/pylib/local/machine/local_machine_junit_test_run.py index 422ab8b..da5de702 100644 --- a/build/android/pylib/local/machine/local_machine_junit_test_run.py +++ b/build/android/pylib/local/machine/local_machine_junit_test_run.py
@@ -28,15 +28,10 @@ 'org/hamcrest', 'org/junit', 'org/mockito') # Suites we shouldn't shard, usually because they don't contain enough test -# cases. Some suites have poorly formed tests that rely on setup in other -# tests. +# cases. _EXCLUDED_SUITES = { - # Too small to shard test suites. 'password_check_junit_tests', 'touch_to_fill_junit_tests', - # Poorly formed test suites. - # TODO: (crbug.com/1147740) Remove component_junit_tests when it's fixed. - 'components_junit_tests' } # Running time for chrome_junit_tests locally:
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni index cff072e..da00159 100644 --- a/build/config/android/internal_rules.gni +++ b/build/config/android/internal_rules.gni
@@ -77,8 +77,9 @@ "//android_webview/glue:glue", ] -# These identify all non-leaf targets that have .build_config files. -_java_target_patterns = _java_library_patterns + _java_resource_patterns +# These identify all non-leaf targets that have .build_config files. This is the +# set of patterns that other targets can use to filter out java targets. +java_target_patterns = _java_library_patterns + _java_resource_patterns _r8_path = "//third_party/r8/lib/r8.jar" _desugar_jdk_libs_json = "//third_party/r8/desugar_jdk_libs.json" @@ -168,7 +169,7 @@ assert(false, "Invalid java library target name: $_target_label") } } else if (_type == "group") { - if (filter_exclude([ _target_label ], _java_target_patterns) != []) { + if (filter_exclude([ _target_label ], java_target_patterns) != []) { assert(false, "Invalid java target name: $_target_label") } } else if (filter_exclude([ _type ], _java_leaf_types) != []) { @@ -204,7 +205,7 @@ if (defined(invoker.possible_config_deps)) { foreach(_possible_dep, invoker.possible_config_deps) { _dep_label = get_label_info(_possible_dep, "label_no_toolchain") - if (filter_exclude([ _dep_label ], _java_target_patterns) == []) { + if (filter_exclude([ _dep_label ], java_target_patterns) == []) { # Put the bug number in the target name so that false-positives # have a hint in the error message about non-existent dependencies. deps += [ "$_dep_label$build_config_target_suffix" ]
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni index 14ff094..973c0f93 100644 --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni
@@ -4282,15 +4282,11 @@ [ "custom_package", "create_srcjar", - "deps", "resource_overlay", "testonly", "strip_drawables", ]) - if (!defined(deps)) { - deps = [] - } - deps += [ ":$_unpack_target_name" ] + deps = [ ":$_unpack_target_name" ] if (_should_process_manifest) { android_manifest_dep = ":$_unpack_target_name" android_manifest = "${_output_path}/AndroidManifest.xml"
diff --git a/build/config/fuchsia/sizes.gni b/build/config/fuchsia/sizes.gni new file mode 100644 index 0000000..5725019 --- /dev/null +++ b/build/config/fuchsia/sizes.gni
@@ -0,0 +1,47 @@ +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/util/generate_wrapper.gni") + +template("compute_fuchsia_package_sizes") { + generate_wrapper(target_name) { + forward_variables_from(invoker, + [ + "data", + "data_deps", + ]) + testonly = true + executable = "//build/fuchsia/binary_sizes.py" + wrapper_script = "$root_out_dir/bin/run_${target_name}" + + assert( + target_cpu == "arm64" || target_cpu == "x64", + "target_cpu must be arm64 or x64 in fuchsia_sizes_test($target_name)") + + if (!defined(data)) { + data = [] + } + + if (!defined(data_deps)) { + data_deps = [] + } + + # Declares the files that are needed for test execution on the + # swarming test client. + data += [ + "//build/fuchsia/", + "//third_party/fuchsia-sdk/sdk/tools/${target_cpu}/", + "//third_party/zstd-linux-${target_cpu}/", + "//tools/binary_size/", + ] + + executable_args = [ + "--output-directory", + "@WrappedPath(.)", + ] + if (defined(invoker.executable_args)) { + executable_args += invoker.executable_args + } + } +}
diff --git a/build/config/fuchsia/tests-with-exec.cmx b/build/config/fuchsia/tests-with-exec.cmx index 7e6b3d20..8cd8b75f 100644 --- a/build/config/fuchsia/tests-with-exec.cmx +++ b/build/config/fuchsia/tests-with-exec.cmx
@@ -1,5 +1,9 @@ { "sandbox": { + "dev": [ + "null", + "zero" + ], "features": [ "deprecated-ambient-replace-as-executable", "isolated-cache-storage", @@ -8,10 +12,6 @@ "root-ssl-certificates", "vulkan" ], - "dev": [ - "null", - "zero" - ], "services": [ "fuchsia.accessibility.semantics.SemanticsManager", "fuchsia.camera3.DeviceWatcher", @@ -26,7 +26,7 @@ "fuchsia.mediacodec.CodecFactory", "fuchsia.memorypressure.Provider", "fuchsia.net.NameLookup", - "fuchsia.netstack.Netstack", + "fuchsia.net.interfaces.State", "fuchsia.posix.socket.Provider", "fuchsia.process.Launcher", "fuchsia.sys.Environment",
diff --git a/build/config/fuchsia/tests.cmx b/build/config/fuchsia/tests.cmx index 57d07851..e263b0e 100644 --- a/build/config/fuchsia/tests.cmx +++ b/build/config/fuchsia/tests.cmx
@@ -1,5 +1,9 @@ { "sandbox": { + "dev": [ + "null", + "zero" + ], "features": [ "config-data", "isolated-cache-storage", @@ -8,10 +12,6 @@ "root-ssl-certificates", "vulkan" ], - "dev": [ - "null", - "zero" - ], "services": [ "fuchsia.accessibility.semantics.SemanticsManager", "fuchsia.camera3.DeviceWatcher", @@ -26,7 +26,7 @@ "fuchsia.mediacodec.CodecFactory", "fuchsia.memorypressure.Provider", "fuchsia.net.NameLookup", - "fuchsia.netstack.Netstack", + "fuchsia.net.interfaces.State", "fuchsia.posix.socket.Provider", "fuchsia.process.Launcher", "fuchsia.sys.Environment",
diff --git a/build/config/mac/mac_sdk.gni b/build/config/mac/mac_sdk.gni index 05625a58..6a8cd8d 100644 --- a/build/config/mac/mac_sdk.gni +++ b/build/config/mac/mac_sdk.gni
@@ -16,7 +16,7 @@ # additional code changes are required to be compliant with the availability # rules. # Must be of the form x.x.x for Info.plist files. - mac_deployment_target = "10.10.0" + mac_deployment_target = "10.11.0" # The value of the LSMinimmumSystemVersion in Info.plist files. This partially # controls the minimum supported version of macOS for Chromium by
diff --git a/build/fuchsia/binary_sizes.py b/build/fuchsia/binary_sizes.py index ef2ea9e..f2403445 100755 --- a/build/fuchsia/binary_sizes.py +++ b/build/fuchsia/binary_sizes.py
@@ -11,6 +11,7 @@ import collections import copy import json +import logging import math import os import re @@ -18,17 +19,11 @@ import subprocess import sys import tempfile +import traceback +import uuid -from common import GetHostToolPathFromPlatform, SDK_ROOT, DIR_SOURCE_ROOT - -# Import SendResults() from the results_dashboard.py in tools/perf/core instead -# of the deprecated one in the chrome infra build recipes folder on the recipes -# module path. -sys.path.insert(0, os.path.join(DIR_SOURCE_ROOT, 'tools', 'perf')) -sys.path.insert(0, os.path.join(DIR_SOURCE_ROOT, 'tools', 'perf', 'core')) -from results_dashboard import SendResults -sys.path.pop(0) -sys.path.pop(0) +from common import GetHostToolPathFromPlatform, GetHostArchFromPlatform +from common import SDK_ROOT, DIR_SOURCE_ROOT # Structure representing the compressed and uncompressed sizes for a Fuchsia # package. @@ -36,36 +31,32 @@ ['compressed', 'uncompressed']) -def CreateBinarySizeHistogram(name, commit_position, size): +def CreateSizesExternalDiagnostic(sizes_guid): + """Creates a histogram external sizes diagnostic.""" + + benchmark_diagnostic = { + 'type': 'GenericSet', + 'guid': str(sizes_guid), + 'values': ['sizes'], + } + + return benchmark_diagnostic + + +def CreateSizesHistogramItem(name, size, sizes_guid): """Create a performance dashboard histogram from the histogram template and binary size data.""" # Chromium performance dashboard histogram containing binary size data. histogram = { 'name': name, - 'sampleValues': [size], - 'maxNumSampleValues': 1, - 'running': [1, size, math.log(size), size, size, size, 0], 'unit': 'sizeInBytes_smallerIsBetter', - 'description': 'chrome-fuchsia package binary sizes', 'diagnostics': { - 'chromiumCommitPositions': { - 'type': 'GenericSet', - 'values': [commit_position], - }, - 'bots': { - 'type': 'GenericSet', - 'values': ['fuchsia-fyi-arm64-size'] - }, - 'benchmarks': { - 'type': 'GenericSet', - 'values': ['sizes'] - }, - 'masters': { - 'type': 'GenericSet', - 'values': ['ChromiumLinux'] - }, + 'benchmarks': str(sizes_guid), }, + 'sampleValues': [size], + 'running': [1, size, math.log(size), size, size, size, 0], + 'description': 'chrome-fuchsia package binary sizes', 'summaryOptions': { 'avg': True, 'count': False, @@ -79,15 +70,42 @@ return histogram +def CreateSizesHistogram(package_sizes): + """Create a performance dashboard histogram from binary size data.""" + + sizes_guid = uuid.uuid1() + histogram = [CreateSizesExternalDiagnostic(sizes_guid)] + for name, size in package_sizes.items(): + histogram.append( + CreateSizesHistogramItem('%s_%s' % (name, 'compressed'), + size.compressed, sizes_guid)) + histogram.append( + CreateSizesHistogramItem('%s_%s' % (name, 'uncompressed'), + size.uncompressed, sizes_guid)) + return histogram + + +def GetZstdPathFromPlatform(): + """Returns path to zstd compression utility based on the current platform.""" + + arch = GetHostArchFromPlatform() + if arch == 'arm64': + zstd_arch_dir = 'zstd-linux-arm64' + elif arch == 'x64': + zstd_arch_dir = 'zstd-linux-x64' + else: + raise Exception('zstd path unknown for architecture "%s"' % arch) + + return os.path.join(DIR_SOURCE_ROOT, 'third_party', zstd_arch_dir, 'bin', + 'zstd') + + def CompressedSize(file_path, compression_args): """Calculates size file after zstd compression. Uses non-chunked compression (Fuchsia uses chunked compression which is not available in the zstd command line tool). The compression level can be set using compression_args.""" - # Path to zstd compression utility. - zstd_path = os.path.join(DIR_SOURCE_ROOT, 'third_party', 'zstd', 'bin', - 'zstd') - + zstd_path = GetZstdPathFromPlatform() devnull = open(os.devnull) proc = subprocess.Popen([zstd_path, '-f', file_path, '-c'] + compression_args, stdout=open(os.devnull, 'w'), @@ -111,6 +129,14 @@ """Extracts contents of a Fuchsia archive file to the specified directory.""" far_tool = GetHostToolPathFromPlatform('far') + + if not os.path.isfile(far_tool): + raise Exception('Could not find FAR host tool "%s".' % far_tool) + if not os.path.isfile(file_path): + raise Exception('Could not find FAR file "%s".' % file_path) + if os.path.isdir(extract_dir): + raise Exception('Could not find extraction directory "%s".' % extract_dir) + subprocess.check_call([ far_tool, 'extract', '--archive=%s' % file_path, @@ -132,20 +158,6 @@ return blob_name_hashes -def CommitPositionFromGitShow(): - """Returns the chromium commit position for the current workspace.""" - - # Match a commit position from a "git show" string like - # " Cr-Commit-Position: refs/heads/master@{#819438}" - git_commit_position_re = r'^\s*Cr-Commit-Position:.*@\{#(?P<position>\d+)\}' - - show_output = subprocess.check_output(['git', 'show', 'origin/master']) - match = re.search(git_commit_position_re, show_output, re.MULTILINE) - if match: - return int(match.group('position')) - raise RuntimeError('could not get chromium commit position from git show') - - def CommitPositionFromBuildProperty(value): """Extracts the chromium commit position from a builders got_revision_cp property.""" @@ -268,8 +280,11 @@ return package_sizes -def GetBinarySizeHistogramsData(args): - """Get binary size histogram data for packages specified in args.""" +def GetBinarySizes(args): + """Get binary size data for packages specified in args. + + If "total_size_name" is set, then computes a synthetic package size which is + the aggregated sizes across all blobs.""" # Calculate compressed and uncompressed package sizes. sdk_libs = GetSDKLibs() @@ -286,34 +301,19 @@ uncompressed = sum([a.uncompressed for a in package_sizes.values()]) package_sizes[args.total_size_name] = PackageSizes(compressed, uncompressed) - # Determine chromium commit position from builder property or workspace. - if args.test_revision_cp: - commit_position = CommitPositionFromBuildProperty(args.test_revision_cp) - else: - commit_position = CommitPositionFromGitShow() - - print('Chromium commit position: %d' % commit_position) for name, size in package_sizes.items(): print('%s: compressed %d, uncompressed %d' % (name, size.compressed, size.uncompressed)) - # Generate chromium performance dashboard histogram data for each binary size. - histograms_data = [] - for name, size in package_sizes.items(): - histograms_data.append( - CreateBinarySizeHistogram('%s_%s' % (name, 'compressed'), - commit_position, size.compressed)) - histograms_data.append( - CreateBinarySizeHistogram('%s_%s' % (name, 'uncompressed'), - commit_position, size.uncompressed)) - - return histograms_data + return package_sizes def main(): parser = argparse.ArgumentParser() parser.add_argument( '--build-out-dir', + '--output-directory', + type=os.path.realpath, required=True, help='Location of the build artifacts.', ) @@ -331,12 +331,10 @@ required=True, action='append', help='Name of Fuchsia package FAR file (may be used more than once.)') - parser.add_argument('--histogram-path', - help='Optional output file for histogram data') parser.add_argument( - '--server-url', - help='Write data to performance dashboard server URL instead of to a file' - ) + '--isolated-script-test-output', + type=os.path.realpath, + help='File to which simplified JSON results will be written.') parser.add_argument( '--output-dir', help='Optional directory for histogram output file. This argument is ' @@ -354,6 +352,10 @@ '-v', action='store_true', help='Enable verbose output') + # Accepted to conform to the isolated script interface, but ignored. + parser.add_argument('--isolated-script-test-filter', help=argparse.SUPPRESS) + parser.add_argument('--isolated-script-test-perf-output', + help=argparse.SUPPRESS) args = parser.parse_args() # Optionally prefix the output_dir to the histogram_path. @@ -388,24 +390,42 @@ if not os.path.isfile(far_abs_path): raise Exception('Could not find FAR file "%s".' % far_abs_path) - histograms_data = GetBinarySizeHistogramsData(args) + isolated_script_output = { + 'valid': False, + 'failures': [], + 'version': 'simplified' + } + test_name = 'sizes' - if args.server_url: - # Send histograms to the performance dashboard. - for data in histograms_data: - SendResults([data], - 'chrome_fuchsia_package_size', - args.server_url, - send_as_histograms=True) + results_directory = None + if args.isolated_script_test_output: + results_directory = os.path.join( + os.path.dirname(args.isolated_script_test_output), test_name) + if not os.path.exists(results_directory): + os.makedirs(results_directory) - if args.histogram_path: - # Save histogram data to a file. - histogram_dir = os.path.dirname(os.path.abspath(args.histogram_path)) - if not os.path.isdir(histogram_dir): - raise Exception('Could not find histogram file output directory "%s".' % - histogram_dir) - json_out = open(args.histogram_path, 'w') - json.dump(histograms_data, json_out) + try: + package_sizes = GetBinarySizes(args) + sizes_histogram = CreateSizesHistogram(package_sizes) + isolated_script_output = { + 'valid': True, + 'failures': [], + 'version': 'simplified', + } + except: + _, value, trace = sys.exc_info() + traceback.print_tb(trace) + print(str(value)) + return 1 + finally: + if results_directory: + results_path = os.path.join(results_directory, 'test_results.json') + with open(results_path, 'w') as output_file: + json.dump(isolated_script_output, output_file) + + histogram_path = os.path.join(results_directory, 'perf_results.json') + with open(histogram_path, 'w') as f: + json.dump(sizes_histogram, f) return 0
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1 index 1be904ca..b6ea818 100644 --- a/build/fuchsia/linux.sdk.sha1 +++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@ -0.20201203.0.1 +0.20201203.2.1
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1 index 1be904ca..b6ea818 100644 --- a/build/fuchsia/mac.sdk.sha1 +++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@ -0.20201203.0.1 +0.20201203.2.1
diff --git a/build/write_buildflag_header.py b/build/write_buildflag_header.py index d46cfc8..47b9a03 100755 --- a/build/write_buildflag_header.py +++ b/build/write_buildflag_header.py
@@ -91,5 +91,13 @@ output_file.write('\n#endif // %s\n' % options.header_guard) +if os.name == 'nt': + major, minor, build, platform, service_pack = sys.getwindowsversion() + # Windows 10 will be 6.2 on Python 2 and 10.0 on Python 3. This check + # handles both. + if major < 6 or (major == 6 and minor < 2): + raise Exception( + 'Unsupported OS. Building Chromium requires Windows 10. %s detected.' % + str(sys.getwindowsversion())) options = GetOptions() WriteHeader(options)
diff --git a/chrome/VERSION b/chrome/VERSION index 05b421f..ed83715 100644 --- a/chrome/VERSION +++ b/chrome/VERSION
@@ -1,4 +1,4 @@ MAJOR=89 MINOR=0 -BUILD=4344 +BUILD=4345 PATCH=0
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn index 3a04eee0..96ca160 100644 --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn
@@ -303,6 +303,7 @@ "//chrome/browser/browser_controls/android:java", "//chrome/browser/consent_auditor/android:java", "//chrome/browser/contextmenu:java", + "//chrome/browser/continuous_search:java", "//chrome/browser/device:java", "//chrome/browser/download/android:factory_java", "//chrome/browser/download/android:java", @@ -1036,6 +1037,7 @@ "//chrome/browser/banners/android:java", "//chrome/browser/browser_controls/android:java", "//chrome/browser/contextmenu:java", + "//chrome/browser/continuous_search:javatests", "//chrome/browser/device:java", "//chrome/browser/download/android:java", "//chrome/browser/download/internal/android:javatests", @@ -1253,6 +1255,7 @@ srcjar_deps = [ "//chrome/browser:tos_dialog_behavior_generated_enum" ] data = [ + "//chrome/browser/continuous_search/testdata/", "//chrome/test/data/android/", "//chrome/test/data/autofill/", "//chrome/test/data/background_sync/", @@ -1420,10 +1423,6 @@ data = [ "//chrome/android/shared_preference_files/test/", - "//components/test/data/js_dialogs/render_tests/", - "//components/test/data/permission_dialogs/render_tests/", - "//components/test/data/vr_browser_ui/render_tests/", - "//components/test/data/vr_browser_video/render_tests/", "//third_party/gvr-android-sdk/test-apks/", ] }
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni index 255438fd..f8072ae 100644 --- a/chrome/android/chrome_public_apk_tmpl.gni +++ b/chrome/android/chrome_public_apk_tmpl.gni
@@ -406,43 +406,6 @@ template("monochrome_public_common_apk_or_module_tmpl") { _is_bundle_module = defined(invoker.target_type) && invoker.target_type == "android_app_bundle_module" - _enable_chrome_module = - _is_bundle_module && invoker.is_base_module && enable_chrome_module - - # If the chrome module is enabled, collect shared libraries from all other - # DFMs and add them as loadable modules to the base module. - if (_enable_chrome_module) { - _module_descs = [] - if (defined(invoker.module_descs)) { - _module_descs = invoker.module_descs - } - _chrome_module_shared_lib_deps = [] - _chrome_module_loadable_modules = [] - _arch = "" - _toolchain = "" - if (android_64bit_target_cpu) { - if (invoker.is_64_bit_browser) { - _arch = "_64" - } else { - _toolchain = "($android_secondary_abi_toolchain)" - } - } - _base_target_name = "libmonochrome${_arch}" - foreach(_module_desc, _module_descs) { - if (defined(_module_desc.native_deps) && _module_desc.native_deps != []) { - _lib_target = "//chrome/android:${_base_target_name}_${_module_desc.name}${_toolchain}" - _chrome_module_shared_lib_deps += [ _lib_target ] - - # In component builds, native libraries from DFMs are not in partitions, - # so include them as normal shared libraries instead of loadable - # modules. - if (!is_component_build) { - _lib_out_dir = get_label_info(_lib_target, "root_out_dir") - _chrome_module_loadable_modules += [ "${_lib_out_dir}/${_base_target_name}_${_module_desc.name}_partition.so" ] - } - } - } - } chrome_public_common_apk_or_module_tmpl(target_name) { _overrides = { @@ -532,11 +495,15 @@ deps += [ ":${target_name}__all_dfm_resources" ] } - # Add all loadable modules and shared libraries from DFMs. + _enable_chrome_module = + _is_bundle_module && invoker.is_base_module && enable_chrome_module if (_enable_chrome_module) { - # The arcore manifest needs to be merged into the base module because the Play - # Store verifies the com.google.ar.core.min_apk_version meta-data tag is in - # the base manifest. + # TODO(crbug.com/1150459): Remove this once internal repo is updated. + not_needed(invoker, [ "module_descs" ]) + + # The arcore manifest needs to be merged into the base module because + # the Play Store verifies the com.google.ar.core.min_apk_version + # meta-data tag is in the base manifest. if (enable_arcore) { deps += [ "//third_party/arcore-android-sdk-client:com_google_ar_core_java", @@ -548,38 +515,6 @@ } else { deps += [ "//chrome/android:base_module_java" ] } - if (is_component_build) { - if (android_64bit_target_cpu && !invoker.is_64_bit_browser) { - secondary_abi_shared_libraries += _chrome_module_shared_lib_deps - } else { - shared_libraries += _chrome_module_shared_lib_deps - } - } else { - deps += _chrome_module_shared_lib_deps - } - _loadable_modules_32_bit = [] - _loadable_modules_64_bit = [] - foreach(_module_desc, _module_descs) { - if (defined(_module_desc.loadable_modules_32_bit)) { - _loadable_modules_32_bit += _module_desc.loadable_modules_32_bit - } - if (defined(_module_desc.loadable_modules_64_bit)) { - _loadable_modules_64_bit += _module_desc.loadable_modules_64_bit - } - } - - if (android_64bit_target_cpu) { - if (invoker.is_64_bit_browser) { - loadable_modules += - _loadable_modules_64_bit + _chrome_module_loadable_modules - } else { - secondary_abi_loadable_modules += - _loadable_modules_32_bit + _chrome_module_loadable_modules - } - } else { - loadable_modules += - _loadable_modules_32_bit + _chrome_module_loadable_modules - } } if (is_monochrome) {
diff --git a/chrome/android/expectations/monochrome_public_bundle.arm64.libs_and_assets.expected b/chrome/android/expectations/monochrome_public_bundle.arm64.libs_and_assets.expected index f54180a..28ace4d 100644 --- a/chrome/android/expectations/monochrome_public_bundle.arm64.libs_and_assets.expected +++ b/chrome/android/expectations/monochrome_public_bundle.arm64.libs_and_assets.expected
@@ -3,10 +3,6 @@ apk_path=lib/armeabi-v7a/libarcore_sdk_c.so, compress=False, alignment=4096 apk_path=lib/armeabi-v7a/libcrashpad_handler_trampoline.so, compress=False, alignment=4096 apk_path=lib/armeabi-v7a/libmonochrome.so, compress=False, alignment=4096 -apk_path=lib/armeabi-v7a/libmonochrome_cablev2_authenticator_partition.so, compress=False, alignment=4096 -apk_path=lib/armeabi-v7a/libmonochrome_stack_unwinder_partition.so, compress=False, alignment=4096 -apk_path=lib/armeabi-v7a/libmonochrome_test_dummy_partition.so, compress=False, alignment=4096 -apk_path=lib/armeabi-v7a/libmonochrome_vr_partition.so, compress=False, alignment=4096 apk_path=assets/chrome_100_percent.pak, compress=False, alignment=4 apk_path=assets/icudtl.dat, compress=False, alignment=4 apk_path=assets/locales/af.pak, compress=False, alignment=4
diff --git a/chrome/android/expectations/trichrome_chrome_bundle.arm64.libs_and_assets.expected b/chrome/android/expectations/trichrome_chrome_bundle.arm64.libs_and_assets.expected index a771646..e9c8441 100644 --- a/chrome/android/expectations/trichrome_chrome_bundle.arm64.libs_and_assets.expected +++ b/chrome/android/expectations/trichrome_chrome_bundle.arm64.libs_and_assets.expected
@@ -1,9 +1,5 @@ apk_path=lib/armeabi-v7a/libarcore_sdk_c.so, compress=False, alignment=4096 apk_path=lib/armeabi-v7a/libchromium_android_linker.so, compress=False, alignment=4096 -apk_path=lib/armeabi-v7a/libmonochrome_cablev2_authenticator_partition.so, compress=False, alignment=4096 -apk_path=lib/armeabi-v7a/libmonochrome_stack_unwinder_partition.so, compress=False, alignment=4096 -apk_path=lib/armeabi-v7a/libmonochrome_test_dummy_partition.so, compress=False, alignment=4096 -apk_path=lib/armeabi-v7a/libmonochrome_vr_partition.so, compress=False, alignment=4096 apk_path=assets/chrome_100_percent.pak, compress=False, alignment=4 apk_path=assets/locales/af.pak, compress=False, alignment=4 apk_path=assets/locales/am.pak, compress=False, alignment=4
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsViewBinder.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsViewBinder.java index 203f494f..a0a98a2 100644 --- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsViewBinder.java +++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/details/AssistantDetailsViewBinder.java
@@ -209,9 +209,9 @@ details.getHighlightLine2(), R.style.TextAppearance_TextMedium_Secondary); // TODO(crbug.com/1118226): Update the styles that use *_Disabled with UX guidance. setTextStyle(viewHolder.mDescriptionLine3View, details.getUserApprovalRequired(), - details.getHighlightLine3(), R.style.TextAppearance_TextSmall_Disabled); + details.getHighlightLine3(), R.style.TextAppearance_TextSmall_Secondary); setTextStyle(viewHolder.mPriceAttributionView, details.getUserApprovalRequired(), - details.getHighlightLine3(), R.style.TextAppearance_TextSmall_Disabled); + details.getHighlightLine3(), R.style.TextAppearance_TextSmall_Secondary); setTextStyle(viewHolder.mTotalPriceLabelView, details.getUserApprovalRequired(), /* highlight= */ false, R.style.TextAppearance_TextMedium_Secondary); setTextStyle(viewHolder.mTotalPriceView, details.getUserApprovalRequired(),
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java index b86af312..b7fa427 100644 --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java
@@ -310,9 +310,7 @@ } public void initWithNative() { - // TODO (https://crbug.com/1048632): Use the current profile (i.e., regular profile or - // incognito profile) instead of always using regular profile. It works correctly now, but - // it is not safe. + Profile profile = mTabModelSelector.getCurrentModel().getProfile(); mTabListFaviconProvider.initWithNative(Profile.getLastUsedRegularProfile()); }
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java index 457644b..50c91bf 100644 --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
@@ -77,6 +77,7 @@ private final Context mContext; private final TabListModel mModel; private final @UiType int mItemType; + private final TabModelSelector mTabModelSelector; private boolean mIsInitialized; private ViewTreeObserver.OnGlobalLayoutListener mGlobalLayoutListener; @@ -116,6 +117,7 @@ mContext = context; mModel = new TabListModel(); mAdapter = new SimpleRecyclerViewAdapter(mModel); + mTabModelSelector = tabModelSelector; RecyclerView.RecyclerListener recyclerListener = null; if (mMode == TabListMode.GRID || mMode == TabListMode.CAROUSEL) { mAdapter.registerType(UiType.SELECTABLE, parent -> { @@ -231,9 +233,6 @@ mRecyclerView.setHasFixedSize(true); if (recyclerListener != null) mRecyclerView.setRecyclerListener(recyclerListener); - // TODO (https://crbug.com/1048632): Use the current profile (i.e., regular profile or - // incognito profile) instead of always using regular profile. It works correctly now, but - // it is not safe. TabListFaviconProvider tabListFaviconProvider = new TabListFaviconProvider(mContext, mMode == TabListMode.STRIP); @@ -292,7 +291,7 @@ mIsInitialized = true; - Profile profile = Profile.getLastUsedRegularProfile(); + Profile profile = mTabModelSelector.getCurrentModel().getProfile(); mMediator.initWithNative(profile); if (dynamicResourceLoader != null) { mRecyclerView.createDynamicView(dynamicResourceLoader);
diff --git a/chrome/android/features/vr/BUILD.gn b/chrome/android/features/vr/BUILD.gn index 6adc045..2702e04 100644 --- a/chrome/android/features/vr/BUILD.gn +++ b/chrome/android/features/vr/BUILD.gn
@@ -118,4 +118,5 @@ "java/src/org/chromium/chrome/browser/vr/keyboard/GvrKeyboardLoaderClient.java", "java/src/org/chromium/chrome/browser/vr/keyboard/TextEditAction.java", ] + split_name = "vr" }
diff --git a/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrDelegate.java b/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrDelegate.java index b28adb8..e3a902c9 100644 --- a/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrDelegate.java +++ b/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrDelegate.java
@@ -160,13 +160,13 @@ } } - /* package */ void setSystemUiVisibilityForVr(Activity activity) { + public void setSystemUiVisibilityForVr(Activity activity) { activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); int flags = activity.getWindow().getDecorView().getSystemUiVisibility(); activity.getWindow().getDecorView().setSystemUiVisibility(flags | VR_SYSTEM_UI_FLAGS); } - /* package */ void addBlackOverlayViewForActivity(ChromeActivity activity) { + public void addBlackOverlayViewForActivity(ChromeActivity activity) { View overlay = activity.getWindow().findViewById(R.id.vr_overlay_view); if (overlay != null) return; FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( @@ -178,7 +178,7 @@ decor.addView(v, params); } - /* package */ void removeBlackOverlayView(Activity activity, boolean animate) { + public void removeBlackOverlayView(Activity activity, boolean animate) { View overlay = activity.getWindow().findViewById(R.id.vr_overlay_view); if (overlay == null) return; FrameLayout decor = (FrameLayout) activity.getWindow().getDecorView(); @@ -207,7 +207,7 @@ } } - /* package */ boolean activitySupportsVrBrowsing(Activity activity) { + public boolean activitySupportsVrBrowsing(Activity activity) { if (activity instanceof ChromeTabbedActivity) return true; return false; }
diff --git a/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrDelegateProvider.java b/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrDelegateProvider.java index 99c4acd..cd6efc1 100644 --- a/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrDelegateProvider.java +++ b/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrDelegateProvider.java
@@ -8,7 +8,7 @@ /** Provides delegate interfaces that can be used to call into VR. */ @ModuleInterface(module = "vr", impl = "org.chromium.chrome.browser.vr.VrDelegateProviderImpl") -/* package */ interface VrDelegateProvider { +public interface VrDelegateProvider { VrDelegate getDelegate(); VrIntentDelegate getIntentDelegate(); }
diff --git a/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrModuleProvider.java b/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrModuleProvider.java index 01409dd..7070932 100644 --- a/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrModuleProvider.java +++ b/chrome/android/features/vr/java/src/org/chromium/chrome/browser/vr/VrModuleProvider.java
@@ -103,7 +103,7 @@ // TODO(crbug.com/870055): JNI should be registered in the shared VR library's JNI_OnLoad // function. Do this once we have a shared VR library. - /* package */ static void registerJni() { + public static void registerJni() { VrModuleProviderJni.get().registerJni(); }
diff --git a/chrome/android/features/vr/vr_module.gni b/chrome/android/features/vr/vr_module.gni index 9aa2d838..8c03722c 100644 --- a/chrome/android/features/vr/vr_module.gni +++ b/chrome/android/features/vr/vr_module.gni
@@ -18,8 +18,5 @@ # by native library load). Therefore disable auto-load on Module.getImpl(); # the VR DFM manages its own loading on start-up and on install. load_native_on_get_impl = false - - # TODO(crbug.com/1145287): Need to support @CalledByNative in isolated splits - # before this can be enabled. - # uses_split = "chrome" + uses_split = "chrome" }
diff --git a/chrome/android/java/res/layout/account_picker_bottom_sheet_header.xml b/chrome/android/java/res/layout/account_picker_bottom_sheet_header.xml index 4eafd91f..8ca2608 100644 --- a/chrome/android/java/res/layout/account_picker_bottom_sheet_header.xml +++ b/chrome/android/java/res/layout/account_picker_bottom_sheet_header.xml
@@ -15,6 +15,7 @@ app:srcCompat="@drawable/chrome_sync_logo" /> <TextView + android:id="@+id/account_picker_header_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="12dp"
diff --git a/chrome/android/java/res/layout/account_picker_state_auth_error.xml b/chrome/android/java/res/layout/account_picker_state_auth_error.xml index 87770e3..189b1c2 100644 --- a/chrome/android/java/res/layout/account_picker_state_auth_error.xml +++ b/chrome/android/java/res/layout/account_picker_state_auth_error.xml
@@ -18,6 +18,7 @@ app:srcCompat="@drawable/ic_warning_red_24dp" /> <TextView + android:id="@+id/account_picker_auth_error_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="12dp"
diff --git a/chrome/android/java/res/layout/account_picker_state_general_error.xml b/chrome/android/java/res/layout/account_picker_state_general_error.xml index 1ca831c..05d05ac 100644 --- a/chrome/android/java/res/layout/account_picker_state_general_error.xml +++ b/chrome/android/java/res/layout/account_picker_state_general_error.xml
@@ -18,6 +18,7 @@ app:srcCompat="@drawable/ic_warning_red_24dp" /> <TextView + android:id="@+id/account_picker_general_error_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="12dp"
diff --git a/chrome/android/java/res/layout/account_picker_state_signin_in_progress.xml b/chrome/android/java/res/layout/account_picker_state_signin_in_progress.xml index c4aebc38..a9f9193 100644 --- a/chrome/android/java/res/layout/account_picker_state_signin_in_progress.xml +++ b/chrome/android/java/res/layout/account_picker_state_signin_in_progress.xml
@@ -18,6 +18,7 @@ app:srcCompat="@drawable/chrome_sync_logo" /> <TextView + android:id="@+id/account_picker_signin_in_progress_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="12dp"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java index 3815cc1..f600054 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -1377,10 +1377,7 @@ VrModuleProvider.maybeInit(); VrModuleProvider.getDelegate().onNativeLibraryAvailable(); - ArDelegate arDelegate = ArDelegateProvider.getDelegate(); - if (arDelegate != null) { - arDelegate.init(); - } + if (getSavedInstanceState() == null && getIntent() != null) { VrModuleProvider.getDelegate().onNewIntentWithNative(this, getIntent()); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java index 8c59cd5..18a23ef 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
@@ -28,8 +28,7 @@ import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; import org.chromium.chrome.browser.signin.services.SigninManager; import org.chromium.chrome.browser.signin.services.SigninManager.SignInStateObserver; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; -import org.chromium.chrome.browser.sync.AndroidSyncSettings.AndroidSyncSettingsObserver; +import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.components.signin.AccountManagerFacade; import org.chromium.components.signin.AccountManagerFacadeProvider; import org.chromium.components.signin.AccountsChangeObserver; @@ -44,8 +43,9 @@ * Class that manages all the logic and UI behind the signin promo header in the bookmark * content UI. The header is shown only on certain situations, (e.g., not signed in). */ -class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObserver, - ProfileDataCache.Observer, AccountsChangeObserver { +class BookmarkPromoHeader implements ProfileSyncService.SyncStateChangedListener, + SignInStateObserver, ProfileDataCache.Observer, + AccountsChangeObserver { /** * Specifies the various states in which the Bookmarks promo can be. */ @@ -72,6 +72,7 @@ private @Nullable ProfileDataCache mProfileDataCache; private final @Nullable SigninPromoController mSigninPromoController; private @PromoState int mPromoState; + private final @Nullable ProfileSyncService mProfileSyncService; /** * Initializes the class. Note that this will start listening to signin related events and @@ -81,7 +82,8 @@ mContext = context; mPromoHeaderChangeAction = promoHeaderChangeAction; - AndroidSyncSettings.get().registerObserver(this); + mProfileSyncService = ProfileSyncService.get(); + if (mProfileSyncService != null) mProfileSyncService.addSyncStateChangedListener(this); mSignInManager = IdentityServicesProvider.get().getSigninManager( Profile.getLastUsedRegularProfile()); @@ -111,7 +113,7 @@ * Clean ups the class. Must be called once done using this class. */ void destroy() { - AndroidSyncSettings.get().unregisterObserver(this); + if (mProfileSyncService != null) mProfileSyncService.removeSyncStateChangedListener(this); if (mSigninPromoController != null) { mAccountManagerFacade.removeObserver(this); @@ -208,7 +210,13 @@ return sPromoStateForTests; } - if (!AndroidSyncSettings.get().doesMasterSyncSettingAllowChromeSync()) { + if (mProfileSyncService == null) { + // |mProfileSyncService| will remain null until the next browser startup, so no sense in + // offering any promo. + return PromoState.PROMO_NONE; + } + + if (!mProfileSyncService.isSyncAllowedByPlatform()) { return PromoState.PROMO_NONE; } @@ -229,15 +237,15 @@ SharedPreferencesManager.getInstance().readInt( ChromePreferenceKeys.SIGNIN_AND_SYNC_PROMO_SHOW_COUNT) < MAX_SIGNIN_AND_SYNC_PROMO_SHOW_COUNT; - if (!AndroidSyncSettings.get().isChromeSyncEnabled() && impressionLimitNotReached) { + if (!mProfileSyncService.isSyncRequested() && impressionLimitNotReached) { return PromoState.PROMO_SYNC; } return PromoState.PROMO_NONE; } - // AndroidSyncSettingsObserver implementation. + // ProfileSyncService.SyncStateChangedListener implementation. @Override - public void androidSyncSettingsChanged() { + public void syncStateChanged() { mPromoState = calculatePromoState(); triggerPromoUpdate(); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/BrowserServicesIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/BrowserServicesIntentDataProvider.java index 4d6e385..0211c17 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/BrowserServicesIntentDataProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/BrowserServicesIntentDataProvider.java
@@ -526,4 +526,18 @@ public boolean shouldBlockNewNotificationRequests() { return false; } + + /** + * Returns true if 'open in chrome' should be shown in the tab context menu. + */ + public boolean shouldShowOpenInChromeMenuItemInContextMenu() { + return true; + } + + /** + * Returns true if 'open in chrome' should be shown in the app menu. + */ + public boolean shouldShowOpenInChromeMenuItem() { + return true; + } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java index 0caf04b6..33866c98 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java
@@ -11,7 +11,6 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.tab.TabLaunchType; import org.chromium.chrome.browser.tabmodel.document.TabDelegate; @@ -55,9 +54,8 @@ } private boolean isHistorySyncEnabled() { - boolean syncEnabled = AndroidSyncSettings.get().isSyncEnabled(); ProfileSyncService syncService = ProfileSyncService.get(); - return syncEnabled && syncService != null + return syncService != null && syncService.isSyncRequested() && syncService.getActiveDataTypes().contains(ModelType.HISTORY_DELETE_DIRECTIVES); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java index b1351ff..fb1caf7 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -540,7 +540,8 @@ .second; if (mMode == ContextMenuMode.WEB_APP) { items.add(createListItem(Item.OPEN_IN_CHROME)); - } else if (mMode == ContextMenuMode.CUSTOM_TAB) { + } else if (mMode == ContextMenuMode.CUSTOM_TAB + && mItemDelegate.supportsOpenInChromeFromCct()) { boolean addNewEntries = false; try { URI uri = new URI(mParams.getUrl());
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java index 053b5a9..ec0be07 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchUma.java
@@ -16,7 +16,7 @@ import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.PanelState; import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChangeReason; import org.chromium.chrome.browser.contextualsearch.ResolvedSearchTerm.CardTag; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; +import org.chromium.chrome.browser.sync.ProfileSyncService; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -866,7 +866,7 @@ public static void logTapResultsSeen(boolean wasPanelSeen) { RecordHistogram.recordBooleanHistogram( "Search.ContextualSearch.Tap.ResultsSeen", wasPanelSeen); - if (AndroidSyncSettings.get().isSyncEnabled()) { + if (ProfileSyncService.get() != null && ProfileSyncService.get().isSyncRequested()) { RecordHistogram.recordBooleanHistogram( "Search.ContextualSearch.Tap.SyncEnabled.ResultsSeen", wasPanelSeen); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java index 88bf834..f1be1d85 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
@@ -327,7 +327,7 @@ mIntentDataProvider.shouldShowShareMenuItem(), mIntentDataProvider.shouldShowStarButton(), mIntentDataProvider.shouldShowDownloadButton(), mIntentDataProvider.isIncognito(), - getModalDialogManager()); + getModalDialogManager(), mIntentDataProvider.shouldShowOpenInChromeMenuItem()); } @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java index 50f9e89..68e855f 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -55,6 +55,7 @@ private final boolean mShowDownload; private final boolean mIsOpenedByChrome; private final boolean mIsIncognito; + private final boolean mShowOpenInChrome; private final List<String> mMenuEntries; private final Map<MenuItem, Integer> mItemToIndexMap = new HashMap<MenuItem, Integer>(); @@ -63,6 +64,8 @@ /** * Creates an {@link CustomTabAppMenuPropertiesDelegate} instance. + * + * @param showOpenInChrome Whether 'open in chrome' is shown, depending upon other state. */ public CustomTabAppMenuPropertiesDelegate(Context context, ActivityTabProvider activityTabProvider, @@ -71,7 +74,7 @@ ObservableSupplier<BookmarkBridge> bookmarkBridgeSupplier, Verifier verifier, @CustomTabsUiType final int uiType, List<String> menuEntries, boolean isOpenedByChrome, boolean showShare, boolean showStar, boolean showDownload, boolean isIncognito, - ModalDialogManager modalDialogManager) { + ModalDialogManager modalDialogManager, boolean showOpenInChrome) { super(context, activityTabProvider, multiWindowModeStateDispatcher, tabModelSelector, toolbarManager, decorView, null, bookmarkBridgeSupplier, modalDialogManager); mVerifier = verifier; @@ -82,6 +85,7 @@ mShowStar = showStar; mShowDownload = showDownload; mIsIncognito = isIncognito; + mShowOpenInChrome = showOpenInChrome; } @Override @@ -202,6 +206,9 @@ prepareTranslateMenuItem(menu, currentTab); + if (!mShowOpenInChrome) { + openInChromeItemVisible = false; + } MenuItem openInChromeItem = menu.findItem(R.id.open_in_browser_id); if (openInChromeItemVisible) { String title = mIsIncognito ?
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java index 369aa529..4ba04d2 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
@@ -356,6 +356,7 @@ private final MultiWindowUtils mMultiWindowUtils; private final PendingIntent mFocusIntent; private final Verifier mVerifier; + private final boolean mShouldShowOpenInChromeMenuItemInContextMenu; private TabWebContentsDelegateAndroid mWebContentsDelegateAndroid; private ExternalNavigationDelegateImpl mNavigationDelegate; @@ -377,13 +378,15 @@ * @param verifier Decides how to handle navigation to a new URL. * @param ephemeralTabCoordinatorSupplier A provider of {@link EphemeralTabCoordinator} that * shows preview tab. + * @param shouldShowOpenInChromeMenuItemInContextMenu Whether 'open in chrome' is shown. */ private CustomTabDelegateFactory(ChromeActivity<?> activity, boolean shouldHideBrowserControls, boolean isOpenedByChrome, @Nullable String webApkScopeUrl, @WebDisplayMode int displayMode, boolean shouldEnableEmbeddedMediaExperience, BrowserControlsVisibilityDelegate visibilityDelegate, ExternalAuthUtils authUtils, MultiWindowUtils multiWindowUtils, @Nullable PendingIntent focusIntent, - Verifier verifier, Lazy<EphemeralTabCoordinator> ephemeralTabCoordinator) { + Verifier verifier, Lazy<EphemeralTabCoordinator> ephemeralTabCoordinator, + boolean shouldShowOpenInChromeMenuItemInContextMenu) { mActivity = activity; mShouldHideBrowserControls = shouldHideBrowserControls; mIsOpenedByChrome = isOpenedByChrome; @@ -397,6 +400,7 @@ mFocusIntent = focusIntent; mVerifier = verifier; mEphemeralTabCoordinator = ephemeralTabCoordinator; + mShouldShowOpenInChromeMenuItemInContextMenu = shouldShowOpenInChromeMenuItemInContextMenu; } @Inject @@ -410,7 +414,8 @@ getDisplayMode(intentDataProvider), intentDataProvider.shouldEnableEmbeddedMediaExperience(), visibilityDelegate, authUtils, multiWindowUtils, intentDataProvider.getFocusIntent(), verifier, - ephemeralTabCoordinator); + ephemeralTabCoordinator, + intentDataProvider.shouldShowOpenInChromeMenuItemInContextMenu()); } /** @@ -419,7 +424,7 @@ */ static CustomTabDelegateFactory createDummy() { return new CustomTabDelegateFactory(null, false, false, null, WebDisplayMode.BROWSER, false, - null, null, null, null, null, () -> null); + null, null, null, null, null, () -> null, true); } @Override @@ -465,19 +470,28 @@ return new ExternalNavigationHandler(mNavigationDelegate); } + @VisibleForTesting + TabContextMenuItemDelegate createTabContextMenuItemDelegate(Tab tab) { + TabModelSelector tabModelSelector = + mActivity != null ? mActivity.getTabModelSelector() : null; + return new TabContextMenuItemDelegate(tab, tabModelSelector, + EphemeralTabCoordinator.isSupported() ? mEphemeralTabCoordinator::get : () + -> null, + () -> {}, mActivity == null ? null : mActivity::getSnackbarManager) { + @Override + public boolean supportsOpenInChromeFromCct() { + return mShouldShowOpenInChromeMenuItemInContextMenu; + } + }; + } + @Override public ContextMenuPopulatorFactory createContextMenuPopulatorFactory(Tab tab) { @ChromeContextMenuPopulator.ContextMenuMode int contextMenuMode = getContextMenuMode(mActivityType); Supplier<ShareDelegate> shareDelegateSupplier = mActivity == null ? null : mActivity.getShareDelegateSupplier(); - TabModelSelector tabModelSelector = - mActivity != null ? mActivity.getTabModelSelector() : null; - return new ChromeContextMenuPopulatorFactory( - new TabContextMenuItemDelegate(tab, tabModelSelector, - EphemeralTabCoordinator.isSupported() ? mEphemeralTabCoordinator::get : () - -> null, - () -> {}, mActivity == null ? null : mActivity::getSnackbarManager), + return new ChromeContextMenuPopulatorFactory(createTabContextMenuItemDelegate(tab), shareDelegateSupplier, contextMenuMode, AppHooks.get().getExternalAuthUtils()); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java index 79f25b9..5b061c4 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -172,6 +172,20 @@ "androidx.browser.customtabs.extra.HIDE_OMNIBOX_SUGGESTIONS_FROM_CCT"; /** + * Extra that determines whether the 'open in chrome' menu item should be shown in the context + * menu. The value is a boolean. Default value is false, meaning the item is shown. + */ + public static final String EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM_IN_CONTEXT_MENU = + "androidx.browser.customtabs.extra.HIDE_OPEN_IN_CHROME_MENU_ITEM_IN_CONTEXT_MENU"; + + /** + * Extra that determines whether the 'open in chrome' menu item should be shown in the menu. The + * value is a boolean. Default value is false, meaning the item is shown. + */ + public static final String EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM = + "androidx.browser.customtabs.extra.HIDE_OPEN_IN_CHROME_MENU_ITEM"; + + /** * Extra that, if set, results in marking visits from cct as hidden. The value is * a boolean, and is only considered if the feature kCCTHideVisits is enabled. */ @@ -954,4 +968,24 @@ return IntentUtils.safeGetBooleanExtra( mIntent, EXTRA_BLOCK_NEW_NOTIFICATION_REQUESTS_IN_CCT, false); } + + @Override + public boolean shouldShowOpenInChromeMenuItemInContextMenu() { + // Only 1p apps are allowed to hide visits. + String clientPackageName = + CustomTabsConnection.getInstance().getClientPackageNameForSession(getSession()); + if (!GSAState.isGsaPackageName(clientPackageName)) return true; + return !IntentUtils.safeGetBooleanExtra( + mIntent, EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM_IN_CONTEXT_MENU, false); + } + + @Override + public boolean shouldShowOpenInChromeMenuItem() { + // Only 1p apps are allowed to hide visits. + String clientPackageName = + CustomTabsConnection.getInstance().getClientPackageNameForSession(getSession()); + if (!GSAState.isGsaPackageName(clientPackageName)) return true; + return !IntentUtils.safeGetBooleanExtra( + mIntent, EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM, false); + } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java index 18c6d73..f40c62d 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java
@@ -61,6 +61,7 @@ import org.chromium.chrome.browser.tab.TrustedCdn; import org.chromium.chrome.browser.toolbar.LocationBarModel; import org.chromium.chrome.browser.toolbar.ToolbarColors; +import org.chromium.chrome.browser.toolbar.ToolbarProgressBar; import org.chromium.chrome.browser.toolbar.top.ToolbarLayout; import org.chromium.chrome.browser.toolbar.top.ToolbarPhone; import org.chromium.components.browser_ui.styles.ChromeColors; @@ -249,7 +250,6 @@ mLocationBarModel = locationBarModel; mLocationBar = new CustomTabLocationBar(locationBarModel, actionModeCallback, (UrlBar) mUrlBar); - mLocationBar.updateVisualsForState(); return mLocationBar; } @@ -495,6 +495,7 @@ super.onConfigurationChanged(newConfig); mLocationBarModel.notifyTitleChanged(); mLocationBarModel.notifyUrlChanged(); + mLocationBarModel.notifyPrimaryColorChanged(); } @Override @@ -540,9 +541,7 @@ // Using the current background color instead of the final color in case this // animation was cancelled. This ensures the assets are updated to the visible // color. - int backgroundColor = background.getColor(); - mUseDarkColors = !ColorUtils.shouldUseLightForegroundOnBackground(backgroundColor); - mLocationBar.updateVisualsForState(); + updateUseDarkColors(background.getColor()); } }); mBrandColorTransitionAnimation.start(); @@ -550,7 +549,12 @@ if (!shouldAnimate) mBrandColorTransitionAnimation.end(); } - + private void updateUseDarkColors(int backgroundColor) { + boolean useDarkColors = !ColorUtils.shouldUseLightForegroundOnBackground(backgroundColor); + if (mUseDarkColors == useDarkColors) return; + mUseDarkColors = useDarkColors; + mLocationBar.onUseDarkColorsChanged(); + } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { @@ -613,8 +617,9 @@ ActionMode.Callback actionModeCallback, UrlBar urlBar) { mLocationBarDataProvider = locationBarDataProvider; mLocationBarDataProvider.addObserver(this); - mUrlCoordinator = new UrlBarCoordinator( - urlBar, null, actionModeCallback, /*focusChangeCallback=*/(unused) -> {}, this); + mUrlCoordinator = new UrlBarCoordinator(urlBar, /*windowDelegate=*/null, + actionModeCallback, /*focusChangeCallback=*/(unused) -> {}, this); + onPrimaryColorChanged(); } public void onNativeLibraryReady() { @@ -752,6 +757,24 @@ public void onNtpStartedLoading() {} @Override + public void onPrimaryColorChanged() { + onUseDarkColorsChanged(); + updateProgressBarColors(); + } + + private void onUseDarkColorsChanged() { + updateButtonsTint(); + if (mUrlCoordinator.setUseDarkTextColors(mUseDarkColors)) { + // Update the URL to make it use the new color scheme. + onUrlChanged(); + } + + mTitleBar.setTextColor(ApiCompatibilityUtils.getColor(getResources(), + mUseDarkColors ? R.color.default_text_color_dark + : R.color.default_text_color_light)); + } + + @Override public void updateLoadingState(boolean updateUrl) { if (updateUrl) onUrlChanged(); updateStatusIcon(); @@ -759,27 +782,23 @@ @Override public void updateVisualsForState() { - Resources resources = getResources(); updateStatusIcon(); - updateButtonsTint(); - if (mUrlCoordinator.setUseDarkTextColors(mUseDarkColors)) { - onUrlChanged(); - } + updateProgressBarColors(); + } - mTitleBar.setTextColor(ApiCompatibilityUtils.getColor(resources, - mUseDarkColors ? R.color.default_text_color_dark - : R.color.default_text_color_light)); - - if (getProgressBar() != null) { - if (!ToolbarColors.isUsingDefaultToolbarColor( - getResources(), false, getBackground().getColor())) { - getProgressBar().setThemeColor(getBackground().getColor(), false); - } else { - getProgressBar().setBackgroundColor(ApiCompatibilityUtils.getColor( - resources, R.color.progress_bar_background)); - getProgressBar().setForegroundColor(ApiCompatibilityUtils.getColor( - resources, R.color.progress_bar_foreground)); - } + private void updateProgressBarColors() { + final ToolbarProgressBar progressBar = getProgressBar(); + if (progressBar == null) return; + final Resources resources = getResources(); + final int backgroundColor = getBackground().getColor(); + if (ToolbarColors.isUsingDefaultToolbarColor( + resources, /*isIncognito=*/false, backgroundColor)) { + progressBar.setBackgroundColor( + ApiCompatibilityUtils.getColor(resources, R.color.progress_bar_background)); + progressBar.setForegroundColor( + ApiCompatibilityUtils.getColor(resources, R.color.progress_bar_foreground)); + } else { + progressBar.setThemeColor(backgroundColor, /*isIncognito=*/false); } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java index 7f22471..09e7399e 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
@@ -16,13 +16,15 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.util.ChromeAccessibilityUtil; import org.chromium.components.signin.AccountManagerFacade; import org.chromium.components.signin.AccountManagerFacadeProvider; /** Provides first run related utility functions. */ public class FirstRunUtils { private static Boolean sHasGoogleAccountAuthenticator; - static final int SKIP_TOS_EXIT_DELAY_MS = 1000; + private static final int DEFAULT_SKIP_TOS_EXIT_DELAY_MS = 1000; + private static final int A11Y_DELAY_FACTOR = 2; /** * Synchronizes first run native and Java preferences. @@ -121,6 +123,22 @@ return FirstRunUtilsJni.get().getCctTosDialogEnabled(); } + /** + * The the number of ms delay before exiting FRE with policy. By default the delay would be + * {@link #DEFAULT_SKIP_TOS_EXIT_DELAY_MS}, while in a11y mode it will be extended by a factor + * of {@link #A11Y_DELAY_FACTOR}. This is intended to avoid screen reader being interrupted, but + * it is likely not going to work perfectly for all languages. + * + * @return The number of ms delay before exiting FRE with policy. + */ + public static int getSkipTosExitDelayMs() { + int durationMs = DEFAULT_SKIP_TOS_EXIT_DELAY_MS; + if (ChromeAccessibilityUtil.get().isTouchExplorationEnabled()) { + durationMs *= A11Y_DELAY_FACTOR; + } + return durationMs; + } + @NativeMethods public interface Natives { boolean getFirstRunEulaAccepted();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java index 04a36e6..d6a59a8 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java
@@ -262,7 +262,7 @@ mExitFreRunnable = null; }; mHandler = new Handler(ThreadUtils.getUiThreadLooper()); - mHandler.postDelayed(mExitFreRunnable, FirstRunUtils.SKIP_TOS_EXIT_DELAY_MS); + mHandler.postDelayed(mExitFreRunnable, FirstRunUtils.getSkipTosExitDelayMs()); } private void exitLightweightFirstRun() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupport.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupport.java index e379914..f2b1e1b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupport.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFirstRunFragmentWithEnterpriseSupport.java
@@ -10,6 +10,7 @@ import android.os.SystemClock; import android.view.View; import android.view.accessibility.AccessibilityEvent; +import android.widget.TextView; import androidx.annotation.NonNull; @@ -66,7 +67,7 @@ private boolean mViewCreated; private View mLoadingSpinnerContainer; private LoadingView mLoadingSpinner; - private View mPrivacyDisclaimer; + private TextView mPrivacyDisclaimer; private SkipTosDialogPolicyListener mSkipTosDialogPolicyListener; private final OneshotSupplierImpl<PolicyService> mPolicyServiceProvider = new OneshotSupplierImpl<>(); @@ -122,7 +123,7 @@ } else if (mSkipTosDialogPolicyListener.get()) { // Skip the FRE if we know dialog is disabled by policy. setTosAndUmaVisible(false); - exitCctFirstRun(); + exitCctFirstRun(/*shiftA11yFocus*/ false); } } @@ -155,7 +156,7 @@ boolean hasAccessibilityFocus = mLoadingSpinnerContainer.isAccessibilityFocused(); mLoadingSpinnerContainer.setVisibility(View.GONE); if (mSkipTosDialogPolicyListener.get()) { - exitCctFirstRun(); + exitCctFirstRun(hasAccessibilityFocus); } else { // Else, show the UMA as the loading spinner is GONE. setTosAndUmaVisible(true); @@ -170,18 +171,26 @@ if (mViewCreated) mLoadingSpinner.hideLoadingUI(); } - private void exitCctFirstRun() { + private void exitCctFirstRun(boolean shiftA11yFocus) { // TODO(crbug.com/1108582): Save a shared pref indicating Enterprise CCT FRE is complete, // and skip waiting for future cold starts. Log.d(TAG, "TosAndUmaFirstRunFragmentWithEnterpriseSupport finished."); mPrivacyDisclaimer.setVisibility(View.VISIBLE); - mPrivacyDisclaimer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED); + + // If the screen reader focus was on the loading spinner, to avoid the focus get lost from + // the screen, shift the focus to the disclaimer instead. Otherwise, announce the disclaimer + // without shifting the focus as it is not necessary. + if (shiftA11yFocus) { + mPrivacyDisclaimer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED); + } else { + mPrivacyDisclaimer.announceForAccessibility(mPrivacyDisclaimer.getText()); + } mExitFreRunnable = () -> { getPageDelegate().exitFirstRun(); mExitFreRunnable = null; }; mHandler = new Handler(ThreadUtils.getUiThreadLooper()); - mHandler.postDelayed(mExitFreRunnable, FirstRunUtils.SKIP_TOS_EXIT_DELAY_MS); + mHandler.postDelayed(mExitFreRunnable, FirstRunUtils.getSkipTosExitDelayMs()); } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java index e7d72a5..4f17140a 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
@@ -7,6 +7,7 @@ import android.content.Context; import androidx.annotation.IntDef; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import org.chromium.base.metrics.RecordUserAction; @@ -23,8 +24,7 @@ import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; import org.chromium.chrome.browser.signin.services.SigninManager; import org.chromium.chrome.browser.signin.services.SigninManager.SignInStateObserver; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; -import org.chromium.chrome.browser.sync.AndroidSyncSettings.AndroidSyncSettingsObserver; +import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.ui.favicon.FaviconHelper; import org.chromium.chrome.browser.ui.favicon.FaviconHelper.FaviconImageCallback; @@ -42,8 +42,9 @@ /** * Provides the domain logic and data for RecentTabsPage and RecentTabsRowAdapter. */ -public class RecentTabsManager implements AndroidSyncSettingsObserver, SignInStateObserver, - ProfileDataCache.Observer, AccountsChangeObserver { +public class RecentTabsManager implements ProfileSyncService.SyncStateChangedListener, + SignInStateObserver, ProfileDataCache.Observer, + AccountsChangeObserver { /** * Implement this to receive updates when the page contents change. */ @@ -83,6 +84,8 @@ private final ProfileDataCache mProfileDataCache; private final SigninPromoController mSigninPromoController; + @Nullable + private final ProfileSyncService mProfileSyncService; /** * Create an RecentTabsManager to be used with RecentTabsPage and RecentTabsRowAdapter. @@ -107,6 +110,7 @@ mProfileDataCache = ProfileDataCache.createProfileDataCache(context); mSigninPromoController = new SigninPromoController(SigninAccessPoint.RECENT_TABS); + mProfileSyncService = ProfileSyncService.get(); mRecentlyClosedTabManager.setTabsUpdatedRunnable(() -> { updateRecentlyClosedTabs(); @@ -127,7 +131,9 @@ */ public void destroy() { mIsDestroyed = true; - AndroidSyncSettings.get().unregisterObserver(this); + if (mProfileSyncService != null) { + mProfileSyncService.removeSyncStateChangedListener(this); + } mSignInManager.removeSignInStateObserver(this); mSignInManager = null; @@ -161,7 +167,10 @@ } private void registerObservers() { - AndroidSyncSettings.get().registerObserver(this); + if (mProfileSyncService != null) { + mProfileSyncService.addSyncStateChangedListener(this); + } + mSignInManager.addSignInStateObserver(this); mProfileDataCache.addObserver(this); @@ -372,8 +381,13 @@ return PromoState.PROMO_SIGNIN_PERSONALIZED; } - if (AndroidSyncSettings.get().isSyncEnabled() - && AndroidSyncSettings.get().isChromeSyncEnabled() && !mForeignSessions.isEmpty()) { + if (mProfileSyncService == null) { + // |mProfileSyncService| will remain null until the next browser startup, so no sense in + // offering any promo. + return PromoState.PROMO_NONE; + } + + if (mProfileSyncService.isSyncRequested() && !mForeignSessions.isEmpty()) { return PromoState.PROMO_NONE; } return PromoState.PROMO_SYNC; @@ -416,9 +430,9 @@ update(); } - // AndroidSyncSettingsObserver implementation. + // ProfileSyncService.SyncStateChangedListener implementation. @Override - public void androidSyncSettingsChanged() { + public void syncStateChanged() { update(); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarDataProvider.java index 10008af..9de4daf 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarDataProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarDataProvider.java
@@ -30,10 +30,16 @@ * consumer will query the data it cares about. */ interface Observer { - void onTitleChanged(); - void onUrlChanged(); void onIncognitoStateChanged(); void onNtpStartedLoading(); + + /** + * Notifies about a possible change of the value of {@link #getPrimaryColor()}, or {@link + * #isUsingBrandColor()}. + */ + void onPrimaryColorChanged(); + void onTitleChanged(); + void onUrlChanged(); // TODO(https://crbug.com/1139481): Add methods for other LocationBarDataProvider // data, e.g. security state. }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java index 4b1e9d5..23a8f53 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java
@@ -325,7 +325,7 @@ } mDeferredNativeRunnables.clear(); - updateVisualsForState(); + onPrimaryColorChanged(); updateMicButtonVisibility(); @@ -592,48 +592,48 @@ if (visibility == View.VISIBLE) updateMicButtonState(); } + /** Updates visuals after the primary color has changed. */ + @CallSuper + public void onPrimaryColorChanged() { + updateAssistantVoiceSearchColors(); + updateUseDarkColors(); + } + /** - * Call to force the UI to update the state of various buttons based on whether or not the - * current tab is incognito. + * Update visuals to use a correct light or dark color scheme depending on the primary color. */ - public void updateVisualsForState() { - // If the location bar is focused, the toolbar background color would be the default color - // regardless of whether it is branded or not. - final int defaultPrimaryColor = ChromeColors.getDefaultThemeColor( - getResources(), mLocationBarDataProvider.isIncognito()); - final int primaryColor = - mUrlHasFocus ? defaultPrimaryColor : mLocationBarDataProvider.getPrimaryColor(); - - // This will be called between inflation and initialization. For those calls, using a null - // ColorStateList should have no visible impact to the user. - AssistantVoiceSearchService assistantVoiceSearchService = - mAssistantVoiceSearchServiceSupplier.get(); - ColorStateList micColorStateList = assistantVoiceSearchService == null - ? null - : assistantVoiceSearchService.getMicButtonColorStateList( - primaryColor, getContext()); - ApiCompatibilityUtils.setImageTintList(mMicButton, micColorStateList); - + private void updateUseDarkColors() { + // TODO(crbug.com/1114183): Unify light and dark color logic in chrome and make it clear + // whether the foreground or background color is dark. final boolean useDarkColors = - !ColorUtils.shouldUseLightForegroundOnBackground(primaryColor); - ColorStateList colorStateList = - ChromeColors.getPrimaryIconTint(getContext(), !useDarkColors); - ApiCompatibilityUtils.setImageTintList(mDeleteButton, colorStateList); + !ColorUtils.shouldUseLightForegroundOnBackground(getPrimaryBackgroundColor()); + ApiCompatibilityUtils.setImageTintList( + mDeleteButton, ChromeColors.getPrimaryIconTint(getContext(), !useDarkColors)); // If the URL changed colors and is not focused, update the URL to account for the new // color scheme. if (mUrlCoordinator.setUseDarkTextColors(useDarkColors) && !mUrlBar.hasFocus()) { setUrl(mLocationBarDataProvider.getCurrentUrl()); } - mStatusCoordinator.setUseDarkColors(useDarkColors); - if (mAutocompleteCoordinator != null) { mAutocompleteCoordinator.updateVisualsForState( useDarkColors, mLocationBarDataProvider.isIncognito()); } } + /** Returns the primary color based on the url focus, and incognito state. */ + private int getPrimaryBackgroundColor() { + // If the url bar is focused, the toolbar background color is the default color regardless + // of whether it is branded or not. + if (mUrlHasFocus) { + return ChromeColors.getDefaultThemeColor( + getResources(), mLocationBarDataProvider.isIncognito()); + } else { + return mLocationBarDataProvider.getPrimaryColor(); + } + } + protected void onNtpStartedLoading() {} public View getContainerView() { @@ -644,8 +644,6 @@ return mStatusCoordinator.getSecurityIconView(); } - public void setShowTitle(boolean showTitle) {} - protected WindowAndroid getWindowAndroid() { return mWindowAndroid; } @@ -656,13 +654,21 @@ assert assistantVoiceSearchService != null; Drawable drawable = assistantVoiceSearchService.getCurrentMicDrawable(); mMicButton.setImageDrawable(drawable); + updateAssistantVoiceSearchColors(); + } - final int defaultPrimaryColor = ChromeColors.getDefaultThemeColor( - getResources(), mLocationBarDataProvider.isIncognito()); - final int primaryColor = - mUrlHasFocus ? defaultPrimaryColor : mLocationBarDataProvider.getPrimaryColor(); - ColorStateList colorStateList = - assistantVoiceSearchService.getMicButtonColorStateList(primaryColor, getContext()); + private void updateAssistantVoiceSearchColors() { + AssistantVoiceSearchService assistantVoiceSearchService = + mAssistantVoiceSearchServiceSupplier.get(); + ColorStateList colorStateList; + // This will be called between inflation and initialization. For those calls, using a null + // ColorStateList should have no visible impact to the user. + if (assistantVoiceSearchService == null) { + colorStateList = null; + } else { + colorStateList = assistantVoiceSearchService.getMicButtonColorStateList( + getPrimaryBackgroundColor(), getContext()); + } ApiCompatibilityUtils.setImageTintList(mMicButton, colorStateList); } @@ -923,6 +929,7 @@ mUrlHasFocus = hasFocus; updateButtonVisibility(); updateShouldAnimateIconChanges(); + onPrimaryColorChanged(); if (mUrlHasFocus) { if (mNativeInitialized) RecordUserAction.record("FocusLocation"); @@ -959,8 +966,6 @@ if (imm.isActive(mUrlBar)) imm.hideSoftInputFromWindow(getWindowToken(), 0, null); } - if (mLocationBarDataProvider.isUsingBrandColor()) updateVisualsForState(); - mStatusCoordinator.onUrlFocusChange(mUrlHasFocus); if (!mUrlFocusedWithoutAnimations) handleUrlFocusAnimation(mUrlHasFocus);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java index 885ad83..3a13d56 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
@@ -90,15 +90,6 @@ } // LocationBarData.Observer implementation - - @Override - public void onTitleChanged() {} - - @Override - public void onUrlChanged() { - mLocationBarLayout.setUrl(mLocationBarDataProvider.getCurrentUrl()); - } - @Override public void onIncognitoStateChanged() { mLocationBarLayout.updateMicButtonState(); @@ -109,9 +100,21 @@ mLocationBarLayout.onNtpStartedLoading(); } - // LocationBar implementation. + @Override + public void onPrimaryColorChanged() { + mLocationBarLayout.onPrimaryColorChanged(); + } @Override + public void onTitleChanged() {} + + @Override + public void onUrlChanged() { + mLocationBarLayout.setUrl(mLocationBarDataProvider.getCurrentUrl()); + } + + // LocationBar implementation. + @Override public void destroy() { mLocationBarLayout = null; mVoiceRecognitionHandler = null; @@ -126,12 +129,12 @@ @Override public void updateVisualsForState() { - mLocationBarLayout.updateVisualsForState(); + mLocationBarLayout.onPrimaryColorChanged(); } @Override public void setShowTitle(boolean showTitle) { - mLocationBarLayout.setShowTitle(showTitle); + // This method is only used in CustomTabToolbar. } @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarPhone.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarPhone.java index 129e91bc..08eb00b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarPhone.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarPhone.java
@@ -178,8 +178,8 @@ } @Override - public void updateVisualsForState() { - super.updateVisualsForState(); + public void onPrimaryColorChanged() { + super.onPrimaryColorChanged(); boolean isIncognito = mLocationBarDataProvider.isIncognito(); setShowIconsWhenUrlFocused(SearchEngineLogoUtils.shouldShowSearchEngineLogo(isIncognito)); updateStatusVisibility();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordEntryViewer.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordEntryViewer.java index b3af0ef..cfa7427 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordEntryViewer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordEntryViewer.java
@@ -36,7 +36,6 @@ import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.metrics.RecordHistogram; import org.chromium.chrome.R; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.ui.text.SpanApplier; @@ -215,8 +214,8 @@ private boolean isPasswordSyncingUser() { ProfileSyncService syncService = ProfileSyncService.get(); - return (AndroidSyncSettings.get().isSyncEnabled() && syncService.isEngineInitialized() - && !syncService.isUsingSecondaryPassphrase()); + return syncService != null && syncService.isSyncRequested() + && syncService.isEngineInitialized() && !syncService.isUsingSecondaryPassphrase(); } @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ChromePaymentRequestService.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/ChromePaymentRequestService.java index aacbc67..cffd3f5 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/ChromePaymentRequestService.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/ChromePaymentRequestService.java
@@ -149,7 +149,7 @@ // Implements BrowserPaymentRequest: @Override public List<PaymentApp> getPaymentApps() { - return mPaymentUiService.getPaymentAppsInPaymentAppList(); + return mPaymentUiService.getPaymentApps(); } // Implements BrowserPaymentRequest: @@ -230,11 +230,6 @@ @Override public String showOrSkipAppSelector(boolean isShowWaitingForUpdatedDetails, PaymentItem total, boolean shouldSkipAppSelector) { - // Send AppListReady signal when all apps are created and request.show() is called. - if (PaymentRequestService.getNativeObserverForTest() != null) { - PaymentRequestService.getNativeObserverForTest().onAppListReady( - mPaymentUiService.getPaymentApps(), total); - } ChromeActivity chromeActivity = ChromeActivity.fromWebContents(mWebContents); if (chromeActivity == null) return ErrorStrings.ACTIVITY_NOT_FOUND; String error = mPaymentUiService.buildPaymentRequestUI(chromeActivity, @@ -642,7 +637,7 @@ | AutofillPaymentInstrument.CompletionStatus.CREDIT_CARD_NO_BILLING_ADDRESS; } } else { - PaymentApp firstApp = (PaymentApp) mPaymentUiService.getPaymentApps().get(0); + PaymentApp firstApp = mPaymentUiService.getPaymentApps().get(0); if (firstApp.isAutofillInstrument()) { missingFields = ((AutofillPaymentInstrument) (firstApp)).getMissingFields(); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentUiService.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentUiService.java index 66cee2d..327f8cb 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentUiService.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentUiService.java
@@ -335,16 +335,8 @@ return mMerchantSupportsAutofillCards; } - /** @return Get the payment apps of the PaymentRequest UI. */ - public List<EditableOption> getPaymentApps() { - return mPaymentMethodsSection.getItems(); - } - - /** - * @return Get the payment apps of the PaymentRequest UI in the form of a {@link PaymentApp} - * list. - */ - public List<PaymentApp> getPaymentAppsInPaymentAppList() { + /** @return The payment apps. */ + public List<PaymentApp> getPaymentApps() { List<PaymentApp> paymentApps = new ArrayList<>(); for (EditableOption each : mPaymentMethodsSection.getItems()) { paymentApps.add((PaymentApp) each);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivity.java index 25dca80..e7ed116 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivity.java
@@ -11,7 +11,7 @@ import org.chromium.chrome.browser.settings.SettingsLauncherImpl; import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfAndroidBridge; import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfCoordinator; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; +import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.tab.Tab; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerProvider; @@ -23,7 +23,6 @@ */ public class SendTabToSelfShareActivity extends ChromeAccessorActivity { private static BottomSheetController sBottomSheetControllerForTesting; - private static AndroidSyncSettings sAndroidSyncSettings; @Override public void handleAction(ChromeActivity triggeringActivity) { @@ -37,7 +36,8 @@ return; } - boolean isSyncEnabled = getAndroidSyncSettings().isSyncEnabled(); + boolean isSyncEnabled = + ProfileSyncService.get() != null && ProfileSyncService.get().isSyncRequested(); controller.requestShowContent( SendTabToSelfCoordinator.createBottomSheetContent(triggeringActivity, entry.getUrl(), entry.getTitle(), entry.getTimestamp(), controller, @@ -57,18 +57,8 @@ return BottomSheetControllerProvider.from(window); } - private AndroidSyncSettings getAndroidSyncSettings() { - if (sAndroidSyncSettings != null) return sAndroidSyncSettings; - return AndroidSyncSettings.get(); - } - @VisibleForTesting public static void setBottomSheetControllerForTesting(BottomSheetController controller) { sBottomSheetControllerForTesting = controller; } - - @VisibleForTesting - public static void setAndroidSyncSettingsForTesting(AndroidSyncSettings syncSettings) { - sAndroidSyncSettings = syncSettings; - } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java index fe89b6b..249dc67 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDelegateImpl.java
@@ -27,7 +27,7 @@ import org.chromium.chrome.browser.settings.SettingsLauncherImpl; import org.chromium.chrome.browser.share.share_sheet.ShareSheetCoordinator; import org.chromium.chrome.browser.share.share_sheet.ShareSheetPropertyModelBuilder; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; +import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.tab.SadTab; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.util.ChromeFileProvider; @@ -108,9 +108,10 @@ if (mShareStartTime == 0L) { mShareStartTime = System.currentTimeMillis(); } + boolean isSyncEnabled = + ProfileSyncService.get() != null && ProfileSyncService.get().isSyncRequested(); mDelegate.share(params, chromeShareExtras, mBottomSheetController, mLifecycleDispatcher, - mTabProvider, this::printTab, shareOrigin, - AndroidSyncSettings.get().isSyncEnabled(), mShareStartTime, + mTabProvider, this::printTab, shareOrigin, isSyncEnabled, mShareStartTime, isSharingHubV1Enabled()); mShareStartTime = 0; }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SyncPromoView.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SyncPromoView.java index aa9c6f2..072f06bbf 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SyncPromoView.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SyncPromoView.java
@@ -20,8 +20,7 @@ import org.chromium.chrome.browser.settings.SettingsLauncher; import org.chromium.chrome.browser.settings.SettingsLauncherImpl; import org.chromium.chrome.browser.signin.SigninActivity.AccessPoint; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; -import org.chromium.chrome.browser.sync.AndroidSyncSettings.AndroidSyncSettingsObserver; +import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.sync.settings.SyncAndServicesSettings; import org.chromium.components.signin.metrics.SigninAccessPoint; @@ -31,7 +30,8 @@ * If inflated manually, {@link SyncPromoView#init(int)} must be called before * attaching this View to a ViewGroup. */ -public class SyncPromoView extends LinearLayout implements AndroidSyncSettingsObserver { +public class SyncPromoView + extends LinearLayout implements ProfileSyncService.SyncStateChangedListener { private @AccessPoint int mAccessPoint; private boolean mInitialized; @@ -58,6 +58,9 @@ */ public SyncPromoView(Context context, AttributeSet attrs) { super(context, attrs); + // This promo is about enabling sync, so no sense in showing it if + // syncing isn't possible. + assert ProfileSyncService.get() != null; } @Override @@ -93,9 +96,9 @@ private void update() { ViewState viewState; - if (!AndroidSyncSettings.get().doesMasterSyncSettingAllowChromeSync()) { + if (!ProfileSyncService.get().isSyncAllowedByPlatform()) { viewState = getStateForEnableAndroidSync(); - } else if (!AndroidSyncSettings.get().isChromeSyncEnabled()) { + } else if (!ProfileSyncService.get().isSyncRequested()) { viewState = getStateForEnableChromeSync(); } else { viewState = getStateForStartUsing(); @@ -142,6 +145,8 @@ private final int mTextResource; private final OnClickListener mOnClickListener; + // TODO(crbug.com/1107904): Once Chrome is decoupled from auto-sync, + // |onClickListener| can be inlined. public ButtonPresent(int textResource, OnClickListener onClickListener) { mTextResource = textResource; mOnClickListener = onClickListener; @@ -196,19 +201,19 @@ assert mInitialized : "init(...) must be called on SyncPromoView before use."; super.onAttachedToWindow(); - AndroidSyncSettings.get().registerObserver(this); + ProfileSyncService.get().addSyncStateChangedListener(this); update(); } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); - AndroidSyncSettings.get().unregisterObserver(this); + ProfileSyncService.get().removeSyncStateChangedListener(this); } - // AndroidSyncStateObserver + // ProfileSyncService.SyncStateChangedListener @Override - public void androidSyncSettingsChanged() { + public void syncStateChanged() { update(); } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetView.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetView.java index 21c430180..e373938 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetView.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetView.java
@@ -8,6 +8,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; +import android.view.accessibility.AccessibilityEvent; import android.widget.ImageView; import android.widget.ViewFlipper; @@ -42,6 +43,21 @@ boolean onBackPressed(); } + /** + * The title id for each screen of the bottom sheet's view flipper, the position of + * each id corresponds to the value of {@link ViewState}. It is used to set focus + * on title when the view flipper moves to a new screen. + */ + private static final @IdRes int[] sTitleIds = new int[] { + R.id.account_picker_header_title, + R.id.account_picker_header_title, + R.id.account_picker_header_title, + R.id.account_picker_signin_in_progress_title, + R.id.incognito_interstitial_title, + R.id.account_picker_general_error_title, + R.id.account_picker_auth_error_title, + }; + private final Activity mActivity; private final BackPressListener mBackPressListener; private final View mContentView; @@ -50,9 +66,6 @@ private final View mSelectedAccountView; private final ButtonCompat mDismissButton; - private @StringRes int mTitleId; - private @StringRes int mContentDescriptionId; - /** * @param activity The activity that hosts this view. Used for inflating views. * @param backPressListener The listener to be notified when the user taps the back button. @@ -87,12 +100,6 @@ R.string.auth_error_card_button); } - void setTitleAndContentDescriptionStrings( - @StringRes int titleId, @StringRes @Nullable Integer subtitleId) { - mTitleId = titleId; - mContentDescriptionId = subtitleId != null ? subtitleId : titleId; - } - /** * The account list view is visible when the account list is expanded. */ @@ -140,6 +147,8 @@ */ void setDisplayedView(@ViewState int state) { mViewFlipper.setDisplayedChild(state); + View titleView = mViewFlipper.getChildAt(state).findViewById(sTitleIds[state]); + titleView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED); } /** @@ -208,22 +217,27 @@ @Override public int getSheetContentDescriptionStringId() { - return mContentDescriptionId; + // TODO(https://crbug.com/1112696): Use more specific string + // account picker content description + return R.string.signin_account_picker_bottom_sheet_subtitle; } @Override public int getSheetHalfHeightAccessibilityStringId() { - return mTitleId; + return R.string.signin_account_picker_dialog_title; } @Override public int getSheetFullHeightAccessibilityStringId() { - return mTitleId; + // TODO(https://crbug.com/1112696): Use more specific string + // like |Open account picker bottom sheet...| when bottom sheet opens + // after a11y meeting + return R.string.signin_account_picker_dialog_title; } @Override public int getSheetClosedAccessibilityStringId() { - // TODO(https://crbug.com/1112696): Use more specific string to when the account + // TODO(https://crbug.com/1112696): Use more specific string when the account // picker is closed. return R.string.close; }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetViewBinder.java index f23b590..63fd12f 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetViewBinder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetViewBinder.java
@@ -4,10 +4,6 @@ package org.chromium.chrome.browser.signin.account_picker; -import androidx.annotation.Nullable; -import androidx.annotation.StringRes; - -import org.chromium.chrome.R; import org.chromium.chrome.browser.signin.account_picker.AccountPickerBottomSheetProperties.ViewState; import org.chromium.chrome.browser.signin.services.DisplayableProfileData; import org.chromium.ui.modelutil.PropertyKey; @@ -25,8 +21,6 @@ } else if (propertyKey == AccountPickerBottomSheetProperties.VIEW_STATE) { @ViewState int viewState = model.get(AccountPickerBottomSheetProperties.VIEW_STATE); - view.setTitleAndContentDescriptionStrings( - getTitleId(viewState), getSubtitleId(viewState)); view.setDisplayedView(viewState); } else if (propertyKey == AccountPickerBottomSheetProperties.SELECTED_ACCOUNT_DATA) { DisplayableProfileData profileData = @@ -43,42 +37,5 @@ } } - private static @StringRes int getTitleId(@ViewState int viewState) { - switch (viewState) { - case ViewState.NO_ACCOUNTS: - case ViewState.COLLAPSED_ACCOUNT_LIST: - case ViewState.EXPANDED_ACCOUNT_LIST: - return R.string.signin_account_picker_dialog_title; - case ViewState.SIGNIN_IN_PROGRESS: - return R.string.signin_account_picker_bottom_sheet_signin_title; - case ViewState.INCOGNITO_INTERSTITIAL: - return R.string.incognito_interstitial_title; - case ViewState.SIGNIN_GENERAL_ERROR: - case ViewState.SIGNIN_AUTH_ERROR: - return R.string.signin_account_picker_bottom_sheet_error_title; - default: - throw new IllegalArgumentException("Unknown ViewState:" + viewState); - } - } - - private static @Nullable @StringRes Integer getSubtitleId(@ViewState int viewState) { - switch (viewState) { - case ViewState.NO_ACCOUNTS: - case ViewState.COLLAPSED_ACCOUNT_LIST: - case ViewState.EXPANDED_ACCOUNT_LIST: - return R.string.signin_account_picker_bottom_sheet_subtitle; - case ViewState.INCOGNITO_INTERSTITIAL: - return R.string.incognito_interstitial_message; - case ViewState.SIGNIN_GENERAL_ERROR: - return R.string.signin_account_picker_general_error_subtitle; - case ViewState.SIGNIN_AUTH_ERROR: - return R.string.signin_account_picker_auth_error_subtitle; - case ViewState.SIGNIN_IN_PROGRESS: - return null; - default: - throw new IllegalArgumentException("Unknown ViewState:" + viewState); - } - } - private AccountPickerBottomSheetViewBinder() {} }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java index 4164ba06..efa53257 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java
@@ -15,7 +15,6 @@ import androidx.annotation.VisibleForTesting; import org.chromium.base.ContextUtils; -import org.chromium.base.ObserverList; import org.chromium.base.ThreadUtils; import org.chromium.base.task.PostTask; import org.chromium.chrome.browser.flags.ChromeFeatureList; @@ -33,7 +32,6 @@ * DecoupleSyncFromAndroidMasterSync is enabled. * * A helper class to handle the current status of sync for Chrome in Android settings. - * It also provides an observer to be used whenever Android sync settings change. * * {@link #updateAccount(Account)} should be invoked whenever sync account is changed. */ @@ -57,12 +55,14 @@ private boolean mShouldDecoupleSyncFromMasterSync; - private final ObserverList<AndroidSyncSettingsObserver> mObservers = new ObserverList<>(); + // Is set at most once. + @Nullable + private Delegate mDelegate; /** - * Provides notifications when Android sync settings have changed. + * Propagates changes from Android sync settings to the native code. */ - public interface AndroidSyncSettingsObserver { + public interface Delegate { void androidSyncSettingsChanged(); } @@ -122,9 +122,7 @@ // This is called by Android on a background thread, but AndroidSyncSettings // methods should be called from the UI thread, so post a task. PostTask.postTask(UiThreadTaskTraits.DEFAULT, () -> { - if (updateCachedSettings()) { - notifyObservers(); - } + if (updateCachedSettings()) maybeNotifyDelegate(); }); } }; @@ -133,26 +131,12 @@ } /** - * Checks whether sync is currently enabled from Chrome for the currently signed in account. + * DEPRECATED - DO NOT USE! You probably want ProfileSyncService.isSyncRequested() instead. * - * It checks both the master sync for the device, and Chrome sync setting for the given account. - * If no user is currently signed in it returns false. - * - * @return true if sync is on, false otherwise + * @return The state of the Chrome sync setting for the given account, + * *ignoring* the master sync setting. */ - public boolean isSyncEnabled() { - ThreadUtils.assertOnUiThread(); - return mChromeSyncEnabled && doesMasterSyncSettingAllowChromeSync(); - } - - /** - * Checks whether sync is currently enabled for Chrome for a given account. - * - * It checks only Chrome sync setting for the given account, - * and ignores the master sync setting. - * - * @return true if sync is on, false otherwise - */ + @Deprecated public boolean isChromeSyncEnabled() { ThreadUtils.assertOnUiThread(); return mChromeSyncEnabled; @@ -190,9 +174,7 @@ ThreadUtils.assertOnUiThread(); mAccount = account; updateSyncability(); - if (updateCachedSettings()) { - notifyObservers(); - } + if (updateCachedSettings()) maybeNotifyDelegate(); } /** @@ -206,19 +188,13 @@ } /** - * Add a new AndroidSyncSettingsObserver. + * Must be called at most once to set a (non-null) delegate. */ - public void registerObserver(AndroidSyncSettingsObserver observer) { + public void setDelegate(Delegate delegate) { ThreadUtils.assertOnUiThread(); - mObservers.addObserver(observer); - } - - /** - * Remove an AndroidSyncSettingsObserver that was previously added. - */ - public void unregisterObserver(AndroidSyncSettingsObserver observer) { - ThreadUtils.assertOnUiThread(); - mObservers.removeObserver(observer); + assert delegate != null; + assert mDelegate == null; + mDelegate = delegate; } private void setChromeSyncEnabled(boolean value) { @@ -227,7 +203,7 @@ mChromeSyncEnabled = value; mSyncContentResolverDelegate.setSyncAutomatically(mAccount, mContractAuthority, value); - notifyObservers(); + maybeNotifyDelegate(); } /** @@ -301,10 +277,8 @@ || oldMasterSyncEnabled != mMasterSyncEnabled; } - private void notifyObservers() { - for (AndroidSyncSettingsObserver observer : mObservers) { - observer.androidSyncSettingsChanged(); - } + private void maybeNotifyDelegate() { + if (mDelegate != null) mDelegate.androidSyncSettingsChanged(); } /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java index b587d7f..8d11a42b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/ProfileSyncService.java
@@ -369,6 +369,11 @@ } } + public boolean isSyncAllowedByPlatform() { + return ProfileSyncServiceJni.get().isSyncAllowedByPlatform( + mNativeProfileSyncServiceAndroid, ProfileSyncService.this); + } + public void setSyncAllowedByPlatform(boolean allowed) { ProfileSyncServiceJni.get().setSyncAllowedByPlatform( mNativeProfileSyncServiceAndroid, ProfileSyncService.this, allowed); @@ -651,6 +656,8 @@ void requestStart(long nativeProfileSyncServiceAndroid, ProfileSyncService caller); void requestStop(long nativeProfileSyncServiceAndroid, ProfileSyncService caller); + boolean isSyncAllowedByPlatform( + long nativeProfileSyncServiceAndroid, ProfileSyncService caller); void setSyncAllowedByPlatform( long nativeProfileSyncServiceAndroid, ProfileSyncService caller, boolean allowed); void setSyncSessionsId(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncController.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncController.java index 13a55236..3877084 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncController.java
@@ -36,8 +36,8 @@ * are careful to not change the Android Chrome sync setting so we know whether to turn sync back * on when it is re-enabled. */ -public class SyncController implements ProfileSyncService.SyncStateChangedListener, - AndroidSyncSettings.AndroidSyncSettingsObserver { +public class SyncController + implements ProfileSyncService.SyncStateChangedListener, AndroidSyncSettings.Delegate { private static final String TAG = "SyncController"; /** @@ -58,7 +58,7 @@ private final SyncNotificationController mSyncNotificationController; private SyncController() { - AndroidSyncSettings.get().registerObserver(this); + AndroidSyncSettings.get().setDelegate(this); mProfileSyncService = ProfileSyncService.get(); mProfileSyncService.addSyncStateChangedListener(this); @@ -100,9 +100,8 @@ mProfileSyncService.setSyncAllowedByPlatform( AndroidSyncSettings.get().doesMasterSyncSettingAllowChromeSync()); - boolean isSyncEnabled = AndroidSyncSettings.get().isSyncEnabled(); - if (isSyncEnabled == mProfileSyncService.isSyncRequested()) return; - if (isSyncEnabled) { + if (isSyncEnabledInAndroidSyncSettings() == mProfileSyncService.isSyncRequested()) return; + if (isSyncEnabledInAndroidSyncSettings()) { mProfileSyncService.requestStart(); return; } @@ -138,11 +137,11 @@ public void syncStateChanged() { ThreadUtils.assertOnUiThread(); if (mProfileSyncService.isSyncRequested()) { - if (!AndroidSyncSettings.get().isSyncEnabled()) { + if (!isSyncEnabledInAndroidSyncSettings()) { AndroidSyncSettings.get().enableChromeSync(); } } else { - if (AndroidSyncSettings.get().isSyncEnabled()) { + if (isSyncEnabledInAndroidSyncSettings()) { // Both Android's master and Chrome sync setting are enabled, so we want to disable // the Chrome sync setting to match isSyncRequested. We have to be careful not to // disable it when isSyncRequested becomes false due to master sync being disabled @@ -154,7 +153,7 @@ } /** - * From {@link AndroidSyncSettings.AndroidSyncSettingsObserver}. + * From {@link AndroidSyncSettings.Delegate}. */ @Override public void androidSyncSettingsChanged() { @@ -193,4 +192,13 @@ } mProfileSyncService.setSessionsId(SESSION_TAG_PREFIX + uniqueTag); } + + /** + * Checks both the master sync for the device, and Chrome sync setting for the given account. + * If no user is currently signed in it returns false. + */ + private boolean isSyncEnabledInAndroidSyncSettings() { + return AndroidSyncSettings.get().doesMasterSyncSettingAllowChromeSync() + && AndroidSyncSettings.get().isChromeSyncEnabled(); + } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java index 8602e9b..65c6a36c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java
@@ -63,7 +63,7 @@ ThreadUtils.assertOnUiThread(); // Auth errors take precedence over passphrase errors. - if (!AndroidSyncSettings.get().isSyncEnabled()) { + if (!mProfileSyncService.isSyncRequested()) { cancelNotifications(); return; }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java index 7c646cd..a2078c98 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SignInPreference.java
@@ -23,7 +23,6 @@ import org.chromium.chrome.browser.signin.services.DisplayableProfileData; import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; import org.chromium.chrome.browser.signin.services.SigninManager.SignInAllowedObserver; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.sync.ProfileSyncService.SyncStateChangedListener; import org.chromium.components.browser_ui.settings.ManagedPreferencesUtils; @@ -48,7 +47,6 @@ */ public class SignInPreference extends Preference implements SignInAllowedObserver, ProfileDataCache.Observer, - AndroidSyncSettings.AndroidSyncSettingsObserver, SyncStateChangedListener, AccountsChangeObserver { @IntDef({State.SIGNIN_DISABLED_BY_POLICY, State.SIGNIN_DISALLOWED, State.GENERIC_PROMO, State.SIGNED_IN}) @@ -94,7 +92,6 @@ .addSignInAllowedObserver(this); mProfileDataCache.addObserver(this); FirstRunSignInProcessor.updateSigninManagerFirstRunCheckDone(); - AndroidSyncSettings.get().registerObserver(this); ProfileSyncService syncService = ProfileSyncService.get(); if (syncService != null) { syncService.addSyncStateChangedListener(this); @@ -112,7 +109,6 @@ .getSigninManager(Profile.getLastUsedRegularProfile()) .removeSignInAllowedObserver(this); mProfileDataCache.removeObserver(this); - AndroidSyncSettings.get().unregisterObserver(this); ProfileSyncService syncService = ProfileSyncService.get(); if (syncService != null) { syncService.removeSyncStateChangedListener(this); @@ -257,12 +253,6 @@ update(); } - // AndroidSyncSettings.AndroidSyncSettingsObserver implementation. - @Override - public void androidSyncSettingsChanged() { - update(); - } - // AccountsChangeObserver implementation. @Override public void onAccountsChanged() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncErrorCardPreference.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncErrorCardPreference.java index 909a0a2..345f09c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncErrorCardPreference.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncErrorCardPreference.java
@@ -18,7 +18,6 @@ import org.chromium.chrome.browser.signin.PersonalizedSigninPromoView; import org.chromium.chrome.browser.signin.ProfileDataCache; import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils.SyncError; import org.chromium.components.signin.base.CoreAccountInfo; @@ -27,8 +26,7 @@ import java.util.Collections; public class SyncErrorCardPreference extends Preference - implements AndroidSyncSettings.AndroidSyncSettingsObserver, - ProfileSyncService.SyncStateChangedListener, ProfileDataCache.Observer { + implements ProfileSyncService.SyncStateChangedListener, ProfileDataCache.Observer { /** * Listener for the buttons in the error card. */ @@ -68,7 +66,6 @@ public void onAttached() { super.onAttached(); mProfileDataCache.addObserver(this); - AndroidSyncSettings.get().registerObserver(this); ProfileSyncService syncService = ProfileSyncService.get(); if (syncService != null) { syncService.addSyncStateChangedListener(this); @@ -80,7 +77,6 @@ public void onDetached() { super.onDetached(); mProfileDataCache.removeObserver(this); - AndroidSyncSettings.get().unregisterObserver(this); ProfileSyncService syncService = ProfileSyncService.get(); if (syncService != null) { syncService.removeSyncStateChangedListener(this); @@ -173,14 +169,6 @@ } /** - * {@link AndroidSyncSettings.AndroidSyncSettingsObserver} implementation. - */ - @Override - public void androidSyncSettingsChanged() { - update(); - } - - /** * {@link ProfileDataCache.Observer} implementation. */ @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncPromoPreference.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncPromoPreference.java index 88a153d1c..4f4e0ea 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncPromoPreference.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncPromoPreference.java
@@ -23,7 +23,6 @@ import org.chromium.chrome.browser.signin.SigninPromoUtil; import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; import org.chromium.chrome.browser.signin.services.SigninManager.SignInAllowedObserver; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.sync.ProfileSyncService.SyncStateChangedListener; import org.chromium.components.signin.AccountManagerFacade; @@ -42,7 +41,6 @@ // TODO(https://crbug.com/1110889): Move all promos from SigninPreference to this class. public class SyncPromoPreference extends Preference implements SignInAllowedObserver, ProfileDataCache.Observer, - AndroidSyncSettings.AndroidSyncSettingsObserver, SyncStateChangedListener, AccountsChangeObserver { @Retention(RetentionPolicy.SOURCE) @IntDef({State.PROMO_HIDDEN, State.PERSONALIZED_SIGNIN_PROMO, State.PERSONALIZED_SYNC_PROMO}) @@ -83,7 +81,6 @@ .addSignInAllowedObserver(this); mProfileDataCache.addObserver(this); FirstRunSignInProcessor.updateSigninManagerFirstRunCheckDone(); - AndroidSyncSettings.get().registerObserver(this); ProfileSyncService syncService = ProfileSyncService.get(); if (syncService != null) { syncService.addSyncStateChangedListener(this); @@ -101,7 +98,6 @@ .getSigninManager(Profile.getLastUsedRegularProfile()) .removeSignInAllowedObserver(this); mProfileDataCache.removeObserver(this); - AndroidSyncSettings.get().unregisterObserver(this); ProfileSyncService syncService = ProfileSyncService.get(); if (syncService != null) { syncService.removeSyncStateChangedListener(this); @@ -224,12 +220,6 @@ update(); } - // AndroidSyncSettings.AndroidSyncSettingsObserver implementation. - @Override - public void androidSyncSettingsChanged() { - update(); - } - // AccountsChangeObserver implementation. @Override public void onAccountsChanged() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java index 2877a15b7..f865caee 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncSettingsUtils.java
@@ -34,7 +34,6 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.signin.services.IdentityServicesProvider; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.sync.TrustedVaultClient; import org.chromium.components.signin.base.CoreAccountInfo; @@ -77,18 +76,19 @@ */ @SyncError public static int getSyncError() { - if (!AndroidSyncSettings.get().doesMasterSyncSettingAllowChromeSync()) { - return SyncError.ANDROID_SYNC_DISABLED; - } - - if (!AndroidSyncSettings.get().isChromeSyncEnabled()) { - return SyncError.NO_ERROR; - } - ProfileSyncService profileSyncService = ProfileSyncService.get(); if (profileSyncService == null) { return SyncError.NO_ERROR; } + + if (!profileSyncService.isSyncAllowedByPlatform()) { + return SyncError.ANDROID_SYNC_DISABLED; + } + + if (!profileSyncService.isSyncRequested()) { + return SyncError.NO_ERROR; + } + if (profileSyncService.getAuthError() == GoogleServiceAuthError.State.INVALID_GAIA_CREDENTIALS) { return SyncError.AUTH_ERROR; @@ -219,15 +219,15 @@ return ""; } - if (!AndroidSyncSettings.get().doesMasterSyncSettingAllowChromeSync()) { - return res.getString(R.string.sync_android_system_sync_disabled); - } - ProfileSyncService profileSyncService = ProfileSyncService.get(); if (profileSyncService == null) { return res.getString(R.string.sync_is_disabled); } + if (!profileSyncService.isSyncAllowedByPlatform()) { + return res.getString(R.string.sync_android_system_sync_disabled); + } + if (profileSyncService.isSyncDisabledByEnterprisePolicy()) { return res.getString(R.string.sync_is_disabled_by_administrator); } @@ -251,30 +251,27 @@ return res.getString(R.string.sync_error_generic); } - if (!profileSyncService.isSyncRequested() - && ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)) { - return res.getString(R.string.sync_data_types_off); + if (!profileSyncService.isSyncRequested()) { + return ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY) + ? res.getString(R.string.sync_data_types_off) + : context.getString(R.string.sync_is_disabled); } - boolean syncEnabled = AndroidSyncSettings.get().isSyncEnabled(); - if (syncEnabled) { - if (!profileSyncService.isSyncActive()) { - return res.getString(R.string.sync_setup_progress); - } - - if (profileSyncService.isPassphraseRequiredForPreferredDataTypes()) { - return res.getString(R.string.sync_need_passphrase); - } - - if (profileSyncService.isTrustedVaultKeyRequiredForPreferredDataTypes()) { - return profileSyncService.isEncryptEverythingEnabled() - ? context.getString(R.string.sync_error_card_title) - : context.getString(R.string.sync_passwords_error_card_title); - } - - return context.getString(R.string.sync_and_services_summary_sync_on); + if (!profileSyncService.isSyncActive()) { + return res.getString(R.string.sync_setup_progress); } - return context.getString(R.string.sync_is_disabled); + + if (profileSyncService.isPassphraseRequiredForPreferredDataTypes()) { + return res.getString(R.string.sync_need_passphrase); + } + + if (profileSyncService.isTrustedVaultKeyRequiredForPreferredDataTypes()) { + return profileSyncService.isEncryptEverythingEnabled() + ? context.getString(R.string.sync_error_card_title) + : context.getString(R.string.sync_passwords_error_card_title); + } + + return context.getString(R.string.sync_and_services_summary_sync_on); } /** @@ -292,7 +289,7 @@ } ProfileSyncService profileSyncService = ProfileSyncService.get(); - if (profileSyncService == null || !AndroidSyncSettings.get().isSyncEnabled()) { + if (profileSyncService == null || !profileSyncService.isSyncRequested()) { return useNewIcon ? AppCompatResources.getDrawable(context, R.drawable.ic_sync_off_48dp) : UiUtils.getTintedDrawable(context, R.drawable.ic_sync_green_legacy_40dp,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/DEPS b/chrome/android/java/src/org/chromium/chrome/browser/tab/DEPS index 4e69285..543e4312 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/DEPS +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/DEPS
@@ -21,6 +21,7 @@ "+chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuNativeDelegate.java", "+chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuPopulator.java", "+chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuPopulatorFactory.java", + "+chrome/browser/continuous_search/android/java/org/chromium/chrome/browser/continuous_search/ContinuousSearchTabHelper.java", "+chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java", "+chrome/android/java/src/org/chromium/chrome/browser/ui/TabObscuringHandler.java", "+chrome/android/java/src/org/chromium/chrome/browser/webapps/WebDisplayMode.java",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java index d5ef5eb..a4e215b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
@@ -317,6 +317,15 @@ } } + /** + * Returns whether the 'open in chrome' menu item should be shown. This is only called when the + * context menu is shown in cct. + */ + @Override + public boolean supportsOpenInChromeFromCct() { + return true; + } + @Override public void onOpenInNewChromeTabFromCCT(String linkUrl, boolean isIncognito) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(linkUrl));
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java index 9b170ac..ab40506 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabHelpers.java
@@ -7,6 +7,7 @@ import org.chromium.chrome.browser.SwipeRefreshHandler; import org.chromium.chrome.browser.complex_tasks.TaskTabHelper; import org.chromium.chrome.browser.contextualsearch.ContextualSearchTabHelper; +import org.chromium.chrome.browser.continuous_search.ContinuousSearchTabHelper; import org.chromium.chrome.browser.crypto.CipherFactory; import org.chromium.chrome.browser.dom_distiller.ReaderModeManager; import org.chromium.chrome.browser.dom_distiller.TabDistillabilityProvider; @@ -33,6 +34,7 @@ MediaSessionTabHelper.createForTab(tab); TaskTabHelper.createForTab(tab, parentTab); TabBrowserControlsConstraintsHelper.createForTab(tab); + ContinuousSearchTabHelper.createForTab(tab); if (ReaderModeManager.isEnabled()) ReaderModeManager.createForTab(tab); // TODO(jinsukkim): Do this by having something observe new tab creation.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java index 9a0f3c1..d532d91 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
@@ -121,6 +121,7 @@ updateUsingBrandColor(); notifyTitleChanged(); notifyUrlChanged(); + notifyPrimaryColorChanged(); } @Override @@ -346,7 +347,10 @@ } public void setShouldShowOmniboxInOverviewMode(boolean shouldShowOmniboxInOverviewMode) { - mShouldShowOmniboxInOverviewMode = shouldShowOmniboxInOverviewMode; + if (mShouldShowOmniboxInOverviewMode != shouldShowOmniboxInOverviewMode) { + mShouldShowOmniboxInOverviewMode = shouldShowOmniboxInOverviewMode; + notifyPrimaryColorChanged(); + } } /** @@ -356,6 +360,7 @@ public void setPrimaryColor(int color) { mPrimaryColor = color; updateUsingBrandColor(); + notifyPrimaryColorChanged(); } private void updateUsingBrandColor() { @@ -379,6 +384,12 @@ return isInOverviewAndShowingOmnibox() || mIsUsingBrandColor; } + public void notifyPrimaryColorChanged() { + for (LocationBarDataProvider.Observer observer : mLocationBarDataObservers) { + observer.onPrimaryColorChanged(); + } + } + @Override public boolean isOfflinePage() { return hasTab() && OfflinePageUtils.isOfflinePage(mTab);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr/ArCoreDeviceUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/ArCoreDeviceUtils.java deleted file mode 100644 index 738b65b..0000000 --- a/chrome/android/java/src/org/chromium/chrome/browser/vr/ArCoreDeviceUtils.java +++ /dev/null
@@ -1,29 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package org.chromium.chrome.browser.vr; - -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; - -/** - * Helper used to ensure that the ArCore device is appropriately "installed" in - * the browser after any requisite dependencies (e.g. the AR DFM), have been - * installed. - */ -@JNINamespace("vr") -public class ArCoreDeviceUtils { - /** - * Installs the ArCoreDeviceProvider, so that the browser can use an ArCore device. - * Should be called once any ArCore dependencies (except ArCore itself) have been installed. - */ - public static void installArCoreDeviceProviderFactory() { - ArCoreDeviceUtilsJni.get().installArCoreDeviceProviderFactory(); - } - - @NativeMethods - /* package */ interface ArCodeDeviceUtilsNative { - void installArCoreDeviceProviderFactory(); - } -}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr/ArDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/ArDelegateImpl.java index fcd64bf..a56e4f65 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/vr/ArDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/ArDelegateImpl.java
@@ -18,11 +18,6 @@ public ArDelegateImpl() {} @Override - public void init() { - ArCoreDeviceUtils.installArCoreDeviceProviderFactory(); - } - - @Override public boolean onBackPressed() { return ArCoreJavaUtils.onBackPressed(); }
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni index d9088e44..b5a8a66 100644 --- a/chrome/android/java_sources.gni +++ b/chrome/android/java_sources.gni
@@ -46,7 +46,6 @@ chrome_java_sources += [ "java/src/org/chromium/chrome/browser/vr/ArCompositorDelegateImpl.java", "java/src/org/chromium/chrome/browser/vr/ArCompositorDelegateProviderImpl.java", - "java/src/org/chromium/chrome/browser/vr/ArCoreDeviceUtils.java", "java/src/org/chromium/chrome/browser/vr/ArDelegateImpl.java", ] }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java index 585e8ee..a1f0d8c 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkTest.java
@@ -11,8 +11,6 @@ import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed; import static androidx.test.espresso.matcher.ViewMatchers.withText; -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.when; import static org.chromium.components.browser_ui.widget.highlight.ViewHighlighterTestUtils.checkHighlightOff; @@ -72,8 +70,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.profiles.Profile; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; -import org.chromium.chrome.browser.sync.AndroidSyncSettings.AndroidSyncSettingsObserver; +import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; @@ -139,7 +136,7 @@ private EmbeddedTestServer mTestServer; private @Nullable BookmarkActivity mBookmarkActivity; @Mock - private AndroidSyncSettings mAndroidSyncSettings; + private ProfileSyncService mProfileSyncService; @BeforeClass public static void setUpBeforeActivityLaunched() { @@ -160,17 +157,10 @@ mActivityTestRule.getActivity().getActivityTab().getWebContents())); mBookmarkBridge = mActivityTestRule.getActivity().getBookmarkBridgeForTesting(); - // Stub AndroidSyncSettings state to make sure promos aren't suppressed. - when(mAndroidSyncSettings.doesMasterSyncSettingAllowChromeSync()).thenReturn(true); - when(mAndroidSyncSettings.isSyncEnabled()).thenReturn(false); - when(mAndroidSyncSettings.isChromeSyncEnabled()).thenReturn(false); - doNothing() - .when(mAndroidSyncSettings) - .registerObserver(any(AndroidSyncSettingsObserver.class)); - doNothing() - .when(mAndroidSyncSettings) - .unregisterObserver(any(AndroidSyncSettingsObserver.class)); - AndroidSyncSettings.overrideForTests(mAndroidSyncSettings); + // Stub ProfileSyncService state to make sure promos aren't suppressed. + when(mProfileSyncService.isSyncAllowedByPlatform()).thenReturn(true); + when(mProfileSyncService.isSyncRequested()).thenReturn(false); + ProfileSyncService.overrideForTests(mProfileSyncService); }); mTestServer = EmbeddedTestServer.createAndStartServer(InstrumentationRegistry.getContext()); mTestPage = mTestServer.getURL(TEST_PAGE_URL_GOOGLE);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasicTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasicTest.java index c6d9b533..5663ffd 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasicTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasicTest.java
@@ -7,7 +7,6 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; -import static org.mockito.Mockito.when; import androidx.preference.CheckBoxPreference; import androidx.preference.PreferenceScreen; @@ -19,16 +18,12 @@ import org.junit.Test; import org.junit.rules.RuleChain; import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnit; -import org.mockito.junit.MockitoRule; import org.chromium.base.CollectionUtil; import org.chromium.base.test.util.CommandLineFlags; import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragment.DialogOption; import org.chromium.chrome.browser.flags.ChromeSwitches; import org.chromium.chrome.browser.settings.SettingsActivityTestRule; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeTabbedActivityTestRule; @@ -60,18 +55,22 @@ @Rule public final AccountManagerTestRule mAccountManagerTestRule = new AccountManagerTestRule(); - @Rule - public final MockitoRule mMockitoRule = MockitoJUnit.rule(); - private static final String GOOGLE_ACCOUNT = "Google Account"; private static final String OTHER_ACTIVITY = "other forms of browsing history"; private static final String SIGNED_IN_DEVICES = "signed-in devices"; - @Mock - private AndroidSyncSettings mAndroidSyncSettings; + + private StubProfileSyncService mStubProfileSyncService; @Before public void setUp() throws InterruptedException { mActivityTestRule.startMainActivityOnBlankPage(); + + TestThreadUtils.runOnUiThreadBlocking(() -> { + // Can only construct StubProfileSyncService after native was initialized by + // startMainActivityOnBlankPage() above. + mStubProfileSyncService = new StubProfileSyncService(); + ProfileSyncService.overrideForTests(mStubProfileSyncService); + }); } @After @@ -80,29 +79,24 @@ } private static class StubProfileSyncService extends ProfileSyncService { - private final boolean mSyncable; + private boolean mSyncable; - StubProfileSyncService(boolean syncable) { - super(); + public void setSyncable(boolean syncable) { mSyncable = syncable; } @Override + public boolean isSyncRequested() { + return mSyncable; + } + + @Override public Set<Integer> getActiveDataTypes() { return mSyncable ? CollectionUtil.newHashSet(ModelType.HISTORY_DELETE_DIRECTIVES) : new HashSet<Integer>(); } } - private void setSyncable(final boolean syncable) { - TestThreadUtils.runOnUiThreadBlocking(() -> { - when(mAndroidSyncSettings.isSyncEnabled()).thenReturn(syncable); - AndroidSyncSettings.overrideForTests(mAndroidSyncSettings); - - ProfileSyncService.overrideForTests(new StubProfileSyncService(syncable)); - }); - } - private String getCheckboxSummary(PreferenceScreen screen, String preference) { CheckBoxPreference checkbox = (CheckBoxPreference) screen.findPreference(preference); return new StringBuilder(checkbox.getSummary()).toString(); @@ -113,7 +107,7 @@ */ @Test @SmallTest - public void testCheckBoxTextNonsigned() { + public void testCheckBoxTextNotSignedIn() { mSettingsActivityTestRule.startSettingsActivity(); TestThreadUtils.runOnUiThreadBlocking(() -> { @@ -133,15 +127,15 @@ } /** - * Tests that for users who are signed in but don't have sync activated, - * only information about your "google account" which will stay signed in - * and "other activity" is shown. + * Tests that for users who are signed in with a primary account but have + * sync disabled, only "google account" and "other activity" are shown. */ @Test @SmallTest - public void testCheckBoxTextSigned() { + public void testCheckBoxTextSignedInButNotSyncing() { mAccountManagerTestRule.addTestAccountThenSigninAndEnableSync(); - setSyncable(false); + // Simulate that Sync was stopped but the primary account remained. + TestThreadUtils.runOnUiThreadBlocking(() -> mStubProfileSyncService.setSyncable(false)); mSettingsActivityTestRule.startSettingsActivity(); @@ -168,9 +162,9 @@ */ @Test @SmallTest - public void testCheckBoxTextSignedAndSynced() { + public void testCheckBoxTextSignedInAndSyncing() { mAccountManagerTestRule.addTestAccountThenSigninAndEnableSync(); - setSyncable(true); + TestThreadUtils.runOnUiThreadBlocking(() -> mStubProfileSyncService.setSyncable(true)); mSettingsActivityTestRule.startSettingsActivity();
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulatorTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulatorTest.java index c8ea57f..dee3bbb 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulatorTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulatorTest.java
@@ -73,6 +73,8 @@ @Mock private ChromeContextMenuPopulator mPopulator; + private boolean mSupportsOpenInChromeFromCct = true; + @Before public void setUp() { MockitoAnnotations.initMocks(this); @@ -86,6 +88,8 @@ when(mItemDelegate.supportsSendEmailMessage()).thenReturn(true); when(mItemDelegate.supportsSendTextMessage()).thenReturn(true); when(mItemDelegate.supportsAddToContacts()).thenReturn(true); + when(mItemDelegate.supportsOpenInChromeFromCct()) + .thenAnswer((mock) -> mSupportsOpenInChromeFromCct); HashMap<String, Boolean> features = new HashMap<String, Boolean>(); features.put(ChromeFeatureList.CONTEXT_MENU_SEARCH_WITH_GOOGLE_LENS, false); @@ -174,6 +178,23 @@ @Test @SmallTest @UiThreadTest + public void testShouldShowOpenInChromeMenuItemInContextMenu() { + FirstRunStatus.setFirstRunFlowComplete(true); + ContextMenuParams params = new ContextMenuParams(0, 0, PAGE_URL, LINK_URL, LINK_TEXT, "", + "", "", null, false, 0, 0, MenuSourceType.MENU_SOURCE_TOUCH); + + // If the delegate returns false from supportsOpenInChromeFromCct() then open_in_chrome item + // should not be present. + mSupportsOpenInChromeFromCct = false; + initializePopulator(ChromeContextMenuPopulator.ContextMenuMode.CUSTOM_TAB, params); + int[] expected = {R.id.contextmenu_copy_link_address, R.id.contextmenu_copy_link_text, + R.id.contextmenu_save_link_as, R.id.contextmenu_share_link}; + checkMenuOptions(expected); + } + + @Test + @SmallTest + @UiThreadTest public void testHttpLinkWithPreviewTabEnabled() { ContextMenuParams params = new ContextMenuParams(0, 0, PAGE_URL, LINK_URL, LINK_TEXT, "", "", "", null, false, 0, 0, MenuSourceType.MENU_SOURCE_TOUCH);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java index a1e20a3..ed3a40b 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
@@ -108,6 +108,7 @@ import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.tab.EmptyTabObserver; import org.chromium.chrome.browser.tab.Tab; +import org.chromium.chrome.browser.tab.TabContextMenuItemDelegate; import org.chromium.chrome.browser.tab.TabCreationState; import org.chromium.chrome.browser.tab.TabHidingType; import org.chromium.chrome.browser.tab.TabLaunchType; @@ -2572,6 +2573,131 @@ .getActivityTab() .getShouldBlockNewNotificationRequests()); } + + @Test + @SmallTest + public void testHideOpenInChromeMenuItemInContextMenu() throws Exception { + Context context = InstrumentationRegistry.getInstrumentation() + .getTargetContext() + .getApplicationContext(); + Intent intent = CustomTabsTestUtils.createMinimalCustomTabIntent(context, mTestPage); + intent.setData(Uri.parse(mTestPage)); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra( + CustomTabIntentDataProvider.EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM_IN_CONTEXT_MENU, + true); + CustomTabsSessionToken token = CustomTabsSessionToken.getSessionTokenFromIntent(intent); + CustomTabsConnection connection = CustomTabsConnection.getInstance(); + connection.newSession(token); + connection.overridePackageNameForSessionForTesting( + token, "com.google.android.googlequicksearchbox"); + mCustomTabActivityTestRule.startCustomTabActivityWithIntent(intent); + TestThreadUtils.runOnUiThreadBlocking(() -> { + Tab tab = mCustomTabActivityTestRule.getActivity().getActivityTab(); + Assert.assertTrue(tab != null); + Assert.assertTrue( + TabTestUtils.getDelegateFactory(tab) instanceof CustomTabDelegateFactory); + TabContextMenuItemDelegate tabContextMenuItemDelegate = + ((CustomTabDelegateFactory) TabTestUtils.getDelegateFactory(tab)) + .createTabContextMenuItemDelegate(tab); + // EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM_IN_CONTEXT_MENU should be propagated to the + // tabContextMenuItemDelegate. + Assert.assertFalse(tabContextMenuItemDelegate.supportsOpenInChromeFromCct()); + }); + } + + @Test + @SmallTest + public void testHideOpenInChromeMenuItemInContextMenuIgnoredWrongPackage() throws Exception { + Context context = InstrumentationRegistry.getInstrumentation() + .getTargetContext() + .getApplicationContext(); + Intent intent = CustomTabsTestUtils.createMinimalCustomTabIntent(context, mTestPage); + intent.setData(Uri.parse(mTestPage)); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra( + CustomTabIntentDataProvider.EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM_IN_CONTEXT_MENU, + true); + CustomTabsSessionToken token = CustomTabsSessionToken.getSessionTokenFromIntent(intent); + CustomTabsConnection connection = CustomTabsConnection.getInstance(); + connection.newSession(token); + mCustomTabActivityTestRule.startCustomTabActivityWithIntent(intent); + // EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM_IN_CONTEXT_MENU should be ignored without the right + // package. + TestThreadUtils.runOnUiThreadBlocking(() -> { + Tab tab = mCustomTabActivityTestRule.getActivity().getActivityTab(); + Assert.assertTrue(tab != null); + Assert.assertTrue( + TabTestUtils.getDelegateFactory(tab) instanceof CustomTabDelegateFactory); + TabContextMenuItemDelegate tabContextMenuItemDelegate = + ((CustomTabDelegateFactory) TabTestUtils.getDelegateFactory(tab)) + .createTabContextMenuItemDelegate(tab); + // EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM_IN_CONTEXT_MENU should be ignored without the + // right package. + Assert.assertTrue(tabContextMenuItemDelegate.supportsOpenInChromeFromCct()); + }); + } + + @Test + @SmallTest + public void testHideOpenInChromeMenuItem() throws Exception { + Context context = InstrumentationRegistry.getInstrumentation() + .getTargetContext() + .getApplicationContext(); + Intent intent = CustomTabsTestUtils.createMinimalCustomTabIntent(context, mTestPage); + intent.setData(Uri.parse(mTestPage)); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra(CustomTabIntentDataProvider.EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM, true); + CustomTabsSessionToken token = CustomTabsSessionToken.getSessionTokenFromIntent(intent); + CustomTabsConnection connection = CustomTabsConnection.getInstance(); + connection.newSession(token); + connection.overridePackageNameForSessionForTesting( + token, "com.google.android.googlequicksearchbox"); + mCustomTabActivityTestRule.startCustomTabActivityWithIntent(intent); + + IntentFilter filter = new IntentFilter(Intent.ACTION_VIEW); + final ActivityMonitor monitor = + InstrumentationRegistry.getInstrumentation().addMonitor(filter, null, false); + openAppMenuAndAssertMenuShown(); + PostTask.runOrPostTask(UiThreadTaskTraits.DEFAULT, () -> { + MenuItem item = + AppMenuTestSupport.getMenu(mCustomTabActivityTestRule.getAppMenuCoordinator()) + .findItem(R.id.open_in_browser_id); + // The menu item should be there, but hidden. + Assert.assertNotNull(item); + Assert.assertFalse(item.isVisible()); + }); + } + + @Test + @SmallTest + public void testHideOpenInChromeMenuItemVisibleWithWrongPackage() throws Exception { + Context context = InstrumentationRegistry.getInstrumentation() + .getTargetContext() + .getApplicationContext(); + Intent intent = CustomTabsTestUtils.createMinimalCustomTabIntent(context, mTestPage); + intent.setData(Uri.parse(mTestPage)); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra(CustomTabIntentDataProvider.EXTRA_HIDE_OPEN_IN_CHROME_MENU_ITEM, true); + CustomTabsSessionToken token = CustomTabsSessionToken.getSessionTokenFromIntent(intent); + CustomTabsConnection connection = CustomTabsConnection.getInstance(); + connection.newSession(token); + mCustomTabActivityTestRule.startCustomTabActivityWithIntent(intent); + + IntentFilter filter = new IntentFilter(Intent.ACTION_VIEW); + final ActivityMonitor monitor = + InstrumentationRegistry.getInstrumentation().addMonitor(filter, null, false); + openAppMenuAndAssertMenuShown(); + PostTask.runOrPostTask(UiThreadTaskTraits.DEFAULT, () -> { + MenuItem item = + AppMenuTestSupport.getMenu(mCustomTabActivityTestRule.getAppMenuCoordinator()) + .findItem(R.id.open_in_browser_id); + // As the package name doesn't match the expected package, the item should be visible. + Assert.assertNotNull(item); + Assert.assertTrue(item.isVisible()); + }); + } + /** * The following test that history only has a single final page after speculation, * whether it was a hit or a miss.
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/LocationBarLayoutTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/LocationBarLayoutTest.java index 66252a9..25e9ffd 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/LocationBarLayoutTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/LocationBarLayoutTest.java
@@ -677,7 +677,7 @@ Tab tab = mActivityTestRule.loadUrlInNewTab(url, incognito); setupModelsForCurrentTab(); setUrlToPageUrl(locationBar); - TestThreadUtils.runOnUiThreadBlocking(() -> { locationBar.updateVisualsForState(); }); + TestThreadUtils.runOnUiThreadBlocking(() -> { locationBar.onPrimaryColorChanged(); }); return tab; }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordViewingTypeTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordViewingTypeTest.java index 4cd7baf..e4620e9 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordViewingTypeTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordViewingTypeTest.java
@@ -22,7 +22,6 @@ import org.chromium.base.test.util.Feature; import org.chromium.chrome.browser.settings.MainSettings; import org.chromium.chrome.browser.settings.SettingsActivityTestRule; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.test.ChromeBrowserTestRule; import org.chromium.components.browser_ui.settings.ChromeBasePreference; @@ -50,9 +49,8 @@ public final MockitoRule mMockitoRule = MockitoJUnit.rule(); private ChromeBasePreference mPasswordsPref; - private String mAuthority; @Mock - private AndroidSyncSettings mAndroidSyncSettings; + private ProfileSyncService mProfileSyncService; @Before public void setUp() { @@ -61,41 +59,8 @@ MainSettings mainSettings = mSettingsActivityTestRule.getFragment(); mPasswordsPref = (ChromeBasePreference) mainSettings.findPreference(MainSettings.PREF_PASSWORDS); - TestThreadUtils.runOnUiThreadBlocking(() -> { - AndroidSyncSettings.overrideForTests(mAndroidSyncSettings); - setSyncability(false); - mAuthority = AndroidSyncSettings.getContractAuthority(); - }); - } - - /** - * Override ProfileSyncService using FakeProfileSyncService. - */ - private void overrideProfileSyncService(final boolean usingPassphrase) { - class FakeProfileSyncService extends ProfileSyncService { - @Override - public boolean isUsingSecondaryPassphrase() { - return usingPassphrase; - } - - @Override - public boolean isEngineInitialized() { - return true; - } - } TestThreadUtils.runOnUiThreadBlocking( - () -> { ProfileSyncService.overrideForTests(new FakeProfileSyncService()); }); - } - - /** - * Turn syncability on/off. - */ - private void setSyncability(boolean syncState) { - TestThreadUtils.runOnUiThreadBlocking(() -> { - when(mAndroidSyncSettings.isSyncEnabled()).thenReturn(syncState); - when(mAndroidSyncSettings.isChromeSyncEnabled()).thenReturn(syncState); - when(mAndroidSyncSettings.doesMasterSyncSettingAllowChromeSync()).thenReturn(true); - }); + () -> ProfileSyncService.overrideForTests(mProfileSyncService)); } /** @@ -106,13 +71,10 @@ @SmallTest @Feature({"Sync"}) public void testUserRedirectSyncSettings() { - setSyncability(true); - overrideProfileSyncService(false); - TestThreadUtils.runOnUiThreadBlocking(() -> { - Assert.assertTrue(AndroidSyncSettings.get().isSyncEnabled()); - Assert.assertTrue(ProfileSyncService.get().isEngineInitialized()); - Assert.assertFalse(ProfileSyncService.get().isUsingSecondaryPassphrase()); - }); + when(mProfileSyncService.isSyncRequested()).thenReturn(true); + when(mProfileSyncService.isEngineInitialized()).thenReturn(true); + when(mProfileSyncService.isUsingSecondaryPassphrase()).thenReturn(false); + Assert.assertEquals( PasswordSettings.class.getCanonicalName(), mPasswordsPref.getFragment()); } @@ -124,8 +86,10 @@ @Test @SmallTest public void testSyncingNativePasswordView() { - setSyncability(true); - overrideProfileSyncService(true); + when(mProfileSyncService.isSyncRequested()).thenReturn(true); + when(mProfileSyncService.isEngineInitialized()).thenReturn(true); + when(mProfileSyncService.isUsingSecondaryPassphrase()).thenReturn(true); + Assert.assertEquals( PasswordSettings.class.getCanonicalName(), mPasswordsPref.getFragment()); Assert.assertNotNull(mSettingsActivityTestRule.getActivity().getIntent()); @@ -137,7 +101,10 @@ @Test @SmallTest public void testNonSyncingNativePasswordView() { - setSyncability(false); + when(mProfileSyncService.isSyncRequested()).thenReturn(false); + when(mProfileSyncService.isEngineInitialized()).thenReturn(false); + when(mProfileSyncService.isUsingSecondaryPassphrase()).thenReturn(false); + Assert.assertEquals( PasswordSettings.class.getCanonicalName(), mPasswordsPref.getFragment()); }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/read_later/ReadLaterIphTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/read_later/ReadLaterIphTest.java index be2c00c..76ef063 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/read_later/ReadLaterIphTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/read_later/ReadLaterIphTest.java
@@ -41,6 +41,7 @@ import org.chromium.base.Callback; import org.chromium.base.test.util.Batch; import org.chromium.base.test.util.CommandLineFlags; +import org.chromium.base.test.util.FlakyTest; import org.chromium.base.test.util.Restriction; import org.chromium.chrome.R; import org.chromium.chrome.browser.app.ChromeActivity; @@ -117,6 +118,7 @@ @Test @MediumTest @Restriction({UiRestriction.RESTRICTION_TYPE_PHONE}) + @FlakyTest(message = "https://crbug.com/1155085") public void testShowBookmarksReadLaterIPH() throws Throwable { mActivityTestRule.loadUrl(mTestServer.getServer().getURL(CONTEXT_MENU_TEST_URL)); ChromeActivity activity = mActivityTestRule.getActivity();
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTest.java index 7e5ea517..5dca4a1d 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTest.java
@@ -10,7 +10,6 @@ import static org.chromium.chrome.browser.sync.AndroidSyncSettingsTestUtils.getDoesMasterSyncAllowSyncOnUiThread; import static org.chromium.chrome.browser.sync.AndroidSyncSettingsTestUtils.getIsChromeSyncEnabledOnUiThread; -import static org.chromium.chrome.browser.sync.AndroidSyncSettingsTestUtils.getIsSyncEnabledOnUiThread; import android.accounts.Account; import android.os.Bundle; @@ -31,7 +30,6 @@ import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.base.test.util.Feature; import org.chromium.chrome.browser.flags.ChromeFeatureList; -import org.chromium.chrome.browser.sync.AndroidSyncSettings.AndroidSyncSettingsObserver; import org.chromium.chrome.test.ChromeBrowserTestRule; import org.chromium.chrome.test.util.browser.Features; import org.chromium.components.signin.AccountManagerFacadeProvider; @@ -100,8 +98,8 @@ } } - // Should live on the UI thread as normal a AndroidSyncSettingsObserver. - private static class MockSyncSettingsObserver implements AndroidSyncSettingsObserver { + // Should live on the UI thread as a normal AndroidSyncSettings.Delegate. + private static class MockSyncSettingsDelegate implements AndroidSyncSettings.Delegate { private boolean mReceivedNotification; public void clearNotification() { @@ -222,17 +220,17 @@ // First sync mSyncContentResolverDelegate.setSyncAutomatically(mAccount, mAuthority, true); - Assert.assertTrue(getIsSyncEnabledOnUiThread()); + Assert.assertTrue(getDoesMasterSyncAllowSyncOnUiThread()); Assert.assertTrue(getIsChromeSyncEnabledOnUiThread()); // Disable sync automatically for the app mSyncContentResolverDelegate.setSyncAutomatically(mAccount, mAuthority, false); - Assert.assertFalse(getIsSyncEnabledOnUiThread()); + Assert.assertTrue(getDoesMasterSyncAllowSyncOnUiThread()); Assert.assertFalse(getIsChromeSyncEnabledOnUiThread()); // Re-enable sync mSyncContentResolverDelegate.setSyncAutomatically(mAccount, mAuthority, true); - Assert.assertTrue(getIsSyncEnabledOnUiThread()); + Assert.assertTrue(getDoesMasterSyncAllowSyncOnUiThread()); Assert.assertTrue(getIsChromeSyncEnabledOnUiThread()); // Disable master sync @@ -240,10 +238,8 @@ Assert.assertTrue(getIsChromeSyncEnabledOnUiThread()); if (ChromeFeatureList.isEnabled(ChromeFeatureList.DECOUPLE_SYNC_FROM_ANDROID_MASTER_SYNC)) { Assert.assertTrue(getDoesMasterSyncAllowSyncOnUiThread()); - Assert.assertTrue(getIsSyncEnabledOnUiThread()); } else { Assert.assertFalse(getDoesMasterSyncAllowSyncOnUiThread()); - Assert.assertFalse(getIsSyncEnabledOnUiThread()); } } @@ -256,10 +252,10 @@ createAndroidSyncSettings(); TestThreadUtils.runOnUiThreadBlocking(() -> mAndroidSyncSettings.enableChromeSync()); - Assert.assertTrue(getIsSyncEnabledOnUiThread()); + Assert.assertTrue(getIsChromeSyncEnabledOnUiThread()); TestThreadUtils.runOnUiThreadBlocking(() -> mAndroidSyncSettings.disableChromeSync()); - Assert.assertFalse(getIsSyncEnabledOnUiThread()); + Assert.assertFalse(getIsChromeSyncEnabledOnUiThread()); } @Test @@ -272,20 +268,20 @@ TestThreadUtils.runOnUiThreadBlocking(() -> { mAndroidSyncSettings.enableChromeSync(); - Assert.assertTrue(mAndroidSyncSettings.isSyncEnabled()); + Assert.assertTrue(mAndroidSyncSettings.isChromeSyncEnabled()); mAndroidSyncSettings.updateAccount(mAlternateAccount); mAndroidSyncSettings.enableChromeSync(); - Assert.assertTrue(mAndroidSyncSettings.isSyncEnabled()); + Assert.assertTrue(mAndroidSyncSettings.isChromeSyncEnabled()); mAndroidSyncSettings.disableChromeSync(); - Assert.assertFalse(mAndroidSyncSettings.isSyncEnabled()); + Assert.assertFalse(mAndroidSyncSettings.isChromeSyncEnabled()); mAndroidSyncSettings.updateAccount(mAccount); - Assert.assertTrue(mAndroidSyncSettings.isSyncEnabled()); + Assert.assertTrue(mAndroidSyncSettings.isChromeSyncEnabled()); // Ensure we don't erroneously re-use cached data. mAndroidSyncSettings.updateAccount(null); - Assert.assertFalse(mAndroidSyncSettings.isSyncEnabled()); + Assert.assertFalse(mAndroidSyncSettings.isChromeSyncEnabled()); }); } @@ -299,7 +295,7 @@ TestThreadUtils.runOnUiThreadBlocking(() -> { mAndroidSyncSettings.enableChromeSync(); - Assert.assertTrue(mAndroidSyncSettings.isSyncEnabled()); + Assert.assertTrue(mAndroidSyncSettings.isChromeSyncEnabled()); int masterSyncAutomaticallyCalls = mSyncContentResolverDelegate.mGetMasterSyncAutomaticallyCalls.get(); @@ -309,7 +305,6 @@ // Do a bunch of reads. mAndroidSyncSettings.doesMasterSyncSettingAllowChromeSync(); - mAndroidSyncSettings.isSyncEnabled(); mAndroidSyncSettings.isChromeSyncEnabled(); // Ensure values were read from cache. @@ -323,7 +318,6 @@ // Do a bunch of reads for alternate account. mAndroidSyncSettings.updateAccount(mAlternateAccount); mAndroidSyncSettings.doesMasterSyncSettingAllowChromeSync(); - mAndroidSyncSettings.isSyncEnabled(); mAndroidSyncSettings.isChromeSyncEnabled(); // Ensure settings were only fetched once. @@ -339,42 +333,42 @@ @Test @SmallTest @Feature({"Sync"}) - public void testAndroidSyncSettingsPostsNotifications() { + public void testAndroidSyncSettingsNotifiesDelegate() { createAndroidSyncSettings(); TestThreadUtils.runOnUiThreadBlocking(() -> { - MockSyncSettingsObserver syncSettingsObserver = new MockSyncSettingsObserver(); - mAndroidSyncSettings.registerObserver(syncSettingsObserver); + MockSyncSettingsDelegate syncSettingsDelegate = new MockSyncSettingsDelegate(); + mAndroidSyncSettings.setDelegate(syncSettingsDelegate); - syncSettingsObserver.clearNotification(); + syncSettingsDelegate.clearNotification(); mAndroidSyncSettings.enableChromeSync(); - Assert.assertTrue("enableChromeSync should trigger observers", - syncSettingsObserver.receivedNotification()); + Assert.assertTrue("enableChromeSync should notify delegate", + syncSettingsDelegate.receivedNotification()); - syncSettingsObserver.clearNotification(); + syncSettingsDelegate.clearNotification(); mAndroidSyncSettings.updateAccount(mAlternateAccount); Assert.assertTrue("switching to account with different settings should notify", - syncSettingsObserver.receivedNotification()); + syncSettingsDelegate.receivedNotification()); - syncSettingsObserver.clearNotification(); + syncSettingsDelegate.clearNotification(); mAndroidSyncSettings.updateAccount(mAccount); Assert.assertTrue("switching to account with different settings should notify", - syncSettingsObserver.receivedNotification()); + syncSettingsDelegate.receivedNotification()); - syncSettingsObserver.clearNotification(); + syncSettingsDelegate.clearNotification(); mAndroidSyncSettings.enableChromeSync(); - Assert.assertFalse("enableChromeSync shouldn't trigger observers", - syncSettingsObserver.receivedNotification()); + Assert.assertFalse("enableChromeSync shouldn't notify delegate", + syncSettingsDelegate.receivedNotification()); - syncSettingsObserver.clearNotification(); + syncSettingsDelegate.clearNotification(); mAndroidSyncSettings.disableChromeSync(); - Assert.assertTrue("disableChromeSync should trigger observers", - syncSettingsObserver.receivedNotification()); + Assert.assertTrue("disableChromeSync should notify delegate", + syncSettingsDelegate.receivedNotification()); - syncSettingsObserver.clearNotification(); + syncSettingsDelegate.clearNotification(); mAndroidSyncSettings.disableChromeSync(); - Assert.assertFalse("disableChromeSync shouldn't observers", - syncSettingsObserver.receivedNotification()); + Assert.assertFalse("disableChromeSync shouldn't notify delegate", + syncSettingsDelegate.receivedNotification()); }); } @@ -423,28 +417,24 @@ // Master sync is disabled on startup and the user hasn't gone through the decoupling flow // in the past. mSyncContentResolverDelegate.setMasterSyncAutomatically(false); - mSyncContentResolverDelegate.setSyncAutomatically(mAccount, mAuthority, true); TestThreadUtils.runOnUiThreadBlocking(() -> { when(mProfileSyncService.getDecoupledFromAndroidMasterSync()).thenReturn(false); }); - // Sync must remain disabled as long as master sync is not re-enabled. + // Sync must remain disallowed as long as master sync is not re-enabled. createAndroidSyncSettings(); Assert.assertFalse(getDoesMasterSyncAllowSyncOnUiThread()); - Assert.assertFalse(getIsSyncEnabledOnUiThread()); - // Re-enable master sync at least once. Sync is now re-enabled and decoupled from master + // Re-enable master sync at least once. Sync is now allowed and decoupled from master // sync. TestThreadUtils.runOnUiThreadBlocking( () -> doNothing().when(mProfileSyncService).setDecoupledFromAndroidMasterSync()); mSyncContentResolverDelegate.setMasterSyncAutomatically(true); Assert.assertTrue(getDoesMasterSyncAllowSyncOnUiThread()); - Assert.assertTrue(getIsSyncEnabledOnUiThread()); TestThreadUtils.runOnUiThreadBlocking( () -> verify(mProfileSyncService).setDecoupledFromAndroidMasterSync()); mSyncContentResolverDelegate.setMasterSyncAutomatically(false); Assert.assertTrue(getDoesMasterSyncAllowSyncOnUiThread()); - Assert.assertTrue(getIsSyncEnabledOnUiThread()); } @Test @@ -455,7 +445,6 @@ // Master sync is disabled on startup, but the user has gone through the decoupling flow in // the past and has the DecoupleSyncFromAndroidMasterSync feature enabled. mSyncContentResolverDelegate.setMasterSyncAutomatically(false); - mSyncContentResolverDelegate.setSyncAutomatically(mAccount, mAuthority, true); TestThreadUtils.runOnUiThreadBlocking(() -> { when(mProfileSyncService.getDecoupledFromAndroidMasterSync()).thenReturn(true); }); @@ -464,7 +453,6 @@ // sync being disabled. createAndroidSyncSettings(); Assert.assertTrue(getDoesMasterSyncAllowSyncOnUiThread()); - Assert.assertTrue(getIsSyncEnabledOnUiThread()); } @Test @@ -475,15 +463,13 @@ // The user went through the master sync decoupling flow in the past, but has the // DecoupleSyncFromAndroidMasterSync feature disabled. mSyncContentResolverDelegate.setMasterSyncAutomatically(false); - mSyncContentResolverDelegate.setSyncAutomatically(mAccount, mAuthority, true); TestThreadUtils.runOnUiThreadBlocking(() -> { when(mProfileSyncService.getDecoupledFromAndroidMasterSync()).thenReturn(true); }); // Chrome should ignore that a previous decoupling happened. Sync should again respect - // master sync and stay disabled. + // master sync, so it's not allowed. createAndroidSyncSettings(); Assert.assertFalse(getDoesMasterSyncAllowSyncOnUiThread()); - Assert.assertFalse(getIsSyncEnabledOnUiThread()); } }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTestUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTestUtils.java index 0d3e9fc..7f2f9e2 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTestUtils.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/AndroidSyncSettingsTestUtils.java
@@ -26,11 +26,6 @@ () -> SyncContentResolverDelegate.overrideForTests(delegate)); } - public static boolean getIsSyncEnabledOnUiThread() { - return TestThreadUtils.runOnUiThreadBlockingNoException( - () -> AndroidSyncSettings.get().isSyncEnabled()); - } - public static boolean getIsChromeSyncEnabledOnUiThread() { return TestThreadUtils.runOnUiThreadBlockingNoException( () -> AndroidSyncSettings.get().isChromeSyncEnabled());
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncErrorCardPreferenceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncErrorCardPreferenceTest.java index 559a75f..168e91b 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncErrorCardPreferenceTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncErrorCardPreferenceTest.java
@@ -4,9 +4,6 @@ package org.chromium.chrome.browser.sync; -import static org.mockito.Mockito.when; -import static org.mockito.MockitoAnnotations.initMocks; - import android.view.View; import androidx.test.filters.LargeTest; @@ -19,7 +16,6 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; import org.chromium.base.test.params.ParameterAnnotations; import org.chromium.base.test.params.ParameterizedRunner; @@ -68,9 +64,6 @@ public final ChromeRenderTestRule mRenderTestRule = ChromeRenderTestRule.Builder.withPublicCorpus().setRevision(2).build(); - @Mock - private AndroidSyncSettings mAndroidSyncSettingsMock; - private FakeProfileSyncService mFakeProfileSyncService; @ParameterAnnotations.UseMethodParameterBefore(NightModeTestUtils.NightModeParams.class) @@ -86,7 +79,6 @@ @Before public void setUp() throws Exception { - initMocks(this); // Start main activity before because native side needs to be initialized before overriding // ProfileSyncService. mActivityTestRule.startMainActivityOnBlankPage(); @@ -94,8 +86,6 @@ TestThreadUtils.runOnUiThreadBlocking(() -> { mFakeProfileSyncService = new FakeProfileSyncService(); ProfileSyncService.overrideForTests(mFakeProfileSyncService); - AndroidSyncSettings.overrideForTests(mAndroidSyncSettingsMock); - when(mAndroidSyncSettingsMock.isChromeSyncEnabled()).thenReturn(true); }); } @@ -116,13 +106,14 @@ @Feature("RenderTest") @ParameterAnnotations.UseMethodParameter(NightModeTestUtils.NightModeParams.class) public void testSyncErrorCardForAndroidSyncDisabled(boolean nightModeEnabled) throws Exception { - when(mAndroidSyncSettingsMock.doesMasterSyncSettingAllowChromeSync()).thenReturn(false); mAccountManagerTestRule.addTestAccountThenSigninAndEnableSync(mFakeProfileSyncService); - TestThreadUtils.runOnUiThreadBlocking( - () - -> Assert.assertEquals("ANDROID_SYNC_DISABLED SyncError should be set", - SyncSettingsUtils.SyncError.ANDROID_SYNC_DISABLED, - SyncSettingsUtils.getSyncError())); + TestThreadUtils.runOnUiThreadBlocking(() -> { + mFakeProfileSyncService.setSyncAllowedByPlatform(false); + + Assert.assertEquals("ANDROID_SYNC_DISABLED SyncError should be set", + SyncSettingsUtils.SyncError.ANDROID_SYNC_DISABLED, + SyncSettingsUtils.getSyncError()); + }); mSettingsActivityTestRule.startSettingsActivity(); mRenderTestRule.render( @@ -135,7 +126,6 @@ @ParameterAnnotations.UseMethodParameter(NightModeTestUtils.NightModeParams.class) public void testSyncErrorCardForAuthError(boolean nightModeEnabled) throws Exception { mFakeProfileSyncService.setAuthError(GoogleServiceAuthError.State.INVALID_GAIA_CREDENTIALS); - when(mAndroidSyncSettingsMock.doesMasterSyncSettingAllowChromeSync()).thenReturn(true); mAccountManagerTestRule.addTestAccountThenSigninAndEnableSync(mFakeProfileSyncService); TestThreadUtils.runOnUiThreadBlocking( () @@ -153,7 +143,6 @@ @ParameterAnnotations.UseMethodParameter(NightModeTestUtils.NightModeParams.class) public void testSyncErrorCardForClientOutOfDate(boolean nightModeEnabled) throws Exception { mFakeProfileSyncService.setRequiresClientUpgrade(true); - when(mAndroidSyncSettingsMock.doesMasterSyncSettingAllowChromeSync()).thenReturn(true); mAccountManagerTestRule.addTestAccountThenSigninAndEnableSync(mFakeProfileSyncService); TestThreadUtils.runOnUiThreadBlocking( () @@ -172,7 +161,6 @@ @ParameterAnnotations.UseMethodParameter(NightModeTestUtils.NightModeParams.class) public void testSyncErrorCardForOtherErrors(boolean nightModeEnabled) throws Exception { mFakeProfileSyncService.setAuthError(GoogleServiceAuthError.State.CONNECTION_FAILED); - when(mAndroidSyncSettingsMock.doesMasterSyncSettingAllowChromeSync()).thenReturn(true); mAccountManagerTestRule.addTestAccountThenSigninAndEnableSync(mFakeProfileSyncService); TestThreadUtils.runOnUiThreadBlocking( () @@ -191,7 +179,6 @@ public void testSyncErrorCardForPassphraseRequired(boolean nightModeEnabled) throws Exception { mFakeProfileSyncService.setEngineInitialized(true); mFakeProfileSyncService.setPassphraseRequiredForPreferredDataTypes(true); - when(mAndroidSyncSettingsMock.doesMasterSyncSettingAllowChromeSync()).thenReturn(true); mAccountManagerTestRule.addTestAccountThenSigninAndEnableSync(mFakeProfileSyncService); TestThreadUtils.runOnUiThreadBlocking( () @@ -212,7 +199,6 @@ mFakeProfileSyncService.setEngineInitialized(true); mFakeProfileSyncService.setTrustedVaultKeyRequiredForPreferredDataTypes(true); mFakeProfileSyncService.setEncryptEverythingEnabled(true); - when(mAndroidSyncSettingsMock.doesMasterSyncSettingAllowChromeSync()).thenReturn(true); mAccountManagerTestRule.addTestAccountThenSigninAndEnableSync(mFakeProfileSyncService); TestThreadUtils.runOnUiThreadBlocking( () @@ -231,7 +217,6 @@ @Feature("RenderTest") @ParameterAnnotations.UseMethodParameter(NightModeTestUtils.NightModeParams.class) public void testSyncErrorCardForSyncSetupIncomplete(boolean nightModeEnabled) throws Exception { - when(mAndroidSyncSettingsMock.doesMasterSyncSettingAllowChromeSync()).thenReturn(true); // Passing a null ProfileSyncService instance here would sign-in the user but // FirstSetupComplete will be unset. mAccountManagerTestRule.addTestAccountThenSigninAndEnableSync(
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java index a41cac25..488cbf9 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTest.java
@@ -155,7 +155,8 @@ mSyncTestRule.setUpAccountAndEnableSyncForTesting()); String authority = AndroidSyncSettings.getContractAuthority(); - Assert.assertTrue(AndroidSyncSettingsTestUtils.getIsSyncEnabledOnUiThread()); + Assert.assertTrue(AndroidSyncSettingsTestUtils.getIsChromeSyncEnabledOnUiThread()); + Assert.assertTrue(AndroidSyncSettingsTestUtils.getDoesMasterSyncAllowSyncOnUiThread()); Assert.assertTrue(SyncTestUtil.isSyncRequested()); // Disabling Android sync should turn Chrome sync engine off. @@ -175,7 +176,8 @@ public void testStopAndStartSyncThroughAndroidMasterSync() { mSyncTestRule.setUpAccountAndEnableSyncForTesting(); - Assert.assertTrue(AndroidSyncSettingsTestUtils.getIsSyncEnabledOnUiThread()); + Assert.assertTrue(AndroidSyncSettingsTestUtils.getIsChromeSyncEnabledOnUiThread()); + Assert.assertTrue(AndroidSyncSettingsTestUtils.getDoesMasterSyncAllowSyncOnUiThread()); Assert.assertTrue(SyncTestUtil.isSyncRequested()); // Disabling Android's master sync should turn Chrome sync engine off. @@ -197,7 +199,8 @@ mSyncTestRule.setUpAccountAndEnableSyncForTesting()); String authority = AndroidSyncSettings.getContractAuthority(); - Assert.assertTrue(AndroidSyncSettingsTestUtils.getIsSyncEnabledOnUiThread()); + Assert.assertTrue(AndroidSyncSettingsTestUtils.getIsChromeSyncEnabledOnUiThread()); + Assert.assertTrue(AndroidSyncSettingsTestUtils.getDoesMasterSyncAllowSyncOnUiThread()); Assert.assertTrue(SyncTestUtil.isSyncRequested()); Assert.assertTrue(SyncTestUtil.canSyncFeatureStart()); @@ -231,7 +234,8 @@ mSyncTestRule.setUpAccountAndEnableSyncForTesting()); String authority = AndroidSyncSettings.getContractAuthority(); - Assert.assertTrue(AndroidSyncSettingsTestUtils.getIsSyncEnabledOnUiThread()); + Assert.assertTrue(AndroidSyncSettingsTestUtils.getIsChromeSyncEnabledOnUiThread()); + Assert.assertTrue(AndroidSyncSettingsTestUtils.getDoesMasterSyncAllowSyncOnUiThread()); Assert.assertTrue(SyncTestUtil.isSyncRequested()); Assert.assertTrue(SyncTestUtil.canSyncFeatureStart());
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivityTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivityTest.java index b0292ef7..8472c72 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivityTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivityTest.java
@@ -29,13 +29,14 @@ import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfAndroidBridge; import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfAndroidBridgeJni; import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfCoordinator; -import org.chromium.chrome.browser.sync.AndroidSyncSettings; +import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.tab.Tab; import org.chromium.components.browser_ui.bottomsheet.BottomSheetContent; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.content_public.browser.NavigationController; import org.chromium.content_public.browser.NavigationEntry; import org.chromium.content_public.browser.WebContents; +import org.chromium.content_public.browser.test.util.TestThreadUtils; /** Tests for SendTabToSelfShareActivityTest */ @RunWith(BaseRobolectricTestRunner.class) @@ -66,7 +67,7 @@ private BottomSheetController mBottomSheetController; @Mock - private AndroidSyncSettings mSyncSettings; + private ProfileSyncService mProfileSyncService; private Profile mProfile; @@ -102,8 +103,9 @@ when(mNavigationController.getVisibleEntry()).thenReturn(mNavigationEntry); // Setup the mocked object for sync settings. - when(mSyncSettings.isSyncEnabled()).thenReturn(true); - SendTabToSelfShareActivity.setAndroidSyncSettingsForTesting(mSyncSettings); + when(mProfileSyncService.isSyncRequested()).thenReturn(true); + TestThreadUtils.runOnUiThreadBlocking( + () -> ProfileSyncService.overrideForTests(mProfileSyncService)); // Setup the mocked object chain to get the bottom controller. SendTabToSelfShareActivity shareActivity = new SendTabToSelfShareActivity();
diff --git a/chrome/app/chrome_exe_main_mac.cc b/chrome/app/chrome_exe_main_mac.cc index df2dcbb2..180dcdeb 100644 --- a/chrome/app/chrome_exe_main_mac.cc +++ b/chrome/app/chrome_exe_main_mac.cc
@@ -9,7 +9,6 @@ #include <errno.h> #include <libgen.h> #include <mach-o/dyld.h> -#include <os/availability.h> #include <stdarg.h> #include <stddef.h> #include <stdint.h> @@ -31,7 +30,7 @@ // system CrashReporter and Crashpad collect in crash reports. Using a Crashpad // Annotation would be preferable, but this executable cannot depend on // Crashpad directly. -void abort_report_np(const char* fmt, ...) API_AVAILABLE(macos(10.11)); +void abort_report_np(const char* fmt, ...); } namespace { @@ -43,9 +42,7 @@ va_start(valist, format); char message[4096]; if (vsnprintf(message, sizeof(message), format, valist) >= 0) { - if (__builtin_available(macOS 10.11, *)) { - abort_report_np("%s", message); - } + abort_report_np("%s", message); } va_end(valist); abort();
diff --git a/chrome/app/os_settings_strings.grdp b/chrome/app/os_settings_strings.grdp index 1760a45..95e9d88 100644 --- a/chrome/app/os_settings_strings.grdp +++ b/chrome/app/os_settings_strings.grdp
@@ -2165,6 +2165,15 @@ <message name="IDS_SETTINGS_INTERNET_NETWORK_RENAME_DIALOG_CANCEL" desc="Settings > Internet > Network details >Rename profile dialog: The Label for the dialog cancel button to rename an eSIM cellular network"> Cancel </message> + <message name="IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_TITLE" desc="Settings > Internet > Network details >Remove profile dialog: Title remove esim profile dialog"> + Remove "<ph name="ESIM_PROFILE_NAME">$1<ex>Profile 1</ex></ph>"? + </message> + <message name="IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_CANCEL" desc="Settings > Internet > Network details >Remove profile dialog: The Label for the dialog cancel button to remove an eSIM cellular network"> + Cancel + </message> + <message name="IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_REMOVE" desc="Settings > Internet > Network details >ReMOVE profile dialog: The Label for the dialog remove button to remove an eSIM cellular network"> + Remove + </message> <message name="IDS_SETTINGS_INTERNET_BUTTON_ACTIVATE" desc="Settings > Internet > Network details: The label for the button to activate a Cellular network."> Activate </message>
diff --git a/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_CANCEL.png.sha1 b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_CANCEL.png.sha1 new file mode 100644 index 0000000..17c9e059 --- /dev/null +++ b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_CANCEL.png.sha1
@@ -0,0 +1 @@ +ef26abd2aaab1cbe0943c1e379edfe1c08e76057 \ No newline at end of file
diff --git a/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_REMOVE.png.sha1 b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_REMOVE.png.sha1 new file mode 100644 index 0000000..17c9e059 --- /dev/null +++ b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_REMOVE.png.sha1
@@ -0,0 +1 @@ +ef26abd2aaab1cbe0943c1e379edfe1c08e76057 \ No newline at end of file
diff --git a/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_TITLE.png.sha1 b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_TITLE.png.sha1 new file mode 100644 index 0000000..6cbda73 --- /dev/null +++ b/chrome/app/os_settings_strings_grdp/IDS_SETTINGS_INTERNET_NETWORK_REMOVE_PROFILE_DIALOG_TITLE.png.sha1
@@ -0,0 +1 @@ +feba34f333cc935b6e6bd0a94f48b59b4f61ba5d \ No newline at end of file
diff --git a/chrome/app/resources/chromium_strings_af.xtb b/chrome/app/resources/chromium_strings_af.xtb index af422c1..78e3755 100644 --- a/chrome/app/resources/chromium_strings_af.xtb +++ b/chrome/app/resources/chromium_strings_af.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Chromium-bedryfstelsel kon nie jou data sinkroniseer nie, omdat jou rekening se aanmeldbesonderhede verouderd is.</translation> <translation id="2560420686485554789">Chromium het bergingtoegang nodig om lêers af te laai</translation> <translation id="2572494885440352020">Chromium-helper</translation> +<translation id="2583187216237139145">Enige Chromium-data wat tydens die gebruik van hierdie profiel gegenereer word (soos die skepping van boekmerke, geskiedenis, wagwoorde, en ander instellings) kan deur die werkprofieladministrateur verwyder word. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Chromium-bedryfstelsel moet herbegin word om die opdatering toe te pas.</translation> <translation id="2615699638672665509">Hierdie rekenaar sal binnekort nie meer Chromium-opdaterings ontvang nie want sy hardeware word nie meer gesteun nie.</translation> <translation id="2648074677641340862">'n Bedryfstelselfout het voorgekom met installering. Laai Chromium asseblief weer af.</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">Daar is 'n nuwe weergawe van Chromium beskikbaar, en dit is vinniger as ooit.</translation> <translation id="6063093106622310249">&Maak in Chromium oop</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> is by Chromium gevoeg</translation> +<translation id="608006075545470555">Voeg werkprofiel by hierdie blaaier</translation> <translation id="608189560609172163">Chromium kon nie jou data sinkroniseer nie weens 'n fout tydens aanmelding.</translation> <translation id="6096348254544841612">Pasmaak en beheer Chromium. Opdatering is beskikbaar.</translation> <translation id="6120345080069858279">Chromium sal hierdie wagwoord in jou Google-rekening stoor. Jy sal dit nie hoef te onthou nie.</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Chromium is 'n webblaaier wat webbladsye en programme blitsvinning laat loop. Dis vinnig, stabiel en maklik om te gebruik. Blaai veiliger deur die web met beskerming teen wanware en uitvissing wat by Chromium ingebou is.</translation> <translation id="6434250628340475518">Chromium-bedryfstelsel</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium sal oor 1 sekonde herbegin}other{Chromium sal oor # sekondes herbegin}}</translation> +<translation id="6464340581899189425">As jy veelvuldige Google-rekeninge het, kan jy hulle by jou <ph name="DEVICE_TYPE" /> voeg. Jou rekeninge sal in Chromium-blaaier en Play Winkel beskikbaar wees, asook dienste soos Gmail, Drive en YouTube.<ph name="LINK_BEGIN" />Kom meer te wete<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Dit beheer ook watter bladsy gewys word wanneer jy Chromium begin.</translation> <translation id="6510925080656968729">Deïnstalleer Chromium</translation> <translation id="6570579332384693436">Chromium stuur die teks wat jy in teksvelde intik na Google toe om spelfoute reg te maak</translation> @@ -222,6 +225,7 @@ <translation id="7857220146454061152">Jy het OS X 10.11 of nuwer nodig om in die toekoms Chromium-opdaterings te kry. Hierdie rekenaar gebruik OS X 10.10.</translation> <translation id="7867198900892795913">Chromium kon nie na die nuutste weergawe opdateer nie en daarom het jy nie nuwe kenmerke en sekuriteitregstellings nie.</translation> <translation id="7898472181347242998">Gaan na <ph name="LINK_BEGIN" />Chromium OS-instellings<ph name="LINK_END" /> om te sien of jou toestel op datum is</translation> +<translation id="7907774600618164274">Chromium OS het nie reg toegemaak nie.</translation> <translation id="7937630085815544518">Jy was as <ph name="USER_EMAIL_ADDRESS" /> by Chromium aangemeld. Gebruik asseblief dieselfde rekening om weer aan te meld.</translation> <translation id="7975919845073681630">Dit is 'n sekondêre installering van Chromium en kan nie jou verstekblaaier gemaak word nie.</translation> <translation id="7979877361127045932">Versteek in Chromium-kieslys</translation> @@ -236,6 +240,7 @@ <translation id="8417404458978023919">{0,plural, =1{Herbegin Chromium binne 'n dag}other{Herbegin Chromium binne # dae}}</translation> <translation id="8453117565092476964">Die installeerderargief is korrup of ongeldig. Laai Chromium asseblief weer af.</translation> <translation id="8493179195440786826">Chromium is verouderd</translation> +<translation id="8550334526674375523">Hierdie werkprofiel is heeltemal apart van jou persoonlike profiel.</translation> <translation id="8558383651099478961">Jou ouer het "Toestemmings vir werwe, programme en uitbreidings" vir Chromium afgeskakel. Hierdie <ph name="EXTENSION_TYPE_PARAMETER" /> mag nie bygevoeg word nie.</translation> <translation id="8568283329061645092">Chromium kan jou wagwoorde nagaan as jy met jou Google-rekening aanmeld</translation> <translation id="8586442755830160949">Kopiereg <ph name="YEAR" /> Die Chromium-outeurs. Alle regte voorbehou.</translation> @@ -252,6 +257,7 @@ <translation id="8907580949721785412">Chromium probeer tans om wagwoorde te wys. Tik jou Windows-wagwoord in om dit toe te laat.</translation> <translation id="8941642502866065432">Kan nie Chromium opdateer nie</translation> <translation id="8974095189086268230">Chromium-bedryfstelsel word moontlik gemaak deur bykomende <ph name="BEGIN_LINK_CROS_OSS" />oopbronsagteware<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Jy voeg tans 'n werkprofiel by hierdie blaaier en gee jou administrateur beheer oor net jou werkprofiel.</translation> <translation id="9019929317751753759">Om Chromium veiliger te maak, het ons die volgende uitbreiding, wat nie in die <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> gelys word nie en wat dalk sonder jou medewete bygevoeg is, gedeaktiveer.</translation> <translation id="9089354809943900324">Chromium is verouderd</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium sal oor 'n uur herbegin}other{Chromium sal oor # uur herbegin}}</translation> @@ -259,6 +265,7 @@ <translation id="911206726377975832">Vee ook jou blaaidata uit?</translation> <translation id="9158494823179993217">Jou stelseladministrateur het Chromium opgestel om 'n alternatiewe blaaier oop te maak om na <ph name="TARGET_URL_HOSTNAME" /> toe te gaan.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium OS-bedryfstelsel</translation> <translation id="93478295209880648">Chromium sal dalk nie reg werk nie omdat dit nie meer in Windows XP en Windows Vista gesteun word nie</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> vereis dat jy die volgende diensbepalings lees en aanvaar voor jy hierdie toestel gebruik. Hierdie bepalings verander, beperk of brei nie die Chromium-bedryfstelseldiensbepalings uit nie.</translation> <translation id="965162752251293939">Wie gebruik tans Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_am.xtb b/chrome/app/resources/chromium_strings_am.xtb index 502b2e10..e91448e 100644 --- a/chrome/app/resources/chromium_strings_am.xtb +++ b/chrome/app/resources/chromium_strings_am.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">የመለያ መግቢያ ዝርዝሮችዎ ጊዜ ያለፈባቸው ስለሆኑ Chromium OS ውሂብዎን ማመሳሰል አልቻለም።</translation> <translation id="2560420686485554789">Chromium ፋይሎችን ለማውረድ የማከማቻ መዳረሻ ያስፈልገዋል</translation> <translation id="2572494885440352020">Chromium አጋዥ</translation> +<translation id="2583187216237139145">ይህን መገለጫ በሚጠቀሙበት ጊዜ የመነጨ ማንኛውም የChromium ውሂብ (እንደ የዕልባቶች፣ ታሪክ፣ የይለፍ ቃላት እና ሌሎች ቅንብሮች መፈጠር ያለ) በስራ መገለጫ አስተዳዳሪው ሊወገድ ይችላል። <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Chromium OS ዝማኔውን ለመተግበር ዳግም መጀመር አለበት።</translation> <translation id="2615699638672665509">ይህ ኮምፒውተር ሃርድዌሩ ከአሁን በኋላ ስለማይደገፍ በቅርቡ የChromium ዝማኔዎችን መቀበሉን ያቆማል።</translation> <translation id="2648074677641340862">በጭነት ጊዜ የስርዓተ ክወና ስህተት ተፈጥሯል። እባክዎ Chromiumን እንደገና ያውርዱት።</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">አዲስ የChromium ስሪት ይገኛል፣ እና ከመቼውም በበለጠ ፈጣን ሆኗል።</translation> <translation id="6063093106622310249">በChromium ውስጥ &ክፈት</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> ወደ Chromium ታክሏል።</translation> +<translation id="608006075545470555">የስራ መገለጫ ወደዚህ አሳሽ ያክሉ</translation> <translation id="608189560609172163">በመለያ ሲገባ በነበረ ስህተት ምክንያት Chromium ውሂብዎን ማመሳሰል አልቻለም።</translation> <translation id="6096348254544841612">Chromiumን ያብጁትና ይቆጣጠሩት። ዝማኔ ይገኛል።</translation> <translation id="6120345080069858279">Chromium ይህን የይለፍ ቃል በእርስዎ የGoogle መለያ ውስጥ ያስቀምጠዋል። ማስታወስ አይኖርብዎትም።</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Chromium ድረ-ገጾችን እና መተግበሪያዎችን እጅግ በጣም ፈጣን በሆነ ፍጥነት የሚያሄድ ድር አሳሽ ነው። ፈጣን፣ የረጋ እና ለመጠቀም ቀላል ነው። Chromium ውስጥ አብሮ በተሰራላቸው የተንኮል-አዘል ሶፍትዌር እና የማስገሪያ መከላከያዎች አማካኝነት ደህንነትዎ ይበልጥ በተጠበቀ ሁኔታ ድሩን ያስሱ።</translation> <translation id="6434250628340475518">Chromium OS ሥርዓት</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium በ1 ሰከንድ ውስጥ ዳግም ይጀምራል}one{Chromium በ# ሰከንዶች ውስጥ ዳግም ይጀምራል}other{Chromium በ# ሰከንዶች ውስጥ ዳግም ይጀምራል}}</translation> +<translation id="6464340581899189425">በርካታ የGoogle መለያዎች ካለዎት ወደ የእርስዎ <ph name="DEVICE_TYPE" /> ሊያክሏቸው ይችላሉ። የእርስዎ መለያዎች በChromium አሳሽ እና Play መደብር ላይ እና እንዲሁም እንደ Gmail፣ Drive እና YouTube ባሉ አገልግሎቶች ላይ ይገኛሉ።<ph name="LINK_BEGIN" />የበለጠ ለመረዳት<ph name="LINK_END" /></translation> <translation id="6475912303565314141">እንዲሁም Chromiumን ሲጀምሩት የሚታየውን ገጽ ይቆጣጠራል።</translation> <translation id="6510925080656968729">Chromiumን ያራግፉ</translation> <translation id="6570579332384693436">የሥርዓተ ፊደል አጻጻፍ ስህተቶችን ለማስተካከል፣ Chromium እርስዎ በጽሑፍ መስኮች ውስጥ የሚተይቡትን ጽሑፍ ወደ Google ይልካል</translation> @@ -222,6 +225,7 @@ <translation id="7857220146454061152">የወደፊቱን የChromium ዝመኔዎችን ለማግኘት፣ OS X 10.11 ወይም ከዚያ በኋላ ያለው ያስፈልግዎታል። ይህ ኮምፒተር OS X 10.10 እየተጠቀመ ነው።</translation> <translation id="7867198900892795913">Chromium ወደ የቅርብ ጊዜው ስሪት ሊዘመን አልቻለም፣ ስለዚህ አዲስ ባህሪያት እና የደህንነት ጥገናዎች እያመለጡዎት ናቸው። Chromiumን ማዘመን አለብዎት።</translation> <translation id="7898472181347242998">መሣሪያዎ የተዘመነ ከሆነ ለማየት ወደ <ph name="LINK_BEGIN" />የChromium OS ቅንብሮች ይሂዱ<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS በትክክል አልተዘጋም።</translation> <translation id="7937630085815544518">እንደ <ph name="USER_EMAIL_ADDRESS" /> ሆነው ወደ Chromium ገብተዋል። እባክዎ እንደገና ለመግባት ተመሳሳዩን መለያ ይጠቀሙ።</translation> <translation id="7975919845073681630">ይሄ ሁለተኛ የChromium ጭነት ነው፣ እና ነባሪ አሳሽዎ ማድረግ አይቻልም።</translation> <translation id="7979877361127045932">በChromium ምናሌ ውስጥ ደብቅ</translation> @@ -236,6 +240,7 @@ <translation id="8417404458978023919">{0,plural, =1{በአንድ ቀን ውስጥ Chromiumን ዳግም አስጀምር}one{በ# ቀኖች ውስጥ Chromiumን ዳግም አስጀምር}other{በ# ቀኖች ውስጥ Chromiumን ዳግም አስጀምር}}</translation> <translation id="8453117565092476964">የጫኚው መዝገብ ተበላሽቷል ወይም ትክክል አይደለም። እባክዎ Chromiumን እንደገና ያውርዱ።</translation> <translation id="8493179195440786826">Chromium ጊዜው አልፎበታል</translation> +<translation id="8550334526674375523">ይህ የስራ መገለጫ ከግል መገለጫዎ ሙሉ ለሙሉ የተለየ ነው።</translation> <translation id="8558383651099478961">የእርስዎ ወላጅ ለChromium «የጣቢያዎች፣ መተግበሪያዎች እና ቅጥያዎች ፈቃዶች»ን አጥፍተዋል። ይህን <ph name="EXTENSION_TYPE_PARAMETER" /> ማከል አይፈቀድም።</translation> <translation id="8568283329061645092">Chromium በእርስዎ የGoogle መለያ በሚገቡበት ጊዜ የእርስዎን የይለፍ ቃላትን ሊፈትሽ ይችላል</translation> <translation id="8586442755830160949">የቅጂ መብት <ph name="YEAR" /> የChromium ደራሲያን። ሁሉም መብቶች የተጠበቁ ናቸው።</translation> @@ -252,6 +257,7 @@ <translation id="8907580949721785412">Chromium የይለፍ ቃሎችን ለማሳየት እየሞከረ ነው። ይህንን ለመፍቀድ የWindows የይለፍ ቃልዎን ይተይቡ።</translation> <translation id="8941642502866065432">Chromiumን ማዘመን አልተቻለም</translation> <translation id="8974095189086268230">Chromium ስርዓተ ክወና በተጨማሪ <ph name="BEGIN_LINK_CROS_OSS" />ክፍት ምንጭ ሶፍትዌር<ph name="END_LINK_CROS_OSS" /> እውን ሊሆን ችሏል።</translation> +<translation id="8986207147630327271">የስራ መገለጫን ወደዚህ አሳሽ እያከሉ እና ለአስተዳዳሪዎ በስራ መገለጫው ላይ ብቻ ቁጥጥር እየሰጡ ነው።</translation> <translation id="9019929317751753759">Chromiumን ይበልጥ ደህንነቱ የተጠበቀ እንዲሆን ለማድረግ፣ በ<ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ውስጥ ያልተዘረዘረውን የሚከተለውን ቅጥያ አሰናክለነዋል እና እርስዎ ሳያውቁት የታከለ ሊሆን ይችላል።</translation> <translation id="9089354809943900324">Chromium ጊዜው አልፎበታል</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium በአንድ ሰዓት ውስጥ ዳግም ይጀምራል}one{Chromium በ# ሰዓቶች ውስጥ ዳግም ይጀምራል}other{Chromium በ# ሰዓቶች ውስጥ ዳግም ይጀምራል}}</translation> @@ -259,6 +265,7 @@ <translation id="911206726377975832">የአሰሳ ውሂብዎም ይሰረዝ?</translation> <translation id="9158494823179993217">የእርስዎ የስርዓት አስተዳዳሪ <ph name="TARGET_URL_HOSTNAME" />ን ለመድረስ Chromium ተለዋጭ አሳሽን እንዲከፍት አዋቅረውታል።</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">የChromium OS ሥርዓት</translation> <translation id="93478295209880648">Chromium በWindows XP ወይም Windows Vista ላይ ከእንግዲህ ስለማይደገፍ በአግባቡ ላይሰራ ይችላል</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> ይህን መሣሪያ ከመጠቀምዎ በፊት የሚከተለውን የአገልግሎት ውል እንዲያነቡት እና እንዲቀበሉት ይፈለጋል። ይህ ውል የChromium ስርዓተ ክወና ውሉን አያስፋፋውም፣ አይቀይረውም ወይም አይገድበውም።</translation> <translation id="965162752251293939">ማነው Chromiumን የሚጠቀመው?</translation>
diff --git a/chrome/app/resources/chromium_strings_az.xtb b/chrome/app/resources/chromium_strings_az.xtb index d743b701..23118a2 100644 --- a/chrome/app/resources/chromium_strings_az.xtb +++ b/chrome/app/resources/chromium_strings_az.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Chromium OS datanızı sinxronizasiya edə bilmir, çünki hesaba giriş məlumatlarınız köhnədir.</translation> <translation id="2560420686485554789">Faylları endirmək üçün Chromium yaddaşa giriş tələb edir</translation> <translation id="2572494885440352020">Chromium Yardım</translation> +<translation id="2583187216237139145">Bu profilin istifadəsi zamanı yaranan hər hansı bir Chromium datası (əlfəcinlər, tarixçələr, parolların yaradılması və digər ayarlar kimi) iş profili administratoru tərəfindən silinə bilər. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Güncəlləşmənin tətbiq olunması üçün Chromium OS yenidən başladılmalıdır.</translation> <translation id="2615699638672665509">Bu kompüterin avadanlığı dəstəklənmədiyindən, tezliklə Chromium güncəlləşmələri almağı dayandıracaq.</translation> <translation id="2648074677641340862">Quraşdırma zamanı əməliyyat sistemi xətası baş verdi. Chromium'u yenidən endirin.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Chromium'um yeni versiyası əlçatandır və həmişəkindən daha sürətlidir.</translation> <translation id="6063093106622310249">Chromium'də açın</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> Chromium'a əlavə edildi</translation> +<translation id="608006075545470555">Bu brauzerə İş Profili əlavə edin</translation> <translation id="608189560609172163">Giriş xətası səbəbindən Chromium datanızı sinxronizasiya edə bilmədi.</translation> <translation id="6096348254544841612">Chromium'u fərdiləşdirin və idarə edin. Güncəlləmə əlçatandır.</translation> <translation id="6120345080069858279">Chromium bu parolu Google Hesabında yadda saxlayacaq. Onu yadda saxlamalı olmayacaqsınız.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium veb səhifələri və tətbiqləri ildırım sürəti ilə işlədən veb brauzerdir. Chromium sürətlidir, stabildir və istifadəyə rahatdır. Chromium ilə internetdən fırıldaqlardan və viruslardan uzaq şəkildə istifadə edin.</translation> <translation id="6434250628340475518">Chromium OS Sistemi</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium 1 saniyəyə yenidən başlayacaq}other{Chromium # saniyəyə yenidən başlayacaq}}</translation> +<translation id="6464340581899189425">Birdən çox Google Hesabınız varsa, onları <ph name="DEVICE_TYPE" />cihazınıza əlavə edə bilərsiniz. Hesablarınız Chromium brauzerində və Play Marketdə, eləcə də Gmail, Disk və YouTube kimi xidmətlərdə əlçatan olacaq.<ph name="LINK_BEGIN" />Ətraflı məlumat<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Həmçinin, Chromium açılanda hansı səhifənin göstərildiyini idarə edir.</translation> <translation id="6510925080656968729">Chromium'u sistemdən silin</translation> <translation id="6570579332384693436">Chromium, yazı səhvlərini düzəltmək üçün mətn sahələrinə yazdığınız mətni Google'a göndərir</translation> @@ -218,6 +221,7 @@ <translation id="7857220146454061152">Chromium güncəlləmələrini əldə etmək üçün OS X 10.11 və ya daha yeni versiya tələb olunur. Bu kompüter OS X 10.10 istifadə edir.</translation> <translation id="7867198900892795913">Chromium ən son versiyaya güncəllənə bilmədi. Yeni funksiyaları və təhlükəsizlik həllərini əldən verirsiniz.</translation> <translation id="7898472181347242998">Cihazınızın güncəl olub-olmadığına baxmaq üçün <ph name="LINK_BEGIN" />Chromium OS Ayarlarına<ph name="LINK_END" /> keçin</translation> +<translation id="7907774600618164274">Chromium OS düzgün qapadılmadı.</translation> <translation id="7937630085815544518">Chromium'a <ph name="USER_EMAIL_ADDRESS" /> kimi daxil olmuşdunuz. Lütfən, yenidən daxil olmaq üçün eyni hesabdan istifadə edin.</translation> <translation id="7975919845073681630">Bu Chromium'un ikinci quraşdırmasıdır və defolt brauzer kimi ayarlana bilmir.</translation> <translation id="7979877361127045932">Chromium menyusunda gizlədin</translation> @@ -232,6 +236,7 @@ <translation id="8417404458978023919">{0,plural, =1{Chromium'u bir gün ərzində yenidən başladın}other{Chromium'u # gün ərzində yenidən başladın}}</translation> <translation id="8453117565092476964">Quraşdırıcı arxivi zədələnib və ya yanlışdır. Lütfən, Chromium'u yenidən endirin.</translation> <translation id="8493179195440786826">Chromium'um vaxtı keçib</translation> +<translation id="8550334526674375523">Bu iş profili şəxsi profilinizdən tamamilə ayrıdır.</translation> <translation id="8558383651099478961">Valideyniniz Chromium üçün "Saytlar, tətbiqlər və artırmalar üçün icazələri" deaktiv edib. Bu <ph name="EXTENSION_TYPE_PARAMETER" /> artırmasının əlavə edilməsinə icazə verilmir.</translation> <translation id="8568283329061645092">Google Hesabınız ilə daxil olduqda Chromium parollarınızı yoxlaya bilər</translation> <translation id="8586442755830160949">Müəlliflik Hüququ <ph name="YEAR" /> Chromium Müəllifləri. Bütün hüquqlar qorunur.</translation> @@ -248,6 +253,7 @@ <translation id="8907580949721785412">Chromium parolları göstərməyə çalışır. buna icazə vermək üçün Windows parolunuzu yazın.</translation> <translation id="8941642502866065432">Chromium'u güncəlləmək alınmadı</translation> <translation id="8974095189086268230">Chromium OS əlavə <ph name="BEGIN_LINK_CROS_OSS" />açıq mənbə proqram təminatı ilə<ph name="END_LINK_CROS_OSS" /> mümkün oldu.</translation> +<translation id="8986207147630327271">Bu brauzerə iş profili əlavə edirsiniz və administratorunuza yalnız iş profili üzərində nəzarət verirsiniz.</translation> <translation id="9019929317751753759">Chromium'u təhlükəsiz etmək üçün, <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> siyahısında olmayan və xəbəriniz olmadan əlavə edilən artırmanı deaktiv etdik.</translation> <translation id="9089354809943900324">Chromium'un vaxtı keçib</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium 1 saata yenidən başlayacaq}other{Chromium # saata yenidən başlayacaq}}</translation> @@ -255,6 +261,7 @@ <translation id="911206726377975832">Brauzinq datanız da silinsin?</translation> <translation id="9158494823179993217">Sistem administratoru Chromium'u <ph name="TARGET_URL_HOSTNAME" /> ünvanına daxil olmaq məqsədilə alternativ brauzer açmaq üçün konfiqurasiya edib.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium OS sistemi</translation> <translation id="93478295209880648">Chromium düzgün işləməyə bilər, çünki daha Windows XP və ya Windows Vista'da dəstəklənmir</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> bu cihazı istifadə etməzdən əvvəl aşağıdakı Xidmət Şərtlərini oxuyub razılaşmağı tələb edir. Bu şərtlər Chromium OS Şərtlərini artırmır, dəyişdirmir və ya məhdudlaşdırmır.</translation> <translation id="965162752251293939">Chromium'u kim istifadə edir?</translation>
diff --git a/chrome/app/resources/chromium_strings_bg.xtb b/chrome/app/resources/chromium_strings_bg.xtb index 6db12cdf..59fafb5 100644 --- a/chrome/app/resources/chromium_strings_bg.xtb +++ b/chrome/app/resources/chromium_strings_bg.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">Chromium OS не можа да синхронизира данните ви, защото потребителското име и паролата за вход в профила ви не са актуални.</translation> <translation id="2560420686485554789">Chromium се нуждае от достъп до хранилището, за да изтегля файлове</translation> <translation id="2572494885440352020">Chromium Helper</translation> +<translation id="2583187216237139145">Данните в Chromium, които са генерирани при използването на този служебен потребителски профил (напр. създаването на отметки, историята, паролите и други настройки), могат да бъдат премахнати от администратора му. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Chromium OS трябва да се рестартира, за да приложи актуализацията.</translation> <translation id="2615699638672665509">Този компютър скоро ще спре да получава актуализации на Chromium, защото хардуерът му вече не се поддържа.</translation> <translation id="2648074677641340862">По време на инсталирането възникна грешка в операционната система. Моля, изтеглете отново Chromium.</translation> @@ -139,6 +140,7 @@ <translation id="6055895534982063517">Налице е нова версия на Chromium, която е по-бърза от всякога.</translation> <translation id="6063093106622310249">&Отваряне в Chromium</translation> <translation id="6072279588547424923">Разширението <ph name="EXTENSION_NAME" /> бе добавено към Chromium</translation> +<translation id="608006075545470555">Добавяне на служебен потребителски профил към този браузър</translation> <translation id="608189560609172163">Chromium не можа да синхронизира данните ви поради грешка при влизането.</translation> <translation id="6096348254544841612">Персонализиране и управление на Chromium. Налице е актуализация.</translation> <translation id="6120345080069858279">Chromium ще запази тази парола в профила ви в Google. Няма да се налага да я помните.</translation> @@ -159,6 +161,7 @@ <translation id="6403826409255603130">Chromium е уеб браузър, който зарежда уеб страници и изпълнява приложения със светкавична скорост. Той е бърз, стабилен и лесен за употреба. Сърфирайте в мрежата по-безопасно с вградената защита на Chromium срещу злонамерен софтуер и фишинг.</translation> <translation id="6434250628340475518">Система Chromium OS</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium ще се рестартира след 1 секунда}other{Chromium ще се рестартира след # секунди}}</translation> +<translation id="6464340581899189425">Ако имате няколко профила в Google, можете да ги добавите към устройството си <ph name="DEVICE_TYPE" />. Профилите ви ще бъдат налични в браузъра Chromium, в Google Play Магазин и в други услуги, като например Gmail, Диск и YouTube. <ph name="LINK_BEGIN" />Научете повече<ph name="LINK_END" /></translation> <translation id="6475912303565314141">То също контролира коя страница се показва при стартиране на Chromium.</translation> <translation id="6510925080656968729">Деинсталиране на Chromium</translation> <translation id="6570579332384693436">С цел поправка на правописни грешки Chromium изпраща до Google текста, който въвеждате в текстовите полета</translation> @@ -213,6 +216,7 @@ <translation id="7857220146454061152">За да получавате бъдещи актуализации на Chromium, трябва да използвате OS X 10.11 или по-нова версия. Компютърът ви работи с OS X 10.10.</translation> <translation id="7867198900892795913">Chromium не можа да се актуализира до най-новата версия. Това означава, че пропускате нови функции и корекции за сигурност.</translation> <translation id="7898472181347242998">За да разберете дали устройството ви е актуално, отворете <ph name="LINK_BEGIN" />настройките на Chromium OS<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS не се изключи правилно.</translation> <translation id="7937630085815544518">Бяхте влезли в Chromium като <ph name="USER_EMAIL_ADDRESS" />. Моля, използвайте същия профил, за да влезете отново.</translation> <translation id="7975919845073681630">Тази инсталация на Chromium е алтернативна и не може да се зададе като браузър по подразбиране.</translation> <translation id="7979877361127045932">Скриване в менюто на Chromium</translation> @@ -227,6 +231,7 @@ <translation id="8417404458978023919">{0,plural, =1{Повторно стартиране на Chromium до 1 ден}other{Повторно стартиране на Chromium до # дни}}</translation> <translation id="8453117565092476964">Архивът на инсталационната програма е повреден или невалиден. Моля, изтеглете отново Chromium.</translation> <translation id="8493179195440786826">Chromium не е актуален</translation> +<translation id="8550334526674375523">Този служебен потребителски профил е изцяло отделен от личния ви.</translation> <translation id="8558383651099478961">Някой от родителите ви е изключил разрешенията за сайтове, приложения и разширения за Chromium. Добавянето на <ph name="EXTENSION_TYPE_PARAMETER" /> не е разрешено.</translation> <translation id="8568283329061645092">Chromium може да проверява паролите ви, когато влезете с профила си в Google</translation> <translation id="8586442755830160949">Авторски права <ph name="YEAR" /> Авторите на Chromium. Всички права запазени.</translation> @@ -243,6 +248,7 @@ <translation id="8907580949721785412">Chromium опитва да покаже паролите. За да разрешите това, въведете паролата си за Windows.</translation> <translation id="8941642502866065432">Chromium не може да се актуализира</translation> <translation id="8974095189086268230">Chrome OS е възможна благодарение на допълнителен <ph name="BEGIN_LINK_CROS_OSS" />софтуер с отворен код<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Добавяте служебен потребителски профил към този браузър и предоставяте на администратора си контрол само над него.</translation> <translation id="9019929317751753759">За да направим Chromium по-безопасен, деактивирахме следното разширение, което липсва от <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> и може да е било добавено без ваше знание.</translation> <translation id="9089354809943900324">Chromium не е актуален</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium ще се стартира отново след 1 час}other{Chromium ще се стартира отново след # часа}}</translation> @@ -250,6 +256,7 @@ <translation id="911206726377975832">Да се изтрият ли и данните от сърфирането?</translation> <translation id="9158494823179993217">Системният ви администратор е конфигурирал Chromium да отваря алтернативен браузър за достъп до <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (входящ трафик за mDNS)</translation> +<translation id="9214764063801632699">Система Chromium OS</translation> <translation id="93478295209880648">Chromium може да не функционира правилно, тъй като вече не се поддържа под Windows XP и Windows Vista</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> изисква да прочетете и приемете следните Общи условия, преди да използвате това устройство. Те не разширяват, не променят, нито ограничават Условията на Chromium OS.</translation> <translation id="965162752251293939">Кой използва Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_bs.xtb b/chrome/app/resources/chromium_strings_bs.xtb index a42f9d1..b0fc4ed 100644 --- a/chrome/app/resources/chromium_strings_bs.xtb +++ b/chrome/app/resources/chromium_strings_bs.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">OS Chromium nije mogao sinkronizirati podatke vašeg računa jer su pojedinosti prijave na račun zastarjele.</translation> <translation id="2560420686485554789">Chromium treba pristup pohrani zbog preuzimanja fajlova</translation> <translation id="2572494885440352020">Chromium pomagač</translation> +<translation id="2583187216237139145">Sve podatke iz Chromiuma koji se generiraju tijekom upotrebe ovog profila (primjerice izradom oznaka, povijesti, zaporki i drugih postavki) može ukloniti administrator poslovnog profila. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Chromium OS treba ponovo pokrenuti kako bi se primijenilo ažuriranje.</translation> <translation id="2615699638672665509">Ovo će računalo uskoro prestati primati ažuriranja Chromiuma jer njegov hardver više nije podržan.</translation> <translation id="2648074677641340862">Tokom instaliranja se pojavila greška operativnog sistema. Ponovo preuzmite Chromium.</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">Dostupna je nova verzija Chromiuma, brža nego ikad.</translation> <translation id="6063093106622310249">&Otvori u Chromiumu</translation> <translation id="6072279588547424923">Ekstenzija <ph name="EXTENSION_NAME" /> je dodana u Chromium</translation> +<translation id="608006075545470555">Dodavanje poslovnog profila u ovaj preglednik</translation> <translation id="608189560609172163">Chromium nije uspio sinhronizirati vaše podatke zbog greške prilikom prijave.</translation> <translation id="6096348254544841612">Prilagodite i kontrolirajte Chromium. Dostupno je ažuriranje.</translation> <translation id="6120345080069858279">Chromium će sačuvati ovu lozinku na vašem Google računu. Nećete je morati zapamtiti.</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Chromium je novi preglednik koji pokreće web stranice i aplikacije brzinom svjetlosti. On je brz, stabilan i jednostavan za upotrebu. Krećite se internetom u sigurnijem okruženju, zaštićeni od zlonamjernih softvera i krađe identiteta zahvaljujući elementima koji su ugrađeni u Chromium.</translation> <translation id="6434250628340475518">Sistem Chromium OS</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium će se ponovo pokrenuti za 1 sekundu}one{Chromium će se ponovo pokrenuti za # sekundu}few{Chromium će se ponovo pokrenuti za # sekunde}other{Chromium će se ponovo pokrenuti za # sekundi}}</translation> +<translation id="6464340581899189425">Ako imate više Google računa, možete ih dodati na uređaj <ph name="DEVICE_TYPE" />. Vaši će računi biti dostupni u pregledniku Chromium i u Trgovini Play te na uslugama kao što su Gmail, Disk i YouTube.<ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Također kontrolira koja stranica se prikazuje kada pokrenete Chromium.</translation> <translation id="6510925080656968729">Deinstaliraj Chromium</translation> <translation id="6570579332384693436">Zbog ispravke pravopisnih grešaka, Chromium šalje Googleu tekst koji napišete u polja.</translation> @@ -222,6 +225,7 @@ <translation id="7857220146454061152">Da primate buduća ažuriranja za Chromium, trebat će vam OS X 10.11 ili novija verzija. Ovaj računar koristi OS X 10.10.</translation> <translation id="7867198900892795913">Chromium nije ažuriran na najnoviju verziju tako da propuštate prednosti novih funkcija i ispravke sigurnosnih propusta.</translation> <translation id="7898472181347242998">Da vidite je li vaš uređaj ažuriran, idite u <ph name="LINK_BEGIN" />Postavke Chromium OS-a<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">OS Chromium nije se ispravno zatvorio.</translation> <translation id="7937630085815544518">Bili ste prijavljeni na Chrome kao <ph name="USER_EMAIL_ADDRESS" />. Koristite isti račun da se ponovo prijavite.</translation> <translation id="7975919845073681630">Ovo je sekundarno instaliranje Chromiuma i stoga on ne može biti vaš zadani preglednik.</translation> <translation id="7979877361127045932">Sakrij u meniju Chromiuma</translation> @@ -236,6 +240,7 @@ <translation id="8417404458978023919">{0,plural, =1{Ponovo pokreni Chromium u roku od jednog dana}one{Ponovo pokreni Chromium u roku od # dana}few{Ponovo pokreni Chromium u roku od # dana}other{Ponovo pokreni Chromium u roku od # dana}}</translation> <translation id="8453117565092476964">Arhiva alata za instaliranje je oštećena ili nevažeća. Ponovo preuzmite Chromium.</translation> <translation id="8493179195440786826">Chromium nije ažuriran</translation> +<translation id="8550334526674375523">Ovaj poslovni profil potpuno je odvojen od vašeg osobnog profila.</translation> <translation id="8558383651099478961">Tvoj roditelj je isključio "Odobrenja za web lokacije, aplikacije i ekstenzije" za Chromium. Dodavanje ove stavke (<ph name="EXTENSION_TYPE_PARAMETER" />) nije dozvoljeno.</translation> <translation id="8568283329061645092">Chromium može provjeravati vaše lozinke kada se prijavljujete putem Google računa</translation> <translation id="8586442755830160949">Autorska prava <ph name="YEAR" /> Autori Chromiuma. Sva prava zadržana.</translation> @@ -252,6 +257,7 @@ <translation id="8907580949721785412">Chromium pokušava prikazati lozinke. Upišite Windows lozinku da ovo omogućite.</translation> <translation id="8941642502866065432">Nije moguće ažurirati Chromium</translation> <translation id="8974095189086268230">Chromium OS omogućava dodatni <ph name="BEGIN_LINK_CROS_OSS" />softver otvorenog koda<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Dodajete poslovni profil u ovaj preglednik i administratoru dodjeljujete kontrolu samo nad poslovnim profilom.</translation> <translation id="9019929317751753759">Kako bi Chromium bio sigurniji, onemogućili smo sljedeću ekstenziju koja nije navedena na stranici <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> i koja je dodana bez vašeg znanja.</translation> <translation id="9089354809943900324">Chromium nije ažuriran</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium će se ponovo pokrenuti za jedan sat}one{Chromium će se ponovo pokrenuti za # sat}few{Chromium će se ponovo pokrenuti za # sata}other{Chromium će se ponovo pokrenuti za # sati}}</translation> @@ -259,6 +265,7 @@ <translation id="911206726377975832">Također izbrisati podatke pregledanja?</translation> <translation id="9158494823179993217">Vaš administrator sistema je konfigurirao Chromium da otvori alternativni preglednik za pristup URL-u<ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">OS Chromium</translation> <translation id="93478295209880648">Chromium možda neće ispravno raditi jer više nije podržan na sistemima Windows XP ili Windows Vista</translation> <translation id="95514773681268843">Domena <ph name="DOMAIN" /> zahtijeva da prije korištenja uređaja pročitate i prihvatite sljedeće Uslove korištenja usluge. Ovi uslovi ne predstavljaju dodatak, izmjenu ili ograničenje uslova za Chromium OS.</translation> <translation id="965162752251293939">Ko koristi Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_ca.xtb b/chrome/app/resources/chromium_strings_ca.xtb index 4630261..4eb82b22 100644 --- a/chrome/app/resources/chromium_strings_ca.xtb +++ b/chrome/app/resources/chromium_strings_ca.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">Chromium OS no ha pogut sincronitzar les vostres dades perquè la informació d'inici de sessió del vostre compte no està actualitzada.</translation> <translation id="2560420686485554789">Chromium necessita accedir a l'emmagatzematge per baixar fitxers</translation> <translation id="2572494885440352020">Aplicació d'ajuda de Chromium</translation> +<translation id="2583187216237139145">L'administrador del perfil de treball pot suprimir qualsevol dada de Chromium que es generi durant l'ús d'aquest perfil (com ara les adreces d'interès, l'historial, les contrasenyes i altres opcions de configuració que s'hagin creat). <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Cal reiniciar Chromium OS per aplicar l'actualització.</translation> <translation id="2615699638672665509">Aquest ordinador aviat deixarà de rebre actualitzacions de Chromium perquè el seu maquinari ja no s'admet.</translation> <translation id="2648074677641340862">S'ha produït un error en el sistema operatiu durant la instal·lació. Torneu a baixar Chromium.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Hi ha disponible una versió nova de Chromium, i és més ràpida que mai.</translation> <translation id="6063093106622310249">&Obre a Chromium</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> s'ha afegit a Chromium</translation> +<translation id="608006075545470555">Afegeix un perfil de treball a aquest navegador</translation> <translation id="608189560609172163">Chromium no ha pogut sincronitzar les dades a causa d'un error amb l'inici de sessió.</translation> <translation id="6096348254544841612">Personalitza i controla Chromium. Hi ha una actualització disponible.</translation> <translation id="6120345080069858279">Chromium desarà aquesta contrasenya al Compte de Google. No caldrà que la recordis.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium és un navegador web que executa les pàgines web i les aplicacions a gran velocitat. És ràpid, estable i fàcil d'utilitzar. Navegueu per Internet amb més seguretat amb protecció inserida a Chromium contra el programari maliciós i contra la pesca de credencials.</translation> <translation id="6434250628340475518">Sistema Chromium OS</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium es reiniciarà d'aquí a 1 segon}other{Chromium es reiniciarà d'aquí a # segons}}</translation> +<translation id="6464340581899189425">Si tens diversos Comptes de Google, pots afegir-los al teu <ph name="DEVICE_TYPE" />. Estaran disponibles al navegador Chromium i a Play Store, i també en serveis com ara Gmail, Drive i YouTube. <ph name="LINK_BEGIN" />Més informació<ph name="LINK_END" /></translation> <translation id="6475912303565314141">També controla la pàgina que es mostra quan inicieu Chromium.</translation> <translation id="6510925080656968729">Desinstal·la Chromium</translation> <translation id="6570579332384693436">Per corregir els errors d'ortografia, Chromium envia a Google el que escrius als camps de text</translation> @@ -219,6 +222,7 @@ <translation id="7857220146454061152">Per obtenir actualitzacions de Chromium en un futur, necessitaràs OS X 10.11 o una versió posterior. Aquest ordinador utilitza OS X 10.10.</translation> <translation id="7867198900892795913">Chromium no s'ha pogut actualitzar a la darrera versió, així que no pots gaudir de les noves funcions ni de les correccions de seguretat.</translation> <translation id="7898472181347242998">Per veure si el dispositiu està actualitzat, ves a la <ph name="LINK_BEGIN" />configuració de Chromium OS<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS no s'ha tancat correctament.</translation> <translation id="7937630085815544518">Teníeu la sessió iniciada a Chromium com a <ph name="USER_EMAIL_ADDRESS" />. Utilitzeu el mateix compte per tornar a iniciar-hi la sessió.</translation> <translation id="7975919845073681630">Aquesta és una instal·lació secundària de Chromium i no pot definir-se com a navegador predeterminat.</translation> <translation id="7979877361127045932">Amaga al menú de Chromium</translation> @@ -233,6 +237,7 @@ <translation id="8417404458978023919">{0,plural, =1{Reinicia Chromium en 1 dia}other{Reinicia Chromium en # dies}}</translation> <translation id="8453117565092476964">L'arxiu d'instal·lació està malmès o no és vàlid. Torneu a baixar Chromium.</translation> <translation id="8493179195440786826">Chromium no està actualitzat</translation> +<translation id="8550334526674375523">Aquest perfil de treball és completament independent del teu perfil personal.</translation> <translation id="8558383651099478961">Els teus pares han desactivat Permisos per a llocs web, aplicacions i extensions en relació amb Chromium. No es permet afegir aquesta <ph name="EXTENSION_TYPE_PARAMETER" />.</translation> <translation id="8568283329061645092">Chromium pot comprovar les teves contrasenyes quan inicies la sessió amb el Compte de Google</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Els autors de Chromium. Tots els drets reservats.</translation> @@ -249,6 +254,7 @@ <translation id="8907580949721785412">Chromium està provant de mostrar contrasenyes. Escriviu la vostra contrasenya de Windows per permetre-ho.</translation> <translation id="8941642502866065432">Chromium no es pot actualitzar</translation> <translation id="8974095189086268230">Chromium OS és possible gràcies a <ph name="BEGIN_LINK_CROS_OSS" />programari addicional de codi obert<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Estàs afegint un perfil de treball a aquest navegador i donant control al teu administrador únicament sobre el perfil de treball.</translation> <translation id="9019929317751753759">Per tal que Chromium sigui més segur, hem desactivat algunes de les extensions que no figuren a <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> i que és possible que s'hagin afegit sense que ho sapigueu.</translation> <translation id="9089354809943900324">Chromium no està actualitzat</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium es reiniciarà d'aquí a 1 hora}other{Chromium es reiniciarà d'aquí a # hores}}</translation> @@ -256,6 +262,7 @@ <translation id="911206726377975832">També voleu suprimir les dades de navegació?</translation> <translation id="9158494823179993217">L'administrador del sistema ha configurat Chromium perquè obri un navegador alternatiu per accedir a <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Sistema Chromium OS</translation> <translation id="93478295209880648">Pot ser que Chromium no funcioni correctament perquè ja no és compatible amb Windows XP ni Windows Vista</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> exigeix que llegiu i accepteu els Termes i condicions següents abans no utilitzeu el dispositiu. Aquestes condicions no amplien, modifiquen ni restringeixen les condicions de Chromium OS.</translation> <translation id="965162752251293939">Qui està utilitzant Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_da.xtb b/chrome/app/resources/chromium_strings_da.xtb index 8b75431..3892454 100644 --- a/chrome/app/resources/chromium_strings_da.xtb +++ b/chrome/app/resources/chromium_strings_da.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">Chromium OS kunne ikke synkronisere dine data, fordi loginoplysningerne til din konto er forældede.</translation> <translation id="2560420686485554789">Chromium skal have lageradgang for at downloade filer</translation> <translation id="2572494885440352020">Chromium Helper</translation> +<translation id="2583187216237139145">Alle Chromium-data, der genereres ved brug af denne profil (f.eks. oprettelse af bogmærker, historik, adgangskoder og andre indstillinger) kan fjernes af arbejdsprofilens administrator. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Chromium OS skal genstartes, før opdateringen kan anvendes.</translation> <translation id="2615699638672665509">Denne computer vil snart stoppe med at modtage Chromium-opdateringer, fordi dens hardware ikke understøttes længere.</translation> <translation id="2648074677641340862">Der opstod en fejl i operativsystemet under installationen. Download Chromium igen.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Der findes en ny version af Chromium, som er hurtigere end nogensinde før.</translation> <translation id="6063093106622310249">Åbn i Chr&omium</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> er føjet til Chromium</translation> +<translation id="608006075545470555">Føj arbejdsprofilen til denne browser</translation> <translation id="608189560609172163">Chromium kunne ikke synkronisere dine data på grund af en loginfejl.</translation> <translation id="6096348254544841612">Tilpas og administrer Chromium. Der er en tilgængelig opdatering.</translation> <translation id="6120345080069858279">Chromium gemmer denne adgangskode på din Google-konto. Du behøver ikke at huske den.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium er en webbrowser, der kører websider og apps med lynets hast. Den er hurtig, stabil og brugervenlig. Beskyttelse mod malware og phishing er indbygget i Chromium, så du kan søge mere sikkert på internettet.</translation> <translation id="6434250628340475518">Chromium OS-system</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium genstarter om 1 sekund}one{Chromium genstarter om # sekund}other{Chromium genstarter om # sekunder}}</translation> +<translation id="6464340581899189425">Hvis du har flere Google-konti, kan du føje dem til din <ph name="DEVICE_TYPE" />. Dine konti vil være tilgængelige i Chromium-browseren og Play Butik samt tjenester som f.eks. Gmail, Drev og YouTube.<ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Den styrer også, hvilken side der vises, når du åbner Chromium.</translation> <translation id="6510925080656968729">Afinstaller Chromium</translation> <translation id="6570579332384693436">Chromium sender den tekst, du skriver i tekstfelter, til Google for at rette stavefejl</translation> @@ -220,6 +223,7 @@ <translation id="7857220146454061152">Hvis du vil have Chromium-opdateringer i fremtiden, skal du have OS X 10.11 eller nyere. Denne computer kører OS X 10.10.</translation> <translation id="7867198900892795913">Chromium kunne ikke opdatere til den nyeste version, så du går glip af nye funktioner og sikkerhedsrettelser.</translation> <translation id="7898472181347242998">Du kan se, om en enhed er opdateret, ved at gå til <ph name="LINK_BEGIN" />indstillingerne for Chromium OS<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS blev ikke lukket korrekt ned.</translation> <translation id="7937630085815544518">Du loggede ind på Chromium som <ph name="USER_EMAIL_ADDRESS" />. Brug den samme konto til at logge ind igen.</translation> <translation id="7975919845073681630">Dette er en sekundær installation af Chromium, og den kan ikke gøres til din standardbrowser.</translation> <translation id="7979877361127045932">Skjul i Chromium-menuen</translation> @@ -234,6 +238,7 @@ <translation id="8417404458978023919">{0,plural, =1{Genstart Chromium inden for en dag}one{Genstart Chromium inden for # dag}other{Genstart Chromium inden for # dag}}</translation> <translation id="8453117565092476964">Installationsarkivet er beskadiget eller ugyldigt. Download Chromium igen.</translation> <translation id="8493179195440786826">Chromium er forældet</translation> +<translation id="8550334526674375523">Denne arbejdsprofil er totalt adskilt fra din personlige profile.</translation> <translation id="8558383651099478961">Din forælder har deaktiveret "Tilladelser til websites, apps og udvidelser" for Chromium. Det er ikke tilladt at tilføje denne <ph name="EXTENSION_TYPE_PARAMETER" />.</translation> <translation id="8568283329061645092">Chromium kan tjekke dine adgangskoder, når du er logget ind med din Google-konto</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Forfatterne bag Chromium. Alle rettigheder forbeholdes.</translation> @@ -250,6 +255,7 @@ <translation id="8907580949721785412">Chromium forsøger at vise adgangskoder. Angiv din Windows-adgangskode for at tillade dette.</translation> <translation id="8941642502866065432">Chromium kunne ikke opdateres</translation> <translation id="8974095189086268230">Chromium OS er realiseret af yderligere <ph name="BEGIN_LINK_CROS_OSS" />open source-software<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Du er ved at føje en arbejdsprofil til denne browser, og du giver kun din administrator kontrol over arbejdsprofilen.</translation> <translation id="9019929317751753759">For at gøre Chromium mere sikker har vi deaktiveret følgende udvidelser, som ikke er anført i <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> og muligvis er blevet tilføjet, uden at du vidste det.</translation> <translation id="9089354809943900324">Chromium er forældet</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium genstarter om en time}one{Chromium genstarter om # time}other{Chromium genstarter om # timer}}</translation> @@ -257,6 +263,7 @@ <translation id="911206726377975832">Slet også dine browserdata?</translation> <translation id="9158494823179993217">Din systemadministrator har konfigureret Chromium til at åbne en anden browser for at få adgang til <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium OS-system</translation> <translation id="93478295209880648">Chromium fungerer muligvis ikke korrekt på grund af manglende understøttelse i Windows XP og Windows Vista</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> kræver, at du læser og accepterer følgende servicevilkår, inden du bruger denne enhed. Disse vilkår udvider, ændrer eller begrænser på ingen måde vilkårene for Chromium OS.</translation> <translation id="965162752251293939">Hvem bruger Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_el.xtb b/chrome/app/resources/chromium_strings_el.xtb index 4d9e539a2..6d48c4d 100644 --- a/chrome/app/resources/chromium_strings_el.xtb +++ b/chrome/app/resources/chromium_strings_el.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">Το Chromium OS δεν μπόρεσε να συγχρονίσει τα δεδομένα σας, επειδή τα στοιχεία σύνδεσης στο λογαριασμό σας δεν είναι ενημερωμένα.</translation> <translation id="2560420686485554789">Το Chromium χρειάζεται πρόσβαση στον αποθηκευτικό χώρο για τη λήψη αρχείων</translation> <translation id="2572494885440352020">Πρόγραμμα βοήθειας Chromium</translation> +<translation id="2583187216237139145">Τυχόν δεδομένα Chromium που δημιουργούνται κατά τη χρήση αυτού του προφίλ (όπως η δημιουργία σελιδοδεικτών, ιστορικού, κωδικών πρόσβασης και άλλων ρυθμίσεων) μπορούν να καταργηθούν από τον διαχειριστή του προφίλ εργασίας. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Για να εφαρμοστεί η ενημέρωση, πρέπει να γίνει επανεκκίνηση του Chromium OS.</translation> <translation id="2615699638672665509">Αυτός ο υπολογιστής θα σταματήσει σύντομα να λαμβάνει ενημερώσεις για το Chromium, επειδή το υλικό του δεν υποστηρίζεται πλέον.</translation> <translation id="2648074677641340862">Παρουσιάστηκε σφάλμα στο λειτουργικό σύστημα κατά την εγκατάσταση. Κατεβάστε το Chromium ξανά.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Υπάρχει μια νέα έκδοση του Chromium και είναι ταχύτερη από ποτέ.</translation> <translation id="6063093106622310249">&Άνοιγμα στο Chromium</translation> <translation id="6072279588547424923">Η επέκταση <ph name="EXTENSION_NAME" /> έχει προστεθεί στο Chromium</translation> +<translation id="608006075545470555">Προσθήκη προφίλ εργασίας σε αυτό το πρόγραμμα περιήγησης</translation> <translation id="608189560609172163">Το Chromium δεν κατάφερε να συγχρονίσει τα δεδομένα σας λόγω σφάλματος κατά τη σύνδεση.</translation> <translation id="6096348254544841612">Προσαρμόστε και ελέγξτε το Chromium. Υπάρχει διαθέσιμη ενημέρωση.</translation> <translation id="6120345080069858279">Το Chromium θα αποθηκεύσει αυτόν τον κωδικό πρόσβασης στον Λογαριασμό σας Google. Δεν χρειάζεται να τον απομνημονεύσετε.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Το Chromium είναι ένα πρόγραμμα περιήγησης ιστού που εκτελεί εφαρμογές και ιστοσελίδες με απίστευτη ταχύτητα. Είναι γρήγορο, σταθερό και εύχρηστο. Περιηγηθείτε στον ιστό με μεγαλύτερη ασφάλεια με την ενσωματωμένη προστασία από κακόβουλα προγράμματα και ηλεκτρονικό "ψάρεμα" (phishing).</translation> <translation id="6434250628340475518">Σύστημα Chromium OS</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Θα γίνει επανεκκίνηση του Chromium σε 1 δευτερόλεπτο}other{Θα γίνει επανεκκίνηση του Chromium σε # δευτερόλεπτα}}</translation> +<translation id="6464340581899189425">Εάν έχετε πολλούς Λογαριασμούς Google, μπορείτε να τους προσθέσετε στη συσκευή <ph name="DEVICE_TYPE" />. Οι λογαριασμοί σας θα είναι διαθέσιμοι στο πρόγραμμα περιήγησης Chromium και το Play Store, καθώς και σε υπηρεσίες όπως το Gmail, το Drive και το YouTube.<ph name="LINK_BEGIN" />Μάθετε περισσότερα<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Επίσης, ελέγχει τη σελίδα που εμφανίζεται κατά την εκκίνηση του Chromium.</translation> <translation id="6510925080656968729">Απεγκατάσταση Chromium</translation> <translation id="6570579332384693436">Για τη διόρθωση ορθογραφικών λαθών, το Chromium στέλνει το κείμενο που πληκτρολογείτε σε πεδία κειμένου στο Google</translation> @@ -220,6 +223,7 @@ <translation id="7857220146454061152">Για τη λήψη των μελλοντικών ενημερώσεων του Chromium, θα χρειαστείτε το OS X 10.11 ή νεότερη έκδοση. Αυτός ο υπολογιστής χρησιμοποιεί το OS X 10.10.</translation> <translation id="7867198900892795913">Δεν ήταν δυνατή η ενημέρωση του Chromium στην τελευταία έκδοση και έτσι δεν θα έχετε πρόσβαση στις νέες λειτουργίες και στις επιδιορθώσεις ασφαλείας.</translation> <translation id="7898472181347242998">Για να διαπιστώσετε εάν η συσκευή σας είναι ενημερωμένη, μεταβείτε στις <ph name="LINK_BEGIN" />Ρυθμίσεις του Chromium OS<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Ο τερματισμός λειτουργίας του Chromium OS δεν ολοκληρώθηκε σωστά.</translation> <translation id="7937630085815544518">Συνδεθήκατε στο Chromium ως <ph name="USER_EMAIL_ADDRESS" />. Χρησιμοποιήστε τον ίδιο λογαριασμό για να συνδεθείτε ξανά.</translation> <translation id="7975919845073681630">Αυτή είναι μια δευτερεύουσα εγκατάσταση του Chromium και δεν μπορεί να γίνει το προεπιλεγμένο πρόγραμμα περιήγησης.</translation> <translation id="7979877361127045932">Απόκρυψη από το μενού του Chromium</translation> @@ -234,6 +238,7 @@ <translation id="8417404458978023919">{0,plural, =1{Επανεκκίνηση του Chromium σε μία ημέρα}other{Επανεκκίνηση του Chromium σε # ημέρες}}</translation> <translation id="8453117565092476964">Το αρχείο του προγράμματος εγκατάστασης είναι κατεστραμμένο ή μη έγκυρο. Κατεβάστε το Chromium ξανά.</translation> <translation id="8493179195440786826">Το Chromium δεν είναι ενημερωμένο</translation> +<translation id="8550334526674375523">Αυτό το προφίλ εργασίας είναι εντελώς ξεχωριστό από το προσωπικό προφίλ σας.</translation> <translation id="8558383651099478961">Ο γονέας σου απενεργοποίησε την επιλογή "Άδειες για ιστοτόπους, εφαρμογές και επεκτάσεις" για το Chromium. Η προσθήκη του στοιχείου <ph name="EXTENSION_TYPE_PARAMETER" /> δεν επιτρέπεται.</translation> <translation id="8568283329061645092">Το Chromium μπορεί να ελέγξει τους κωδικούς πρόσβασής σας όταν συνδέεστε με τον Λογαριασμό σας Google.</translation> <translation id="8586442755830160949">Πνευματικά δικαιώματα <ph name="YEAR" /> Οι συντάκτες του Chromium. Με επιφύλαξη παντός δικαιώματος.</translation> @@ -250,6 +255,7 @@ <translation id="8907580949721785412">Το Chromium προσπαθεί να εμφανίσει τους κωδικούς πρόσβασης. Πληκτρολογήστε τον κωδικό πρόσβασής σας Windows για να το επιτρέψετε αυτό.</translation> <translation id="8941642502866065432">Δεν είναι δυνατή η ενημέρωση του Chromium</translation> <translation id="8974095189086268230">Το Chromium OS υλοποιήθηκε με τη βοήθεια επιπλέον <ph name="BEGIN_LINK_CROS_OSS" />λογισμικού ανοιχτού κώδικα<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Προσθέτετε ένα προφίλ εργασίας σε αυτό το πρόγραμμα περιήγησης και παραχωρείτε τον έλεγχο στον διαχειριστή σας μόνο για το προφίλ εργασίας.</translation> <translation id="9019929317751753759">Για να κάνουμε το Chromium πιο ασφαλές, απενεργοποιήσαμε τις ακόλουθες επεκτάσεις που δεν αναφέρονται στο <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> και ενδέχεται να έχουν προστεθεί εν αγνοία σας.</translation> <translation id="9089354809943900324">Το Chromium δεν είναι ενημερωμένο</translation> <translation id="9093206154853821181">{0,plural, =1{Η επανεκκίνηση του Chromium θα γίνει σε μία ώρα}other{Η επανεκκίνηση του Chromium θα γίνει σε # ώρες}}</translation> @@ -257,6 +263,7 @@ <translation id="911206726377975832">Να γίνει διαγραφή και των δεδομένων περιήγησης;</translation> <translation id="9158494823179993217">Ο διαχειριστής συστήματος έχει διαμορφώσει το Chromium έτσι ώστε να ανοίγει άλλο πρόγραμμα περιήγησης για την πρόσβαση στη διεύθυνση <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Σύστημα Chromium OS</translation> <translation id="93478295209880648">Το Chromium μπορεί να μην λειτουργεί σωστά, επειδή δεν υποστηρίζεται πια σε Windows XP και Windows Vista</translation> <translation id="95514773681268843">Το <ph name="DOMAIN" /> απαιτεί να διαβάσετε και να αποδεχτείτε τους ακόλουθους Όρους Παροχής Υπηρεσιών πριν από τη χρήση αυτής της συσκευής. Οι συγκεκριμένοι όροι δεν επεκτείνουν, τροποποιούν ή περιορίζουν τους όρους του Chromium OS.</translation> <translation id="965162752251293939">Ποιος χρησιμοποιεί το Chromium;</translation>
diff --git a/chrome/app/resources/chromium_strings_en-GB.xtb b/chrome/app/resources/chromium_strings_en-GB.xtb index 7aa1b99..057147c8 100644 --- a/chrome/app/resources/chromium_strings_en-GB.xtb +++ b/chrome/app/resources/chromium_strings_en-GB.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Chromium OS could not sync your data because your account sign-in details are out of date.</translation> <translation id="2560420686485554789">Chromium needs storage access to download files</translation> <translation id="2572494885440352020">Chromium Helper</translation> +<translation id="2583187216237139145">Any Chromium data that is generated during the use of this profile (such as the creation of bookmarks, history, passwords and other settings) can be removed by the work profile administrator. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Chromium OS needs to be restarted to apply the update.</translation> <translation id="2615699638672665509">This computer will soon stop receiving Chromium updates because its hardware is no longer supported.</translation> <translation id="2648074677641340862">An operating system error occurred during installation. Please download Chromium again.</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">There's a new version of Google Chrome available and it's faster than ever.</translation> <translation id="6063093106622310249">&Open in Chromium</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> has been added to Chromium</translation> +<translation id="608006075545470555">Add work profile to this browser</translation> <translation id="608189560609172163">Chromium could not sync your data due to an error signing in.</translation> <translation id="6096348254544841612">Customise and control Chromium. Update is available.</translation> <translation id="6120345080069858279">Chromium will save this password in your Google Account. You won’t have to remember it.</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Chromium is a web browser that runs webpages and applications with lightning speed. It's fast, stable, and easy to use. Browse the web more safely with malware and phishing protection built into Chromium.</translation> <translation id="6434250628340475518">Chromium OS System</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium will restart in 1 second}other{Chromium will restart in # seconds}}</translation> +<translation id="6464340581899189425">If you have multiple Google Accounts, you can add them to your <ph name="DEVICE_TYPE" />. Your accounts will be available in the Chromium browser and Play Store, as well as services like Gmail, Drive and YouTube.<ph name="LINK_BEGIN" />Learn more<ph name="LINK_END" /></translation> <translation id="6475912303565314141">It also controls what page is shown when you start Chromium.</translation> <translation id="6510925080656968729">Uninstall Chromium</translation> <translation id="6570579332384693436">To fix spelling errors, Chromium sends the text that you type in text fields to Google</translation> @@ -222,6 +225,7 @@ <translation id="7857220146454061152">To get future Chromium updates, you'll need OS X 10.11 or later. This computer is using OS X 10.10.</translation> <translation id="7867198900892795913">Chromium couldn't update to the latest version, so you're missing out on new features and security fixes.</translation> <translation id="7898472181347242998">To see if your device is up to date, go to <ph name="LINK_BEGIN" />Chromium OS Settings<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS didn't shut down correctly.</translation> <translation id="7937630085815544518">You were signed in to Chromium as <ph name="USER_EMAIL_ADDRESS" />. Please use the same account to sign in again.</translation> <translation id="7975919845073681630">This is a secondary installation of Chromium, and cannot be made your default browser.</translation> <translation id="7979877361127045932">Hide in Chromium menu</translation> @@ -236,6 +240,7 @@ <translation id="8417404458978023919">{0,plural, =1{Relaunch Chromium within a day}other{Relaunch Chromium within # days}}</translation> <translation id="8453117565092476964">The installer archive is corrupted or invalid. Please download Chromium again.</translation> <translation id="8493179195440786826">Chromium is Out of Date</translation> +<translation id="8550334526674375523">This work profile is completely separate from your personal profile.</translation> <translation id="8558383651099478961">Your parent has turned off 'Permissions for sites, apps and extensions' for Chromium. Adding this <ph name="EXTENSION_TYPE_PARAMETER" /> is not allowed.</translation> <translation id="8568283329061645092">Chromium can check your passwords when you sign in with your Google Account</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. All rights reserved.</translation> @@ -252,6 +257,7 @@ <translation id="8907580949721785412">Chromium is trying to show passwords. Type your Windows password to allow this.</translation> <translation id="8941642502866065432">Can't update Chromium</translation> <translation id="8974095189086268230">Chromium OS is made possible by additional <ph name="BEGIN_LINK_CROS_OSS" />open source software<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">You are adding a work profile to this browser and giving your administrator control over just the work profile.</translation> <translation id="9019929317751753759">To make Chromium safer, we disabled the following extension that isn't listed in the <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> and may have been added without your knowledge.</translation> <translation id="9089354809943900324">Chromium is out of date</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium will relaunch in an hour}other{Chromium will relaunch in # hours}}</translation> @@ -259,6 +265,7 @@ <translation id="911206726377975832">Also delete your browsing data?</translation> <translation id="9158494823179993217">Your system administrator has configured Chromium to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium OS system</translation> <translation id="93478295209880648">Chromium may not function correctly because it is no longer supported on Windows XP or Windows Vista</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> requires that you read and accept the following Terms of Service before using this device. These terms do not expand, modify or limit the Chromium OS Terms.</translation> <translation id="965162752251293939">Who's using Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_et.xtb b/chrome/app/resources/chromium_strings_et.xtb index f949abe..7e56651 100644 --- a/chrome/app/resources/chromium_strings_et.xtb +++ b/chrome/app/resources/chromium_strings_et.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">Chromium OS ei saanud andmeid sünkroonida, sest teie konto sisselogimisandmed on aegunud.</translation> <translation id="2560420686485554789">Chromium vajab failide allalaadimiseks juurdepääsu salvestusruumile</translation> <translation id="2572494885440352020">Chromiumi abiline</translation> +<translation id="2583187216237139145">Kõik Chromiumi andmed, mis luuakse selle profiili kasutamise ajal (nt järjehoidjad, ajalugu, paroolid ja muud seaded), saab tööprofiili administraator eemaldada. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Chromium OS tuleb värskenduse rakendamiseks taaskäivitada.</translation> <translation id="2615699638672665509">See arvuti ei saa peagi enam Chromiumi värskendusi, kuna selle riistvara ei toetata enam.</translation> <translation id="2648074677641340862">Installimisel ilmnes operatsioonisüsteemi viga. Laadige Chromium uuesti alla.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Saadaval on Chromiumi uus versioon ja see on kiirem kui kunagi varem.</translation> <translation id="6063093106622310249">&Ava Chromiumis</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> on Chromiumi lisatud</translation> +<translation id="608006075545470555">Tööprofiili lisamine sellesse brauserisse</translation> <translation id="608189560609172163">Chromium ei saanud sisselogimisvea tõttu teie andmeid sünkroonida.</translation> <translation id="6096348254544841612">Kohandage ja juhtige Chromiumi. Saadaval on värskendus.</translation> <translation id="6120345080069858279">Chromium salvestab selle parooli teie Google'i kontole. Te ei pea seda meeles pidama.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium on veebibrauser, mis avab veebilehti ja rakendusi välgukiirusel. See on kiire, stabiilne ja hõlpsasti kasutatav. Sirvige veebi turvalisemalt tänu Chromiumi sisseehitatud pahavara- ja andmepüügikaitsele.</translation> <translation id="6434250628340475518">Chromium OS-i süsteem</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium taaskäivitub 1 sekundi pärast}other{Chromium taaskäivitub # sekundi pärast}}</translation> +<translation id="6464340581899189425">Kui teil on mitu Google'i kontot, saate need lisada oma seadmesse <ph name="DEVICE_TYPE" />. Teie kontod on saadaval Chromiumi brauseris, Play poes ning teenustes, nagu Gmail, Drive ja YouTube. <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Lisaks juhib see seda, mis leht kuvatakse Chromiumi käivitamisel.</translation> <translation id="6510925080656968729">Desinstalli Chromium</translation> <translation id="6570579332384693436">Õigekirjavigade parandamiseks saadab Chromium teie tekstiväljadel sisestatud teksti Google'ile</translation> @@ -220,6 +223,7 @@ <translation id="7857220146454061152">Chromiumi tulevaste värskenduste saamiseks on teil vaja operatsioonisüsteemi OS X 10.11 või uuemat versiooni. See arvuti kasutab operatsioonisüsteemi OS X 10.10.</translation> <translation id="7867198900892795913">Chromiumi ei saanud uusimale versioonile värskendada, mistõttu jääte ilma uutest funktsioonidest ja turvaparandustest.</translation> <translation id="7898472181347242998">Kui soovite teada saada, kas teie seade on ajakohane, avage <ph name="LINK_BEGIN" />Chromium OS-i seaded<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS ei sulgunud õigesti.</translation> <translation id="7937630085815544518">Olite Chromiumisse sisse logitud kasutajana <ph name="USER_EMAIL_ADDRESS" />. Kasutage uuesti sisselogimiseks sama kontot.</translation> <translation id="7975919845073681630">See on Chromiumi sekundaarne install ja seda ei saa määrata vaikebrauseriks.</translation> <translation id="7979877361127045932">Chromiumi menüüs peitmine</translation> @@ -234,6 +238,7 @@ <translation id="8417404458978023919">{0,plural, =1{Käivitage Chromium uuesti päeva jooksul}other{Käivitage Chromium uuesti # päeva jooksul}}</translation> <translation id="8453117565092476964">Installeri arhiiv on rikutud või kehtetu. Laadige Chromium uuesti alla.</translation> <translation id="8493179195440786826">Chromium on aegunud</translation> +<translation id="8550334526674375523">See tööprofiil on teie isiklikust profiilist täielikult eraldi.</translation> <translation id="8558383651099478961">Sinu vanem lülitas valiku „Saitide, rakenduste ja laienduste load” Chromiumi puhul välja. Laienduse <ph name="EXTENSION_TYPE_PARAMETER" /> lubamine on keelatud.</translation> <translation id="8568283329061645092">Chromium saab teie paroole kontrollida siis, kui logite sisse oma Google'i kontoga</translation> <translation id="8586442755830160949">Autoriõigus <ph name="YEAR" /> The Chromium Authors. Kõik õigused on kaitstud.</translation> @@ -250,6 +255,7 @@ <translation id="8907580949721785412">Chromium proovib kuvada paroole. Selle lubamiseks sisestage Windowsi parool.</translation> <translation id="8941642502866065432">Chromiumi ei saa värskendada</translation> <translation id="8974095189086268230">Chromium OS-i aluseks on täiendav <ph name="BEGIN_LINK_CROS_OSS" />avatud lähtekoodiga tarkvara<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Lisate sellesse brauserisse tööprofiili ja annate administraatorile kontrolli vaid oma tööprofiili üle.</translation> <translation id="9019929317751753759">Chromiumi turvalisemaks muutmiseks keelasime järgmise laienduse, mida ei leidu veebipoes <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ja mis võidi lisada teie teadmata.</translation> <translation id="9089354809943900324">Chromium on aegunud</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium käivitatakse uuesti tunni aja pärast}other{Chromium käivitatakse uuesti # tunni pärast}}</translation> @@ -257,6 +263,7 @@ <translation id="911206726377975832">Kas kustutada ka teie sirvimisandmed?</translation> <translation id="9158494823179993217">Teie süsteemiadministraator on konfigureerinud Chromiumi avama alternatiivset brauserit, et saada juurdepääs lehele <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium OS-i süsteem</translation> <translation id="93478295209880648">Chromium ei pruugi õigesti töötada, kuna seda ei toetata enam Windows XP-s ega Windows Vistas</translation> <translation id="95514773681268843">Domeen <ph name="DOMAIN" /> nõuab, et loete enne selle seadme kasutamist läbi järgmised teenusetingimused ja nõustute nendega. Need tingimused ei laienda, muuda ega piira Chromium OS-i tingimusi.</translation> <translation id="965162752251293939">Kes kasutab Chromiumi?</translation>
diff --git a/chrome/app/resources/chromium_strings_fi.xtb b/chrome/app/resources/chromium_strings_fi.xtb index 02f58cb..5deb3543 100644 --- a/chrome/app/resources/chromium_strings_fi.xtb +++ b/chrome/app/resources/chromium_strings_fi.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">Chromium-käyttöjärjestelmä ei voi synkronoida tietoja, sillä tilin kirjautumistiedot ovat vanhentuneet.</translation> <translation id="2560420686485554789">Chromium tarvitsee tallennustilan käyttöoikeuden tiedostojen lataamiseen.</translation> <translation id="2572494885440352020">Chromium Helper</translation> +<translation id="2583187216237139145">Työprofiilin järjestelmänvalvoja voi poistaa tämän profiilin käytön aikana luotua Chromium-dataa (esim. kirjanmerkit, historia, salasanat ja muut asetukset). <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Chromium-käyttöjärjestelmä täytyy käynnistää uudelleen, jotta päivitys voidaan ottaa käyttöön.</translation> <translation id="2615699638672665509">Tämän tietokoneen Chromium-päivitykset päättyvät pian, sillä sen laitteistoa ei enää tueta.</translation> <translation id="2648074677641340862">Asennuksessa ilmeni käyttöjärjestelmävirhe. Lataa Chromium uudelleen.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Chromiumista on saatavilla uusi versio, joka on entistäkin nopeampi.</translation> <translation id="6063093106622310249">&Avaa Chromiumissa</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> on lisätty Chromiumiin</translation> +<translation id="608006075545470555">Lisää työprofiili tähän selaimeen</translation> <translation id="608189560609172163">Chromium ei voinut synkronoida tietoja kirjautumisvirheen vuoksi.</translation> <translation id="6096348254544841612">Muokkaa ja hallinnoi Chromiumia. Päivitys on saatavilla.</translation> <translation id="6120345080069858279">Chromium tallentaa tämän salasanan Google-tilillesi. Sinun ei tarvitse muistaa sitä.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium on selain, jolla verkkosivut ja sovellukset toimivat salamannopeasti. Se on nopea, vakaa ja helppokäyttöinen. Chromiumin sisäänrakennettu haittaohjelma- ja tietojenkalastelusuojaus tekevät verkkoselauksesta turvallisempaa.</translation> <translation id="6434250628340475518">Chromium-käyttöjärjestelmä</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium käynnistyy uudelleen 1 sekunnin kuluttua}other{Chromium käynnistyy uudelleen # sekunnin kuluttua}}</translation> +<translation id="6464340581899189425">Jos sinulla on useita Google-tilejä, voit lisätä ne laitteellesi (<ph name="DEVICE_TYPE" />). Tilisi ovat käytettävissä Chromium-selaimella ja Play Kaupassa sekä Gmailin, Driven ja YouTuben kaltaisissa palveluissa.<ph name="LINK_BEGIN" />Lue lisää<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Määrittää myös Chromiumin aloitussivun.</translation> <translation id="6510925080656968729">Poista Chromium</translation> <translation id="6570579332384693436">Chromium lähettää kenttiin kirjoittamasi tekstin Googlelle oikeinkirjoitusvirheiden korjaamiseksi.</translation> @@ -220,6 +223,7 @@ <translation id="7857220146454061152">Jotta saat tulevia Chromiumin päivityksiä, sinulla on oltava OS X 10.11 tai uudempi. Tietokoneen käyttöjärjestelmä on OS X 10.10.</translation> <translation id="7867198900892795913">Chromiumia ei voitu päivittää uusimpaan versioon, joten sinulta puuttuu joitakin uusia ominaisuuksia ja tietoturvakorjauksia.</translation> <translation id="7898472181347242998">Tarkista <ph name="LINK_BEGIN" />Chromium-käyttöjärjestelmän asetuksista<ph name="LINK_END" />, onko laitteesi ajan tasalla</translation> +<translation id="7907774600618164274">Chromium-käyttöjärjestelmä ei sulkeutunut oikein.</translation> <translation id="7937630085815544518">Chromiumiin kirjautunut käyttäjä: <ph name="USER_EMAIL_ADDRESS" />. Kirjaudu uudelleen sisään samalla tilillä.</translation> <translation id="7975919845073681630">Tämä on Chromiumin toissijainen asennus, eikä sitä voi asettaa oletusselaimeksi.</translation> <translation id="7979877361127045932">Piilota Chromium-valikossa</translation> @@ -234,6 +238,7 @@ <translation id="8417404458978023919">{0,plural, =1{Käynnistä Chromium uudelleen vuorokauden kuluessa}other{Käynnistä Chromium uudelleen # vuorokauden kuluessa}}</translation> <translation id="8453117565092476964">Asennusarkisto on virheellinen. Lataa Chromium uudelleen.</translation> <translation id="8493179195440786826">Chromium on vanhentunut</translation> +<translation id="8550334526674375523">Tämä työprofiili on täysin erillinen henkilökohtaisesta profiilistasi.</translation> <translation id="8558383651099478961">Vanhempasi ovat laittaneet Chromiumin sivustojen, sovellusten ja laajennusten käyttöluvat pois päältä. Lisäämistä (<ph name="EXTENSION_TYPE_PARAMETER" />) ei sallita.</translation> <translation id="8568283329061645092">Chromium voi tarkistaa salasanasi, kun kirjaudut sisään Google-tililläsi</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. Kaikki oikeudet pidätetään.</translation> @@ -250,6 +255,7 @@ <translation id="8907580949721785412">Chromium yrittää näyttää salasanat. Salli tämä kirjoittamalla Windows-salasanasi.</translation> <translation id="8941642502866065432">Chromiumin päivitys epäonnistui</translation> <translation id="8974095189086268230">Chromium-käyttöjärjestelmän ovat tehneet mahdolliseksi muut <ph name="BEGIN_LINK_CROS_OSS" />avoimen lähdekoodin ohjelmistot<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Olet lisäämässä työprofiilia tähän selaimeen ja antamassa järjestelmänvalvojalle oikeuden hallita pelkkää työprofiilia.</translation> <translation id="9019929317751753759">Paransimme Chromiumin turvallisuutta poistamalla käytöstä sovelluksia, joita <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ei tarjoa ja jotka on voitu lisätä ilman lupaasi.</translation> <translation id="9089354809943900324">Chromium on vanhentunut</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium käynnistetään uudelleen tunnin kuluttua}other{Chromium käynnistetään uudelleen # tunnin kuluttua}}</translation> @@ -257,6 +263,7 @@ <translation id="911206726377975832">Poistetaanko myös selailutiedot?</translation> <translation id="9158494823179993217">Järjestelmänvalvojasi on määrittänyt Chromiumin avaamaan toisen selaimen, jolla <ph name="TARGET_URL_HOSTNAME" /> avataan.</translation> <translation id="9190841055450128916">Chromium (saapuva mDNS)</translation> +<translation id="9214764063801632699">Chromium-käyttöjärjestelmä</translation> <translation id="93478295209880648">Chromium ei välttämättä toimi oikein, koska se ei enää tue Windows XP:tä tai Windows Vistaa.</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> edellyttää, että luet ja hyväksyt seuraavat käyttöehdot ennen tämän laitteen käyttöä. Nämä ehdot eivät laajenna, muokkaa tai rajoita Chromium-käyttöliittymän ehtoja.</translation> <translation id="965162752251293939">Kuka käyttää Chromiumia?</translation>
diff --git a/chrome/app/resources/chromium_strings_fil.xtb b/chrome/app/resources/chromium_strings_fil.xtb index 965f0cfd..a1a1444 100644 --- a/chrome/app/resources/chromium_strings_fil.xtb +++ b/chrome/app/resources/chromium_strings_fil.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Hindi ma-sync ng Chromium OS ang iyong data dahil hindi napapanahon ang mga detalye sa pag-sign in sa iyong account.</translation> <translation id="2560420686485554789">Kailangan ng Chromium ang access sa storage upang maka-download ng mga file</translation> <translation id="2572494885440352020">Helper ng Chromium</translation> +<translation id="2583187216237139145">Puwedeng alisin ng administrator ng profile sa trabaho ang anumang data ng Chromium na nabuo sa panahon ng paggamit ng profile na ito (gaya ng paggawa ng mga bookmark, history, mga password, at iba pang setting). <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Kailangang ma-restart ang Chromium OS upang mailapat ang update.</translation> <translation id="2615699638672665509">Malapit nang hindi makatanggap ng mga update sa Chromium ang computer na ito dahil hindi na sinusuportahan ang hardware nito.</translation> <translation id="2648074677641340862">May naganap na error sa operating system sa panahon ng pag-install. Mangyaring i-download muli ang Chromium.</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">May available na bagong bersyon ng Chromium, at mas mabilis ito kaysa sa dati.</translation> <translation id="6063093106622310249">&Buksan sa Chromium</translation> <translation id="6072279588547424923">Naidagdag na ang <ph name="EXTENSION_NAME" /> sa Chromium</translation> +<translation id="608006075545470555">Magdagdag ng Profile sa Trabaho sa browser na ito</translation> <translation id="608189560609172163">Hindi mai-sync ng Chromium ang iyong data dahil sa isang error sa pagsa-sign in.</translation> <translation id="6096348254544841612">I-customize at kontrolin ang Chromium. May available na update.</translation> <translation id="6120345080069858279">Ise-save ng Chromium ang password na ito sa iyong Google Account. Hindi mo na ito kailangang tandaan.</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Ang Chromium ay isang web browser na nagpapatakbo ng mga webpage at application sa bilis ng kidlat. Ito ay mabilis, maaasahan, at madaling gamitin. Mas maingat na mag-browse sa web gamit ang proteksyon ng Chromium laban sa malware at phishing.</translation> <translation id="6434250628340475518">Chromium OS System</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Magre-restart ang Chromium pagkalipas ng 1 segundo}one{Magre-restart ang Chromium pagkalipas ng # segundo}other{Magre-restart ang Chromium pagkalipas ng # na segundo}}</translation> +<translation id="6464340581899189425">Kung marami kang Google Account, puwede mong idagdag ang mga ito sa iyong <ph name="DEVICE_TYPE" />. Magiging available ang iyong mga account sa Chromium browser at Play Store, kasama ang mga serbisyo tulad ng Gmail, Drive, at YouTube.<ph name="LINK_BEGIN" />Matuto pa<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Kinokontrol din nito kung anong pahina ang ipinapakita kapag sinimulan mo ang Chromium.</translation> <translation id="6510925080656968729">I-uninstall ang Chromium</translation> <translation id="6570579332384693436">Para maayos ang mga error sa pagbabaybay, ipinapadala ng Chromium sa Google ang text na na-type mo sa mga text field</translation> @@ -222,6 +225,7 @@ <translation id="7857220146454061152">Para makatanggap ng mga update sa Chromium sa hinaharap, kakailanganin mo ng OS X 10.11 o mas bago. Gumagamit ang computer na ito ng OS X 10.10.</translation> <translation id="7867198900892795913">Hindi ma-update ang Chromium sa pinakabagong bersyon, kaya may napapalampas kang mga bagong feature at pag-aayos sa seguridad.</translation> <translation id="7898472181347242998">Para makita kung up to date ang iyong device, pumunta sa <ph name="LINK_BEGIN" />Mga Setting ng Chromium OS<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Hindi nag-shut down nang tama ang Chromium OS.</translation> <translation id="7937630085815544518">Naka-sign in ka sa Chromium bilang <ph name="USER_EMAIL_ADDRESS" />. Pakigamit ang parehong account upang mag-sign in muli.</translation> <translation id="7975919845073681630">Pangalawang pag-install ito ng Chromium at hindi ito maaaring gawing iyong default na browser.</translation> <translation id="7979877361127045932">Itago sa menu ng Chromium</translation> @@ -236,6 +240,7 @@ <translation id="8417404458978023919">{0,plural, =1{Muling ilunsad ang Chromium sa loob ng isang araw}one{Muling ilunsad ang Chromium sa loob ng # araw}other{Muling ilunsad ang Chromium sa loob ng # na araw}}</translation> <translation id="8453117565092476964">Sira o di-wasto ang archive ng installer. Mangyaring i-download muli ang Chromium.</translation> <translation id="8493179195440786826">Luma na ang Chromium</translation> +<translation id="8550334526674375523">Ang profile sa trabaho na ito ay ganap na hiwalay sa iyong personal na profile.</translation> <translation id="8558383651099478961">Na-off ng iyong magulang ang "Mga pahintulot para sa mga site, app, at extension" para sa Chromium. Hindi pinapayagang idagdag ang <ph name="EXTENSION_TYPE_PARAMETER" /> na ito.</translation> <translation id="8568283329061645092">Masusuri ng Chromium ang iyong mga password kapag nag-sign in ka sa Google Account mo</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Ang Mga May-akda ng Chromium. Nakalaan ang lahat ng karapatan.</translation> @@ -252,6 +257,7 @@ <translation id="8907580949721785412">Sinusubukan ng Chromium na ipakita ang mga password. I-type ang password sa Windows upang payagan ito.</translation> <translation id="8941642502866065432">Hindi ma-update ang Chromium</translation> <translation id="8974095189086268230">Nagiging posible ang Chromium OS sa pamamagitan ng karagdagang <ph name="BEGIN_LINK_CROS_OSS" />open source na software<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Nagdaragdag ka ng profile sa trabaho sa browser na ito at binibigyan mo ang iyong administrator ng kontrol sa profile sa trabaho lang.</translation> <translation id="9019929317751753759">Upang mas gawing ligtas ang Chromium, na-disable namin ang sumusunod na extension na hindi nakalista sa <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> na maaaring naidagdag nang hindi mo nalalalaman.</translation> <translation id="9089354809943900324">Luma na ang Chromium</translation> <translation id="9093206154853821181">{0,plural, =1{Muling ilulunsad ang Chromium sa loob ng isang oras}one{Muling ilulunsad ang Chromium sa loob ng # oras}other{Muling ilulunsad ang Chromium sa loob ng # na oras}}</translation> @@ -259,6 +265,7 @@ <translation id="911206726377975832">Tatanggalin din ang iyong data sa pag-browse?</translation> <translation id="9158494823179993217">Na-configure ng iyong system administrator ang Chromium na magbukas ng alternatibong browser para i-access ang <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium OS system</translation> <translation id="93478295209880648">Maaaring hindi gumana nang maayos ang Chromium dahil hindi na ito sinusuportahan sa Windows XP o Windows Vista</translation> <translation id="95514773681268843">Kinakailangan ng <ph name="DOMAIN" /> na basahin mo at tanggapin ang sumusunod na Mga Tuntunin ng Serbisyo bago gamitin ang device na ito. Hindi pinapalawak, binabago o nililimitahan ng mga tuntuning ito ang Mga Tuntunin ng Chromium OS.</translation> <translation id="965162752251293939">Sino ang gumagamit ng Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_hi.xtb b/chrome/app/resources/chromium_strings_hi.xtb index c53a771..36417cf 100644 --- a/chrome/app/resources/chromium_strings_hi.xtb +++ b/chrome/app/resources/chromium_strings_hi.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">क्रोमियम OS आपका डेटा सिंक नहीं कर सका क्योंकि आपका खाता साइन इन विवरण की समय सीमा पूरी हो चुकी है.</translation> <translation id="2560420686485554789">फ़ाइलें डाउनलोड करने के लिए क्रोमियम को मेमोरी एक्सेस की ज़रूरत होगी</translation> <translation id="2572494885440352020">क्रोमियम सहायक</translation> +<translation id="2583187216237139145">इस प्रोफ़ाइल का इस्तेमाल करने के दौरान Chromium में जनरेट किए गए किसी भी तरह के डेटा (जैसे, बुकमार्क, इतिहास, पासवर्ड, और दूसरी सेटिंग) को वर्क प्रोफ़ाइल का एडमिन हटा सकता है. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">अपडेट को लागू करने के लिए क्रोमियम OS को रीस्टार्ट करने की ज़रूरत होती है.</translation> <translation id="2615699638672665509">यह कंप्यूटर जल्दी ही क्रोमियम अपडेट पाना बंद कर देगा क्योंकि अब इसका हार्डवेयर समर्थित नहीं है.</translation> <translation id="2648074677641340862">इंस्टॉलेशन के दौरान ऑपरेटिंग सिस्टम गड़बड़ी हुई. कृपया क्रोमियम फिर से डाउनलोड करें.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">क्रोमियम का एक नया वर्शन उपलब्ध है और यह पहले से ज़्यादा तेज़ है.</translation> <translation id="6063093106622310249">&क्रोमियम में खोलें</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> को क्रोमियम में जोड़ा गया</translation> +<translation id="608006075545470555">इस ब्राउज़र में वर्क प्रोफ़ाइल जोड़ें</translation> <translation id="608189560609172163">प्रवेश करने में किसी गड़बड़ी के कारण क्रोमियम आपका डेटा समन्वयित नहीं कर सका.</translation> <translation id="6096348254544841612">क्रोमियम को पसंद के मुताबिक बनाएं और नियंत्रित करें. अपडेट उपलब्ध है.</translation> <translation id="6120345080069858279">क्रोमियम इस पासवर्ड को आपके Google खाते में सेव कर लेगा. आपको इसे याद रखने की ज़रूरत नहीं है.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">क्रोमियम वेब ब्राउज़र है जो बहुत तेज़ी से वेबपेज और ऐप्लिकेशन चलाता है. यह तेज़, स्थिर, और उपयोग में आसान है. क्रोमियम में अंतर्निहित मैलवेयर और फ़ीशिंग सुरक्षा के साथ ज़्यादा आसानी से वेब ब्राउज़ करें.</translation> <translation id="6434250628340475518">क्रोमियम OS सिस्टम</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{क्रोमियम 1 सेकंड में रीस्टार्ट होगा}one{क्रोमियम # सेकंड में रीस्टार्ट होगा}other{क्रोमियम # सेकंड में रीस्टार्ट होगा}}</translation> +<translation id="6464340581899189425">अगर आपके पास एक से ज़्यादा Google खाते हैं, तो आप उन्हें अपने <ph name="DEVICE_TYPE" /> में जोड़ सकते हैं. आपके खाते, Chromium ब्राउज़र और 'Play स्टोर' के साथ-साथ Gmail, Drive, और YouTube जैसी अन्य सेवाओं पर भी उपलब्ध रहेंगे.<ph name="LINK_BEGIN" />ज़्यादा जानें<ph name="LINK_END" /></translation> <translation id="6475912303565314141">इससे यह भी नियंत्रित होता है कि जब आप क्रोमियम प्रारंभ करते हैं तब कौन सा पृष्ठ दिखाया जाए.</translation> <translation id="6510925080656968729">क्रोमियम को अनइंस्टाल करें</translation> <translation id="6570579332384693436">स्पेलिंग की गड़बड़ियां ठीक करने के लिए, क्रोमियम लेख फ़ील्ड में आपके लिखे गए लेख को Google को भेजती है</translation> @@ -220,6 +223,7 @@ <translation id="7857220146454061152">आगे भी क्रोमियम के अपडेट पाते रहने के लिए, आपके कंप्यूटर में OS X 10.11 या इसके बाद का वर्शन होना चाहिए. इस कंप्यूटर में OS X 10.10 का इस्तेमाल किया जा रहा है.</translation> <translation id="7867198900892795913">क्रोमियम सबसे नए वर्शन में अपडेट नहीं कर सका, इसलिए आपको नई सुविधाएं और सुरक्षा सुधार नहीं मिल रहे हैं.</translation> <translation id="7898472181347242998">यह देखने के लिए कि आपका डिवाइस अपडेट है या नहीं <ph name="LINK_BEGIN" />क्रोमियम OS सेटिंग<ph name="LINK_END" /> पर जाएं</translation> +<translation id="7907774600618164274">Chromium OS ठीक से शट डाउन नहीं हुआ.</translation> <translation id="7937630085815544518">आपने क्रोमियम में <ph name="USER_EMAIL_ADDRESS" /> के रूप में साइन इन किया था. फिर से साइन इन करने के लिए कृपया उसी खाते का इस्तेमाल करें.</translation> <translation id="7975919845073681630">यह क्रोमियम का द्वितीयक इंस्टॉलेशन है और इसे आपका डिफ़ॉल्ट ब्राउज़र नहीं बनाया जा सकता.</translation> <translation id="7979877361127045932">क्रोमियम मेन्यू में छिपाएं</translation> @@ -234,6 +238,7 @@ <translation id="8417404458978023919">{0,plural, =1{एक दिन के अंदर क्रोमियम को फिर से लॉन्च करें}one{# दिनों के अंदर क्रोमियम को फिर से लॉन्च करें}other{# दिनों के अंदर क्रोमियम को फिर से लॉन्च करें}}</translation> <translation id="8453117565092476964">इंस्टॉलर संग्रह खराब या अमान्य है. कृपया क्रोमियम फिर से डाउनलोड करें.</translation> <translation id="8493179195440786826">क्रोमियम पुराना हो गया है</translation> +<translation id="8550334526674375523">यह वर्क प्रोफ़ाइल आपकी निजी प्रोफ़ाइल से पूरी तरह अलग है.</translation> <translation id="8558383651099478961">आपके अभिभावक ने क्रोमियम के लिए, "साइट, ऐप्लिकेशन, और एक्सटेंशन के लिए अनुमतियां" को बंद कर दिया है. इस <ph name="EXTENSION_TYPE_PARAMETER" /> को जोड़ने की अनुमति नहीं है.</translation> <translation id="8568283329061645092">आप जब अपने Google खाते से साइन इन करते हैं, तब क्रोमियम आपके पासवर्ड की जांच कर सकता है</translation> <translation id="8586442755830160949">कॉपीराइट <ph name="YEAR" /> The Chromium Authors. सर्वाधिकार सुरक्षित.</translation> @@ -250,6 +255,7 @@ <translation id="8907580949721785412">Chromium पासवर्ड दिखाने का प्रयास कर रहा है. इसे अनुमति देने के लिए अपना Windows पासवर्ड लिखें.</translation> <translation id="8941642502866065432">क्रोमियम को अपडेट नहीं किया जा सकता</translation> <translation id="8974095189086268230">क्रोमियम OS अतिरिक्त <ph name="BEGIN_LINK_CROS_OSS" />खुला स्रोत सॉफ़्टवेयर<ph name="END_LINK_CROS_OSS" /> द्वारा संभव बनाया गया है.</translation> +<translation id="8986207147630327271">आप इस ब्राउज़र में एक वर्क प्रोफ़ाइल जोड़ रहे हैं और अपने एडमिन को सिर्फ़ उस प्रोफ़ाइल को कंट्रोल करने का अधिकार दे रहे हैं.</translation> <translation id="9019929317751753759">क्रोमियम को ज़्यादा सुरक्षित बनाने के लिए, हमने निम्न एक्सटेंशन को अक्षम कर दिया है जो <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> में सूचीबद्ध नहीं है और आपकी जानकारी के बिना जोड़ा गया हो सकता है.</translation> <translation id="9089354809943900324">क्रोमियम पुराना हो गया है</translation> <translation id="9093206154853821181">{0,plural, =1{क्रोमियम एक घंटे के अंदर फिर से लॉन्च होगा}one{क्रोमियम # घंटे के अंदर फिर से लॉन्च होगा}other{क्रोमियम # घंटे के अंदर फिर से लॉन्च होगा}}</translation> @@ -257,6 +263,7 @@ <translation id="911206726377975832">अपने ब्राउज़िंग डेटा भी मिटाएं?</translation> <translation id="9158494823179993217">आपके सिस्टम एडमिन ने 'क्रोमियम' को इस तरह कॉन्फ़िगर किया है कि वह <ph name="TARGET_URL_HOSTNAME" /> को ऐक्सेस करने के लिए कोई दूसरा ब्राउज़र खोले.</translation> <translation id="9190841055450128916">क्रोमियम (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium OS सिस्टम</translation> <translation id="93478295209880648">हो सकता है क्रोमियम सही तरीके से काम ना करें क्योंकि अब वह Windows XP या Windows Vista पर काम नहीं करता है</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> चाहता है कि इस डिवाइस का उपयोग करने से पहले आप इन सेवा की शर्तों को पढ़ लें और उन्हें स्वीकार करें. ये शर्तें क्रोमियम OS शर्तों का विस्तार, उनमें बदलाव या उन्हें सीमित नहीं करतीं.</translation> <translation id="965162752251293939">क्रोमियम को कौन इस्तेमाल कर रहा है?</translation>
diff --git a/chrome/app/resources/chromium_strings_hr.xtb b/chrome/app/resources/chromium_strings_hr.xtb index 8e24dcd..5ba7db1 100644 --- a/chrome/app/resources/chromium_strings_hr.xtb +++ b/chrome/app/resources/chromium_strings_hr.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">OS Chromium nije mogao sinkronizirati podatke vašeg računa jer su pojedinosti prijave na račun zastarjele.</translation> <translation id="2560420686485554789">Chromium treba pristup pohrani radi preuzimanja datoteka</translation> <translation id="2572494885440352020">Chromium Helper</translation> +<translation id="2583187216237139145">Sve podatke iz Chromiuma koji se generiraju tijekom upotrebe ovog profila (primjerice izradom oznaka, povijesti, zaporki i drugih postavki) može ukloniti administrator poslovnog profila. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Potrebno je ponovo pokrenuti Chromium OS kako bi se ažuriranje primijenilo.</translation> <translation id="2615699638672665509">Ovo će računalo uskoro prestati primati ažuriranja Chromiuma jer njegov hardver više nije podržan.</translation> <translation id="2648074677641340862">Došlo je do pogreške operativnog sustava tijekom instalacije. Ponovo preuzmite Chromium.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Dostupna je nova verzija preglednika Chromium, brža no ikad.</translation> <translation id="6063093106622310249">&Otvori u Chromiumu</translation> <translation id="6072279588547424923">Proširenje <ph name="EXTENSION_NAME" /> dodano je u Chromium</translation> +<translation id="608006075545470555">Dodavanje poslovnog profila u ovaj preglednik</translation> <translation id="608189560609172163">Chromium nije mogao sinkronizirati vaše podatke zbog pogreške prilikom prijave.</translation> <translation id="6096348254544841612">Prilagodite i kontrolirajte Chromium. Dostupno je ažuriranje.</translation> <translation id="6120345080069858279">Chromium će spremiti tu zaporku na vaš Google račun. Ne morate je pamtiti.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium je web-preglednik koji munjevitom brzinom prikazuje web-stranice i aplikacije. Brz je, stabilan i jednostavan za upotrebu. Pregledavajte web sigurnije jer je zaštita od zlonamjernog softvera i krađe identiteta ugrađena u Chromium.</translation> <translation id="6434250628340475518">OS Chromium</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium će se ponovo pokrenuti za 1 sekundu}one{Chromium će se ponovo pokrenuti za # sekundu}few{Chromium će se ponovo pokrenuti za # sekunde}other{Chromium će se ponovo pokrenuti za # sekundi}}</translation> +<translation id="6464340581899189425">Ako imate više Google računa, možete ih dodati na uređaj <ph name="DEVICE_TYPE" />. Vaši će računi biti dostupni u pregledniku Chromium i u Trgovini Play te na uslugama kao što su Gmail, Disk i YouTube.<ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Upravlja i time koja se stranica prikazuje prilikom pokretanja Chromiuma.</translation> <translation id="6510925080656968729">Deinstaliranje Chromiuma</translation> <translation id="6570579332384693436">Chromium Googleu šalje tekst koji utipkate u tekstualna polja kako bi ispravio pravopisne pogreške</translation> @@ -220,6 +223,7 @@ <translation id="7857220146454061152">Da biste primali buduća Chromiumova ažuriranja, trebat će vam OS X 10.11 ili novija verzija. Na ovom se računalu upotrebljava OS X 10.10.</translation> <translation id="7867198900892795913">Chromium se nije mogao ažurirati na najnoviju verziju, tako da nemate nove značajke i sigurnosne popravke.</translation> <translation id="7898472181347242998">Ažurnost uređaja možete provjeriti u <ph name="LINK_BEGIN" />postavkama OS-a Chromium<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">OS Chromium nije se ispravno zatvorio.</translation> <translation id="7937630085815544518">Bili ste prijavljeni na Chromium kao <ph name="USER_EMAIL_ADDRESS" />. Prijavite se ponovo istim računom.</translation> <translation id="7975919845073681630">Ovo je sekundarna instalacija Chromiuma, pa on ne može biti vaš zadani preglednik.</translation> <translation id="7979877361127045932">Sakrij u izborniku Chromiuma</translation> @@ -234,6 +238,7 @@ <translation id="8417404458978023919">{0,plural, =1{Ponovo pokrenite Chromium u roku od jednog dana}one{Ponovo pokrenite Chromium u roku od # dana}few{Ponovo pokrenite Chromium u roku od # dana}other{Ponovo pokrenite Chromium u roku od # dana}}</translation> <translation id="8453117565092476964">Arhiva programa za instalaciju oštećena je ili nevažeća. Ponovo preuzmite Chromium.</translation> <translation id="8493179195440786826">Chromium je zastario</translation> +<translation id="8550334526674375523">Ovaj poslovni profil potpuno je odvojen od vašeg osobnog profila.</translation> <translation id="8558383651099478961">Tvoj je roditelj isključio "Dopuštenja za web-lokacije, aplikacije i proširenja" za Chromium. Nije dopušteno dodati <ph name="EXTENSION_TYPE_PARAMETER" />.</translation> <translation id="8568283329061645092">Chromium može provjeriti vaše zaporke kad se prijavite Google računom</translation> <translation id="8586442755830160949">Autorska prava <ph name="YEAR" />. Autori Chromiuma. Sva prava pridržana.</translation> @@ -250,6 +255,7 @@ <translation id="8907580949721785412">Chromium pokušava prikazati zaporke. Upišite svoju zaporku za Windows da biste to dopustili.</translation> <translation id="8941642502866065432">Nije moguće ažurirati Chromium</translation> <translation id="8974095189086268230">OS Chromium omogućuje dodatni <ph name="BEGIN_LINK_CROS_OSS" />softver utemeljen na otvorenom kôdu<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Dodajete poslovni profil u ovaj preglednik i administratoru dodjeljujete kontrolu samo nad poslovnim profilom.</translation> <translation id="9019929317751753759">Kako bismo Chromium učinili sigurnijim, onemogućili smo sljedeće proširenje koje nije navedeno na stranici <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> i možda je dodano bez vašeg znanja.</translation> <translation id="9089354809943900324">Chromium je zastario</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium će se ponovo pokrenuti za sat vremena}one{Chromium će se ponovo pokrenuti za # h}few{Chromium će se ponovo pokrenuti za # h}other{Chromium će se ponovo pokrenuti za # h}}</translation> @@ -257,6 +263,7 @@ <translation id="911206726377975832">Izbrisati i podatke o pregledavanju?</translation> <translation id="9158494823179993217">Vaš administrator sustava konfigurirao je Chromium tako da otvara zamjenski preglednik radi pristupa URL-u<ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">OS Chromium</translation> <translation id="93478295209880648">Chromium možda neće ispravno raditi jer više nije podržan na sustavima Windows XP i Windows Vista</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> zahtijeva da pročitate i prihvatite sljedeće Uvjete pružanja usluge prije upotrebe ovog uređaja. Ti uvjeti ne predstavljaju proširenje, izmjenu ili ograničenje Uvjeta OS-a Chromium.</translation> <translation id="965162752251293939">Tko upotrebljava Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_hu.xtb b/chrome/app/resources/chromium_strings_hu.xtb index 6b452f09..8275199b 100644 --- a/chrome/app/resources/chromium_strings_hu.xtb +++ b/chrome/app/resources/chromium_strings_hu.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">A Chromium OS nem tudta szinkronizálni az adatokat, mert a fiók bejelentkezési adatai elavultak.</translation> <translation id="2560420686485554789">A Chromiumnak tárhelyhozzáférésre van szüksége a fájlok letöltéséhez</translation> <translation id="2572494885440352020">Chromium Helper</translation> +<translation id="2583187216237139145">A profil használata során generált összes Chromium-adatot (pl. könyvjelzőket, előzményeket, jelszavakat és egyéb beállításokat) eltávolíthatja a munkaprofil rendszergazdája. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">A frissítés alkalmazásához újra kell indítani a Chromium OS-t.</translation> <translation id="2615699638672665509">Mivel a hardver támogatása megszűnik, ez a számítógép hamarosan nem kap további Chromium-frissítéseket.</translation> <translation id="2648074677641340862">Az operációs rendszer hibát jelzett a telepítés során. Kérjük, töltse le újra a Chromiumot.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Elérhető a Chromium új verziója, amely minden korábbinál sokkal gyorsabb.</translation> <translation id="6063093106622310249">Megnyitás Chromiumban</translation> <translation id="6072279588547424923">A(z) <ph name="EXTENSION_NAME" /> hozzá lett adva a Chromiumhoz</translation> +<translation id="608006075545470555">Munkaprofil hozzáadása a böngészőhöz</translation> <translation id="608189560609172163">A Chromium egy bejelentkezési hiba miatt nem tudta szinkronizálni az adatokat.</translation> <translation id="6096348254544841612">A Chromium személyre szabása és vezérlése. Van rendelkezésre álló frissítés.</translation> <translation id="6120345080069858279">A Chromium ezt a jelszót Google-fiókjába menti. Nem kell megjegyeznie.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">A Chromium olyan böngésző, amely villámgyorsan futtatja a weboldalakat és az alkalmazásokat. Gyors, stabil és könnyen használható. A beépített, adathalászat és kártékony programok elleni védelemmel biztonságosabban böngészhet az interneten.</translation> <translation id="6434250628340475518">Chromium OS rendszer</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{A Chromium 1 másodpercen belül újraindul}other{A Chromium # másodpercen belül újraindul}}</translation> +<translation id="6464340581899189425">Ha több Google-fiókja is van, hozzáadhatja őket <ph name="DEVICE_TYPE" /> eszközéhez. Fiókjait használhatja majd a Chromium böngészőben és a Play Áruházban, valamint olyan szolgáltatásokban, mint például a Gmail, a Drive és a YouTube. <ph name="LINK_BEGIN" />További információ<ph name="LINK_END" />.</translation> <translation id="6475912303565314141">Továbbá azt is szabályozza, hogy melyik oldal jelenik meg a Chromium indításakor.</translation> <translation id="6510925080656968729">Chromium eltávolítása</translation> <translation id="6570579332384693436">A nyelvtani hibák javítása érdekében a Chromium elküldi a szövegmezőkbe gépelt szöveget a Google-nak</translation> @@ -217,6 +220,7 @@ <translation id="7857220146454061152">Ha a jövőben Chromium-frissítéseket szeretne kapni, akkor az OS X 10.11-es vagy újabb verziójára lesz szüksége. Ezen a számítógépen az OS X 10.10 fut.</translation> <translation id="7867198900892795913">Nem sikerült a Chromium frissítése a legújabb verzióra, így Ön lemarad az új funkciókról és biztonsági javításokról.</translation> <translation id="7898472181347242998">Ha szeretné megtekinteni, hogy eszköze naprakész-e, lépjen a <ph name="LINK_BEGIN" />Chromium OS beállításaihoz<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">A Chromium OS nem megfelelően állt le.</translation> <translation id="7937630085815544518"><ph name="USER_EMAIL_ADDRESS" /> néven volt bejelentkezve a Chromiumba. Kérjük, ugyanazzal a fiókkal jelentkezzen be újra.</translation> <translation id="7975919845073681630">Ez a Chromium második telepítése, amelyet nem állíthat be az alapértelmezett böngészővé.</translation> <translation id="7979877361127045932">Elrejtés a Chromium-menüben</translation> @@ -231,6 +235,7 @@ <translation id="8417404458978023919">{0,plural, =1{A Chromiumot 1 napon belül újra kell indítani}other{A Chromiumot # napon belül újra kell indítani}}</translation> <translation id="8453117565092476964">A telepítő tömörített állománya megsérült vagy érvénytelen. Kérjük, töltse le újra a Chromium böngészőt.</translation> <translation id="8493179195440786826">A Chromium elavult</translation> +<translation id="8550334526674375523">Ez a munkaprofil teljesen el van választva a személyes profiljától.</translation> <translation id="8558383651099478961">Szülőd kikapcsolta a Chromium „Engedélyek webhelyek, alkalmazások és bővítmények számára” beállítását. A(z) <ph name="EXTENSION_TYPE_PARAMETER" /> nem telepíthető.</translation> <translation id="8568283329061645092">A Chromium ellenőrizni tudja a mentett jelszavakat, ha Ön bejelentkezik Google-fiókjával</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> – A Chromium szerzői. Minden jog fenntartva.</translation> @@ -247,6 +252,7 @@ <translation id="8907580949721785412">A Chromium megkísérli megjeleníteni a jelszavakat. Ennek engedélyezéséhez írja be Windows-jelszavát.</translation> <translation id="8941642502866065432">Nem sikerült a Chromium frissítése</translation> <translation id="8974095189086268230">A Chromium OS létrejöttéhez további <ph name="BEGIN_LINK_CROS_OSS" />nyílt forráskódú szoftverek<ph name="END_LINK_CROS_OSS" /> is hozzájárultak.</translation> +<translation id="8986207147630327271">Munkaprofilt ad hozzá ehhez a böngészőhöz, és csak a munkaprofil felett adja át az irányítást a rendszergazdának.</translation> <translation id="9019929317751753759">A Chromium biztonságosabbá tétele érdekében kikapcsoltuk a következő bővítményt, amely nem a(z) <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> szolgáltatásból származik, és előfordulhat, hogy az Ön tudta nélkül lett telepítve.</translation> <translation id="9089354809943900324">A Chromium elavult</translation> <translation id="9093206154853821181">{0,plural, =1{A Chromium 1 órán belül újraindul}other{A Chromium # órán belül újraindul}}</translation> @@ -254,6 +260,7 @@ <translation id="911206726377975832">Törli a böngészési adatait is?</translation> <translation id="9158494823179993217">Rendszergazdája úgy állította be a Chromiumot, hogy másik böngészőt nyisson meg a(z) <ph name="TARGET_URL_HOSTNAME" /> eléréséhez.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium OS rendszer</translation> <translation id="93478295209880648">Előfordulhat, hogy a Chromium nem működik majd megfelelően, mert a továbbiakban már nem támogatja a következő rendszereket: Windows XP és Windows Vista</translation> <translation id="95514773681268843">A(z) <ph name="DOMAIN" /> megköveteli, hogy olvassa, majd fogadja el a következő Általános Szerződési Feltételeket, mielőtt használná ezt az eszközt. Ezek a feltételek nem bővítik, módosítják vagy korlátozzák a Chromium OS feltételeit.</translation> <translation id="965162752251293939">Ki használja a Chromiumot?</translation>
diff --git a/chrome/app/resources/chromium_strings_ka.xtb b/chrome/app/resources/chromium_strings_ka.xtb index 2ffe63a..16f034b 100644 --- a/chrome/app/resources/chromium_strings_ka.xtb +++ b/chrome/app/resources/chromium_strings_ka.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Chromium OS-მა ვერ დაასინქრონა თქვენი მონაცემები, რადგან თქვენი ანგარიშის შესვლის დეტალები მოძველდა.</translation> <translation id="2560420686485554789">ფაილების ჩამოსატვირთად Chromium საჭიროებს მეხსიერებაზე წვდომას</translation> <translation id="2572494885440352020">Chromium-ის დამხმარე</translation> +<translation id="2583187216237139145">ამ პროფილის გამოყენებისას შექმნილი Chromium მონაცემების (მაგ., შექმნილი სანიშნეების, ისტორიის, პაროლებისა და სხვა პარამეტრების) ამოშლა შეუძლია სამსახურის პროფილის ადმინისტრატორს. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">განახლების მისასადაგებლად, Chromium OS უნდა გადაიტვირთოს.</translation> <translation id="2615699638672665509">ეს კომპიუტერი მალე შეწყვეტს Chromium-ის განახლებების მიღებას, რადგან მისი აპარატურა აღარ არის მხარდაჭერილი.</translation> <translation id="2648074677641340862">ინსტალაციის დროს ოპერაციული სისტემის შეცდომა მოხდა. ხელახლა ჩამოტვირთეთ Chromium.</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">ხელმისაწვდომია Chromium-ის ახალი ვერსია, რომელიც უფრო სწრაფია.</translation> <translation id="6063093106622310249">Chromium-ში &გახსნა</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> დაემატა Chromium-ს</translation> +<translation id="608006075545470555">დაამატეთ სამსახურის პროფილი ამ ბრაუზერს</translation> <translation id="608189560609172163">შესვლასთან დაკავშირებული არსებული შეცდომის გამო, Chromium მა ვერ შეძლო თქვენი მონაცებების სინქრონიზაცია.</translation> <translation id="6096348254544841612">მოირგეთ და გააკონტროლეთ Chromium. ხელმისაწვდომია განახლება.</translation> <translation id="6120345080069858279">Chromium შეინახავს ამ პაროლს თქვენს Google ანგარიშში. მისი დამახსოვრება აუცილებელი არ არის.</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Chromium არის ვებ ბრაუზერი, რომელიც ვებგვერდებს და აპლიკაციებს ელვისებური სისწრაფით ხსნის. ის არის სწრაფი, სტაბილური და გამოსაყენებლად მარტივი. დაათვალიერეთ ვები უფრო უსაფრთხოდ Chromium-ში ჩაშენებული საზიანო პროგრამული უზრუნველყოფისა და თაღლითობისგან დაცვის საშუალებით.</translation> <translation id="6434250628340475518">Chromium OS სისტემა</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium გადაიტვირთება 1 წამში}other{Chromium გადაიტვირთება # წამში}}</translation> +<translation id="6464340581899189425">თუ რამდენიმე Google ანგარიში გაქვთ, შეგიძლიათ დაამატოთ ისინი თქვენს <ph name="DEVICE_TYPE" />-ს. თქვენი ანგარიშები ხელმისაწვდომი იქნება როგორც Chromium ბრაუზერსა და Play Store-ში, ისე ისეთ სერვისებში, როგორიცაა Gmail, Drive და YouTube. <ph name="LINK_BEGIN" />შეიტყვეთ მეტი<ph name="LINK_END" /></translation> <translation id="6475912303565314141">იგი ასევე აკონტროლებს, თუ რომელი გვერდი გამოჩნდება Chromium-ის გაშვებისას.</translation> <translation id="6510925080656968729">Chromium-ის დეინსტალაცია</translation> <translation id="6570579332384693436">მართლწერის შეცდომების გასასწორებლად, Chromium თქვენ მიერ ტექსტის ველში აკრეფილ ტექსტებს Google-ს უგზავნის</translation> @@ -221,6 +224,7 @@ <translation id="7857220146454061152">Chromium-ის მომავალი განახლებების მისაღებად დაგჭირდებათ OS X 10.11 ან უფრო ახალი ვერსია. ეს კომპიუტერი იყენებს OS X 10.10-ს.</translation> <translation id="7867198900892795913">Chromium ვერ განახლდა უახლეს ვერსიაზე, რომელსაც დამატებულ აქვს ახალი ფუნქციები და უსაფრთხოების სისტემის შესწორებები.</translation> <translation id="7898472181347242998">თქვენი მოწყობილობის განახლების სტატუსის სანახავად გადადით <ph name="LINK_BEGIN" />Chromium OS-ის პარამეტრებზე<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS სათანადოდ არ გაითიშა.</translation> <translation id="7937630085815544518">თქვენ შესული ხართ Chromium-ში როგორც <ph name="USER_EMAIL_ADDRESS" />. გთხოვთ გამოიყენოთ იგივე ანგარიში ხელახლა შესვლისას.</translation> <translation id="7975919845073681630">ეს Chromium-ის მეორადი ინსტალაცია არის და ნაგულისხმევ ბრაუზერად ის ვერ დაყენდება.</translation> <translation id="7979877361127045932">Chromium-ის მენიუში დამალვა</translation> @@ -235,6 +239,7 @@ <translation id="8417404458978023919">{0,plural, =1{ხელახლა გაუშვით Chromium დღის განმავლობაში}other{ხელახლა გაუშვით Chromium # დღის განმავლობაში}}</translation> <translation id="8453117565092476964">ინსტალაციის პროგრამის არქივი დაზიანებულია ან არასწორია. ხელახლა ჩამოტვირთეთ Chromium.</translation> <translation id="8493179195440786826">Chromium მოძველდა</translation> +<translation id="8550334526674375523">სამსახურის ეს პროფილი თქვენი პირადი პროფილისგან სრულიად დამოუკიდებლად ფუნქციონირებს.</translation> <translation id="8558383651099478961">თქვენმა მშობელმა გამორთო „ნებართვები საიტებისთვის, აპებისა და გაფართოებებისთვის“ Chromium-ისთვის. ეს <ph name="EXTENSION_TYPE_PARAMETER" /> ვერ დაემატება.</translation> <translation id="8568283329061645092">პაროლების Chromium-ის მეშვეობით შესამოწმებლად შედით სისტემაში თქვენი Google ანგარიშით</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. ყველა უფლება დაცულია.</translation> @@ -251,6 +256,7 @@ <translation id="8907580949721785412">Chromium ცდილობს პაროლების ჩვენებას. ჩაწერეთ თქვენი Windows-ის პაროლი ამის დასაშვებად.</translation> <translation id="8941642502866065432">Chromium-ის განახლება ვერ მოხერხდა</translation> <translation id="8974095189086268230">Chromium OS-ს უზრუნველყოფს დამატებითი <ph name="BEGIN_LINK_CROS_OSS" />ღია წყაროს პროგრამული უზრუნველყოფა<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">თქვენ აპირებთ, ამ ბრაუზერს სამსახურის პროფილი დაამატოთ, რითაც თქვენს ადმინისტრატორს კონტროლს მხოლოდ სამსახურის პროფილზე მიანიჭებთ.</translation> <translation id="9019929317751753759">Chromium-ის უსაფრთხოების გასაძლიერებლად, ჩვენ გავთიშეთ შემდეგი გაფართოება, რომელიც არ არის ხელმისაწვდომი <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />-ში და, შესაძლოა, თქვენი თანხმობის გარეშე დაემატა.</translation> <translation id="9089354809943900324">Chromium მოძველდა</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium ხელახლა გაეშვება 1 საათში}other{Chromium ხელახლა გაეშვება # საათში}}</translation> @@ -258,6 +264,7 @@ <translation id="911206726377975832">ასევე წაშალოთ თქვენი დათვალიერების მონაცემები?</translation> <translation id="9158494823179993217">თქვენი სისტემის ადმინისტრატორმა მოახდინა Chromium-ის კონფიგურაცია იმგვარად, რომ <ph name="TARGET_URL_HOSTNAME" />-ზე წვდომისთვის საჭიროა ალტერნატიული ბრაუზერის გახსნა.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium OS სისტემა</translation> <translation id="93478295209880648">Chromium-მა შეიძლება არასწორად იმუშაოს, რადგან ის აღარ არის მხარდაჭერილი Windows XP-სა და Windows Vista-ზე</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> მოითხოვს, რომ დაეთანხმოთ შემდეგ წესებს და პირობებს ამ მოწყობილობის გამოყენებამდე. ეს წესები არ წარმოადგენს Chromium OS-ის პირობების დამატებას, არ ცვლის და არ ზღუდავს მათ.</translation> <translation id="965162752251293939">ვინ იყენებს Chromium-ს?</translation>
diff --git a/chrome/app/resources/chromium_strings_lo.xtb b/chrome/app/resources/chromium_strings_lo.xtb index 5e2837c..d39d87ce 100644 --- a/chrome/app/resources/chromium_strings_lo.xtb +++ b/chrome/app/resources/chromium_strings_lo.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Chromium OS ບໍ່ສາມາດຊິງຄ໌ຂໍ້ມູນຂອງທ່ານໄດ້ ເພາະວ່າລາຍລະອຽດການລົງຊື່ເຂົ້າບັນຊີຂອງທ່ານຫຼ້າສະໄໝແລ້ວ.</translation> <translation id="2560420686485554789">Chromium ຕ້ອງການເຂົ້າເຖິງບ່ອນເກັບຂໍ້ມູນເພື່ອດາວໂຫຼດໄຟລ໌</translation> <translation id="2572494885440352020">ຜູ້ຊ່ວຍ Chromium</translation> +<translation id="2583187216237139145">ຜູ້ເບິ່ງແຍງລະບົບໂປຣໄຟລ໌ບ່ອນເຮັດວຽກສາມາດລຶບຂໍ້ມູນ Chromium ໃດໆກໍຕາມທີ່ສ້າງຂຶ້ນໃນລະຫວ່າງການນຳໃຊ້ໂປຣໄຟລ໌ນີ້ (ເຊັ່ນ: ການສ້າງບຸກມາກ, ປະຫວັດ, ລະຫັດຜ່ານ ແລະ ການຕັ້ງຄ່າອື່ນໆ) ອອກໄດ້. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">ຈຳເປັນຕ້ອງປິດແລ້ວເປີດ Chromium OS ຄືນໃໝ່ເພື່ອນຳໃຊ້ການອັບເດດ.</translation> <translation id="2615699638672665509">ຄອມພິວເຕີນີ້ຈະຢຸດຮັບການອັບເດດ Chromium ໃນບໍ່ດົນນີ້ ເພາະວ່າຮາດແວຂອງມັນບໍ່ຮອງຮັບອີກ.</translation> <translation id="2648074677641340862">ເກີດຄວາມຜິດພາດດ້ານລະບົບປະຕິບັດການໃນລະຫວ່າງການຕິດຕັ້ງ. ກະລຸນາດາວໂຫຼດ Chromium ອີກ.</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">ມີ Chromium ລຸ້ນໃໝ່ຢູ່, ແລະມັນປອດໄພກ່ວາຜ່ານມາ.</translation> <translation id="6063093106622310249">&ເປີດໃນ Chromium</translation> <translation id="6072279588547424923">ເພີ່ມ <ph name="EXTENSION_NAME" /> ໃສ່ Chromium ແລ້ວ</translation> +<translation id="608006075545470555">ເພີ່ມໂປຣໄຟລ໌ບ່ອນເຮັດວຽກໃສ່ໂປຣແກຣມທ່ອງເວັບນີ້</translation> <translation id="608189560609172163">Chromium ບໍ່ສາມາດຊິງຄ໌ຂໍ້ມູນຂອງທ່ານໄດ້ ເນື່ອງຈາກການລົງຊື່ເຂົ້າໃຊ້ຜິດພາດ.</translation> <translation id="6096348254544841612">ປັບແຕ່ງ ແລະ ຄວບຄຸມ Chromium. ມີການອັບເດດແລ້ວ</translation> <translation id="6120345080069858279">Chromium ຈະບັນທຶກລະຫັດຜ່ານນີ້ໄວ້ໃນບັນຊີ Google ຂອງທ່ານ. ທ່ານຈະບໍ່ຈຳເປັນຕ້ອງຈື່ມັນ.</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Chromium ແມ່ນບຣາວເຊີເວັບທີ່ແລ່ນໜ້າເວັບ ແລະແອັບພລິເຄຊັນດ້ວຍຄວາມໄວແບບສາຍຟ້າແມັບ. ມັນໄວ, ໝັ້ນຄົງ, ແລະໃຊ້ງ່າຍ. ທ່ອງເວັບໄດ້ປອດໄພກ່ວາດ້ວຍການປົກປ້ອງມາລແວ ແລະພິຊຊິງທີ່ສ້າງຢູ່ໃນຕົວ Chromium.</translation> <translation id="6434250628340475518">ລະບົບປະຕິບັດການຂອງ Chromium</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium ຈະປິດແລ້ວເປີດໃໝ່ໃນ 1 ວິນາທີ}other{Chromium ຈະປິດແລ້ວເປີດໃໝ່ໃນ # ວິນາທີ}}</translation> +<translation id="6464340581899189425">ຖ້າທ່ານມີບັນຊີ Google ຫຼາຍບັນຊີ, ທ່ານສາມາດເພີ່ມພວກມັນໃສ່ <ph name="DEVICE_TYPE" /> ຂອງທ່ານໄດ້. ບັນຊີຂອງທ່ານຈະມີໃຫ້ນຳໃຊ້ໃນໂປຣແກຣມທ່ອງເວັບ Chromium ແລະ Play Store, ເຊັ່ນດຽວກັບການບໍລິການຕ່າງໆ ເຊັ່ນ: Gmail, Drive ແລະ YouTube.<ph name="LINK_BEGIN" />ສຶກສາເພີ່ມເຕີມ<ph name="LINK_END" /></translation> <translation id="6475912303565314141">ມັນຍັງຄວບຄຸມວ່າຈະໃຫ້ສະແດງໜ້າໃດຂຶ້ນ ເມື່ອທ່ານເລີ່ມຕົ້ນເປີດ Chromium.</translation> <translation id="6510925080656968729">ຖອນຕິດຕັ້ງ Chromium</translation> <translation id="6570579332384693436">ເພື່ອແກ້ໄຂການສະກົດຄຳຜິດ, Chromium ສົ່ງຂໍ້ຄວາມທີ່ທ່ານພິມໃນຊ່ອງຂໍ້ຄວາມໃຫ້ Google</translation> @@ -222,6 +225,7 @@ <translation id="7857220146454061152">ເພື່ອຮັບການອັບເດດ Chromium ໃນອະນາຄົດ, ທ່ານຈະຈຳເປັນຕ້ອງມີ OS X 10.11 ຫຼື ໃໝ່ກວ່າ. ຄອມພິວເຕີນີ້ກຳລັງໃຊ້ OS X 10.10.</translation> <translation id="7867198900892795913">Chromium ບໍ່ສາມາດອັບເດດເປັນເວີຊັນຫຼ້າສຸດໄດ້, ສະນັ້ນທ່ານກຳລັງພາດຄຸນສົມບັດ ແລະ ການແກ້ໄຂດ້ານຄວາມປອດໄພໃໝ່ໆຢູ່.</translation> <translation id="7898472181347242998">ເພື່ອເບິ່ງວ່າອຸປະກອນຂອງທ່ານໃໝ່ຫຼ້າສຸດຫຼືບໍ່, ກະລຸນາໄປທີ່ <ph name="LINK_BEGIN" />ການຕັ້ງຄ່າ Chromium OS<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS ປິດຢ່າງບໍ່ຖືກຕ້ອງ.</translation> <translation id="7937630085815544518">ທ່ານໄດ້ລົງຊື່ເຂົ້າໃຊ້ Chromium ເປັນ <ph name="USER_EMAIL_ADDRESS" />. ກະລຸນາໃຊ້ບັນຊີດຽວກັນ ເພື່ອລົງຊື່ເຂົ້າໃຊ້ອີກ.</translation> <translation id="7975919845073681630">ນີ້ແມ່ນການຕິດຕັ້ງສຳຮອງຂອງ Chromium ແລະ ບໍ່ສາມາດຖືກຕັ້ງເປັນໂປຣແກຣມທ່ອງເວັບເລີ່ມຕົ້ນໄດ້.</translation> <translation id="7979877361127045932">ເຊື່ອງຢູ່ໃນເມນູ Chromium</translation> @@ -236,6 +240,7 @@ <translation id="8417404458978023919">{0,plural, =1{ເປີດໃຊ້ Chromium ຄືນໃໝ່ພາຍໃນໜຶ່ງມື້}other{ເປີດໃຊ້ Chromium ຄືນໃໝ່ພາຍໃນ # ມື້}}</translation> <translation id="8453117565092476964">ຄັງຕົວຕິດຕັ້ງຖືກເສຍຫາຍ ຫຼືໃຊ້ບໍ່ໄດ້. ກະລຸນາດາວໂຫຼດ Chromium ອີກ.</translation> <translation id="8493179195440786826">Chromium ຫຼ້າສະໄໝແລ້ວ</translation> +<translation id="8550334526674375523">ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກນີ້ແຍກກັນຢ່າງສິ້ນເຊີງຈາກໂປຣໄຟລ໌ສ່ວນຕົວຂອງທ່ານ.</translation> <translation id="8558383651099478961">ພໍ່ແມ່ຂອງທ່ານໄດ້ປິດ "ການອະນຸຍາດສຳລັບເວັບໄຊ, ແອັບ ແລະ ສ່ວນຂະຫຍາຍ" ສຳລັບ Chromium ແລ້ວ. ການເພີ່ມ <ph name="EXTENSION_TYPE_PARAMETER" /> ນີ້ບໍ່ໄດ້ຮັບອະນຸຍາດ.</translation> <translation id="8568283329061645092">Chromium ສາມາດກວດເບິ່ງລະຫັດຜ່ານຂອງທ່ານ ເມື່ອທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີ Google ຂອງທ່ານໄດ້</translation> <translation id="8586442755830160949">ລິຂະສິດ <ph name="YEAR" /> ຜູ້ຂຽນ Chromium. ສະຫງວນລິຂະສິດ.</translation> @@ -252,6 +257,7 @@ <translation id="8907580949721785412">Chromium ກໍາລັງພະຍາຍາມສະແດງລະຫັດຜ່ານ. ພິມລະຫັດຜ່ານ Windows ຂອງທ່ານ ເພື່ອອະນຸຍາດອັນນີ້.</translation> <translation id="8941642502866065432">ບໍ່ສາມາດອັບເດດ Chromium ໄດ້</translation> <translation id="8974095189086268230">Chromium OS ເຮັດໃຫ້ເປັນໄປໄດ້ໂດຍຊອບແວ <ph name="BEGIN_LINK_CROS_OSS" />open source<ph name="END_LINK_CROS_OSS" /> ເພີ່ມເຕີມ.</translation> +<translation id="8986207147630327271">ທ່ານກຳລັງເພີ່ມໂປຣໄຟລ໌ບ່ອນເຮັດວຽກໃສ່ໂປຣແກຣມທ່ອງເວັບນີ້ ແລະ ໃຫ້ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານຄວບຄຸມໂປຣໄຟລ໌ບ່ອນເຮັດວຽກດັ່ງກ່າວເທົ່ານັ້ນ.</translation> <translation id="9019929317751753759">ເພື່ອເຮັດໃຫ້ Chromium ປອດໄພຂຶ້ນ, ພວກເຮົາປິດໃຊ້ງານບາງສ່ວນການຕໍ່ເຂົ້າຫາ ທີ່ບໍ່ໄດ້ເຮັດເປັນລາຍການໄວ້ຢູ່ໃນ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ແລະອາດຈະຖືກເອົາເພີ່ມເຂົ້າໂດຍທີ່ທ່ານບໍ່ຮູ້ຈັກ.</translation> <translation id="9089354809943900324">Chromium ຫຼ້າສະໄໝແລ້ວ</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium ຈະເປີດຄືນໃໝ່ໃນໜຶ່ງຊົ່ວໂມງ}other{Chromium ຈະເປີດຄືນໃໝ່ໃນ # ຊົ່ວໂມງ}}</translation> @@ -259,6 +265,7 @@ <translation id="911206726377975832">ລຶບຂໍ້ມູນການທ່ອງເນັດຂອງທ່ານນໍາບໍ?</translation> <translation id="9158494823179993217">ຜູ້ເບິ່ງແຍງລະບົບໄດ້ກຳນົດຄ່າ Chromium ໃຫ້ເປີດໂປຣແກຣມທ່ອງເວັບສຳຮອງເພື່ອເຂົ້າເຖິງ <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">ລະບົບປະຕິບັດການຂອງ Chromium</translation> <translation id="93478295209880648">Chromium ອາດຈະບໍ່ເຮັດວຽກຢ່າງຖືກຕ້ອງ ເພາະວ່າມັນບໍ່ຖືກຮອງຮັບໃນ Windows XP ຫຼື Windows Vista ອີກຕໍ່ໄປ</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> ຮຽກຮ້ອງໃຫ້ທ່ານອ່ານ ແລະຍອມຮັບເງື່ອນໄຂການໃຫ້ບໍລິການຕໍ່ໄປນີ້ກ່ອນທີ່ຈະໃຊ້ອຸປະກອນນີ້. ເງື່ອນໄຂເຫຼົ່ານີ້ບໍ່ຂະຫຍາຍ, ດັດແປງ ຫຼືຈໍາກັດເງື່ອນໄຂກຳນົດຂອງ Chromium OS.</translation> <translation id="965162752251293939">ໃຜກຳລັງໃຊ້ Chromium)</translation>
diff --git a/chrome/app/resources/chromium_strings_lv.xtb b/chrome/app/resources/chromium_strings_lv.xtb index 2d22623..673a574 100644 --- a/chrome/app/resources/chromium_strings_lv.xtb +++ b/chrome/app/resources/chromium_strings_lv.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">Chromium OS nevarēja sinhronizēt jūsu datus, jo jūsu konta pierakstīšanās informācija ir novecojusi.</translation> <translation id="2560420686485554789">Pārlūkam Chromium ir nepieciešama piekļuve krātuvei, lai varētu lejupielādēt failus.</translation> <translation id="2572494885440352020">Chromium palīgs</translation> +<translation id="2583187216237139145">Darba profila administrators var noņemt šī profila lietošanas laikā ģenerētos Chromium datus (piemēram, grāmatzīmes, vēsturi, paroles un citus iestatījumus). <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Lai lietotu atjauninājumu, operētājsistēma Chromium ir jārestartē.</translation> <translation id="2615699638672665509">Šis dators drīz vairs nesaņems Chromium atjauninājumus, jo tā aparatūra vairs netiek atbalstīta.</translation> <translation id="2648074677641340862">Instalācijas laikā radās operētājsistēmas kļūda. Lejupielādējiet Chromium vēlreiz.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Ir pieejama jauna Chromium versija, un tā ir ātrāka nekā jebkad agrāk.</translation> <translation id="6063093106622310249">&Atvērt pārlūkā Chromium</translation> <translation id="6072279588547424923">Paplašinājums <ph name="EXTENSION_NAME" /> ir pievienots pārlūkam Chromium</translation> +<translation id="608006075545470555">Darba profila pievienošana šai pārlūkprogrammai</translation> <translation id="608189560609172163">Chromium nevarēja sinhronizēt jūsu datus pierakstīšanās kļūdas dēļ.</translation> <translation id="6096348254544841612">Pielāgojiet un pārvaldiet pārlūku Chromium. Ir pieejams atjauninājums.</translation> <translation id="6120345080069858279">Pārlūks Chromium saglabās šo paroli jūsu Google kontā. To nav nepieciešams iegaumēt.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium ir tīmekļa pārlūks, kas darbina tīmekļa lapas un lietojumprogrammas zibenīgā ātrumā. Tas ir ātrs, stabils un ērti lietojams. Pārlūkojiet tīmekli vēl drošāk ar aizsardzību pret ļaunprātīgu programmatūru un pikšķerēšanu, kas iebūvēta pārlūkā Chromium.</translation> <translation id="6434250628340475518">Chromium OS sistēma</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Pārlūks Chromium tiks restartēts pēc 1 sekundes.}zero{Pārlūks Chromium tiks restartēts pēc # sekundēm.}one{Pārlūks Chromium tiks restartēts pēc # sekundes.}other{Pārlūks Chromium tiks restartēts pēc # sekundēm.}}</translation> +<translation id="6464340581899189425">Ja jums ir vairāki Google konti, varat tos pievienot, lai <ph name="DEVICE_TYPE" /> atcerētos tos visus. Jūsu konti būs pieejami pārlūkprogrammā Chromium un Play veikalā, kā arī tādos pakalpojumos kā Gmail, Disks un YouTube. <ph name="LINK_BEGIN" />Uzzināt vairāk<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Tas nosaka arī to, kāda lapa tiks rādīta, kad atvērsiet pārlūku Chromium.</translation> <translation id="6510925080656968729">Atinstalēt Chromium</translation> <translation id="6570579332384693436">Lai izlabotu pareizrakstības kļūdas, Chromium nosūta teksta laukos ievadīto tekstu Google serveriem.</translation> @@ -218,6 +221,7 @@ <translation id="7857220146454061152">Lai varētu saņemt nākamos Chromium atjauninājumus, nepieciešama OS X 10.11 vai jaunāka versija. Šajā datorā tiek izmantota OS X 10.10 versija.</translation> <translation id="7867198900892795913">Nevarēja atjaunināt uz jaunāko Chromium versiju, tādēļ jūs nevarēsiet piekļūt jaunākajām funkcijām un drošības labojumiem.</translation> <translation id="7898472181347242998">Lai pārbaudītu, vai ierīce ir atjaunināta, pārejiet uz sadaļu <ph name="LINK_BEGIN" />Chromium OS iestatījumi<ph name="LINK_END" />.</translation> +<translation id="7907774600618164274">Chromium OS netika pareizi izslēgta.</translation> <translation id="7937630085815544518">Operētājsistēmā Chromium iepriekš pierakstījāties kā lietotājs <ph name="USER_EMAIL_ADDRESS" />. Lai pierakstītos vēlreiz, lūdzu, izmantojiet to pašu kontu.</translation> <translation id="7975919845073681630">Šī ir Chromium papildu instalācija, un to nevar izmantot kā noklusējuma pārlūku.</translation> <translation id="7979877361127045932">Paslēpt Chromium izvēlnē</translation> @@ -232,6 +236,7 @@ <translation id="8417404458978023919">{0,plural, =1{Restartējiet pārlūku Chromium vienas dienas laikā}zero{Restartējiet pārlūku Chromium # dienu laikā}one{Restartējiet pārlūku Chromium # dienas laikā}other{Restartējiet pārlūku Chromium # dienu laikā}}</translation> <translation id="8453117565092476964">Instalēšanas programmas arhīvs ir bojāts vai nav derīgs. Lejupielādējiet Chromium vēlreiz.</translation> <translation id="8493179195440786826">Chromium versija ir novecojusi</translation> +<translation id="8550334526674375523">Šis darba profils ir pilnīgi nesaistīts ar jūsu personīgo profilu.</translation> <translation id="8558383651099478961">Viens no jūsu vecākiem ir izslēdzis “Atļaujas vietnēm, lietotnēm un paplašinājumiem” pārlūkam Chromium. Nav atļauts pievienot šo: <ph name="EXTENSION_TYPE_PARAMETER" />.</translation> <translation id="8568283329061645092">Pārlūkprogrammā Chromium var pārbaudīt jūsu paroles, ja esat pierakstījies savā Google kontā.</translation> <translation id="8586442755830160949">Autortiesības <ph name="YEAR" /> Chromium autori. Visas tiesības paturētas.</translation> @@ -248,6 +253,7 @@ <translation id="8907580949721785412">Chromium mēģina rādīt paroles. Lai to atļautu, ierakstiet savu Windows paroli.</translation> <translation id="8941642502866065432">Nevar atjaunināt Chromium</translation> <translation id="8974095189086268230">Chrome OS ir kļuvusi iespējama, pateicoties papildu <ph name="BEGIN_LINK_CROS_OSS" />atklātā pirmkoda programmatūrai<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Jūs pievienosiet šai pārlūkprogrammai darba profilu un piešķirsiet administratoram kontroli tikai pār darba profilu.</translation> <translation id="9019929317751753759">Lai uzlabotu Chromium drošību, mēs atspējojām tālāk norādīto paplašinājumu, kas nav norādīts vietnē <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> un, iespējams, tika pievienots, jums nezinot.</translation> <translation id="9089354809943900324">Chromium versija ir novecojusi.</translation> <translation id="9093206154853821181">{0,plural, =1{Pārlūks Chromium pēc stundas tiks restartēts}zero{Pārlūks Chromium pēc # stundām tiks restartēts}one{Pārlūks Chromium pēc # stundas tiks restartēts}other{Pārlūks Chromium pēc # stundām tiks restartēts}}</translation> @@ -255,6 +261,7 @@ <translation id="911206726377975832">Vai dzēst arī pārlūkošanas datus?</translation> <translation id="9158494823179993217">Sistēmas administrators ir konfigurējis Chromium, lai vietne <ph name="TARGET_URL_HOSTNAME" /> tiktu atvērta papildu pārlūkā.</translation> <translation id="9190841055450128916">Chromium (mDNS ienākošie savienojumi)</translation> +<translation id="9214764063801632699">Chromium OS sistēma</translation> <translation id="93478295209880648">Iespējams, Chromium nedarbosies pareizi, jo tas vairs netiek atbalstīts operētājsistēmās Windows XP un Windows Vista.</translation> <translation id="95514773681268843">Pirms šīs ierīces lietošanas jums ir jāizlasa un jāapstiprina tālāk sniegtie domēna <ph name="DOMAIN" /> pakalpojumu sniegšanas noteikumi. Šie noteikumi nepaplašina, nepārveido vai neierobežo operētājsistēmas Chromium OS noteikumus.</translation> <translation id="965162752251293939">Kas izmanto pārlūku Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_mk.xtb b/chrome/app/resources/chromium_strings_mk.xtb index d5e9af4..9e5da86 100644 --- a/chrome/app/resources/chromium_strings_mk.xtb +++ b/chrome/app/resources/chromium_strings_mk.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Chromium OS не може да ги синхронизира вашите податоци бидејќи вашите информации за пријавување на сметката се застарени.</translation> <translation id="2560420686485554789">На Chromium му треба пристап до меморијата за да презема датотеки</translation> <translation id="2572494885440352020">Помошник на Chromium</translation> +<translation id="2583187216237139145">Податоците на Chromium што се генерирани при користењето на овој профил (како на пример, создавање обележувачи, историја, лозинки и други поставки) може да се отстранат од страна на администраторот на работниот профил. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Оперативниот систем Chromium треба да се рестартира за да се примени ажурирањето.</translation> <translation id="2615699638672665509">Компјутеров наскоро ќе престане да добива ажурирања за Chromium затоа што неговиот хардвер веќе не е поддржан.</translation> <translation id="2648074677641340862">Настана грешка на оперативен систем при инсталација. Преземете го Chromium повторно.</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">Достапна е нова верзија на Chromium и побрза е од кога било.</translation> <translation id="6063093106622310249">&Отвори во Chromium</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> беше додадена на Chromium</translation> +<translation id="608006075545470555">Додајте работен профил во овој прелистувач</translation> <translation id="608189560609172163">Chromium не може да ги синхронизира вашите податоци поради грешка во пријавувањето.</translation> <translation id="6096348254544841612">Приспособете го и контролирајте го Chromium. Достапно е ажурирање.</translation> <translation id="6120345080069858279">Chromium ќе ја зачува лозинкава во вашата сметка на Google. Не мора да ја запомните.</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Chromium е веб-прелистувач што активира веб-страници и апликации со неверојатна брзина. Тој е брз, стабилен и лесно се користи. Побезбедно прелистувајте на веб со вградената заштита на Chromium од кражба на идентитет и злонамерен софтвер.</translation> <translation id="6434250628340475518">Систем Chromium OS</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium ќе се рестартира за 1 секунда}one{Chromium ќе се рестартира за # секунда}other{Chromium ќе се рестартира за # секунди}}</translation> +<translation id="6464340581899189425">Ако имате повеќе сметки на Google, може да ги додадете во вашиот <ph name="DEVICE_TYPE" />. Вашите сметки ќе бидат достапни во прелистувачот Chromium и во Play Store, но и на услугите како што се Gmail, Drive и YouTube.<ph name="LINK_BEGIN" />Дознајте повеќе<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Тоа исто така контролира која страница ќе се прикаже кога го стартувате Chromium.</translation> <translation id="6510925080656968729">Деинсталирај Chromium</translation> <translation id="6570579332384693436">За поправка на печатните грешки, Chromium го испраќа текстот што го пишувате во текстуалните полиња до Google</translation> @@ -222,6 +225,7 @@ <translation id="7857220146454061152">За да добивате идни ажурирања на Chromium, потребен ви е OS X 10.11 или понова верзија. Компјутеров користи OS X 10.10.</translation> <translation id="7867198900892795913">Chromium не може да се ажурира на најновата верзија и поради тоа ги пропуштате новите функции и безбедносни поправки.</translation> <translation id="7898472181347242998">За да видите дали уредот ви е ажуриран, одете на <ph name="LINK_BEGIN" />Поставки за Chromium OS<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS не се исклучи правилно.</translation> <translation id="7937630085815544518">Бевте најавени на Chromium како <ph name="USER_EMAIL_ADDRESS" />. Користете ја истата сметка за повторно да се најавите.</translation> <translation id="7975919845073681630">Ова е второстепена инсталација на Chromium и затоа не може да биде стандарден прелистувач.</translation> <translation id="7979877361127045932">Сокриј во мени на Chromium</translation> @@ -236,6 +240,7 @@ <translation id="8417404458978023919">{0,plural, =1{Рестартирајте го Chromium во рок од еден ден}one{Рестартирајте го Chromium во рок од # ден}other{Рестартирајте го Chromium во рок од # дена}}</translation> <translation id="8453117565092476964">Архивата на инсталаторот е оштетена или невалидна. Преземете го Chromium повторно.</translation> <translation id="8493179195440786826">Chromium е застарен</translation> +<translation id="8550334526674375523">Овој работен профил е целосно одделен од вашиот личен профил.</translation> <translation id="8558383651099478961">Родителот ги исклучил „Дозволите за сајтови, апликации и екстензии“ за Chromium. Не е дозволено додавањето на оваа <ph name="EXTENSION_TYPE_PARAMETER" />.</translation> <translation id="8568283329061645092">Chromium може да ги проверува вашите лозинки кога ќе се најавите со вашата сметка на Google</translation> <translation id="8586442755830160949">Авторски права <ph name="YEAR" /> на Авторите на Chromium. Сите права се задржани.</translation> @@ -252,6 +257,7 @@ <translation id="8907580949721785412">Chromium се обидува да прикаже лозинки. Внесете ја својата лозинка за Windows за да го овозможите тоа.</translation> <translation id="8941642502866065432">Не може да се ажурира Chromium</translation> <translation id="8974095189086268230">Chromium OS е овозможен со дополнителен <ph name="BEGIN_LINK_CROS_OSS" />софтвер со отворен код<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Додавате работен профил во овој прелистувач и му давате контрола на администраторот само врз тој профил.</translation> <translation id="9019929317751753759">За Chromium да биде побезбеден, ја оневозможивме следнава екстензија што не е наведена во <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> и може да е додадена без ваше знаење.</translation> <translation id="9089354809943900324">Chromium е застарен</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium ќе се рестартира по еден час}one{Chromium ќе се рестартира по # час}other{Chromium ќе се рестартира по # часа}}</translation> @@ -259,6 +265,7 @@ <translation id="911206726377975832">Да се избришат ли и вашите податоци од пребарувањата?</translation> <translation id="9158494823179993217">Администраторот на системот го конфигурирал Chromium да отвора друг прелистувач за пристап до <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Систем Chromium OS</translation> <translation id="93478295209880648">Chromium може да не функционира правилно затоа што веќе не е поддржан на Windows XP или Windows Vista</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> бара да ги прочитате и да ги прифатите следните Услови за користење пред да го користите уредот. Условите не ги прошируваат, менуваат или ограничуваат Условите на ОС Chromium.</translation> <translation id="965162752251293939">Кој користи Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_mn.xtb b/chrome/app/resources/chromium_strings_mn.xtb index 0cbab2fc..84c7183 100644 --- a/chrome/app/resources/chromium_strings_mn.xtb +++ b/chrome/app/resources/chromium_strings_mn.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Таны бүртгэлийн мэдээлэл хэтэрхий хуучирсан байгаа учраас Chromium OS-аас таны өгөгдлийг sync хийж чадсангүй.</translation> <translation id="2560420686485554789">Файл татахын тулд Chromium-д сангийн хандалт шаардлагатай</translation> <translation id="2572494885440352020">Chromium-ийн туслагч</translation> +<translation id="2583187216237139145">Энэ профайлыг ашиглах үед үүссэн Chromium-н аливаа өгөгдлийг (хавчуурга, түүх, нууц үг болон бусад тохиргоог үүсгэх зэрэг) ажлын профайлын админ хасах боломжтой. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Шинэчлэлтийг хэрэгжүүлэхийн тулд Chromium үйлдлийн системийг дахин эхлүүлнэ үү.</translation> <translation id="2615699638672665509">Энэ техник хангамжийг цаашид дэмжиж ажиллахгүй учраас энэ компьютероос цаашид Chromium-ын шинэчлэлтүүдийг хүлээн авахаа зогсоох болно.</translation> <translation id="2648074677641340862">Суулгалтын явцад үйлдлийн системийн алдаа гарлаа. Chromium-ыг дахин татаж авна уу.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Chromium-ийн шинэ хувилбар боломжтой байна. Хэзээ хэзээнээс ч хурдан.</translation> <translation id="6063093106622310249">&Chromium-д нээх</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" />-г Chromium-д нэмсэн</translation> +<translation id="608006075545470555">Энэ хөтчид ажлын профайл нэмэх</translation> <translation id="608189560609172163">Chromium нь нэвтрэх хэсэгт гарсан алдаатай холбоотойгоор таны өгөгдлийн тохиргоог хийж чадсангүй.</translation> <translation id="6096348254544841612">Chromium-г тохируулж, хянана уу. Шинэчлэх боломжтой.</translation> <translation id="6120345080069858279">Chromium энэ нууц үгийг таны Google Бүртгэлд хадгалах тул та үүнийг санах шаардлагагүй.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium бол веб хуудсууд болон аппликейшнуудыг цахилгааны хурдаар ажиллуулдаг веб хөтөч юм. Энэ нь хурдан, найдвартай мөн хэрэглэхэд хялбар. Chromium-д бий болгосон хорт вирус болон фишингийн хамгаалалтыг ашиглан вебээр илүү аюулгүй хайлт хийгээрэй.</translation> <translation id="6434250628340475518">Chromium OS Систем</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium 1 секундийн дараа дахин эхэлнэ}other{Chromium # секундийн дараа дахин эхэлнэ}}</translation> +<translation id="6464340581899189425">Хэрэв танд олон Google Бүртгэл байгаа бол тэдгээрийг <ph name="DEVICE_TYPE" />-д нэмэх боломжтой. Таны бүртгэлүүд Chromium хөтөч, Play Store түүнчлэн Gmail, Драйв болон YouTube зэрэг үйлчилгээнүүдэд боломжтой болно.<ph name="LINK_BEGIN" />Нэмэлт мэдээлэл авах<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Энэ нь мөн таныг Chromium-ыг эхлүүлж байх үед гарч ирсэн хуудсыг хянадаг.</translation> <translation id="6510925080656968729">Chromium-ийг устгах</translation> <translation id="6570579332384693436">Зөв бичгийн алдааг засахын тулд Chromium таны текстийн талбарт бичсэн текстийг Google-д илгээдэг</translation> @@ -218,6 +221,7 @@ <translation id="7857220146454061152">Google Chromium-н цаашдын шинэчлэлтийг авахын тулд танд OS X 10.11 буюу түүнээс хойших хувилбар хэрэгтэй болно. Энэ компьютер OS X 10.10 хувилбарыг ашиглаж байна.</translation> <translation id="7867198900892795913">Chromium-г хамгийн сүүлийн хувилбарт шинэчлээгүй тул та шинэ онцлог болон аюулгүй байдлын засвар авах боломжгүй байна.</translation> <translation id="7898472181347242998">Таны төхөөрөмж шинэчлэгдсэн эсэхийг харахын тулд <ph name="LINK_BEGIN" />Chromium үйлдлийн системийн тохиргоо<ph name="LINK_END" /> руу очно уу</translation> +<translation id="7907774600618164274">Chromium үйлдлийн системийг зөв унтраагаагүй байна.</translation> <translation id="7937630085815544518">Та Chromium-д <ph name="USER_EMAIL_ADDRESS" />-аар нэвтэрсэн байна. Нэвтрэхийн тулд ижил данс хэрэглэнэ үү.</translation> <translation id="7975919845073681630">Энэ нь Chromium-н хоёр дахь суулгалт тул таны өгөгдмөл хөтчөөр сонгох боломжгүй.</translation> <translation id="7979877361127045932">Chromium цэсэнд нуух</translation> @@ -232,6 +236,7 @@ <translation id="8417404458978023919">{0,plural, =1{Chromium-г 1 хоногийн дотор дахин ажиллуулна уу}other{Chromium-г # хоногийн дотор дахин ажиллуулна уу}}</translation> <translation id="8453117565092476964">Суулгагчийн архив устгагдсан эсвэл хүчингүй болсон байна. Chromium-ыг дахин татаж авна уу.</translation> <translation id="8493179195440786826">Chromium нь хуучирсан байна</translation> +<translation id="8550334526674375523">Энэ ажлын профайл нь таны хувийн профайлаас бүрэн тусдаа байна.</translation> <translation id="8558383651099478961">Таны эцэг эх Chromium-н "Сайтууд, аппууд болон өргөтгөлүүдийн зөвшөөрөл"-ийг унтраасан байна. Энэ <ph name="EXTENSION_TYPE_PARAMETER" />-г нэмэхийг зөвшөөрдөггүй.</translation> <translation id="8568283329061645092">Chromium нь таныг Google Бүртгэлээрээ нэвтрэх үед таны нууц үгсийг шалгах боломжтой</translation> <translation id="8586442755830160949">Chromium-ийн зохиогчийн эрх <ph name="YEAR" />. Бүх эрхийг хуулиар хамгаалсан.</translation> @@ -248,6 +253,7 @@ <translation id="8907580949721785412">Chromium нь нууц үгийг харуулахыг оролдож байна. Үүнийг зөвшөөрөхөөр бол Windows нууц үгээ бичнэ үү.</translation> <translation id="8941642502866065432">Chromium-г шинэчилж чадсангүй</translation> <translation id="8974095189086268230">Chromium OS-ыг нэмэлт <ph name="BEGIN_LINK_CROS_OSS" /> нээлттэй эхийн программ хангамжаар <ph name="END_LINK_CROS_OSS" /> боломжтой болгосон байна.</translation> +<translation id="8986207147630327271">Та энэ хөтчид ажлын профайл нэмж байгаа бөгөөд администратордоо зөвхөн ажлын профайлын хяналтыг өгч байна.</translation> <translation id="9019929317751753759">Chromium-г илүү аюулгүй болгохын тулд <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> жагсаалтанд байхгүй, танд мэдэгдэлгүйгээр нэмэгдсэн байж болох дараах өргөтгөлийг идэвхгүй болголоо.</translation> <translation id="9089354809943900324">Chromium хуучирсан байна</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium-г 1 цагийн дотор дахин ажиллуулна}other{Chromium-г # цагийн дотор дахин ажиллуулна}}</translation> @@ -255,6 +261,7 @@ <translation id="911206726377975832">Хайлтын мэдээллээ бас устгамаар байна уу?</translation> <translation id="9158494823179993217">Таны системийн админ Chromium-г<ph name="TARGET_URL_HOSTNAME" />-д хандахын тулд өөр хөтөч нээхээр тохируулсан байна.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium үйлдлийн систем</translation> <translation id="93478295209880648">Windows XP болон Windows Vista нь цаашид Chromium-г дэмжихгүй тул буруу ажиллаж болзошгүй</translation> <translation id="95514773681268843"><ph name="DOMAIN" />-аас танаас энэ төхөөрөмжийг ашиглахаасаа өмнө дараах үйлчилгээний нөхцлийг уншиж, хүлээн зөвшөөрсөн байхыг шаардаж байна. Эдгээр нөхцлүүд нь Google Chrome OS нөхцлүүдийг өргөтгөж, өөрчилж бас хязгаарлахгүй.</translation> <translation id="965162752251293939">Chromium-г хэн ашиглаж байна вэ?</translation>
diff --git a/chrome/app/resources/chromium_strings_ms.xtb b/chrome/app/resources/chromium_strings_ms.xtb index 8c7c99a8..3680c2f 100644 --- a/chrome/app/resources/chromium_strings_ms.xtb +++ b/chrome/app/resources/chromium_strings_ms.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">OS Chromium tidak dapat menyegerakkan data anda kerana butiran log masuk akaun anda sudah lapuk.</translation> <translation id="2560420686485554789">Chromium memerlukan akses storan untuk memuat turun fail</translation> <translation id="2572494885440352020">Pembantu Chromium</translation> +<translation id="2583187216237139145">Sebarang data Chromium yang dijana semasa penggunaan profil ini (seperti pembuatan penanda halaman, sejarah, kata laluan dan tetapan lain) boleh dialih keluar oleh pentadbir profil kerja. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Chromium OS perlu dimulakan semula untuk melaksanakan kemas kini.</translation> <translation id="2615699638672665509">Komputer ini akan berhenti menerima kemas kini Chromium kerana perkakasan komputer ini tidak lagi disokong.</translation> <translation id="2648074677641340862">Ralat sistem pengendalian berlaku semasa pemasangan. Sila muat turun Chromium semula.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Terdapat versi baharu Chromium yang lebih pantas daripada biasa tersedia.</translation> <translation id="6063093106622310249">&Buka dalam Chromium</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> telah ditambahkan pada Chromium</translation> +<translation id="608006075545470555">Tambahkan Profil Kerja pada penyemak imbas ini</translation> <translation id="608189560609172163">Chromium tidak dapat menyegerakkan data anda disebabkan ralat melog masuk.</translation> <translation id="6096348254544841612">Sesuaikan dan kawal Chromium. Kemas kini tersedia.</translation> <translation id="6120345080069858279">Chromium akan menyimpan kata laluan ini dalam Akaun Google anda. Anda tidak perlu mengingati kata laluan tersebut.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium merupakan penyemak imbas yang mengendalikan laman web dan aplikasi dengan kelajuan sepantas kilat. Chromium cepat, stabil dan mudah digunakan. Semak imbas web lebih selamat dengan perlindungan perisian hasad dan pancingan data terbina dalam Chromium.</translation> <translation id="6434250628340475518">Sistem OS Chromium</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium akan dimulakan semula dalam 1 saat}other{Chromium akan dimulakan semula dalam # saat}}</translation> +<translation id="6464340581899189425">Jika anda mempunyai berbilang Akaun Google, anda boleh menambahkan akaun tersebut pada <ph name="DEVICE_TYPE" /> anda. Akaun anda akan tersedia dalam penyemak imbas Chromium dan Gedung Play, serta perkhidmatan seperti Gmail, Drive dan YouTube.<ph name="LINK_BEGIN" />Ketahui lebih lanjut<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Sambungan turut mengawal halaman yang ditunjukkan apabila anda memulakan Chromium.</translation> <translation id="6510925080656968729">Nyahpasang Chromium</translation> <translation id="6570579332384693436">Untuk membetulkan kesilapan ejaan, Chromium menghantar teks yang anda taip dalam medan teks kepada Google</translation> @@ -220,6 +223,7 @@ <translation id="7857220146454061152">Untuk mendapatkan kemaskinian Chromium yang akan datang, anda memerlukan OS X 10.11 atau yang lebih baharu. Komputer ini menggunakan OS X 10.10.</translation> <translation id="7867198900892795913">Chromium tidak dapat mengemas kini kepada versi terkini, maka anda terlepas ciri baharu dan penyelesaian keselamatan.</translation> <translation id="7898472181347242998">Untuk melihat sama ada peranti anda telah dikemas kini, pergi ke <ph name="LINK_BEGIN" />Tetapan OS Chromium<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">OS Chromium tidak dimatikan dengan betul.</translation> <translation id="7937630085815544518">Anda telah log masuk ke Chromium sebagai <ph name="USER_EMAIL_ADDRESS" />. Sila gunakan akaun yang sama untuk log masuk lagi.</translation> <translation id="7975919845073681630">Ini adalah pemasangan kedua Chromium dan tidak boleh dijadikan penyemak imbas lalai anda.</translation> <translation id="7979877361127045932">Sembunyikan dalam menu Chromium</translation> @@ -234,6 +238,7 @@ <translation id="8417404458978023919">{0,plural, =1{Lancarkan semula Chromium dalam masa sehari}other{Lancarkan semula Chromium dalam masa # hari}}</translation> <translation id="8453117565092476964">Arkib pemasang rosak atau tidak sah. Sila muat turun Chromium sekali lagi.</translation> <translation id="8493179195440786826">Chromium sudah usang</translation> +<translation id="8550334526674375523">Profil kerja ini terpisah sepenuhnya daripada profil peribadi anda.</translation> <translation id="8558383651099478961">Ibu/bapa anda telah mematikan "Kebenaran untuk tapak web, apl dan sambungan" untuk Chromium. Tindakan menambah <ph name="EXTENSION_TYPE_PARAMETER" /> ini tidak dibenarkan.</translation> <translation id="8568283329061645092">Chromium boleh menyemak kata laluan anda apabila anda log masuk menggunakan Akaun Google anda</translation> <translation id="8586442755830160949">Hak Cipta <ph name="YEAR" /> Pengarang Chromium. Hak cipta terpelihara.</translation> @@ -250,6 +255,7 @@ <translation id="8907580949721785412">Chromium cuba menunjukkan kata laluan. Taip kata laluan Windows anda untuk membenarkannya.</translation> <translation id="8941642502866065432">Tidak dapat mengemas kini Chromium</translation> <translation id="8974095189086268230">Chromium OS berjaya dilaksanakan dengan adanya <ph name="BEGIN_LINK_CROS_OSS" />perisian sumber terbuka<ph name="END_LINK_CROS_OSS" /> tambahan.</translation> +<translation id="8986207147630327271">Anda menambahkan profil kerja pada penyemak imbas ini dan memberi pentadbir anda kawalan terhadap profil kerja sahaja.</translation> <translation id="9019929317751753759">Untuk menjadikan Chromium lebih selamat, kami melumpuhkan sambungan berikut yang tidak disenaraikan dalam <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> dan mungkin telah ditambahkan tanpa pengetahuan anda.</translation> <translation id="9089354809943900324">Chromium sudah usang</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium akan dilancarkan semula dalam masa sejam}other{Chromium akan dilancarkan semula dalam masa # jam}}</translation> @@ -257,6 +263,7 @@ <translation id="911206726377975832">Padamkan juga data menyemak imbas anda?</translation> <translation id="9158494823179993217">Pentadbir sistem anda telah mengkonfigurasikan Chromium agar membuka penyemak imbas alternatif untuk mengakses <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Sistem OS Chromium</translation> <translation id="93478295209880648">Chromium mungkin tidak akan berfungsi dengan betul kerana tidak lagi disokong pada Windows XP atau Windows Vista</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> menghendaki anda membaca dan menerima Syarat Perkhidmatan berikut sebelum menggunakan peranti ini. Syarat ini tidak meluaskan, mengubah suai atau mengehadkan Syarat OS Chromium.</translation> <translation id="965162752251293939">Siapakah yang sedang menggunakan Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_my.xtb b/chrome/app/resources/chromium_strings_my.xtb index ded1d4c..7089f971 100644 --- a/chrome/app/resources/chromium_strings_my.xtb +++ b/chrome/app/resources/chromium_strings_my.xtb
@@ -43,6 +43,7 @@ <translation id="2535480412977113886">သင်၏ အကောင့် လက်မှတ်ထိုး ဝင်ရေး အသေးစိတ်များမှာ ဟောင်းသွားကြပြီ ဖြစ်၍ Chromium OS သည် သင်၏ ဒေတာကို စင့်က် လုပ်မပေးနိုင်ခဲ့ပါ။</translation> <translation id="2560420686485554789">ဖိုင်များကို ဒေါင်းလုဒ်လုပ်ရန်အတွက် Chromium သည် သိုလှောင်ခန်းကို သုံးခွင့်ရရန် လိုအပ်သည်</translation> <translation id="2572494885440352020">Chromium ကူညီပေးသူ</translation> +<translation id="2583187216237139145">ဤပရိုဖိုင်အသုံးပြုစဉ်အတွင်း ရရှိလာသော Chromium ဒေတာမှန်သမျှ (လိပ်စာများ၊ မှတ်တမ်း၊ စကားဝှက်နှင့် အခြားဆက်တင်များပြုလုပ်ခြင်း ကဲ့သို့) ကို အလုပ်ပရိုဖိုင် စီမံခန့်ခွဲသူက ဖယ်ရှားနိုင်သည်။ <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">မွမ်းမံသည့်အဆင့် ပြီးဆုံးရန်အတွက် Chromium အိုအက်စ် (OS) ကို ပြန်စရန် လိုပါမည်။</translation> <translation id="2615699638672665509">ဤကွန်ပျူတာသည် မကြာခင်တွင် Chromium မှအဆင့်မြှင့်မှုများကို လက်ခံရရှိခြင်းမှ ရပ်စဲတော့မည်ဖြစ်သည် အကြောင်းမှာ ၎င်း၏ စက်ပစ္စည်းသည် မထောက်ပံ့တော့သောကြောင့် ဖြစ်သည်။</translation> <translation id="2648074677641340862">တပ်ဆင်နေခိုက်မှာ လည်ပတ်မှု စနစ်ဆိုင်ရာ အမှား ကြုံခဲ့ရသည်။ ကျေးဇူးပြုပြီး Chromium ထပ်ပြီး ဒေါင်းလုဒ် လုပ်ယူပါ။</translation> @@ -145,6 +146,7 @@ <translation id="6055895534982063517">Chromium ဗားရှင်း အသစ် ရရှိနိုင်ရာ မကြုံစဖူး မြန်လှပါသည်။</translation> <translation id="6063093106622310249">&Chromium တွင် ဖွင့်ရန်</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> ကို Chromium သို့ ထည့်ပြီးပါပြီ</translation> +<translation id="608006075545470555">ဤဘရောင်ဇာတွင် အလုပ်ပရိုဖိုင်ထည့်ခြင်း</translation> <translation id="608189560609172163">Chromium သည် ဝင်ရောက်မှု ပြဿနာကြောင့် သင့်ဒေတာကို စင့်ခ်မလုပ်နိုင်ပါ။</translation> <translation id="6096348254544841612">Chromium ကို စိတ်ကြိုက်လုပ်ပြီး ထိန်းချုပ်ပါ။ အပ်ဒိတ် ရရှိပါပြီ။</translation> <translation id="6120345080069858279">Chromium သည် ဤစကားဝှက်ကို သင်၏ Google အကောင့်သို့ သိမ်းဆည်းသွားပါမည်။ သင်၎င်းကို မှတ်ထားစရာမလိုပါ။</translation> @@ -165,6 +167,7 @@ <translation id="6403826409255603130">Chromium သည် ဝဘ်စာမျက်နှာများနှင့် အပလီကေးရှင်းများကို မိုးကြိုးအမြန်နှုန်းဖြင့် ဖွင့်ပေးသည့် ဘရောင်ဇာဖြစ်ပါသည်။ ၎င်းသည် မြန်သည်၊ ငြိမ်သည်၊ ပြီးလျှင် အသုံးပြုရ လွယ်ကူပါသည်။ မူရင်းပါဝင်သည့် မဲလ်ဝဲ နှင့် ဖြားယောင်းခြင်း ပါဝင်သည့် Chromium ဖြင့် ဝဘ်ကို လုံခြုံစွာ အသုံးပြုပါ။</translation> <translation id="6434250628340475518">Chromium OS စနစ်</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium သည် ၁ စက္ကန့်အတွင်း ပြန်လည်စတင်ပါမည်}other{Chromium သည် # စက္ကန့်အတွင်း ပြန်လည်စတင်ပါမည်}}</translation> +<translation id="6464340581899189425">သင့်တွင် Google Account အများအပြားရှိလျှင် ၎င်းတို့ကို သင်၏ <ph name="DEVICE_TYPE" /> သို့ ထည့်နိုင်သည်။ သင့်အကောင့်များကို Chromium ဘရောင်ဇာနှင့် Play Store အပြင် Gmail၊ Drive နှင့် YouTube ကဲ့သို့ ဝန်ဆောင်မှုများတွင် အသုံးပြုနိုင်သည်။<ph name="LINK_BEGIN" />ပိုမိုလေ့လာရန်<ph name="LINK_END" /></translation> <translation id="6475912303565314141">၎င်းသည် Chromium စချိန်မှာ ဘယ် စာမျက်နှာ ပြရမည်ကိုပါ ထိန်းချုပ်သည်။</translation> <translation id="6510925080656968729">Chromium ဖြုတ်ရန်</translation> <translation id="6570579332384693436">စာလုံးပေါင်း အမှားများကို ပြင်ဆင်ရန် Chromium သည် သင်စာသားအကွက်ထဲတွင် ရိုက်လိုက်သည့် စာလုံးကို Google သို့ ပို့သည်</translation> @@ -224,6 +227,7 @@ <translation id="7857220146454061152">Chromium အနာဂတ်အပ်ဒိတ်များ ရယူရန် OS X 10.11 နှင့်အထက် လိုအပ်ပါမည်။ ဤကွန်ပျူတာက OS X 10.10 အသုံးပြုနေသည်။</translation> <translation id="7867198900892795913">Chromium ကို နောက်ဆုံးဗားရှင်းသို့ အပ်ဒိတ်လုပ်၍မရသောကြောင့် ဝန်ဆောင်မှုအသစ်များနှင့် လုံခြုံရေး ပြင်ဆင်မွမ်းမံချက်များကို သင်ရရှိမည် မဟုတ်ပါ။</translation> <translation id="7898472181347242998">သင်၏စက် အပ်ဒိတ်ဖြစ်မဖြစ် ကြည့်ရန် <ph name="LINK_BEGIN" />Chromium OS ဆက်တင်များ<ph name="LINK_END" /> သို့သွားပါ</translation> +<translation id="7907774600618164274">Chromium OS ကို မှန်ကန်စွာ ပိတ်မထားပါ။</translation> <translation id="7937630085815544518">Chromium သို့ <ph name="USER_EMAIL_ADDRESS" /> အဖြစ်သင် ဝင်ရောက်ခဲ့သည်။ ကျေးဇူးပြု၍ တူညီသည့်အကောင့်ကို အသုံးပြုကာ ထပ်မံဝင်ရောက်ပါ။</translation> <translation id="7975919845073681630">ဤသည်မှာ Chromium ကို အရန်သဘော ထည့်သွင်းခြင်းဖြစ်ပြီး သင်၏မူရင်းဘရောင်ဇာအဖြစ် ၎င်းကို အသုံးပြု၍မရနိုင်ပါ။</translation> <translation id="7979877361127045932">Chromium မီနူးတွင် သိမ်းထားရန်</translation> @@ -238,6 +242,7 @@ <translation id="8417404458978023919">{0,plural, =1{Chromium ကို တစ်ရက်အတွင်း ပြန်လည်စတင်ပါ}other{Chromium ကို # ရက်အတွင်း ပြန်လည်စတင်ပါ}}</translation> <translation id="8453117565092476964">ထည့်သွင်းရာတွင် အသုံးပြုသည့် ချုံ့ထားသောဖိုင်မှတ်တမ်း ပျက်စီးနေသည် သို့မဟုတ် တရားမဝင်ပါ။ ကျေးဇူး၍ Chromium ကို ထပ်ပြီး ဒေါင်းလုဒ် လုပ်ယူပါ။</translation> <translation id="8493179195440786826">Chromium မှာ ဟောင်းသွားပြီ</translation> +<translation id="8550334526674375523">ဤအလုပ်ပရိုဖိုင်ကို သင်၏ကိုယ်ပိုင်ပရိုဖိုင်မှ လုံးဝခွဲထုတ်ထားသည်။</translation> <translation id="8558383651099478961">Chromium အတွက် "ဝဘ်ဆိုက်၊ အက်ပ်နှင့် နောက်ဆက်တွဲ ခွင့်ပြုချက်များ" ကို သင့်မိဘက ပိတ်လိုက်သည်။ ဤ <ph name="EXTENSION_TYPE_PARAMETER" /> ထည့်ခြင်းကို ခွင့်မပြုပါ။</translation> <translation id="8568283329061645092">သင်၏ Google Account နှင့် လက်မှတ်ထိုးဝင်သည့်အခါ Chromium က သင့်စကားဝှက်များကို စစ်ဆေးနိုင်သည်</translation> <translation id="8586442755830160949">မူပိုင်ခွင့် <ph name="YEAR" /> The Chromium ပြုစုသူများ။ မူပိုင်ခွင့်များ အားလုံးကို ချုပ်ထိန်းထားသည်။</translation> @@ -254,6 +259,7 @@ <translation id="8907580949721785412">Chromium သည် စကားဝှက်ကို ပြပေးရန် ကြိုးစာနေသည်။ ၎င်းကို ခွင့်ပြုရန် သင်၏ Windows စကားဝှက်ကို ရိုက်ထည့်ပါ။</translation> <translation id="8941642502866065432">Chromium ကို အပ်ဒိတ်လုပ်၍ မရခြင်း</translation> <translation id="8974095189086268230">Chromium OS ကို ထပ်ဖြည့်ပေးခဲ့သည့် <ph name="BEGIN_LINK_CROS_OSS" />အခမဲ့ ရင်းမြစ် ဆော့ဝဲ<ph name="END_LINK_CROS_OSS" />များဖြင့် အားဖြည့်ပေးထားသည်။</translation> +<translation id="8986207147630327271">သင်သည် ဤဘရောင်ဇာတွင် အလုပ်ပရိုဖိုင်ကိုထည့်နေပြီး သင့်စီမံခန့်ခွဲသူကို အလုပ်ပရိုဖိုင်အတွက်သာ ထိန်းချုပ်ခွင့်ပေးနေခြင်း ဖြစ်ပါသည်။</translation> <translation id="9019929317751753759">Chromium ပိုပြီး လုံခြုံမှုရှိစေရန်၊ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> တွင် စာရင်းဝင်ထားခြင်း မရှိသည့်အပြင် သင့်အား အသိမပေးဘဲ ထည့်ထားပုံရသည့် အောက်ပါ တိုးချဲ့လိုင်းအား ပိတ်ထားခဲ့၏။</translation> <translation id="9089354809943900324">Chromium မှာ ဟောင်းသွားပြီ</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium ကို ၁ နာရီအကြာတွင် ပြန်လည်စတင်ပါမည်}other{Chromium ကို # နာရီအကြာတွင် ပြန်လည်စတင်ပါမည်}}</translation> @@ -261,6 +267,7 @@ <translation id="911206726377975832">သင့်အသုံးပြုမှု ဒေတာအားလဲ ဖျက်မည်လား?</translation> <translation id="9158494823179993217">စနစ်စီမံခန့်ခွဲသူသည် <ph name="TARGET_URL_HOSTNAME" /> ဖွင့်ကြည့်ရန်အတွက် အစားထိုးဘရောင်ဇာ အသုံးပြုရန် Chromium ကို စီစဉ်သတ်မှတ်ထားသည်။</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Chromium OS စနစ်</translation> <translation id="93478295209880648">Windows XP သို့မဟုတ် Windows Vista တွင် မပံ့ပိုးတော့သောကြောင့် Chromium လုပ်ဆောင်မှု မှန်ကန်ချင်မှ မှန်ကန်မည်</translation> <translation id="95514773681268843"><ph name="DOMAIN" />က သင့်အနေနှင့် ဒီကိရိယာကို မသုံးမီ အောက်ပါ ဝန်ဆောင်မှု စည်းကမ်းချက်များကို ဖတ်ရှုပြီး လက်ခံမှာကို တောင်းဆိုပါသည်။ ဒီစည်းကမ်းချက်များမှာ Chromium OS စည်းကမ်းချက်များကို တိုးချဲ့ခြင်း၊ မွမ်းမံခြင်း သို့မဟုတ် ကန့်သတ်ခြင်း မရှိနိုင်ပါ။</translation> <translation id="965162752251293939">Chromium ကို မည်သူသုံးနေသလဲ။</translation>
diff --git a/chrome/app/resources/chromium_strings_no.xtb b/chrome/app/resources/chromium_strings_no.xtb index b5685d5..b1199de 100644 --- a/chrome/app/resources/chromium_strings_no.xtb +++ b/chrome/app/resources/chromium_strings_no.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">Chromium kunne ikke synkronisere dataene fordi påloggingsopplysningene dine er foreldede.</translation> <translation id="2560420686485554789">Chromium må ha lagringstilgang for å laste ned filer</translation> <translation id="2572494885440352020">Chromium-hjelper</translation> +<translation id="2583187216237139145">Alle Chromium-data som genereres mens denne profilen brukes (f.eks. oppretting av bokmerker, logg, passord og andre innstillinger), kan fjernes av administratoren for jobbprofilen. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Chromium OS må startes på nytt for at oppdateringen skal tas i bruk.</translation> <translation id="2615699638672665509">Denne datamaskinen slutter snart å motta Chromium-oppdateringer. Dette skjer fordi maskinvaren ikke støttes lenger.</translation> <translation id="2648074677641340862">Det oppsto en systemfeil under installering. Last ned Chromium på nytt.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">En nyere versjon av Chromium er tilgjengelig, og den er raskere enn noen gang.</translation> <translation id="6063093106622310249">&Åpne i Chromium</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> er lagt til i Chromium</translation> +<translation id="608006075545470555">Legg til en jobbprofil i denne nettleseren</translation> <translation id="608189560609172163">Chromium kunne ikke synkronisere dataene dine på grunn av en feil under påloggingen.</translation> <translation id="6096348254544841612">Tilpass og kontrollér Chromium. Oppdatering er tilgjengelig.</translation> <translation id="6120345080069858279">Chromium lagrer dette passordet i Google-kontoen din, så du trenger ikke å huske det.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium er en nettleser som kjører nettsider og programmer i lynets hastighet. Den er rask, stabil og enkel å bruke. Surf på nettet på en tryggere måte med Chromium, som har innebygd beskyttelse mot skadelig programvare og nettfisking.</translation> <translation id="6434250628340475518">Chromium OS</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium startes på nytt om 1 sekund}other{Chromium startes på nytt om # sekunder}}</translation> +<translation id="6464340581899189425">Hvis du har flere Google-kontoer, kan du legge dem til på <ph name="DEVICE_TYPE" />. Kontoene dine blir tilgjengelige i Chromium-nettleseren, Play-butikken og tjenester som Gmail, Disk og YouTube.<ph name="LINK_BEGIN" />Finn ut mer<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Den styrer også hvilken side som vises når du starter Chromium.</translation> <translation id="6510925080656968729">Avinstaller Chromium</translation> <translation id="6570579332384693436">For å rette opp i skrivefeil sender Chromium sender tekst du skriver i tekstfelt, til Google</translation> @@ -220,6 +223,7 @@ <translation id="7857220146454061152">For å få fremtidige Chromium-oppdateringer trenger du OS X 10.11 eller nyere. Denne datamaskinen bruker OS X 10.10.</translation> <translation id="7867198900892795913">Chromium kunne ikke oppdateres til den nyeste versjonen, så du går glipp av nye funksjoner og sikkerhetsforbedringer.</translation> <translation id="7898472181347242998">For å se om enheten er oppdatert, gå til <ph name="LINK_BEGIN" />Innstillinger for Chromium OS<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS ble ikke avsluttet på riktig måte.</translation> <translation id="7937630085815544518">Du ble logget på Chromium som <ph name="USER_EMAIL_ADDRESS" />. Du må logge deg på igjen med samme konto.</translation> <translation id="7975919845073681630">Dette er en sekundær installering av Chromium. Den kan ikke brukes som standardnettleser.</translation> <translation id="7979877361127045932">Skjul i Chromium-menyen</translation> @@ -234,6 +238,7 @@ <translation id="8417404458978023919">{0,plural, =1{Start Chromium på nytt innen én dag}other{Start Chromium på nytt innen # dager}}</translation> <translation id="8453117565092476964">Installasjonsarkivet er skadet eller ugyldig. Last ned Chromium på nytt.</translation> <translation id="8493179195440786826">Chromium er utdatert</translation> +<translation id="8550334526674375523">Denne jobbprofilen er helt separat fra den personlige profilen din.</translation> <translation id="8558383651099478961">Forelderen din har slått av «Tillatelser for nettsteder, apper og utvidelser» for Chromium. Du har ikke tillatelse til å legge til denne <ph name="EXTENSION_TYPE_PARAMETER" />.</translation> <translation id="8568283329061645092">Chromium kan sjekke passordene dine når du logger på med Google-kontoen din</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> – The Chromium Authors. Med enerett.</translation> @@ -250,6 +255,7 @@ <translation id="8907580949721785412">Chromium forsøker å vise passord. Skriv inn Windows-passordet ditt for å tillate dette.</translation> <translation id="8941642502866065432">Kan ikke oppdatere Chromium</translation> <translation id="8974095189086268230">Chromium OS er gjort mulig av ytterligere <ph name="BEGIN_LINK_CROS_OSS" />åpen kilde-programvare<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Du er i ferd med å legge til en jobbprofil i denne nettleseren og gi administratoren din kontroll over kun jobbprofilen.</translation> <translation id="9019929317751753759">For å gjøre Chromium tryggere har vi slått av følgende utvidelse som ikke finnes i <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />, og som kan ha blitt lagt til uten at du vet det.</translation> <translation id="9089354809943900324">Chromium er utdatert</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium startes på nytt om en time}other{Chromium startes på nytt om # timer}}</translation> @@ -257,6 +263,7 @@ <translation id="911206726377975832">Vil du slette all nettleserdata også?</translation> <translation id="9158494823179993217">Systemadministratoren din har konfigurert Chromium til å åpne en annen nettleser når du går til <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-Inn)</translation> +<translation id="9214764063801632699">Chromium OS-systemet</translation> <translation id="93478295209880648">Chromium fungerer kanskje ikke riktig fordi den ikke lenger støttes på Windows XP eller Windows Vista</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> krever at du leser og godtar følgende vilkår før du bruker denne enheten. Disse vilkårene utvider, endrer eller begrenser ikke Chromium OS-vilkårene.</translation> <translation id="965162752251293939">Hvem bruker Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-PT.xtb b/chrome/app/resources/chromium_strings_pt-PT.xtb index b436d12..b97ed84 100644 --- a/chrome/app/resources/chromium_strings_pt-PT.xtb +++ b/chrome/app/resources/chromium_strings_pt-PT.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">O SO Chromium não conseguiu sincronizar os dados porque os detalhes de início de sessão da sua conta estão desatualizados.</translation> <translation id="2560420686485554789">O Chromium necessita de acesso ao armazenamento para transferir ficheiros.</translation> <translation id="2572494885440352020">Ajuda do Chromium</translation> +<translation id="2583187216237139145">Os dados do Chromium gerados durante a utilização deste perfil (como a criação de marcadores, histórico, palavras-passe e outras definições) podem ser removidos pelo administrador do perfil de trabalho. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">O SO Chromium tem de ser reiniciado para aplicar a atualização.</translation> <translation id="2615699638672665509">Este computador deixará de receber em breve atualizações do Chromium porque o seu hardware já não é suportado.</translation> <translation id="2648074677641340862">Ocorreu um erro no sistema operativo durante a instalação. Descarregue novamente o Chromium.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Está disponível uma nova versão do Chromium, mais rápida do que nunca.</translation> <translation id="6063093106622310249">&Abrir no Chromium</translation> <translation id="6072279588547424923">A extensão <ph name="EXTENSION_NAME" /> foi adicionada ao Chromium.</translation> +<translation id="608006075545470555">Adicione um perfil de trabalho a este navegador</translation> <translation id="608189560609172163">O Chromium não conseguiu sincronizar os dados devido a um erro de início de sessão.</translation> <translation id="6096348254544841612">Personalize e controle o Chromium. Está disponível uma atualização.</translation> <translation id="6120345080069858279">O Chromium vai guardar esta palavra-passe na sua Conta Google. Não tem de a memorizar.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">O Chromium é um navegador de internet que executa páginas Web e aplicações à velocidade da luz. É rápido, estável e fácil de utilizar. Navegue na Web com mais segurança, com proteção contra programas maliciosos e phishing integrada no Chromium.</translation> <translation id="6434250628340475518">Sistema Chromium OS</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{O Chromium será reiniciado dentro de 1 segundo}other{O Chromium será reiniciado dentro de # segundos}}</translation> +<translation id="6464340581899189425">Se tiver várias Contas Google, pode adicioná-las ao dispositivo <ph name="DEVICE_TYPE" />. As suas contas estarão disponíveis no navegador Chromium e na Play Store, bem como em serviços como o Gmail, o Drive e o YouTube.<ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" />.</translation> <translation id="6475912303565314141">Também controla a página apresentada quando inicia o Chromium.</translation> <translation id="6510925080656968729">Desinstalar o Chromium</translation> <translation id="6570579332384693436">Para corrigir erros ortográficos, o Chromium envia o texto que introduzir nos campos de texto para a Google.</translation> @@ -220,6 +223,7 @@ <translation id="7857220146454061152">Para obter atualizações futuras do Chromium, precisa do OS X 10.11 ou posterior. Este computador está a utilizar o OS X 10.10.</translation> <translation id="7867198900892795913">Não foi possível atualizar o Chromium para a versão mais recente, pelo que não está a beneficiar das novas funcionalidades e correções de segurança.</translation> <translation id="7898472181347242998">Para ver se o seu dispositivo está atualizado, aceda às <ph name="LINK_BEGIN" />Definições do Chromium OS<ph name="LINK_END" />.</translation> +<translation id="7907774600618164274">O Chromium OS não foi corretamente encerrado.</translation> <translation id="7937630085815544518">Iniciou sessão no Chromium com a conta <ph name="USER_EMAIL_ADDRESS" />. Utilize a mesma conta para iniciar sessão novamente.</translation> <translation id="7975919845073681630">Esta é uma instalação secundária do Chromium, pelo que não pode tornar-se o navegador predefinido.</translation> <translation id="7979877361127045932">Ocultar no menu do Chromium</translation> @@ -234,6 +238,7 @@ <translation id="8417404458978023919">{0,plural, =1{Reinicie o Chromium dentro de um dia}other{Reinicie o Chromium dentro de # dias}}</translation> <translation id="8453117565092476964">O arquivo do programa de instalação está corrompido ou não é válido. Descarregue novamente o Chromium.</translation> <translation id="8493179195440786826">O Chromium Está Desatualizado</translation> +<translation id="8550334526674375523">Este perfil de trabalho está completamente separado do seu perfil pessoal.</translation> <translation id="8558383651099478961">O teu pai/mãe desativou as "Autorizações para sites, apps e extensões" para o Chromium. Não é permitido adicionar esta <ph name="EXTENSION_TYPE_PARAMETER" />.</translation> <translation id="8568283329061645092">O Chromium pode verificar as suas palavras-passe quando inicia sessão com a sua Conta Google.</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Os autores do Chromium. Todos os direitos reservados.</translation> @@ -250,6 +255,7 @@ <translation id="8907580949721785412">O Chromium está a tentar mostrar palavras-passe. Escreva a sua palavra-passe do Windows para permitir esta ação.</translation> <translation id="8941642502866065432">Não é possível atualizar o Chromium.</translation> <translation id="8974095189086268230">O lançamento do SO Chromium foi possível devido a <ph name="BEGIN_LINK_CROS_OSS" />software de código aberto<ph name="END_LINK_CROS_OSS" /> adicional.</translation> +<translation id="8986207147630327271">Está a adicionar um perfil de trabalho a este navegador e a conceder ao seu administrador controlo apenas sobre o perfil de trabalho.</translation> <translation id="9019929317751753759">Para tornar o Chromium mais seguro, desativámos a seguinte extensão, que não está listada na <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />, e é possível que tenha sido adicionada sem o seu conhecimento.</translation> <translation id="9089354809943900324">O Chromium está desatualizado</translation> <translation id="9093206154853821181">{0,plural, =1{O Chromium será reiniciado dentro de uma hora}other{O Chromium será reiniciado dentro de # horas}}</translation> @@ -257,6 +263,7 @@ <translation id="911206726377975832">Eliminar também os seus dados de navegação?</translation> <translation id="9158494823179993217">O administrador do sistema configurou o Chromium para abrir um navegador alternativo, de modo a aceder a <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Sistema Chromium OS</translation> <translation id="93478295209880648">O Chromium pode não funcionar corretamente, uma vez que já não é suportado no Windows XP ou no Windows Vista.</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> obriga-o a ler e aceitar os seguintes Termos de Utilização antes de utilizar este dispositivo. Estes termos não ampliam, modificam nem limitam os Termos do SO Chromium.</translation> <translation id="965162752251293939">Quem está a utilizar o Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_ro.xtb b/chrome/app/resources/chromium_strings_ro.xtb index 8cc154b..c959cee 100644 --- a/chrome/app/resources/chromium_strings_ro.xtb +++ b/chrome/app/resources/chromium_strings_ro.xtb
@@ -40,6 +40,7 @@ <translation id="2535480412977113886">Sistemul de operare Chromium nu a putut sincroniza datele, deoarece detaliile de conectare pentru contul dvs. nu sunt actualizate.</translation> <translation id="2560420686485554789">Pentru a descărca fișiere, Chromium necesită acces la stocare</translation> <translation id="2572494885440352020">Chromium Helper</translation> +<translation id="2583187216237139145">Toate datele Chromium generate în timpul folosirii acestui profil (precum marcajele create, istoricul, parolele și alte setări) pot fi eliminate de administratorul profilului de serviciu. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Pentru a se aplica actualizarea, sistemul de operare Chromium trebuie să fie repornit.</translation> <translation id="2615699638672665509">În curând, acest computer nu va mai primi actualizări Chromium, deoarece hardware-ul său nu mai este acceptat.</translation> <translation id="2648074677641340862">S-a produs o eroare de sistem de operare în timpul instalării. Descărcați din nou Chromium.</translation> @@ -141,6 +142,7 @@ <translation id="6055895534982063517">Este disponibilă o nouă versiune Chromium, iar aceasta este mai rapidă ca oricând.</translation> <translation id="6063093106622310249">&Deschide în Chromium</translation> <translation id="6072279588547424923">Extensia <ph name="EXTENSION_NAME" /> a fost adăugată la Chromium</translation> +<translation id="608006075545470555">Adaugă un profil de serviciu în acest browser</translation> <translation id="608189560609172163">Chromium nu a putut sincroniza datele din cauza unei erori la conectare.</translation> <translation id="6096348254544841612">Personalizează și controlează Chromium. Este disponibilă o actualizare.</translation> <translation id="6120345080069858279">Chromium va salva parola în Contul tău Google. Nu va trebui să o reții.</translation> @@ -161,6 +163,7 @@ <translation id="6403826409255603130">Chromium este un browser web care rulează pagini web și aplicații cu viteza fulgerului. Este rapid, stabil și ușor de utilizat. Navigați pe web în condiții de mai multă siguranță, beneficiind de o protecție sporită, încorporată în Chromium, împotriva programelor malware și a tentativelor de phishing.</translation> <translation id="6434250628340475518">Sistemul de operare Chromium</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium va reporni într-o secundă}few{Chromium va reporni în # secunde}other{Chromium va reporni în # de secunde}}</translation> +<translation id="6464340581899189425">Dacă ai mai multe Conturi Google, le poți adăuga pe <ph name="DEVICE_TYPE" />. Conturile vor fi disponibile în browserul Chromium și în Magazinul Play și în servicii cum ar fi Gmail, Drive și YouTube.<ph name="LINK_BEGIN" />Află mai multe<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Stabilește și ce pagină se afișează când porniți Chromium.</translation> <translation id="6510925080656968729">Dezinstalați Chromium</translation> <translation id="6570579332384693436">Pentru a corecta erorile de scriere, Chromium trimite la Google textul pe care îl introduci în câmpurile de text</translation> @@ -220,6 +223,7 @@ <translation id="7857220146454061152">Pentru a primi actualizările Chromium viitoare, vei avea nevoie de OS X 10.11 sau o versiune ulterioară. Acest computer folosește OS X 10.10.</translation> <translation id="7867198900892795913">Chromium nu s-a putut actualiza la cea mai recentă versiune. Astfel, pierzi noi funcții și remedieri de securitate.</translation> <translation id="7898472181347242998">Pentru a verifica dacă dispozitivul este actualizat, accesează <ph name="LINK_BEGIN" />Setările sistemului de operare Chromium<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Sistemul de operare Chromium nu s-a închis corect.</translation> <translation id="7937630085815544518">Ați fost conectat(ă) la Chromium ca <ph name="USER_EMAIL_ADDRESS" />. Utilizați același cont pentru a vă conecta din nou.</translation> <translation id="7975919845073681630">Aceasta este o instalare secundară a browserului Chromium și nu poate fi setat ca browser prestabilit.</translation> <translation id="7979877361127045932">Ascunde în meniul Chromium</translation> @@ -234,6 +238,7 @@ <translation id="8417404458978023919">{0,plural, =1{Relansează Chromium în cel mult o zi}few{Relansează Chromium în cel mult # zile}other{Relansează Chromium în cel mult # de zile}}</translation> <translation id="8453117565092476964">Arhiva programului de instalare este deteriorată sau nevalidă. Descărcați din nou Chromium.</translation> <translation id="8493179195440786826">Chromium nu este actualizat</translation> +<translation id="8550334526674375523">Acest profil de serviciu este complet separat de profilul tău personal.</translation> <translation id="8558383651099478961">Părintele tău a dezactivat opțiunea „Permisiuni pentru site-uri, aplicații și extensii” în Chromium. Adăugarea acestei <ph name="EXTENSION_TYPE_PARAMETER" /> nu este permisă.</translation> <translation id="8568283329061645092">Chromium poate să îți verifice parolele atunci când te conectezi folosind Contul Google</translation> <translation id="8586442755830160949">Copyright <ph name="YEAR" /> The Chromium Authors. Toate drepturile rezervate.</translation> @@ -250,6 +255,7 @@ <translation id="8907580949721785412">Chromium încearcă să afișeze parolele. Pentru a permite acest lucru, introduceți parola pentru Windows.</translation> <translation id="8941642502866065432">Chromium nu se poate actualiza</translation> <translation id="8974095189086268230">La realizarea sistemului de operare Chromium au contribuit și alte programe <ph name="BEGIN_LINK_CROS_OSS" />software open source<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Adaugi un profil de serviciu în acest browser și îi acorzi administratorului permisiunea de a gestiona numai profilul de serviciu.</translation> <translation id="9019929317751753759">Pentru mai multă siguranță în Chromium, am dezactivat următoarea extensie care nu este inclusă în <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> și care este posibil să fi fost adăugată fără știrea ta.</translation> <translation id="9089354809943900324">Chromium nu este actualizat</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium se va relansa într-o oră}few{Chromium se va relansa în # ore}other{Chromium se va relansa în # de ore}}</translation> @@ -257,6 +263,7 @@ <translation id="911206726377975832">Ștergi și datele de navigare?</translation> <translation id="9158494823179993217">Administratorul de sistem a configurat Chromium să deschidă un browser secundar pentru a accesa <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Sistemul de operare Chromium</translation> <translation id="93478295209880648">Este posibil ca Chromium să nu funcționeze corespunzător, deoarece nu mai este acceptat pe Windows XP sau Windows Vista</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> necesită să citiți și să acceptați Termenii și condițiile următoare înainte de a utiliza acest dispozitiv. Acești termeni nu extind, nu modifică și nu limitează Termenii pentru sistemul de operare Chromium.</translation> <translation id="965162752251293939">Cine folosește Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_sr-Latn.xtb b/chrome/app/resources/chromium_strings_sr-Latn.xtb index eb12b8cc..cf6bcc0d 100644 --- a/chrome/app/resources/chromium_strings_sr-Latn.xtb +++ b/chrome/app/resources/chromium_strings_sr-Latn.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Chromium OS ne može da sinhronizuje podatke zato što su podaci za prijavljivanje na nalog zastareli.</translation> <translation id="2560420686485554789">Chromium traži pristup memorijskom prostoru da bi preuzimao datoteke</translation> <translation id="2572494885440352020">Chromium pomagač</translation> +<translation id="2583187216237139145">Administrator poslovnog profila može da ukloni sve podatke Chromium-a koji se generišu tokom korišćenja ovog profila (poput pravljenja obeleživača, istorije, lozinki i drugih podešavanja). <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Treba da restartujete Chromium OS da biste primenili ažuriranje.</translation> <translation id="2615699638672665509">Ovaj računar će uskoro prestati da prima ažuriranja za Chromium jer njegov hardver više nije podržan.</translation> <translation id="2648074677641340862">Tokom instalacije je došlo do greške u operativnom sistemu. Preuzmite Chromium ponovo.</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">Dostupna je nova verzija Chromium-a, brža nego ikada pre.</translation> <translation id="6063093106622310249">&Otvori u Chromium-u</translation> <translation id="6072279588547424923">Dodatak <ph name="EXTENSION_NAME" /> je dodat u Chromium</translation> +<translation id="608006075545470555">Dodajte poslovni profil u ovaj pregledač</translation> <translation id="608189560609172163">Chromium ne može da sinhronizuje podatke zbog greške pri prijavljivanju.</translation> <translation id="6096348254544841612">Prilagodite i kontrolišite Chromium. Dostupno je ažuriranje.</translation> <translation id="6120345080069858279">Chromium će sačuvati ovu lozinku na Google nalogu. Nećete morati da je pamtite.</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Chromium je veb pregledač koji pokreće veb-stranice i aplikacije munjevitom brzinom. Brz je, stabilan i jednostavan za korišćenje. Pregledajte Veb bezbednije sa zaštitom od malvera i „pecanja“ koja je ugrađena u Chromium.</translation> <translation id="6434250628340475518">Sistem Chromium OS</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium će se restartovati za 1 sekundu}one{Chromium će se restartovati za # sekundu}few{Chromium će se restartovati za # sekunde}other{Chromium će se restartovati za # sekundi}}</translation> +<translation id="6464340581899189425">Ako imate više Google naloga, možete da ih dodate na <ph name="DEVICE_TYPE" />. Nalozi će biti dostupni u pregledaču Chromium i Play prodavnici i u uslugama, kao što su Gmail, Disk i YouTube.<ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Kontroliše i stranicu koja se prikazuje kada pokrenete Chromium.</translation> <translation id="6510925080656968729">Deinstaliraj Chromium</translation> <translation id="6570579332384693436">Da bi ispravio pravopisne greške, Chromium šalje Google-ovim serverima tekst koji unosite u polja za tekst.</translation> @@ -222,6 +225,7 @@ <translation id="7857220146454061152">Da biste dobijali buduća Chromium ažuriranja, treba vam OS X 10.11 ili novija verzija. Ovaj računar koristi OS X 10.10.</translation> <translation id="7867198900892795913">Chromium nije uspeo da se ažurira na najnoviju verziju, pa propuštate nove funkcije i bezbednosne ispravke.</translation> <translation id="7898472181347242998">Da biste proverili da li je uređaj ažuriran, idite u <ph name="LINK_BEGIN" />Podešavanja Chromium OS-a<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium OS se nije ispravno zatvorio.</translation> <translation id="7937630085815544518">Bili ste prijavljeni na Chromium kao <ph name="USER_EMAIL_ADDRESS" />. Koristite isti nalog da biste se ponovo prijavili.</translation> <translation id="7975919845073681630">Ovo je sekundarna instalacija Chromium-a pa ne možete da ga podesite kao podrazumevani pregledač.</translation> <translation id="7979877361127045932">Sakrij u Chromium meniju</translation> @@ -236,6 +240,7 @@ <translation id="8417404458978023919">{0,plural, =1{Ponovo pokrenite Chromium za jedan dan}one{Ponovo pokrenite Chromium za # dan}few{Ponovo pokrenite Chromium za # dana}other{Ponovo pokrenite Chromium za # dana}}</translation> <translation id="8453117565092476964">Arhiva programa za instalaciju je oštećena ili nevažeća. Preuzmite Chromium ponovo.</translation> <translation id="8493179195440786826">Chromium je zastareo</translation> +<translation id="8550334526674375523">Ovaj poslovni profil je potpuno odvojen od ličnog profila.</translation> <translation id="8558383651099478961">Roditelj je isključio Dozvole za sajtove, aplikacije i dodatke za Chromium. Dodavanje ove stavke (<ph name="EXTENSION_TYPE_PARAMETER" />) nije dozvoljeno.</translation> <translation id="8568283329061645092">Chromium može da vam proverava lozinke kada se prijavite pomoću Google naloga</translation> <translation id="8586442755830160949">Autorska prava <ph name="YEAR" />. Autori Chromium-a. Sva prava zadržana.</translation> @@ -252,6 +257,7 @@ <translation id="8907580949721785412">Chromium pokušava da prikaže lozinke. Unesite lozinku za Windows da biste to omogućili.</translation> <translation id="8941642502866065432">Ne možete da ažurirate Chromium</translation> <translation id="8974095189086268230">Chromium OS omogućava dodatni <ph name="BEGIN_LINK_CROS_OSS" />softver otvorenog koda<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Dodajete poslovni profil u ovaj pregledač i dajete administratoru kontrolu samo nad ovim poslovnim profilom.</translation> <translation id="9019929317751753759">Da bismo učinili Chromium bezbednijim, onemogućili smo sledeći dodatak koji <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ne navodi i koji je možda dodat bez vašeg znanja.</translation> <translation id="9089354809943900324">Chromium je zastareo</translation> <translation id="9093206154853821181">{0,plural, =1{Ponovo ćemo pokrenuti Chromium za jedan sat}one{Ponovo ćemo pokrenuti Chromium za # sat}few{Ponovo ćemo pokrenuti Chromium za # sata}other{Ponovo ćemo pokrenuti Chromium za # sati}}</translation> @@ -259,6 +265,7 @@ <translation id="911206726377975832">Želite li da izbrišete i podatke pregledanja?</translation> <translation id="9158494823179993217">Administrator sistema je konfigurisao Chromium da otvara alternativni pregledač za pristup URL-u <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Sistem Chromium OS</translation> <translation id="93478295209880648">Chromium možda neće ispravno funkcionisati zato što više nije podržan na Windows XP-u ili Windows Vista-i</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> zahteva da pročitate i prihvatite sledeće Uslove korišćenja usluge pre nego što počnete da koristite ovaj uređaj. Ovi uslovi ne predstavljaju proširenje, izmenu ili ograničenje Uslova za Chromium OS.</translation> <translation id="965162752251293939">Ko koristi Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_sr.xtb b/chrome/app/resources/chromium_strings_sr.xtb index b61b8e9..a9861708 100644 --- a/chrome/app/resources/chromium_strings_sr.xtb +++ b/chrome/app/resources/chromium_strings_sr.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Chromium ОС не може да синхронизује податке зато што су подаци за пријављивање на налог застарели.</translation> <translation id="2560420686485554789">Chromium тражи приступ меморијском простору да би преузимао датотеке</translation> <translation id="2572494885440352020">Chromium помагач</translation> +<translation id="2583187216237139145">Администратор пословног профила може да уклони све податке Chromium-а који се генеришу током коришћења овог профила (попут прављења обележивача, историје, лозинки и других подешавања). <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Треба да рестартујете Chromium ОС да бисте применили ажурирање.</translation> <translation id="2615699638672665509">Овај рачунар ће ускоро престати да прима ажурирања за Chromium јер његов хардвер више није подржан.</translation> <translation id="2648074677641340862">Током инсталације је дошло до грешке у оперативном систему. Преузмите Chromium поново.</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">Доступна је нова верзија Chromium-а, бржа него икада пре.</translation> <translation id="6063093106622310249">&Отвори у Chromium-у</translation> <translation id="6072279588547424923">Додатак <ph name="EXTENSION_NAME" /> је додат у Chromium</translation> +<translation id="608006075545470555">Додајте пословни профил у овај прегледач</translation> <translation id="608189560609172163">Chromium не може да синхронизује податке због грешке при пријављивању.</translation> <translation id="6096348254544841612">Прилагодите и контролишите Chromium. Доступно је ажурирање.</translation> <translation id="6120345080069858279">Chromium ће сачувати ову лозинку на Google налогу. Нећете морати да је памтите.</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Chromium је веб прегледач који покреће веб-странице и апликације муњевитом брзином. Брз је, стабилан и једноставан за коришћење. Прегледајте Веб безбедније са заштитом од малвера и „пецања“ која је уграђена у Chromium.</translation> <translation id="6434250628340475518">Систем Chromium ОС</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium ће се рестартовати за 1 секунду}one{Chromium ће се рестартовати за # секунду}few{Chromium ће се рестартовати за # секунде}other{Chromium ће се рестартовати за # секунди}}</translation> +<translation id="6464340581899189425">Ако имате више Google налога, можете да их додате на <ph name="DEVICE_TYPE" />. Налози ће бити доступни у прегледачу Chromium и Play продавници и у услугама, као што су Gmail, Диск и YouTube.<ph name="LINK_BEGIN" />Сазнајте више<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Контролише и страницу која се приказује када покренете Chromium.</translation> <translation id="6510925080656968729">Деинсталирај Chromium</translation> <translation id="6570579332384693436">Да би исправио правописне грешке, Chromium шаље Google-овим серверима текст који уносите у поља за текст.</translation> @@ -222,6 +225,7 @@ <translation id="7857220146454061152">Да бисте добијали будућа Chromium ажурирања, треба вам ОС X 10.11 или новија верзија. Овај рачунар користи ОС X 10.10.</translation> <translation id="7867198900892795913">Chromium није успео да се ажурира на најновију верзију, па пропуштате нове функције и безбедносне исправке.</translation> <translation id="7898472181347242998">Да бисте проверили да ли је уређај ажуриран, идите у <ph name="LINK_BEGIN" />Подешавања Chromium ОС-а<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Chromium ОС се није исправно затворио.</translation> <translation id="7937630085815544518">Били сте пријављени на Chromium као <ph name="USER_EMAIL_ADDRESS" />. Користите исти налог да бисте се поново пријавили.</translation> <translation id="7975919845073681630">Ово је секундарна инсталација Chromium-а па не можете да га подесите као подразумевани прегледач.</translation> <translation id="7979877361127045932">Сакриј у Chromium менију</translation> @@ -236,6 +240,7 @@ <translation id="8417404458978023919">{0,plural, =1{Поново покрените Chromium за један дан}one{Поново покрените Chromium за # дан}few{Поново покрените Chromium за # дана}other{Поново покрените Chromium за # дана}}</translation> <translation id="8453117565092476964">Архива програма за инсталацију је оштећена или неважећа. Преузмите Chromium поново.</translation> <translation id="8493179195440786826">Chromium је застарео</translation> +<translation id="8550334526674375523">Овај пословни профил је потпуно одвојен од личног профила.</translation> <translation id="8558383651099478961">Родитељ је искључио Дозволе за сајтове, апликације и додатке за Chromium. Додавање ове ставке (<ph name="EXTENSION_TYPE_PARAMETER" />) није дозвољено.</translation> <translation id="8568283329061645092">Chromium може да вам проверава лозинке када се пријавите помоћу Google налога</translation> <translation id="8586442755830160949">Ауторска права <ph name="YEAR" />. Аутори Chromium-а. Сва права задржана.</translation> @@ -252,6 +257,7 @@ <translation id="8907580949721785412">Chromium покушава да прикаже лозинке. Унесите лозинку за Windows да бисте то омогућили.</translation> <translation id="8941642502866065432">Не можете да ажурирате Chromium</translation> <translation id="8974095189086268230">Chromium ОС омогућава додатни <ph name="BEGIN_LINK_CROS_OSS" />софтвер отвореног кода<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Додајете пословни профил у овај прегледач и дајете администратору контролу само над овим пословним профилом.</translation> <translation id="9019929317751753759">Да бисмо учинили Chromium безбеднијим, онемогућили смо следећи додатак који <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> не наводи и који је можда додат без вашег знања.</translation> <translation id="9089354809943900324">Chromium је застарео</translation> <translation id="9093206154853821181">{0,plural, =1{Поново ћемо покренути Chromium за један сат}one{Поново ћемо покренути Chromium за # сат}few{Поново ћемо покренути Chromium за # сата}other{Поново ћемо покренути Chromium за # сати}}</translation> @@ -259,6 +265,7 @@ <translation id="911206726377975832">Желите ли да избришете и податке прегледања?</translation> <translation id="9158494823179993217">Администратор система је конфигурисао Chromium да отвара алтернативни прегледач за приступ URL-у <ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Систем Chromium ОС</translation> <translation id="93478295209880648">Chromium можда неће исправно функционисати зато што више није подржан на Windows XP-у или Windows Vista-и</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> захтева да прочитате и прихватите следеће Услове коришћења услуге пре него што почнете да користите овај уређај. Ови услови не представљају проширење, измену или ограничење Услова за Chromium ОС.</translation> <translation id="965162752251293939">Ко користи Chromium?</translation>
diff --git a/chrome/app/resources/chromium_strings_sw.xtb b/chrome/app/resources/chromium_strings_sw.xtb index a89d58c..dcc8e5fe 100644 --- a/chrome/app/resources/chromium_strings_sw.xtb +++ b/chrome/app/resources/chromium_strings_sw.xtb
@@ -42,6 +42,7 @@ <translation id="2535480412977113886">Mfumo wa Uendeshaji wa Chromium haukuweza kusawazisha data yako kwa sababu maelezo yako ya kuingia katika akaunti yanahitaji kusasishwa.</translation> <translation id="2560420686485554789">Chromium inahitaji ruhusa ya kufikia hifadhi ili ipakue faili</translation> <translation id="2572494885440352020">Kisaidizi cha Chromium</translation> +<translation id="2583187216237139145">Data yoyote ya Chromium inayozalishwa unapotumia wasifu huu (kama vile alamisho ulizoweka, historia, manenosiri na mipangilio mingine) inaweza kuondolewa na msimamizi wa wasifu huu wa kazini. <ph name="LEARN_MORE" /></translation> <translation id="2587578672395088481">Mfumo wa Uendeshaji wa Chromium unahitaji kuzimwa na kuwashwa ili kutumia sasisho.</translation> <translation id="2615699638672665509">Hivi karibuni kompyuta hii itaacha kupokea sasisho za Chromium kwa sababu maunzi yake hayatumiki tena.</translation> <translation id="2648074677641340862">Hitilafu ya mfumo wa uendeshaji imetokea wakati wa usakinishaji. Tafadhali pakua Chromium tena.</translation> @@ -143,6 +144,7 @@ <translation id="6055895534982063517">Kuna toleo jipya la Chromium linalopatikana, na ni la kasi kuliko la awali.</translation> <translation id="6063093106622310249">Fungua katika Chromium</translation> <translation id="6072279588547424923"><ph name="EXTENSION_NAME" /> imeongezwa kwenye Chromium</translation> +<translation id="608006075545470555">Ongeza Wasifu wa Kazini kwenye kivinjari hiki</translation> <translation id="608189560609172163">Chromium haikuweza kusawazisha data yako kutokana na hitalafu ya kuingia katika akaunti.</translation> <translation id="6096348254544841612">Weka mapendeleo na udhibiti Chromium. Sasisho linapatikana.</translation> <translation id="6120345080069858279">Chromium itahifadhi nenosiri hili kwenye Akaunti yako ya Google. Hutahitaji kulikumbuka.</translation> @@ -163,6 +165,7 @@ <translation id="6403826409255603130">Chromium ni kivinjari cha wavuti kinachoendesha kurasa za wavuti na programu kwa kasi ya umeme. Ni ya haraka, imara, na rahisi kutumia. Vinjari wavuti kwa usalama zaidi dhidi ya hadaa na programu hasidi ukiwa na ulinzi uliojengwa ndani ya Chromium.</translation> <translation id="6434250628340475518">Mfumo wa Uendeshaji wa Chromium</translation> <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium itazimika na kuwaka tena baada ya sekunde 1}other{Chromium itazimika na kuwaka tena baada ya sekunde #}}</translation> +<translation id="6464340581899189425">Ikiwa una Akaunti nyingi za Google, unaweza kuziongeza kwenye <ph name="DEVICE_TYPE" /> yako. Akaunti zako zitapatikana katika kivinjari cha Chromium na Duka la Google Play na pia katika huduma kama vile Gmail, Hifadhi na YouTube.<ph name="LINK_BEGIN" />Pata maelezo zaidi<ph name="LINK_END" /></translation> <translation id="6475912303565314141">Pia inadhibiti ukurasa unaoonyeshwa unapoanzisha Chromium.</translation> <translation id="6510925080656968729">Ondoa Chromium</translation> <translation id="6570579332384693436">Ili kurekebisha makosa ya tahajia, Chromium hutuma maandishi unayoandika kwenye sehemu za maandishi kwa Google</translation> @@ -222,6 +225,7 @@ <translation id="7857220146454061152">Ili uweze kupokea taarifa za Chromium wakati ujao, utahitaji toleo la OS X 10.11 au toleo jipya zaidi. Kompyuta hii inatumia OS X 10.10.</translation> <translation id="7867198900892795913">Chromium imeshindwa kusasisha toleo jipya, kwa hivyo hutapata masasisho ya usalama na vipengele vipya.</translation> <translation id="7898472181347242998">Ili uone ikiwa kifaa chako kimesasishwa, nenda kwenye <ph name="LINK_BEGIN" />Mipanglio ya Mfumo wa Uendeshaji wa Chromium<ph name="LINK_END" /></translation> +<translation id="7907774600618164274">Mfumo wa Uendeshaji wa Chromium haukuzima kwa njia sahihi.</translation> <translation id="7937630085815544518">Uliingia kwenye Chromium kama <ph name="USER_EMAIL_ADDRESS" />. Tafadhali tumia akaunti hiyo hiyo kuingia tena.</translation> <translation id="7975919845073681630">Huu ni usakinishaji wa pili wa Chromium, na haiwezi kufanywa kuwa kivinjari chako chaguomsingi.</translation> <translation id="7979877361127045932">Ficha katika menyu ya Chromium</translation> @@ -236,6 +240,7 @@ <translation id="8417404458978023919">{0,plural, =1{Fungua Chromium upya ndani ya siku moja}other{Fungua Chromium upya ndani ya siku #}}</translation> <translation id="8453117565092476964">Kumbukumbu ya kisakinishi imeharibika au ni batili. Tafadhali pakua Chromium tena.</translation> <translation id="8493179195440786826">Chromium Imepitwa na Wakati</translation> +<translation id="8550334526674375523">Wasifu huu wa kazini ni tofauti kabisa na wasifu wako wa binafsi.</translation> <translation id="8558383651099478961">Mzazi wako amezima "Ruhusa za tovuti, programu na viendelezi" kwenye Chromium. Huruhusiwi kuweka <ph name="EXTENSION_TYPE_PARAMETER" /> hii.</translation> <translation id="8568283329061645092">Chromium inaweza kukagua manenosiri unapoingia ukitumia Akaunti yako ya Google</translation> <translation id="8586442755830160949">Hakimiliki <ph name="YEAR" /> Wasanidi wa Chromium. Haki zote zimehifadhiwa.</translation> @@ -252,6 +257,7 @@ <translation id="8907580949721785412">Chromium inajaribu kuonyesha manenosiri. Chapa nenosiri lako la Windows ili uruhusu hili.</translation> <translation id="8941642502866065432">Imeshindwa kusasisha Chromium</translation> <translation id="8974095189086268230">Chromium OS imewezeshwa na programu za ziada za <ph name="BEGIN_LINK_CROS_OSS" />programu huria<ph name="END_LINK_CROS_OSS" />.</translation> +<translation id="8986207147630327271">Unaongeza wasifu wa kazini kwenye kivinjari hiki na unampa msimamizi wako uwezo wa kudhibiti wasifu huo wa kazini pekee.</translation> <translation id="9019929317751753759">Ili kufanya Chromium salama zaidi, tumezima kiendelezi kinachofuata ambacho hakijaorodheshwa katika <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> na huenda kimeongezwa bila ridhaa yako.</translation> <translation id="9089354809943900324">Chromium imepitwa na wakati</translation> <translation id="9093206154853821181">{0,plural, =1{Chromium itafunguka upya ndani ya saa moja}other{Chromium itafunguka upya ndani ya saa #}}</translation> @@ -259,6 +265,7 @@ <translation id="911206726377975832">Futa historia yako ya kuvinjari pia?</translation> <translation id="9158494823179993217">Msimamizi wa mfumo unaotumia ameweka mipangilio ya Chromium ifungue kivinjari mbadala ili ufikie<ph name="TARGET_URL_HOSTNAME" />.</translation> <translation id="9190841055450128916">Chromium (mDNS-In)</translation> +<translation id="9214764063801632699">Mfumo wa Uendeshaji wa Chromium</translation> <translation id="93478295209880648">Huenda Chromium isifanye kazi vizuri kwa sababu haitumiki tena kwenye Windows XP au Windows Vista</translation> <translation id="95514773681268843"><ph name="DOMAIN" /> huhitaji usome na ukubali Sheria na Masharti yafuatayo kabla ya kutumia kifaa hiki. Masharti haya hayapanui, kurekebisha au kupunguza Masharti ya Chromium OS.</translation> <translation id="965162752251293939">Ni nani anayetumia Chromium?</translation>
diff --git a/chrome/app/resources/generated_resources_af.xtb b/chrome/app/resources/generated_resources_af.xtb index d0edc49..b62ccb2 100644 --- a/chrome/app/resources/generated_resources_af.xtb +++ b/chrome/app/resources/generated_resources_af.xtb
@@ -57,6 +57,7 @@ <translation id="1056775291175587022">Geen netwerke nie</translation> <translation id="1056898198331236512">Waarskuwing</translation> <translation id="1058262162121953039">PUK</translation> +<translation id="1059065096897445832">{MIN_PIN_LENGTH,plural, =1{Voer jou nuwe PIN in. 'n PIN moet minstens een karakter lank wees en kan letters, syfers en ander karakters bevat.}other{Voer jou nuwe PIN in. 'n PIN moet minstens # karakters lank wees en kan letters, syfers en ander karakters bevat.}}</translation> <translation id="1059944192885972544">Het <ph name="NUM" /> oortjies vir "<ph name="SEARCH_TEXT" />" gekry</translation> <translation id="1060292118287751956">Bepaal die frekwensie waarteen die skerm opdateer</translation> <translation id="1061904396131502319">Dis amper tyd vir 'n blaaskans</translation> @@ -635,9 +636,11 @@ <translation id="1688935057616748272">Tik 'n letter in</translation> <translation id="168991973552362966">Voeg 'n nabygeleë drukker by</translation> <translation id="1689945336726856614">Kopieer &URL</translation> +<translation id="1690248886740053041">Kan nie aan 'n mobiele netwerk koppel nie. Kontak asseblief jou diensverskaffer vir tegniese steun.</translation> <translation id="1692115862433274081">Gebruik 'n ander rekening</translation> <translation id="1692118695553449118">Sinkronisering is aan</translation> <translation id="1692210323591458290">Donkerpers</translation> +<translation id="169279809881363536">Geen profiele is ontdek nie. Skandeer QR-kode met toestelkamera of voer die aktiveringkode in wat jou diensverskaffer verskaf het.</translation> <translation id="1697150536837697295">Kuns</translation> <translation id="1697686431566694143">Wysig lêer</translation> <translation id="1698122934742150150">Net huidige incognitosessie</translation> @@ -1574,6 +1577,7 @@ <translation id="2770465223704140727">Verwyder van lys af</translation> <translation id="2770690685823456775">Voer jou wagwoorde na 'n ander vouer uit</translation> <translation id="2770929488047004208">Monitorresolusie</translation> +<translation id="2770954829020464827">Besonderhede word versteek terwyl jy jou skerm deel</translation> <translation id="2771268254788431918">Mobiele data is geaktiveer</translation> <translation id="2771816809568414714">Kaas</translation> <translation id="2772936498786524345">Skelm</translation> @@ -1941,6 +1945,7 @@ <translation id="3201422919974259695">Beskikbare USB-toestelle sal hier verskyn.</translation> <translation id="3202131003361292969">Pad</translation> <translation id="3202173864863109533">Hierdie oortjie se klank word gedemp.</translation> +<translation id="3202218848974251205">Die Privaatheidsandput</translation> <translation id="3208321278970793882">Program</translation> <translation id="3208584281581115441">Kontroleer nou</translation> <translation id="3208703785962634733">Onbevestigde</translation> @@ -2161,6 +2166,7 @@ <translation id="3459697287128633276">Staaf met jou identiteitsverskaffer om jou rekening te aktiveer om toegang tot die Google Play Winkel te kry.</translation> <translation id="3462311546193741693">Meld jou by die meeste werwe af. Jy sal by jou Google-rekening aangemeld bly sodat jou gesinkroniseerde data uitgevee kan word.</translation> <translation id="3462413494201477527">Kanselleer rekeningopstelling?</translation> +<translation id="3464145797867108663">Voeg werkprofiel by</translation> <translation id="346431825526753">Dit is 'n rekening vir kinders wat deur <ph name="CUSTODIAN_EMAIL" /> bestuur word.</translation> <translation id="3468298837301810372">Etiket</translation> <translation id="3468999815377931311">Android-foon</translation> @@ -2282,6 +2288,7 @@ <translation id="360180734785106144">Nuwe kenmerke aanbied wanneer hulle beskikbaar is</translation> <translation id="3602290021589620013">Voorskou</translation> <translation id="3603622770190368340">Kry netwerksertifikaat</translation> +<translation id="3604193429970465812">Sekondêre rekeninge</translation> <translation id="3604713164406837697">Verander muurpapier</translation> <translation id="3605780360466892872">Toegeknoop</translation> <translation id="3608576286259426129">Gebruikerprentvoorskou</translation> @@ -2606,6 +2613,7 @@ Wil jy <ph name="CONTROL_PANEL_APPLET_NAME" /> graag begin?</translation> <translation id="394183848452296464">Kan nie kortpad skep nie</translation> +<translation id="3943494825379372497">Stel programme en bladsye terug?</translation> <translation id="3943582379552582368">Terug</translation> <translation id="3943857333388298514">Plak</translation> <translation id="3948116654032448504">Deursoek <ph name="SEARCH_ENGINE" /> vir prent</translation> @@ -2691,6 +2699,7 @@ <translation id="4046013316139505482">Hierdie uitbreidings hoef nie inligting op hierdie werf te sien en te verander nie.</translation> <translation id="4046123991198612571">Volgende snit</translation> <translation id="4047726037116394521">Gaan tuisblad toe</translation> +<translation id="4049783682480068824">{COUNT,plural, =1{# kontak is nie beskikbaar nie. Om Nabydeling met hulle te gebruik, moet jy die e-posadres wat met hul Google-rekening geassosieer word, by jou kontakte voeg.}other{# kontakte is nie beskikbaar nie. Om Nabydeling met hulle te gebruik, moet jy die e-posadresse wat met hul Google-rekeninge geassosieer word, by jou kontakte voeg.}}</translation> <translation id="4050225813016893843">Stawingmetode</translation> <translation id="4052120076834320548">Klein</translation> <translation id="4056908315660577142">Jy het die tydlimiet bereik wat jou ouer vir die Chrome-program <ph name="APP_NAME" /> gestel het. Jy kan dit môre <ph name="TIME_LIMIT" /> lank gebruik.</translation> @@ -3174,7 +3183,6 @@ <translation id="4646675363240786305">Poorte</translation> <translation id="4647090755847581616">Maak oortjie toe</translation> <translation id="4647283074445570750">Stap <ph name="CURRENT_STEP" /> van <ph name="TOTAL_STEPS" /></translation> -<translation id="4647420311443994946">{0,select, tablet{Begin program wanneer jy by jou tablet aanmeld}computer{Begin program wanneer jy by jou rekenaar aanmeld}other{Begin program wanneer jy by jou toestel aanmeld}}</translation> <translation id="4647697156028544508">Voer asseblief die PIN vir "<ph name="DEVICE_NAME" />" in:</translation> <translation id="4648491805942548247">Onvoldoende toestemmings</translation> <translation id="4648499713050786492">Ontsluit asseblief jou profiel voordat jy 'n persoon byvoeg.</translation> @@ -3338,6 +3346,7 @@ <translation id="4863769717153320198">Lyk soos <ph name="WIDTH" /> x <ph name="HEIGHT" /> (Verstek)</translation> <translation id="4864369630010738180">Meld tans aan …</translation> <translation id="4864805589453749318">Kies die ouer wat toestemming gee om 'n skoolrekening by te voeg.</translation> +<translation id="4866265760644917470">Profiel is suksesvol bygevoeg.</translation> <translation id="486635084936119914">Maak sekere lêertipes outomaties oop nadat dit afgelaai is</translation> <translation id="48704129375571883">Voeg bykomende kenmerke by</translation> <translation id="4870758487381879312">Voer wagwoord wat deur admin goedgekeur is in om opstellinginligting te kry</translation> @@ -3621,6 +3630,7 @@ <translation id="5206787458656075734">{COUNT,plural, =1{Die gekompromitteerde wagwoord is suksesvol verander. Jy het nog # gekompromitteerde wagwoord. Chrome beveel aan dat jy hierdie wagwoord nou nagaan.}other{Die gekompromitteerde wagwoord is suksesvol verander. Jy het nog # gekompromitteerde wagwoorde. Chrome beveel aan dat jy hierdie wagwoorde nou nagaan.}}</translation> <translation id="5207949376430453814">Lig tekskaret uit</translation> <translation id="5209320130288484488">Geen toestelle gevind nie</translation> +<translation id="5209572028385096813">Hierdie gebruiker word deur Family Link bestuur</translation> <translation id="5210365745912300556">Maak oortjie toe</translation> <translation id="5213481667492808996">Jou "<ph name="NAME" />"-datadiens is gereed om te gebruik</translation> <translation id="5213891612754844763">Wys instaanbedienerinstellings</translation> @@ -3706,6 +3716,7 @@ <translation id="5302048478445481009">Taal</translation> <translation id="5302932258331363306">Wys plaasvervangers</translation> <translation id="5304276686222516262">Kan nie kontaklys aflaai nie. Gaan asseblief jou netwerkverbinding na of <a href="#" id="tryAgainLink">probeer weer</a>.</translation> +<translation id="5305145881844743843">Hierdie rekening word bestuur deur <ph name="BEGIN_LINK" /><ph name="DOMAIN" /><ph name="END_LINK" /></translation> <translation id="5305688511332277257">Niks geïnstalleer nie</translation> <translation id="5307030433605830021">Bron word nie gesteun nie</translation> <translation id="5308380583665731573">Koppel</translation> @@ -3719,6 +3730,7 @@ <translation id="5317780077021120954">Berg</translation> <translation id="5319359161174645648">Google beveel Chrome aan</translation> <translation id="5320112320661303273">Dit lyk of jy Assistent reeds op 'n ander toestel opgestel het. Benut jou Assistent selfs meer deur die volgende instelling aan te skakel.</translation> +<translation id="5320135788267874712">Nuwe toestelnaam</translation> <translation id="532247166573571973">Die bediener is dalk onbereikbaar. Probeer later weer.</translation> <translation id="5324300749339591280">Programmelys</translation> <translation id="5324780743567488672">Tydsone is outomaties gestel deur jou ligging te gebruik</translation> @@ -4086,6 +4098,7 @@ <translation id="5740820643029013514">Gebruik sagter boodskappe (aanbeveel)</translation> <translation id="574104302965107104">Skermweerspieëling</translation> <translation id="574209121243317957">Toonhoogte</translation> +<translation id="5742505912938664543">As jy 'n sekondêre rekening hier byvoeg, kan jy deur die web blaai, programme aflaai, en jou Gmail en ander Google-dienste wat daardie rekening gebruik, nagaan.</translation> <translation id="5746169159649715125">Stoor as PDF</translation> <translation id="5747552184818312860">Verval</translation> <translation id="5747785204778348146">Ontwikkelaar – onstabiel</translation> @@ -4426,6 +4439,7 @@ <translation id="6129953537138746214">Spasie</translation> <translation id="6130692320435119637">Voeg Wi-Fi by</translation> <translation id="6136114942382973861">Maak aflaaibalk toe</translation> +<translation id="6136287496450963112">Jou sekuriteitsleutel word nie met 'n PIN beskerm nie. As jy vingerafdrukke wil bestuur, moet jy eers 'n PIN skep.</translation> <translation id="6137767437444130246">Gebruikersertifikaat</translation> <translation id="6138680304137685902">X9.62 ECDSA-handtekening met SHA-384</translation> <translation id="6138894911715675297"><ph name="NETWORK_TYPE" />; geen netwerk nie</translation> @@ -4606,6 +4620,7 @@ <translation id="6331566915566907158">Help om Chrome-bedryfstelselkenmerke en -werkverrigting beter te maak</translation> <translation id="6331818708794917058">Werwe kan vra om aan MIDI-toestelle te koppel</translation> <translation id="6333064448949140209">Lêer sal vir ontfouting na Google gestuur word</translation> +<translation id="6334444530352320327">Jou programme en OS-instellings sal sinkroniseer op Chromebooks waar jy met hierdie rekening aangemeld is.<ph name="LINK_BEGIN" />Sinkroniseer instellings<ph name="LINK_END" /></translation> <translation id="6338981933082930623">Alle werwe kan enige advertensies vir jou wys</translation> <translation id="6339668969738228384">Skep 'n nuwe profiel vir <ph name="USER_EMAIL_ADDRESS" /></translation> <translation id="6340017061976355871">Kon nie aan die bediener koppel nie. Gaan asseblief jou netwerkverbinding na en probeer weer. As die probleem voortduur, herbegin jou Chromebook.</translation> @@ -4907,6 +4922,7 @@ <translation id="6709133671862442373">Nuus</translation> <translation id="6709357832553498500">Koppel met <ph name="EXTENSIONNAME" /></translation> <translation id="6710213216561001401">Vorige</translation> +<translation id="6713233729292711163">Voeg werkprofiel by</translation> <translation id="6715803357256707211">Kon nie jou Linux-program installeer nie. Klik op kennisgewing vir besonderhede.</translation> <translation id="671619610707606484">Dit sal <ph name="TOTAL_USAGE" /> se data uitvee wat deur werwe geberg is</translation> <translation id="671928215901716392">Sluit skerm</translation> @@ -5275,6 +5291,7 @@ <translation id="7121362699166175603">Vee geskiedenis en outovoltooide items in die adresbalk uit. Jou Google-rekening kan dalk ander vorme van blaaigeskiedenis hê by <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation> <translation id="7121438501124788993">Ontwikkelaarmodus</translation> <translation id="7121728544325372695">Slimaandagstrepe</translation> +<translation id="7122353087820324370">Programme en bedryfstelselinstellings word nie met sekondêre rekeninge gesinkroniseer nie.</translation> <translation id="7123030151043029868">Mag outomaties veelvuldige lêers aflaai</translation> <translation id="7123360114020465152">Nie meer gesteun nie</translation> <translation id="7125148293026877011">Vee Crostini uit</translation> @@ -5589,6 +5606,7 @@ <translation id="750509436279396091">Maak aflaaivouer oop</translation> <translation id="7506093026325926984">Hierdie wagwoord sal op hierdie toestel gestoor word</translation> <translation id="7506130076368211615">Stel nuwe netwerk op</translation> +<translation id="7506242536428928412">Stel 'n nuwe PIN om jou nuwe sekuriteitsleutel te gebruik</translation> <translation id="7506541170099744506">Jou <ph name="DEVICE_TYPE" /> is suksesvol ingeskryf vir ondernemingbestuur.</translation> <translation id="7507207699631365376">Lees hierdie verskaffer se <ph name="BEGIN_LINK" />privaatheidsbeleid<ph name="END_LINK" /></translation> <translation id="7507930499305566459">Statusreageerder se sertifikaat</translation> @@ -5752,6 +5770,7 @@ <translation id="7691077781194517083">Kan nie hierdie sekuriteitsleutel terugstel nie. Fout <ph name="ERROR_CODE" />.</translation> <translation id="7691698019618282776">Crostini-opgradering</translation> <translation id="7696063401938172191">Op jou "<ph name="PHONE_NAME" />":</translation> +<translation id="7697166915480294040">Besonderhede word versteek terwyl jy jou skerm deel</translation> <translation id="7697598343108519171">Gebruik kamera om QR-kode te skandeer</translation> <translation id="7699968112832915395">Kan nie rekening byvoeg nie</translation> <translation id="7701040980221191251">Geen</translation> @@ -6208,6 +6227,8 @@ <translation id="8184472985242519288">Eenvormig</translation> <translation id="8186609076106987817">Die bediener kon nie die lêer vind nie.</translation> <translation id="8188389033983459049">Gaan jou toestelinstellings na en skakel dit aan om voort te gaan</translation> +<translation id="8189306097519446565">Skoolrekeninge</translation> +<translation id="8189750580333936930">Privaatheidsandput</translation> <translation id="8190193592390505034">Koppel tans aan <ph name="PROVIDER_NAME" /> …</translation> <translation id="8191230140820435481">Bestuur jou programme, uitbreidings en temas</translation> <translation id="8195027750202970175">Grootte op skyf</translation> @@ -6899,6 +6920,7 @@ <translation id="8986362086234534611">Vergeet</translation> <translation id="8986494364107987395">Stuur gebruikstatistiek en omvalverslae outomaties na Google</translation> <translation id="8987927404178983737">Maand</translation> +<translation id="8989823300731803443">Gaan voort waar jy opgehou het.</translation> <translation id="8990209962746788689">Kan nie QR-kode skep nie</translation> <translation id="8991520179165052608">Werf kan jou mikrofoon gebruik</translation> <translation id="8992117551007229513">{COUNT,plural, =1{1 item}other{# items}}</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb index 093a1367..765ff3a 100644 --- a/chrome/app/resources/generated_resources_am.xtb +++ b/chrome/app/resources/generated_resources_am.xtb
@@ -57,6 +57,7 @@ <translation id="1056775291175587022">ምንም አውታረ መረቦች የሉም</translation> <translation id="1056898198331236512">ማስጠንቀቂያ</translation> <translation id="1058262162121953039">PUK</translation> +<translation id="1059065096897445832">{MIN_PIN_LENGTH,plural, =1{አዲሱን የእርስዎ ፒን ያስገቡ። ፒን ቢያንስ የአንድ ቁምፊ ርዝመት ሊኖረው ይገባል እና ፊደላትን፣ ቁጥሮችን እና ሌሎች ቁምፊዎችን ይይዛል።}one{አዲሱን የእርስዎ ፒን ያስገቡ። ፒን ቢያንስ የ# ቁምፊዎች ርዝመት ሊኖረው ይገባል እና ፊደላትን፣ ቁጥሮችን እና ሌሎች ቁምፊዎችን ይይዛል።}other{አዲሱን የእርስዎ ፒን ያስገቡ። ፒን ቢያንስ የ# ቁምፊዎች ርዝመት ሊኖረው ይገባል እና ፊደላትን፣ ቁጥሮችን እና ሌሎች ቁምፊዎችን ይይዛል።}}</translation> <translation id="1059944192885972544"><ph name="NUM" /> ትሮች ለ«<ph name="SEARCH_TEXT" />» ተገኝቷል።</translation> <translation id="1060292118287751956">ማያ ገጹ የሚዘመንበት ተደጋጋሚነትን ይወስናል</translation> <translation id="1061904396131502319">የእረፍት ጊዜ ሊደርስ ነው</translation> @@ -636,9 +637,11 @@ <translation id="1688935057616748272">አንድ ፊደል ይተይቡ</translation> <translation id="168991973552362966">በአቅራቢያ ያለ አታሚን ያክሉ</translation> <translation id="1689945336726856614">&ዩአርኤል ቅዳ</translation> +<translation id="1690248886740053041">ከሞባይል አውታረ መረብ ጋር መገናኘት አልተቻለም። ለቴክኒካዊ ድጋፍ እባክዎ አገልግሎት አቅራቢዎን ያነጋግሩ።</translation> <translation id="1692115862433274081">ሌላ መለያ ተጠቀም</translation> <translation id="1692118695553449118">አመሳስል በርቷል</translation> <translation id="1692210323591458290">ጠቆር ያለ ወይን ጠጅ</translation> +<translation id="169279809881363536">ምንም መገለጫዎች አልተገኙም። አዲስ አውታረ መረብን ለማዋቀር የመሣሪያ ካሜራን በመጠቀም QR ኮድ ይቃኙ ወይም በአገልግሎት አቅራቢዎ የተሰጠዎትን የማግበሪያ ኮድ ያስገቡ።</translation> <translation id="1697150536837697295">ሥነ ጥበብ</translation> <translation id="1697686431566694143">ፋይል አርትዕ ያድርጉ</translation> <translation id="1698122934742150150">የአሁኑ ማንነት የማያሳውቅ ክፍለ-ጊዜ ብቻ</translation> @@ -1574,6 +1577,7 @@ <translation id="2770465223704140727">ከዝርዝር አስወግድ</translation> <translation id="2770690685823456775">የእርስዎን የይለፍ ቃላት ወደ ሌላ አቃፊ ይላኩ</translation> <translation id="2770929488047004208">የማሳያ ምስል ጥራት</translation> +<translation id="2770954829020464827">የእርስዎን ማያ ገጽ በሚያጋሩበት ጊዜ ዝርዝሮች ይደበቃሉ</translation> <translation id="2771268254788431918">የተንቀሳቃሽ ስልክ ውሂብ ገቢር ሆኗል</translation> <translation id="2771816809568414714">ቺዝ</translation> <translation id="2772936498786524345">Sneaky</translation> @@ -1941,6 +1945,7 @@ <translation id="3201422919974259695">ሊገኙ የሚችሉ የዩኤስቢ መሣሪያዎች እዚህ ላይ ብቅ ይላሉ።</translation> <translation id="3202131003361292969">ዱካ</translation> <translation id="3202173864863109533">የዚህ ትር ተሰሚ ድምጸ-ከል ተደርጎበታል።</translation> +<translation id="3202218848974251205">የግላዊነት ማጠሪያ</translation> <translation id="3208321278970793882">መተግበሪያ</translation> <translation id="3208584281581115441">አሁን ፈትሽ</translation> <translation id="3208703785962634733">ያልተረጋገጠ</translation> @@ -2161,6 +2166,7 @@ <translation id="3459697287128633276">የእርስዎ መለያ የGoogle Play መደብርን እንዲደርስ ለማንቃት እባክዎ በእርስዎ የማንነት አቅራቢ በኩል ያረጋግጡ።</translation> <translation id="3462311546193741693">ከአብዛኛዎቹ ጣቢያዎች ዘግተው ያስወጣዎታል። በእርስዎ የGoogle መለያ ውስጥ በመለያ እንደገቡ ስለሚቆዩ የእርስዎ የሰመረ ውሂብ ሊጸዳ ይችላል።</translation> <translation id="3462413494201477527">የመለያ ቅንብር ይተው?</translation> +<translation id="3464145797867108663">የስራ መገለጫን አክል</translation> <translation id="346431825526753">ይሄ በ<ph name="CUSTODIAN_EMAIL" /> የሚቀናበር የህጻናት መለያ ነው።</translation> <translation id="3468298837301810372">መለያ</translation> <translation id="3468999815377931311">የAndroid ስልክ</translation> @@ -2282,6 +2288,7 @@ <translation id="360180734785106144">ልክ አዲስ ባህሪያት ሲገኙ ማቅረብ</translation> <translation id="3602290021589620013">ቅድመ-ዕይታ</translation> <translation id="3603622770190368340">የአውታረ መረብ እውቅና ማረጋገጫ ያግኙ</translation> +<translation id="3604193429970465812">ሁለተኛ መለያዎች</translation> <translation id="3604713164406837697">ልጣፍ ይለውጡ</translation> <translation id="3605780360466892872">የኮሌታ ቁልፍ</translation> <translation id="3608576286259426129">የተጠቃሚ ምስል ቅድመ-እይታ</translation> @@ -2606,6 +2613,7 @@ <ph name="CONTROL_PANEL_APPLET_NAME" />ን መጀመር ይፈልጋሉ?</translation> <translation id="394183848452296464">አቋራጮችን መፍጠር አልተቻለም</translation> +<translation id="3943494825379372497">መተግበሪያዎች እና ገጾች ወደነበሩበት ይመለሱ?</translation> <translation id="3943582379552582368">&ተመለስ</translation> <translation id="3943857333388298514">ለጥፍ</translation> <translation id="3948116654032448504">ለምስል <ph name="SEARCH_ENGINE" />ን ይ&ፈልጉ</translation> @@ -2691,6 +2699,7 @@ <translation id="4046013316139505482">እነዚህ ቅጥያዎች በዚህ ጣቢያ ላይ ያለውን መረጃ መመልከትና መቀየር አያስፈልጋቸውም።</translation> <translation id="4046123991198612571">ቀጣይ ትራክ</translation> <translation id="4047726037116394521">ወደ መነሻ ሂድ</translation> +<translation id="4049783682480068824">{COUNT,plural, =1{# እውቂያ አይገኝም። የአቅራቢያ ማጋሪያን ከእነሱ ጋር ለመጠቀም ከGoogle መለያቸው ጋር የተጎዳኘውን የኢሜይል አድራሻ ወደ የእርስዎ እውቂያዎች ያክሉት።}one{# እውቂያዎች አይገኙም። የአቅራቢያ ማጋሪያን ከእነሱ ጋር ለመጠቀም ከGoogle መለያቸው ጋር የተጎዳኙትን የኢሜይል አድራሻዎች ወደ የእርስዎ እውቂያዎች ያክሏቸው።}other{# እውቂያዎች አይገኙም። የአቅራቢያ ማጋሪያን ከእነሱ ጋር ለመጠቀም ከGoogle መለያቸው ጋር የተጎዳኙትን የኢሜይል አድራሻዎች ወደ የእርስዎ እውቂያዎች ያክሏቸው።}}</translation> <translation id="4050225813016893843">የማረጋገጫ ዘዴ</translation> <translation id="4052120076834320548">በጣም ትንሽ</translation> <translation id="4056908315660577142">የእርስዎ ወላጅ ለ<ph name="APP_NAME" /> Chrome መተግበሪያ ያቀናበሩት የጊዜ ገደብ ላይ ደርሰዋል። ነገ ለ<ph name="TIME_LIMIT" /> ሊጠቀሙበት ይችላሉ።</translation> @@ -3172,7 +3181,6 @@ <translation id="4646675363240786305">ወደቦች</translation> <translation id="4647090755847581616">ትር &ዝጋ</translation> <translation id="4647283074445570750">ደረጃ <ph name="CURRENT_STEP" /> ከ<ph name="TOTAL_STEPS" /></translation> -<translation id="4647420311443994946">{0,select, tablet{ወደ የእርስዎ ጡባዊ ሲገቡ መተግበሪያ ይጀምሩ}computer{ወደ የእርስዎ ኮምፒውተር ሲገቡ መተግበሪያ ይጀምሩ}other{ወደ የእርስዎ መሣሪያ ሲገቡ መተግበሪያ ይጀምሩ}}</translation> <translation id="4647697156028544508">እባክዎ የ«<ph name="DEVICE_NAME" />»ን ፒን ያስገቡ፦</translation> <translation id="4648491805942548247">በቂ ያልሆኑ ፍቃዶች</translation> <translation id="4648499713050786492">አንድ ሰው ከማከልዎ በፊት እባክዎ የእርስዎን መገለጫ ይክፈቱ።</translation> @@ -3336,6 +3344,7 @@ <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> ይመስላል (ነባሪ)</translation> <translation id="4864369630010738180">በመግባት ላይ...</translation> <translation id="4864805589453749318">የትምህርት ቤት መለያ ለማከል ፈቃድ እየሰጠ ያለውን ወላጅ ይምረጡ።</translation> +<translation id="4866265760644917470">መገለጫ በተሳካ ሁኔታ ታክሏል።</translation> <translation id="486635084936119914">ካወረዱ በኋላ የተወሰኑ የፋይል አይነቶችን ክፈት</translation> <translation id="48704129375571883">ተጨማሪ ባህሪያትን ያክሉ</translation> <translation id="4870758487381879312">የውቅረት መረጃን ለማግኘት በአስተዳዳሪ የቀረበውን የይለፍ ቃል ያስገቡ</translation> @@ -3619,6 +3628,7 @@ <translation id="5206787458656075734">{COUNT,plural, =1{የተጠለፈው የይለፍ ቃል በተሳካ ሁኔታ ተቀይሯል። # ተጨማሪ የተጠለፈ ይለፍ ቃል አለዎት። Chrome ይህን የይለፍ ቃል አሁን መፈተሽ ይመክራል።}one{የተጠለፈው የይለፍ ቃል በተሳካ ሁኔታ ተቀይሯል። # ተጨማሪ የተጠለፉ የይለፍ ቃላት አለዎት። Chrome እነዚህን የይለፍ ቃላት አሁን መፈተሽ ይመክራል።}other{የተጠለፈው የይለፍ ቃል በተሳካ ሁኔታ ተቀይሯል። # ተጨማሪ የተጠለፉ የይለፍ ቃላት አለዎት። Chrome እነዚህን የይለፍ ቃላት አሁን መፈተሽ ይመክራል።}}</translation> <translation id="5207949376430453814">የጽሑፍ ድፋቱን አድምቅ</translation> <translation id="5209320130288484488">ምንም መሣሪያዎች አልተገኙም</translation> +<translation id="5209572028385096813">እኚህ ተጠቃሚ በFamily Link የሚተዳደሩ ናቸው</translation> <translation id="5210365745912300556">ትር ዝጋ</translation> <translation id="5213481667492808996">የእርስዎ የ«<ph name="NAME" />» ውሂብ አገልግሎት ጥቅም ላይ ለመዋል ዝግጁ ነው</translation> <translation id="5213891612754844763">የተኪ ቅንብሮችን አሳይ</translation> @@ -3704,6 +3714,7 @@ <translation id="5302048478445481009">ቋንቋ</translation> <translation id="5302932258331363306">ምትኮችን አሳይ</translation> <translation id="5304276686222516262">የእውቂያ ዝርዝር ማውረድ አልተቻለም። እባክዎ የአውታረ መረብ ግንኙነትዎን ያረጋግጡ ወይም<a href="#" id="tryAgainLink">እንደገና ይሞክሩ</a>.</translation> +<translation id="5305145881844743843">ይህ መለያ በ<ph name="BEGIN_LINK" /><ph name="DOMAIN" /><ph name="END_LINK" /> የሚተዳደር ነው</translation> <translation id="5305688511332277257">ምንም አልተጫነም</translation> <translation id="5307030433605830021">ምንጭ አይደገፍም</translation> <translation id="5308380583665731573">ይገናኙ</translation> @@ -3717,6 +3728,7 @@ <translation id="5317780077021120954">አስቀምጥ</translation> <translation id="5319359161174645648">Google Chromeን ይመክራል</translation> <translation id="5320112320661303273">አስቀድመው በተለየ መሣሪያ ላይ ረዳትን ያዋቀሩ ይመስላል። የሚከተለውን ቅንብር በማብራት ከእርስዎ ረዳት ተጨማሪ ያግኙ።</translation> +<translation id="5320135788267874712">አዲስ የመሣሪያ ስም</translation> <translation id="532247166573571973">አገልጋዩ የማይደረስበት ሊሆን ይችላል። ቆይተው እንደገና ይሞክሩ።</translation> <translation id="5324300749339591280">የመተግበሪያዎች ዝርዝር</translation> <translation id="5324780743567488672">የእርስዎን መገኛ አካባቢ በመጠቀም በራስ-ሰር የጊዜ ቀጠናን ያዘጋጃል</translation> @@ -4084,6 +4096,7 @@ <translation id="5740820643029013514">ጸጥ ያለ መልዕክት መላላክን ይጠቀሙ (የሚመከር)</translation> <translation id="574104302965107104">ግልባጭን አሳይ</translation> <translation id="574209121243317957">ቅላፄ</translation> +<translation id="5742505912938664543">እዚህ ሁለተኛ መለያ ሲያክሉ ድሩን ሊያስሱ፣ መተግበሪያዎችን ሊያወርዱ እና ይህን መለያ የሚጠቀሙ የእርስዎን Gmail እና ሌሎች የGoogle አገልግሎቶችን ማየት ይችላሉ።</translation> <translation id="5746169159649715125">እንደ PDF አስቀምጥ</translation> <translation id="5747552184818312860">ጊዜው አልፎበታል</translation> <translation id="5747785204778348146">ገንቢ - ያልተረጋጋ</translation>